文章目录
- 以太网简介
- 以太网帧
以太网简介
互联网工程任务组(Intemet Engineering Task Force,IETF)维护TCP/IP协议上层的功能和服务,但是,OSI模型的数据链路层和物理层的功能性和服务却有多个组织(IEEE、ANSI、ITU)描述,或由私有公司设计(专有协议)。以太网标准定义了第二层协议和第一层技术,虽然以太网支持不同的媒体、带宽,但所有以太网基本的帧格式和地址的架构是相同的。
1.IEEE标准
在1985年,电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)标准委员会为局域网和城域网制定了标准。这些标准以802开始,以太网的标准是802.3。IEEE希望其标准与国际标准组织(ISO)和OSI模型兼容,为了确保兼容性,IEEE
802.3标准致力于OSI模型的第一层和第二层的较低部分。
如图3-1-1所示,以太网包括OSI模型的下二层,即物理层和数据链路层,而IEEE 802.3标准包括了OSI模型的物理层和数据链路层的下半部分(即MAC子层)。IEEE802.2规定了oSl模型数据链路层的上半部分(即LLC层,Logic Link Control,逻辑链路控制)。以太网包括了IEEE802.3和IEEE 802.2。
2.以太网的数据链路层
以太网把数据链路层的功能分成两个子层:LLC(Logical Link Control,逻辑链路控制)和MAC(Media Access Control,介质访问控制)。对以太网来说,IEEE802.2标准描述了LLC子层的功能,IEEE802.3标准描述了MAC子层和物理层的功能。
(1)LLC子层。数据链路层使用LLC子层与上层协议进行通信。LLC执行的是软件,它的执行与硬件设备独立。在计算机中,LLC可以被认为是计算机的网卡驱动,网卡的驱动与网卡相互作用,在媒体和MAC子层之间传递数据。
LLC子层的功能总结如下:
·和上层协议进行通信;
·把网络层的包转换成帧;
·识别网络层的协议:
·和物理层设备相对独立。
(2)MAC子层。媒体访问控制(MAC)是以太网数据链路层下面的子层。媒体访问控制被硬件执行,典型的是计算机网络接口卡(Network Interface Card,NIC)。以太网MAC子层有两个主要任务:数据封装和媒体访问控制。
数据封装提供了3个主要职能:
·帧的分界:数据封装处理包括帧在传输之前的封装和在接收之后的解封装。MAC子层在第3层PDU上增加头部和尾部形成帧,帧的处理提供了重要的分隔符号来识别组成帧的一组比特,帧和帧之间有分界符,用来同步发送端和接收端。
寻址:封装还提供了数据链路层的寻址。在帧中增加的每个以太网头部包含物理地址(MAC地址),使帧可以被送往一个目的地结点。
错误检测:数据封装的一个额外功能是错误检测。每个以太网的帧的尾部包含帧内容的CRC(Cyclic Redundancy Check,循环冗余校验)。收到一个帧后,接收结点计算一个CRC,并与收到的CRC进行比较。如果这两个CRC匹配,表示收到的帧没有错误,可以信任。
媒体访问控制:MAC子层控制把帧加载到传输介质上和从传输介质上卸载帧。顾名思义,它管理媒体的存取控制。这包括初始化的帧传输和从由于碰撞造成的传输失败中恢复。逻辑拓扑:以太网的逻辑拓扑是一个多路访问总线,这意味着在该网络中的所有结点(设备)共享传输媒体。进一步意味着,在这个分段上的所有结点能接收到在这个分段上任何结点所传送的帧。因为所有结点能接收到所有的帧,每个结点需要判断是否需要接收和处理一个帧,这依赖于数据帧中的目的MAC地址。以太网提供了一个方法,确定结点如何共享访问媒体,媒体访问控制方法的经典是CSMA/CD(Carrier Sense Multiple Access/
Collision Detection,载波侦听多路访问/冲突检测),稍后的章节会介绍这种方法。
3.以太网的发展
以太网起源于最初的Alohanet,Alohanet是一个数字无线网络,被设计用来在夏威夷群岛之间在一个共享的无线电频率上传输信息。Alohanet要求所有的工作站对没有收到确认的数据包进行重传,这种使用共享媒体的技术后来被应用到今天以太网的有线技术中。第一代以太网使用的技术是CSMA/CD。
早期以太网使用同轴电缆连接一个总线拓扑结构中的计算机,每一台计算机都直接连接到骨干。早期的以太网包括粗缆(thicknet,10base5)和细缆(thinnet,10base2)。10base5允许的传输距离是500m,10base2允许传输的距离是185m。早期部署的以太网,在低带宽网络环境下,使用CSMA原理访问共享媒体,CSMA后来发展成CSMA/CD。使用同轴电缆的以太网在数据链路层是逻辑总线拓扑结构,在物理层也是总线拓扑结构。
后期UTP电缆取代了同轴电缆,UTP电缆比较容易安装,重量轻,价格更便宜。使用集线器互连,物理拓扑改成星型拓扑。集线器相当于中枢,其他计算机通过UTP连接到集线器上,某台计算机电缆的故障不会影响整个网络。当某台计算机发送数据到达集线器时,集线器把数据转发到除接收端口以外的所有端口,在逻辑上仍是总线拓扑结构。因为媒体是共享的,在同一时间只能有一个工作站能成功传输,这种类型的连接被描述为半双工通信。随着以太网中设备的增加,发生碰撞的概率越来越大,通信的效率越来越低。以太网的一个重大发展是交换机的出现,在以太网中使用交换机取代集线器。交换机为每一个工作站提供专用带宽,可以全双工工作,避免了冲突。交换机能够根据目的MAC地址对应的端口进行转发,无关的端口不受影响,这样就创建一个多路径的以太网络,即多个无关的结点间可以同时发送数据,这种类型的通信被描述成全双工通信。
以太网交换机使用5个基本操作来完成功能:学习、老化、泛洪、选择性转发、过滤。学习:交换机MAC地址表包含MAC地址和对应的端口。每一个帧进入交换机时,交换机审查源MAC地址,进行查找,如果MAC地址表中没包含这个MAC地址,交换机创建一个新的条目,包括源MAC地址和接收的端口。以后如果有去往这个MAC地址的帧,交换机则往对应的端口进行转发。
·老化:交换机中的MAC地址条目有一个生存时间。每学到一个MAC地址条目,都附加一个时间值。随着时间的流逝,该数值一直减小,当数据值减小到0时,清除该MAC地址条目。如果有包含该MAC地址的新的帧到达,则刷新MAC地址的老化时间值。
·泛洪:如果交换机收到一个数据帧,则可在交换机的MAC地址表中找,若找不到该数据帧的目的MAC地址,交换机转发该数据帧到除接收端口以外的所有端口,即广播该数据帧。如果交换机收到一个广播的数据帧,即数据帧的目的MAC地址是
“FFFFFFFFFFFF”,交换机也会转发该数据帧到除接收端口外的所有端口。因为没有设备的MAC地址是“FFFFFFFFFFFF”,交换机根据数据帧的源 MAC地址进行学习,永远也不会学到这个MAC地址。
·选择性转发:交换机根据帧的目的MAC地址进行转发。当交换机收到某个数据帧时,交换机在MAC地址表中查找该数据帧的目的MAC地址,如果交换机已经学到这个MAC地址,数据帧将被转发到该MAC地址对应的端口,而不用泛洪到所有的端口。·过滤:在某些情况下,帧不会被转发,这个过程被称为帧过滤。一种情况是,交换机不转发帧到接收到的端口;另一种情况是,如果一个帧的CRC校验失败,帧也会被丢弃。使用帧过滤的另一个原因是安全方面的考虑,可以阻止或允许交换机转发特定的MAC地址到特定的端口。
以太网取得如此大的成功,有以下几个方面的因素:
·简单和易于维护;
·很容易合并新技术;
·可靠性提高;
·安装和升级的花费低。
4.CSMA/CD工作原理
CSMA/CD是英文Carrier Sense Multiple Access/Collision Detection的缩写,翻译成“载波侦听多路访问/冲突检测”或“带有冲突检测的载波侦听多路访问”。CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。CSMA/CD是一种分布式介质访问控制协议,网中的各个站(结点)都能独立地决定数据帧的发送与接收。所谓载波侦听(Carrier Sense),意思是网络上各个工作站在发送数据前都侦听总线上有没有数据传输。若有数据传输(称总线忙),则不发送数据;若无数据传输(称总线空),则立即发送准备好的数据。所谓多路访问(Multiple Access),意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。所谓冲突(Collision),意思是若网上有两个或两个以上工作站同时发送数据,在总线上就会发生信号的碰撞,造成信号的混合,哪个工作站都辨别不出真正的数据是什么。为了避免数据在发送过程中产生冲突,工作站在发送数据过程中还要不停地检测自己发送的数据,有没有在传输过程中与其他工作站的数据发生冲突,这就是冲突检测(Collision Detection)。CSMA/CD媒体访问控制方法的工作原理可以概括如下:·先听后说,边听边说;·一旦冲突,立即停说;·等待时机,然后再说;
·听,即监听、检测之意;
·说,即发送数据之意。
在发送数据前,先监听总线是否空闲。若总线忙,则不发送;若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送边检测总线,看是否自己发送的数据有冲突。若无冲突,则继续发送直到全部数据传完为止;若有冲突,则立即停止发送数据,但是要发送一个加强冲突信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。
以太网帧
在第3层的PDU上添加头部和尾部形成帧,以太网头部和尾部的几个部分被以太网协议使用,帧的每一部分叫做域。有两种类型的以太网帧:原始的IEEE802.3和修订后的IEEE
802.3(也就是以太网)。这两种类型之间的差异微乎其微,它们之间最明显的差异是,原始的IEEE802.3多了一个SFD(Start Frame Delimiter,起始帧分界符)和类型域中包括了长度这一小的改变,如图3-2-1所示,图中第一行表示的是字节数,第二行表示的是字段域。
802.3的帧
1.以太网帧大小
最初的以太网标准定义了帧最小为64个字节,最大为1518个字节。这包括从目的MAC地址域到帧校验序列域之间的所有字节,前导位和起始帧分界域不包括在内,从图3-2-1中也可以计算出来。1998年发布的IEEE 802.3ac标准中,延长了所允许的最大帧大小到1522个字节。帧中增加的4个字节用来容纳一个新技术—一虚拟局域网(VLAN),有关VLAN的知识将在交换机部分介绍。
如果帧小于64个字节或大于1522个字节,被认为是非法的帧,非法的帧将被丢弃。
2.以太网MAC地址
MAC地址用来确保以太网设备的全球唯一性。IEEE要求任何生产以太网设备的厂商进行登记,并分配一个3个字节的厂商代码,叫做组织唯一标识符(Organizationally Unique Identifier,OUI)。
IEEE要求供应商遵循两个简单的规则:所有分配给网卡或其他以太网设备的MAC地址必须使用供应商分配的OUI为前3个字节;后3个字节是每个厂商生产的唯一设备编号。
MAC地址一般在生产时被烧入ROM(Read-Only Memory,只读存储器),这意味着,MAC地址不能被改变,但可以改变MAC地址的显示,当计算机启动时,网卡拷贝地址信息到内存中,用来判断接收的数据帧是否是发往本机的,可以通过软件和网卡自动的驱动来改变MAC地址的显示。
当网络设备转发数据时,目的MAC地址信息被添加到帧头中,源设备发送数据到网络上,网络上所有接收到这个数据的设备都查看数据帧中的目的MAC地址是否与本机的相同,如果相同,则进行解封装并上传给上层;如果不相同,则丢弃该数据帧。
不同的硬件和软件制造商表示MAC地址的形式不一定相同,大概有下面3种表示格式:
00-11-bc-35-ab-40、0011.bc35.ab40和00:11:bc:35:ab:40。
3.单播、组播和广播
在以太网中,第二层使用不同的MAC地址:单播、广播和组播,如图3-2-2所示
4.双工模式
以太网上有两种双工模式:半双工(Half-duplex)和全双工(Full Duplex)。
(1)半双工
半双工通信只能是单向数据流,并不在同一时刻同时发送和接收数据。这类似于对讲机,说话的时候就不能听,听的时候就不能说话,听和说不能同时进行。如果有两个设备同时发送数据,就发生了碰撞。因此,半双工通信采用的是CSMA/CD,以帮助减少潜在的碰撞和碰撞后处理。半双工通信的数据流在一个时刻只能在一个方向上传输,因此性能较差。半双工连接通常是在较旧的硬件设备上,如集线器(Hub),如图3-2-6所示。
(2)全双工
全双工通信中数据流是双向的,在同一时刻可以同时发送和接收数据。双向传输可以提高性能,减少传输的等待时间。现在的以太网、快速以太网、千兆位以太网网卡都支持全双工。交换机也支持全双工。在线缆两端连接的设备都支持全双工的情况下,线路的冲突检测功能被禁用。线路可以用同样的速度同时进行发送和接收,吞吐量可以达到链路带宽的两倍。在图3-2-7中的设备都可以工作在全双工模式下。
【喜欢就点赞关注支持一下吧!】💗
后续还有CCNA其它知识更新!