9.1.3 以太网
以太网是出现最早的局域网,也是目前最常见、最具有代表性的局域网。
1973年,Xerox公司开发出了一种采用总线竞争式介质访问方法(起源于夏威夷大学研制的ALOHA网络)的设备互连技术,并将这项技术命名为“以太网(Ethernet)”。1979年,Xerox公司、DEC公司、Intel公司共同起草了DIX1.0——10Mbit/s以太网规范。1980年2月,IEEE成立了专门负责制定局域网网络标准的IEEE802委员会。其制定的IEEE802.3标准对基于总的局域网进行了规定。1982年,DIX修改并发布了以太网新标准DIX2.0。1984—1985年,IEEE802委员会公布了局域网的五项标准IEEE802.1~IEEE802.5。从问世至今,以太网不断改进,速率等级从10Mbit/s、100Mbit/s,1000Mbit/s提高到了10Gbit/s。本节主要介绍以太网,包括高速以太网与传统以太网的区别。
1.MAC子层协议
前述内容已阐明LLC子层协议添加的地址是用来识别源或目的端的SAP,而源或目的端主机的地址是由MAC子层地址来识别。
(1)以太网MAC地址
为了标识以太网上的每台主机,需要给每台主机的网卡分配一个唯一的地址,即以太网、地址,或称MAC子层地址,即网卡的物理地址。
MAC地址为6字节即48比特。其中,前3个字节是由生产厂商向IEEE申请的有组织的唯一的标识符(Organizationally Unique Identifier,OUI)。后3个字节是由生产厂商自行为自己生产的网卡分配的标识符。每块以太网卡出厂时,都会有一个唯一的以太网地址烧制在网卡中,因此,有时也称此地址为烧制地址(Burned-In-Address,BIA)。以太网的MAC地址结构如图9-11所示。
图9-11 以太网MAC地址结构
如图9-11所示,第1位为私有/组位,将此比特设置为0,则表示此地址为一个私有地址。设置为1则表示此地址为一个组地址。第2位为局部/全局位,将此比特设置为0,则说明它是由全局管理团体设置的。将此位设置为1,则说明OUI是局部分配的。如果按照IEEE分配的地址来解码就会出现问题。因此,实际的OUI只有22位。如果厂商申请的OUI用完了,可以再次向IEEE提出申请。
如果MAC地址为全“1”,则表示这是一个广播地址。
以太网地址以可读的方式显示,即由冒号分隔的6个数,每个数对应于1个字节,用一对十六进制数表示。例如,8:0:2b:e4:bl:2是一个可读的以太网地址,表示:00001000 00000000 00101011 11100100 10110001 00000010。
(2)以太网帧格式
以太网是由Xerox公司、DEC公司与Intel公司共同开发的,当今最为流行的局域网技术。它采用CSMA/CD技术来实现介质的访问控制,通过帧来实现数据的传输。而IEEE802.3标准是在最初的以太网技术基础上于1980年开发成功的。以太网标准DIX2.0版与IEEE802.3兼容,都采用CSMA/CD技术来实现介质访问控制功能。但是,尽管以太网的DIX2.0与IEEE802.3标准有很多相似之处,它们却并不是完全相同的。DIX2.0提供的服务对应于OSI参考模型的第一层和第二层,而IEEE802.3提供的服务则对应于OSI参考模型的第一层和第二层的MAC子层,LLC子层的功能由IEEE802.2定义。IEEE802.3定义了几种不同物理层,而DIX2.0只定义了一个。两者定义的帧格式也略有不同。
1)前导字符
每种格式的以太网帧都以64比特的前导字符作为开始。其中,前7个字节为前同步码(Preamble),作用是使接收端进入同步状态,以便数据的接收。第8个字节为帧起始定界符,它标志着信息帧的开始。此八个前导码字节对应的比特串都为“10101010”。
2)以太网帧格式
前导字符之后,不同标准的以太网帧格式则各有不同,图9-12所示为两种不同的封装格式。
图9-12 以太网和IEEE802.3帧格式
两种帧格式都采用了6字节的目的地址和源地址,但接下来的2个字节在两种帧格式中则有所不同。在IEEE 802.3标准的帧结构中,接下来的2个字节是长度字段用来说明后续数据(除了帧校验字段)的字节长度。而以太网帧结构中接下来的2个字节则是类型字段,用来说明后续数据的类型。虽然这两个字节所表示的含义不同,但IEEE 802.3定义的有效长度值与以太网帧中定义的有效类型值都不相同,这样就可以对两种帧结构进行区分了。
在以太网帧结构中,类型字段之后就是IP数据报或ARP/RARP报文。而在IEEE 802.3帧结构中,长度后面的则是LLC子层的帧结构。最后4个字节为帧校验,用来对帧结构进行差错校验。
2.CSMA/CD
CSMA/CD协议是对ALOHA协议(一种基于地面无线广播通信而创建,适用于无协调关系的多用户竞争单信道使用权的系统)的改进,适用于总线型拓扑结构网络。在总线型结构中,所有的设备都直接连到同一条物理信道上,该信道负责任何两个设备之间的数据传送。节点以帧的形式发送数据,帧的头部含有目的和源节点的地址。帧在信道上是以广播方式传输的,所有连接在信道上的设备随时都能检测到该帧。当目的节点检测到目的地址为本节点地址的帧时,就接收帧中所携带的数据,并按规定的链路协议给源节点返回一个响应。
采用这种操作方法时,可能会有两个或更多的设备同时发送帧,这样就会在信道上发生冲突。为减少冲突的发生,源节点在发送帧之前,首先要监听信道上是否有其他节点发送的载波信号。若监听到载波信号,则推迟发送,直到信道恢复到空闲为止。此外,开始发送数据之后,还要采用边发送边监听的技术,若监听到干扰信号,就表示出现了冲突,需要立即停止发送。
下面首先介绍以太网时间槽的概念,然后介绍几种载波监听多路访问技术,最后介绍CSMA/CD中所使用的冲突检测和退避算法。
(1)以太网时间槽
在以太网规则中,若两个节点发生了冲突,就必须让网络上每台主机都检测到这个冲突。但信号传播到整个网络中需要一定的时间。假设主机发送的帧很小,而两台发生冲突的主机相距又很远,在主机A发送的帧传播到主机D的前一刻,主机D开始发送帧,则主机A的帧到达主机D时,主机D能立即检测到冲突,发送阻塞信号。但在主机D的阻塞信号还没有传输到主机A之前,主机A的帧已发送完了。这样主机A就检测不到冲突,会误认为帧发送成功,而不再发送了。由于信号的传播时延,检测到冲突需要一定的时间,所以发送的帧必须有一定的长度。这就是时间槽需要解决的问题。
下面对最坏情况下检测到冲突所需的时间进行估算。
假设A和D是网络上相距最远的两台主机,信号在两者之间的传播时延为τ,假定主机A在t时刻开始发送一帧,帧会在t+τ时刻到达主机D。假设主机D在t+τ-ε时刻开始发送一帧,则主机D会在t+τ时刻检测到冲突,并发出阻塞信号。阻塞信号会在t+2τ时刻到达主机A。如果在t+2τ时刻,主机A的帧已经发送完毕了,它就无法检测到冲突。所以主机A发送帧的时间应该大于2τ。在10Mbit/s以太网中,一帧的最小发送时间必须为51.2μs,即512位数据在10Mbit/s以太网速率下的传播时间,因此以太网帧的最小长度为512bit=64Byte。为了保证达到最小帧长度,必须在不足的空间插入填充(pad)字节。
(2)载波监听多路访问CSMA
载波监听多路访问技术也称为先听后说(Listen Before Talk,LBT)技术。在监听和访问的过程中,节点可以根据不同的情况采取不同的策略。如果发送数据之前先对信道进行监听,信道空闲则立即发送数据。信道忙,则退避一段时间再作尝试等。根据节点可采取策略的不同,可以将监听算法分为以下3类。
1)非坚持CSMA
·若信道空闲,则可以立即发送。
·若信道忙,则不再继续监听信道,而是等待一个随机的时间后,再重复上述过程。
采用随机的重发延迟时间可以减少冲突的概率。然而,可能出现的问题是因为后退而使信道闲置一段时间,这使信道的利用率降低,而且增加了发送时延。
2)1-坚持CSMA
·若信道空闲,则立即发送。
·若信道忙,则继续监听,直至检测到信道空闲时,立即发送。
·如果有冲突(在一段时间内未收到肯定的回复),则等待一段随机的时间,重复前两个步骤。
此协议被称为1-坚持CSMA,是因为站点一旦发现信道空闲,其发送数据的概率为1。这种算法的优点是,只要介质空闲,站点就立即可发送,有利于抢占信道,避免了信道利用率的损失,但是多个站点同时都在监听信道时必然会发生冲突。
3)P-坚持CSMA
·若信道空闲,则以概率p发送,以概率q=l-p把该次发送推迟到下一时间单位。一个时间单位通常等于最大传播时延的2倍。
·延迟一个时间单位后,重复步骤a。
·若信道忙,则继续监听,直至检测到信道空闲时,执行步骤a。
P-坚持算法既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少信道空闲时间,是吸取了两者优点的一种折中方案。问题在于概率P值的选取。在选取P值时要考虑到在重负载下需要防止系统处于不稳定状态。假如信道忙时,有n个站有数据要发送,当前一个节点的数据发送完毕时,就会有nP个站点需要发送。如果P值选取的过大,使nP>1,则说明会有多个节点同时发送数据,势必会引起冲突。在最坏的情况下,随着冲突概率的不断增大,会使吞吐量降低到零。因此必须选取适当的P值使nP<1。但如果P值选取的过小,发送节点则要等待较长的时间,信道的利用率会大大降低。
(3)具有冲突检测的载波监听多路访问CSMA/CD
在CSMA中,由于信道存在传播时延,可能出现两个节点在没有监听到载波信号的情况下都开始发送帧的情况,这样仍可能会发生冲突。而CSMA算法中没有冲突检测的功能,即使发生了冲突,它仍然会继续发送帧,这样会造成网络带宽的浪费,如果帧比较长,对带宽的浪费就会较大。为了进一步提髙带宽的利用率,需要对CSMA方案进行改进。
一种改进方案是边发送边监听,过程如下所述。
①发送过程中继续监听信道,没有冲突发生,则继续发送。
②若发生了冲突,就立即停止发送,并向总线上发送一串干扰信号(Jamming),通知其他相关站点,停止发送。
③发送Jamming信号后,等待一段随机长的时间,重新监听,再尝试发送。
当重送失败次数达到16次时,MAC子层就会用异常终止的状态来通知LLC子层。采用这种方式就不会因为传送已受损的帧而造成带宽的浪费,可以提髙总线的利用率。这种方案称为具有冲突检测的载波监听多路访问技术,广泛应用于局域网中。
在CSMA/CD中,检测到冲突,发送完干扰信号之后,要随机等待一段时间,再重新监听,尝试发送。后退时间的长短对网络的稳定工作有很大影响,特别是在负载很重的情况下。为了避免很多站发生连续冲突,设计了一种被称为二进制指数退避的算法:从{0,1,2,…,2k -1}中随机取一个数r,重发时延=r×基本重发时延。其中,k=min(重发次数,10)。
二进制指数退避算法是按后进先出(Last In First Out,LIFO)的次序来控制的,即未发生冲突或很少发生冲突的数据帧,具有优先发送权。而发生过多次冲突的数据帧,发送成功的概率就更少。
IEEE 802.3就是采用二进制指数退避和1-坚持算法的CSMA/CD介质访问控制方法。采用这种方法,在低负荷时要发送数据帧的节点能立即发送。在高负荷时,仍能保证系统的稳定性。
3.物理层
由于以太网具有成本低、可靠性高、安装简便、维护和扩展容易等优点,现已经成为最流行的局域网技术之一。而随着技术的发展,以太网的传输速度也从10Mbit/s、100Mbit/s逐步提高到1000Mbit/s甚至10Gbit/s。对这些高速以太网来说,它们的数据链路层协议基本与以太网相同,但物理层有所不同。
(1)物理层协议及接口
以太网物理层模型与OSI参考模型的对应关系如图9-13所示。
图9-13 以太网物理层模型
·介质相关接口(Media Dependent Interface,MDI):定义了对应于不同的物理介质和物理介质相关(Physical Media Dependent,PMD)子层设备所采用的连接器类型。
·介质访问单元(Media Access Unit,MAU):实现主机附属单元接口(Attachment Unit Interface,AUI)和以太网介质间的互连。负责提供电气连接,在计算机和网络比特流之间进行转换,还可以进行冲突检测和重传。
·AUI:15脚的物理层连接器接口,是使用粗缆以太网时的收发器电缆。这种接口在标准中定为可选项,因为在细缆和10Base-T情况下,AUI已不复存在了。
·PMD子层:是物理层的最低子层,负责信号的传送,包括信号的放大、调制和波的整形,将这些信号转换成适合于在某种特定介质上传输的形式。
·物理介质附属(Physical Media Attachment,PMA)子层。PMA子层提供了物理编码子层(Physical Coding Sublayer,PCS)和PMD层之间的串行化服务接口。负责把编码转换为适于物理层传输的比特流,同时完成数据解码的同步。
·PCS:主要负责对来自MAC子层的数据进行编码和解码。
·MII/GMII/XGMII:用于100Mbit/s快速以太网的介质独立接口(Media Independent Interface,MII),用于1000Mbit/s以太网的千兆介质独立接口(Gigabit Media Independent Interface,GMII)和用于10Gbit/s以太网的万兆介质独立接口(10 Gigabit Media Independent Interface,XGMII)。与以太网的介质接入单元接口AUI等价,它们提供了100Mbit/s、1000Mbit/s及10Gbit/s以太网MAC子层和物理层间的逻辑接口。
·协调子层(Reconciliation Sublayer,RS):RS是MAC子层和物理层之间的通路。XGMII和协调子层使MAC子层能适应不同的物理层。
10Gbit/s以太网协议在XGMII接口下增加了广域网接口子层(WAN Interface Sublayer,WIS),可以让l0Gbit/s以太网帧能够在目前广域网中广泛使用的SONET/SDH体系中传输。
由此可见,快速以太网及1000Mbit/s、10Gbit/s以太网对传统以太网的改进主要包括如下项目。
·用MII/GMH/XGMII取代了AUI。
·增加了协调子层。
·用全双工方式取代了半双工方式。
除此之外,100Mbit/s、1000Mbit/s、10Gbit/s以太网还增加了自动协商功能,改进了编码,定义了新的中继器规范,使网络的性能得到了进一步的增强。
(2)以太网物理层规范
以太网中常用的介质标准有传统的使用双绞线的10Base-T、使用粗同轴电缆的10Base5、使用细同轴电缆的10Base2。100Mbit/s以太网中使用的100Base-TX、100Base-FX。1000Mbit/s以太网中使用的1000Base-T、1000Base-LX、1000Base-SX、1000Base-CX。10Gbit/s以太网中使用的10GBase-SR、10GBase-LR、l0GBase-ER和10GBase-T。这些标准使用不同的传输介质和传输技术,所能达到的传输速率和覆盏范围也各不相同。表9-2所示为常见以太网规范的比较。
表9-2 常见以太网规范的比较
共有条评论 网友评论