第3章

以太
网


以太网是目前应用最广泛的局域网,最初的总线型以太网由于简单而得到广泛应用。
交换式以太网的诞生与双绞线缆和光纤作为传输媒体使以太网性能得到根本性的改变。
以太网因此取得垄断地位。虚拟局域网(VirtualLAN,VLAN)与三层交换技术更是进一
步拓宽了以太网的应用范围。

3.以太网的发展过程
1 

可以从以下四方面了解以太网的发展过程:一是从共享式以太网到交换式以太网; 
二是从采用同轴电缆为传输媒体到采用双绞线缆和光纤为传输媒体;三是从低速以太网
到高速以太网;四是出现VLAN 和三层交换技术。

1.以太网的诞生
3.1 

以太网是20 世纪70 年代初由BobMetcalfe和DavidBoggs发明的,并以历史上表
示传播电磁波的以太(Ether)命名。在20 世纪70 年代末,DEC 、Intel和Xerox这三家公
司联合起来开发以太网产品,并在1980 年9月发表了关于以太网规约的第一个版本——— 
DIXV1(DIX 由这三家公司名称的第一个字母组合而成),1982 年又修改发表了第二个
版本———DIXEthernetV2 。电子和电气工程师协会(IEEE)802 委员会在此基础上制定
了第一个局域网标准,编号为802.3标准和DIXE

3。实际上,tV2 还是有点差
别的,但目前人们已习惯将符合802.802.therne

3标准的局域网称为以太网。

1.从共享到交换
3.2 
最初的以太网是总线型以太网,由于简单和便宜,该以太网得到广泛应用。尤其在出
现安装在PC 上、用于将PC 连接到总线型以太网上的网卡后,以PC 为终端的总线型以
太网成为最常见的办公网络。

随着网络应用的深入,总线型以太网的性能缺陷日益显现。此时,采用数据报分组交


第3 章 以太网 89 
换技术的以太网交换机的诞生使以太网从总线型以太网发展为交换式以太网。交换式以
太网从根本上提高了以太网的性能,是以太网发展过程中的一个里程碑。
3.1.3 从同轴电缆到双绞线缆和光纤
总线型以太网采用的传输媒体是同轴电缆,同轴电缆的最大问题是柔软性不够,不容
易走线,和双绞线缆相比价格较贵。当需要将分布在校园内每一幢教学楼中各个教室和
办公室的PC互连在一起时,同轴电缆已经无法作为连接这些PC的传输媒体。
由于双绞线缆和光纤是两种互补性很强的传输媒体,通过采用双绞线缆和光纤这两
种传输媒体,可以将分布在校园各个地方的PC连接在一起。双绞线缆和光纤作为传输
媒体还催生了一个新兴的行业:综合布线。
3.1.4 从低速到高速
以太网数据传输速率从初始时的10Mbps发展到100Mbps、1Gbps、10Gbps,目前已
有40Gbps和100Gbps的以太网。低速以太网发展到高速的过程是各种技术综合发展的
过程,没有交换式以太网的诞生,没有采用双绞线缆和光纤,就不会有高速以太网。
3.1.5 VLAN 和三层交换技术
以太网交换机的工作原理导致大量MAC帧以广播方式在以太网中传输,而广播一是
导致资源浪费;二是引发安全问题。VLAN技术的出现很好地减少了广播造成的危害。
由于每一个VLAN都是逻辑上独立的以太网,因此属于不同VLAN的两个终端之间
的通信过程等同于连接在不同类型网络上的两个终端之间的通信过程,需要用路由器实现
不同VLAN之间的互连。三层交换机是集路由和交换功能于一体的以太网交换机,三层交
换机的出现完美地解决了以太网VLAN划分、VLAN内通信和VLAN间通信的问题。
3.2 总线型以太网
以太网是从总线型以太网开始发展的,总线型以太网物理层和MAC层实现技术对
交换式以太网具有重大影响。因此,掌握总线型以太网物理层和MAC层实现技术是深
入了解以太网的基础。
3.2.1 总线型以太网的结构与功能
1.总线型以太网的拓扑结构 
总线型以太网的拓扑结构如图3.1所示,总线由同轴电缆组成,所有终端直接连接到

90 网络技术基础与计算思维(第2 版) 
总线上,任何终端发送的信号将沿着总线向总线两端传播。为了防止总线两端反射信号, 
总线两端必须接匹配阻抗。
信号经过总线传播会衰减,甚至失真,因此信号无中继传输距离是有限的。如果总线
长度超过信号无中继传输距离,则需要在总线中间增加中继器,中继器的作用是完成信号
再生,即将已经衰减甚至失真的信号重新还原成发送端生成的初始信号。从信号传播角
度出发,只要不断增加中继器,总线的长度就可以无限长。
中继器是传输媒体连接器,用于实现两段传输媒体互连。从传输二进制位流的物理
层功能出发,由中继器互连的两段传输媒体等同于无中继器的单段信道。因此,从实现二
进制位流传输功能的角度出发,图3.1(b)所示的由中继器互连两段传输媒体构成的信道
与图3.1(a)所示的由单段传输媒体构成的信道相同。
图3.1 总线型以太网结构
2.总线型以太网的功能需求
总线型以太网的功能是实现连接在总线上的任何两个终端之间的数据传输过程。为
了实现这一功能,总线型以太网需要具备以下能力。
1)数据与信号之间相互转换的能力
发送终端需要将数据转换成信号,然后将信号发送到总线上。接收终端需要通过总
线接收信号,并将信号还原成数据。
2)检测总线是否空闲的能力
任何时候,连接在总线上的终端中只能有一个终端发送数据,所以某个终端发送数据
前必须确认没有其他终端向总线发送数据。因此,终端需要具备判别总线是否正在发送
数据的能力。
3)寻址能力
任何一个终端发送的数据可以被连接在总线上的所有其他终端接收到,对于两个终
端之间的数据传输过程,每一个终端必须具备判别自己是否是数据接收者的能力。
4)公平竞争总线的能力
当多个终端同时需要发送数据时,需要有机制保证只有一个终端成功发送数据,且每

第3 章 以太网 91 
一个终端成功发送数据的概率是均等的。
5)数据封装成帧的能力
为了完成数据源终端至目的终端的传输过程,除了数据,还需要增加保证数据正确传
输所需的控制信息,如检错码和寻址信息等。发送端需要将数据和控制信息组合成帧。
6)帧对界能力
发送端以帧为单位发送数据。每一个终端需要具有从接收到的二进制位流中正确提
取出每一帧的能力。
3.2.2 总线型以太网的体系结构
1.分层结构 
以太网并不是IEEE802委员会制定的唯一局域网标准,在制定802.3标准以后,又
陆续制定了多个不同的局域网标准,如令牌环网。由于不同局域网的链路层标准并不相
同,为了给网络层提供统一的局域网功能界面,802委员会将局域网的链路层分成两个子
层:逻辑链路控制(LogicalLinkControl,LLC)子层和媒体接入控制(Medium Access 
Control,MAC)子层。因此,可以得出如图3.2所示的以以太网为传输网络的TCP/IP体
系结构。
不同局域网的MAC子层是不同的,但LLC子层和IP之间的接口界面是相同的,也
就是说LLC子层屏蔽了由于多种局域网并存而造成的MAC子层的不同,就像BIOS屏
蔽了主板的差异一样。
随着以太网的发展,以太网在局域网市场中已取得垄断地位,目前已不存在多种局域
网技术并存的问题。而且,LLC子层是802委员会为屏蔽多种局域网之间的差异而提出
的,显然不是DIXEthernetV2中的一部分。因此,实际基于以太网的TCP/IP体系结构
删除了LLC子层,如图3.3所示。
图3.2 基于局域网的TCP/IP体系结构 
图3.3 基于以太网的TCP/IP体系结构
2.各层功能
总线型以太网物理层和MAC 层实现的功能主要用于满足总线型以太网的功能
需求。
1)物理层
以太网的物理层功能主要有3个:一是使总线空闲和传输数据的状态不同;二是能
够完成将数据转换成信号,将信号还原成数据的过程;三是能够将经过总线传输的二进制

92 网络技术基础与计算思维(第2 版) 
位流分割成每一帧对应的一段二进制位流。
2)MAC层
以太网MAC层的功能主要有3个:一是将数据封装成帧,帧中除了数据,还有检错
码和寻址信息;二是具有寻址接收终端的功能;三是实现用于保证连接在总线上的终端公
平竞争总线的机制。
3.2.3 基带传输与曼彻斯特编码
1.基带信号 
这里将幅度只有两种离散值的数字信号称为基带信号,基带信号中的每一个码元只
能表示一位二进制数,用两种离散值中的一种离散值表示二进制0,另一种离散值表示二
进制1,如用-0.7V 表示二进制0,用0.7V 表示二进制1。
用基带信号传输数据时,波特率等于数据传输速率。因此,如果要求总线型以太网的
数据传输速率是10Mbps,则波特率为10MBaud,码元长度=1/(10×106)s。
2.基带信号表示数据和还原数据的过程
为了精确控制码元长度,需要使用时钟。时钟是时间间隔相同的一串方波,单位时间
内的方波数称为时钟频率,每一个方波的长度称为时钟周期。如果时钟的频率为
10MHz,则时钟周期等于波特率为10MBaud的信号的码元长度。因此,可以用频率为
10MHz的时钟控制每一个码元的码元长度,如图3.4所示。
图3.4 数据转换成信号与信号还原成数据的过程

第3 章 以太网 93 
接收端正确地将信号还原成数据的前提有两个:一是能够精确地将信号分割为码
元;二是能够从码元的幅度中得出码元表示的二进制数值。精确地将信号分割为码元的
过程称为位同步,实现位同步需要知道每一个码元的起始位置和每一个码元的长度。如
果接收端的时钟频率与发送端的时钟频率相同,且接收端时钟周期的开始位置与码元的
起始位置一致,则接收端时钟周期对应信号的每一个码元,如图3.4所示。
3.时钟不一致引发的问题
由于不同终端使用不同的时钟,要使两个终端使用的时钟频率严格一致是不可能的。
由于发送终端和接收终端均用时钟周期确定码元长度,一旦发送终端和接收终端的时钟
不一致,如发送终端的时钟频率小于接收终端的时钟频率,将导致发送终端发送的信号的
码元长度大于接收终端的时钟周期,因而引发发送终端发送的由n 个码元组成的信号被
接收终端错误地分割为n+1个码元的情况,如图3.4中“不同步接收时钟”表示的现象。
引发这一问题的关键是误差累积,即使两个时钟的频率误差很小,当n 足够大时,也
会使以下不等式成立。
n×T 发≥(n+1)T 收 (T 发是发送终端时钟周期,T 收是接收终端时钟周期) 
一旦以上不等式成立,就会发生发送终端发送的由n 个码元组成的信号被接收终端
错误地分割为n+1个码元的情况。
解决这一问题的关键是消除误差累积,就如一个星期快或慢一分钟的石英钟,如果每
天对一下时,就可以将误差控制在几秒内。对于发送终端和接收终端时钟频率不一致的
情况,如果每隔m 个码元,可以重新使接收端的时钟周期开始位置与码元的起始位置一
致,只要m 足够小,就可避免接收端分割码元出错的情况发生。
4.曼彻斯特编码
为了使接收端能够每隔m 个码元,重新用码元的起始位置作为时钟周期的开始位
置,发送端发送的信号中必须每隔m 个码元发生一次信号跳变。信号跳变是指从一种离
散值变换到另一种离散值的过程。由于二进制位流是随机的,二进制位流中存在连续n 
位二进制数1或0(n>>m )的可能,因此为了保证随机二进制位流转换后生成的基带信
号中每隔m 个码元发生一次信号跳变,引入曼彻斯特编码。
曼彻斯特编码将每一位二进制数对应的信号分成两部分。对于二进制数0,前半部
分为高电平,而后半部分为低电平。对于二进制数1,恰好相反,前半部分为低电平,后半
部分为高电平(也可以采用相反约定,即二进制数1是先高后低,二进制数0是先低后
高)。因此,曼彻斯特编码用两个码元表示一位二进制数,表示每一位二进制数的两个码
元之间存在信号跳变,用两个码元之间信号跳变的不同方向表示二进制数0和1,如
图3.5中“曼彻斯特编码”所示的用高电平至低电平跳变表示二进制数0,低电平至高电平
跳变表示二进制数1。
一旦采用曼彻斯特编码,如果二进制位流是连续1或连续0,每一位二进制数对应的
信号的开始和中间位置都发生跳变,则曼彻斯特编码是频率与发送时钟频率相同的时钟
信号。如果二进制位流中二进制数0、1交替出现,每一位二进制数对应的信号的中间位

94 网络技术基础与计算思维(第2 版) 
图3.5 曼彻斯特编码和接收端时钟同步过程
置发生跳变,则曼彻斯特编码是频率为发送时钟一半的时钟信号。
5.曼彻斯特编码同步接收端时钟的过程
由于曼彻斯特编码用两个码元表示一位二进制数,因此当时钟频率等于数据传输速
率时,一个时钟周期对应两个码元长度。发送端使曼彻斯特编码表示每一位二进制数的两
个码元的码元长度等于发送时钟每一个方波中两种不同电平的信号宽度,因此表示每一位
二进制数的两个码元之间发生的信号跳变与发送时钟每一个方波中间的跳变一致。
接收端为了将接收时钟与码元同步,使接收时钟每一个方波中间跳变与曼彻斯特编
码表示每一位二进制数的两个码元之间发生的信号跳变一致。这样做的原因一是使接收
时钟每一个方波中间跳变与表示每一位二进制数的两个码元中第二个码元的起始位置一
致;二是使接收时钟每一个方波中两种不同电平的信号宽度尽量等于表示每一位二进制
数的两个码元的码元长度;三是使接收时钟的时钟周期开始位置尽量与表示每一位二进
制数的两个码元中第一个码元的起始位置一致,如图3.5中“重新同步的接收时钟”所示。
曼彻斯特编码使接收端每间隔一位二进制数对应的信号长度调整一次时钟周期开始
位置,使发送时钟与接收时钟之间的误差不再累积。
6.曼彻斯特编码的特点和缺陷
1)曼彻斯特编码的特点
由于表示每一位二进制数的两个码元之间发生信号跳变,因此可以用不断跳变的信
号表示传输数据的信号,维持电平不变的信号表示总线空闲,如图3.5中“总线状态” 
所示。

第3 章 以太网 95 
2)曼彻斯特编码的缺陷
由于曼彻斯特编码用两个码元表示一位二进制数,因此波特率=2×数据传输速率。
由于波特率与总线的带宽成正比,因此在相同的数据传输速率下,曼彻斯特编码要求的总
线带宽是基带信号的两倍。当数据传输速率提高到100Mbps以上时,如果继续采用曼彻
斯特编码,将对总线带宽提出更高要求,因此100Mbps及以上数据传输速率的以太网不
再采用曼彻斯特编码。
3.2.4 MAC地址
连接在总线上的每一个终端必须有唯一的地址,由于该地址在以太网MAC层标识
终端,因而称为MAC地址。MAC地址由6个字节组成。48位MAC地址的最低位是
I/G位,该位为0,表示该MAC地址对应单个终端;该位为1,表示该MAC地址对应一组
终端。48位MAC地址的次低位是G/L位,该位为0,表示该MAC地址是全局地址;该
位为1,表示该MAC地址是局部地址。全局地址表示该MAC地址全球范围内唯一。
MAC地址可以分为单播地址、广播地址和组播地址。
广播地址是48位全1的地址,用十六进制数表示是ff:ff:ff:ff:ff:ff(6个用冒号分隔
的全1字节)。
组播地址范围是:01:00:5e:00:00:00~01:00:5e:7f:ff:ff。
单播地址是广播和组播地址以外且I/G位为0的MAC地址。
3.2.5 MAC帧
1.MAC帧结构 
连接在总线上的两个终端之间传输的数据需要封装成帧,由于由以太网MAC层处
理该帧,因而被称为MAC帧。MAC帧结构如图3.6所示。
图3.6 MAC帧结构
1)先导码和帧开始分界符
先导码和帧开始分界符并不是MAC帧的一部分,它们的作用是帮助接收终端完成
帧对界的功能。
先导码是由7个二进制数位流模式为10101010的字节组成的一组编码,它的作用是
帮助连接在总线上的终端完成位同步过程。
帧开始分界符为1字节二进制数位流模式为10101011的编码,用于告知接收端该编
码后面是MAC帧。这意味着连接在总线上的每一个终端都必须能够通过先导码和帧开
始分界符,完成从由物理层分割成的每一帧MAC帧对应的一段二进制位流中正确定位
MAC帧的起始字节(目的地址字段的第一个字节)的过程。

96 网络技术基础与计算思维(第2 版) 
2)目的地址和源地址
目的地址是用于标识该MAC帧接收终端的48位MAC地址,可以是单播地址、广播
地址和组播地址。如果该MAC 地址是单播地址,表明该MAC 帧的接收终端是由该
MAC地址标识的唯一终端。如果该MAC地址是广播地址,表明该MAC帧的接收终端
是连接在总线上的所有其他终端。如果该MAC地址是组播地址,表明该MAC帧的接
收终端是连接在总线上且属于该组播地址指定的组播组的终端。
源地址是用于标识该MAC帧发送终端的48位MAC地址,其只能是单播地址。
当终端A 发送MAC帧给终端B时,用终端A 的MAC地址作为MAC帧的源MAC 
地址,用终端B的MAC地址作为MAC帧的目的MAC地址。终端A 发送的MAC帧被
连接在总线上的所有其他终端接收,每一个终端用自己的MAC地址和MAC帧中的目
的MAC地址比较,如果相符,则继续处理,否则将该MAC帧丢弃。因此,当一个终端想
要给另一个终端发送MAC帧时,它必须先获取另一个终端的MAC地址,否则只能以广
播方式发送MAC帧。
MAC帧的目的MAC 地址类型不同,接收到MAC 帧的终端确定自己是否是该
MAC帧的接收终端的方法也不同。如果是单播MAC地址,则只有目的MAC地址和其
MAC地址相符的单个终端接收并处理该MAC帧。如果是广播地址,则连接在总线上的
所有终端均接收并处理该MAC帧。如果是组播地址,只有属于组播地址所指定的组播
组的终端才接收并处理该MAC帧。
3)类型字段
类型字段用于标明数据类型,MAC帧所封装的数据可以是IP分组,也可以是ARP 
请求报文,或其他类型的数据。包含不同类型数据的MAC帧需要提交给不同的进程进
行处理,类型字段就用于接收端选择和数据的类型相对应的进程。
4)数据字段
数据字段用于传输数据。和其他字段不同,数据字段才是真正用于承载高层协议要
求传输的数据,其他字段只是用于保证数据的正确传输。因此,我们把数据字段称为
MAC帧的净荷字段,数据字段的长度是可变的。
5)帧检验序列字段
帧检验序列(FrameCheckSequence,FCS)字段是MAC帧的检错码,接收端用FCS 
检测MAC帧传输过程中发生的错误。以太网采用循环冗余检验(CRC)码对MAC帧进
行检错,使用以下生成多项式。
G(x)=x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 + 
x8 +x7 +x5 +x4 +x2 +x +1 
32位帧检验序列(FCS)就是以目的地址、源地址、类型、数据和填充字段组合成的二
进制数位流为原始数据,根据生成多项式G(x)计算出的CRC-32。
如果接收端通过FCS字段检测出MAC帧传输过程中出错,接收端就丢弃该MAC 
帧。以太网MAC层没有设置确认和重传机制。
MAC帧有严格的长度限制,它的长度必须在64和1518字节之间。由于其他字段占
用了18个字节(6个字节源MAC 地址+6个字节目的MAC 地址+2个字节类型字

第3 章 以太网 97 
段+4字节帧检验序列),因此数据字段长度应该在46和1500字节之间,但高层协议要求
传输的数据的长度是任意的。一旦数据的字节数不足46字节,就需要用填充字段将
MAC帧的长度填充到64字节,由此可以推出填充字段的长度在0和46字节之间。
2.帧对界
两帧MAC帧之间要求存在间歇,间歇期间总线状态为空闲状态。传输MAC帧时
首先传输先导码对应的曼彻斯特编码,而曼彻斯特编码很容易让终端监测到总线从空闲
状态转变为发送先导码状态,并因此实现帧对界功能。总线发送MAC帧的信号状态如
图3.7所示。值得强调的是,将经过总线传输的二进制位流分割为每一帧MAC帧对应
的一段二进制位流的过程是由物理层实现的,但只有MAC层才能识别MAC帧结构,并
通过先导码和帧开始分界符完成从由物理层分割成的每一帧MAC帧对应的一段二进制
位流中正确定位MAC帧的起始字节(目的地址字段的第一字节)的过程。
图3.7 总线状态
3.2.6 CSMA/CD 的工作原理
CSMA/CD的中文名称是载波侦听(CarrierSense,CS)、多点接入(MultipleAccess, 
MA)/冲突检测(CollisionDetection,CD),它的作用是让每一个连接在总线上的终端完
成通过总线发送数据的过程。
1.CSMA/CD 算法
每一个连接在总线上的终端用CSMA/CD算法完成通过总线发送数据的步骤如下。
1)先听再讲
某个想要通过总线发送数据的终端必须确定总线上没有其他终端正在发送数据后, 
才能开始往总线上发送数据。一旦经过总线传输数据,总线上便存在高低电平有规律跳
变的电信号,这种电信号称为载波,是数据的曼彻斯特编码。如果总线空闲,总线上是固
定电平。因此,该终端先要侦听总线上是否有载波,在确定总线空闲(无载波出现)的情况
下,才能开始发送数据。一旦开始发送数据,随着电信号在总线上传播,总线上所有其他
终端都能侦听到载波存在,这就是先听(侦听总线载波)再讲(发送数据)。
2)等待帧间最小间隔
并不是一侦听到总线空闲就立即发送数据,而是必须侦听到总线持续空闲一段时间
后才能开始发送数据,这段时间称为帧间最小间隔(InterFrameGap,IFG)。帧间最小间
隔与总线数据传输速率有关,10Mbps以太网的帧间最小间隔为9.6μs。
设置帧间最小间隔的目的主要有3个:一是如果接连两帧MAC帧的接收终端相同,

98 网络技术基础与计算思维(第2 版) 
则必须在两帧之间给接收终端一点用于腾出缓冲器空间的时间;二是一个想连续发送数
据的终端在发送完当前帧后不允许接着发送下一帧,必须和其他终端公平争用发送下一
帧的机会;三是总线在发送完一帧MAC帧后,必须回到空闲状态,以便在发送下一帧MAC 
帧时,能够让连接在总线上的终端正确监测到先导码和帧开始分界符,如图3.7所示。
3)边讲边听
一旦某个终端开始发送数据,其他终端都能侦听到载波,在侦听到载波期间,所有其
他终端均不能发送数据。这些终端中想要发送数据的终端只有在侦听到总线持续空闲帧
间最小间隔后,才能开始发送数据。但可能存在这样一种情况,两个终端都想发送数据, 
因此都开始侦听总线。当发送数据的终端完成数据发送过程时,这两个终端同时侦听到
总线空闲,并在总线持续空闲帧间最小间隔后,同时发送数据。这样,两个终端发送的电
信号就会叠加在总线上,导致冲突发生。其实,由于电信号经过总线传播需要时间,如果
两个终端相隔较远,即使一个终端开始发送数据,在电信号传播到另一个终端前,另一个
终端仍然认为总线空闲。因此,即使不是同时开始侦听总线,只要两个终端开始侦听总线
的时间差在电信号传播时延内,仍然可能发生冲突。因此,某个终端开始发送数据后,必
须一直检测总线上是否发生冲突,如果检测到冲突发生,则停止数据发送过程,发送4或
6字节长度的阻塞信号(也称干扰信号),迫使所有发送数据的终端都能检测到冲突发生, 
并结束数据发送过程。这就是边讲(发送数据)边听(检测冲突是否发生)。检测冲突是否
发生的方法很多,其中比较简单的一种是边发送边接收,并将接收到的数据和发送的数据
进行比较,一旦发现不相符的情况,表明冲突发生。
4)退后再讲
一旦检测到冲突发生,就停止数据发送过程,延迟一段时间后,再开始侦听总线。两
个终端的延迟时间必须不同,否则可能进入发送→冲突→延迟→侦听→发送→冲突这样
的循环中。如果两个终端的延迟时间不同,延迟时间短的终端先开始侦听总线,在侦听到
总线空闲并持续空闲帧间最小间隔后,开始发送数据。当延迟时间长的终端开始侦听总
线时,另一个终端已经开始发送数据,它必须等待总线空闲后,才可以开始发送过程。
CSMA/CD操作过程如图3.8所示。
2.后退算法
每一个终端检测到冲突发生后,通过后退算法生成延迟时间。后退算法需要保证: 
一是每一个终端生成的延迟时间都是随机的,且相互独立,因此两个以上终端生成相同延
迟时间的概率较小;二是最小的且与其他终端的延迟时间不同的延迟时间最好为0;三是
所有终端的平均延迟时间尽可能小。
1)后退算法描述
以太网采用称为截断二进制指数类型的后退算法,算法如下。
① 确定参数K 。一开始时K =0,每发生一次冲突,K 就加1,但K 不能超过10。因
此,K =MIN[冲突次数,10]。
② 从整数集合[0,1,…,2K -1]中随机选择某个整数r。
③ 根据r,计算出后退时间T =r×t基(t基是基本延迟时间,对于10Mbps以太网,

第3 章 以太网 99 
图3.8 CSMA/CD 操作过程
t基=51.2μs)。
④ 如果连续重传了16次都检测到冲突发生,则终止传输,并向高层协议报告。
2)后退算法分析
对于两个终端发生冲突的情况,每一个终端单独执行后退算法。在计算延迟时间时, 
对于第一次冲突,K =1,两个终端各自在[0,1]中随机挑选一个整数。由于只有两种挑选
结果,因此两个终端挑选相同整数的概率为50%。如果两个终端在第一次发生冲突后挑
选了相同整数,则将再一次发生冲突。当检测到第二次冲突发生时,两个终端各自在
[0,1,2,3]中随机挑选整数。由于选择余地增大,两个终端挑选到相同整数的概率降为
25%。随着冲突次数不断增加,两个终端产生相同延迟时间的概率不断降低。当两个终
端的延迟时间不同时,选择较小延迟时间的终端先成功发送数据。
对于多个终端发生冲突的情况,假如100个终端发生冲突,在第一次冲突发生时,其
中一个终端选择整数0,其余99个终端选择整数1的概率几乎为0。但随着冲突次数的
不断增多,整数集合的不断扩大,有可能在发生16次冲突前,有一个终端选择了整数r, 
它和所有其他终端选择的整数不同,且小于所有其他终端选择的整数。
通过上述分析可以看出,截断二进制指数类型的后退算法是一种自适应后退算法。
在少量终端发生冲突的情况下,为了提高总线的利用率,尽量减少终端平均延迟时间。在
大量终端发生冲突的情况下,通过不断增大整数集合,尽量保证有终端最终获取通过总线
发送数据的机会。
由于CSMA/CD算法容易实现,因此采用CSMA/CD算法的总线型以太网因为简单
和便宜,成为最常见的办公网络。
3.2.7 CSMA/CD 的缺陷
1.只适应轻负荷 
通过分析CSMA/CD和后退算法得出,对于连接在总线上的终端中只有少量终端需

1 00 网络技术基础与计算思维(第2 版) 
要同时发送数据的情况,终端之间重复发生冲突的概率较小,终端的平均延迟时间较短。
因此,总线的利用率较高。对于总线上连接大量终端,且这些终端需要密集发送数据的情
况,这些终端不是因为发生冲突,就是因为处于延迟时间内而不能使用总线,总线的利用
率非常低。因此,CSMA/CD算法是一种只适应轻负荷的算法,采用CSMA/CD 算法的
总线型以太网只适用于轻负荷应用环境。
2.捕获效应
截断二进制指数类型的后退算法在两个终端都想连续发送数据的情况下,有可能导
致一个终端长时间内一直争到总线发送数据,而另一个终端长时间内一直争不到总线发
送数据,这种情况称为捕获效应。
如图3.9所示,当两个终端同时想连续发送数据时,都去侦听总线,当总线持续空闲
帧间最小间隔后,两个终端同时向总线发送数据,导致冲突发生。两个终端分别用后退算
法生成延迟时间,假定终端A 选择的延迟时间为0×t基,而终端B选择的延迟时间为1× 
t基,终端A 成功发送第1帧数据。
图3.9 捕获效应示意图
由于终端A 有大量数据需要发送,在发送完第1帧数据后,紧接着发送第2帧数据, 
但必须通过争用总线过程获得发送第2帧数据的机会。当终端A 和终端B又侦听到总
线空闲,并又同时发送数据,导致冲突再次发生时,对于终端A 而言,由于是发送第2帧
数据时发生的第1次冲突,因此K =1,在整数集合[0,1]之间随机选择一个整数r;而对
于终端B而言,由于是发送第1帧数据时发生的第2次冲突,K =2,在整数集合[0,1,2,3] 
中随机选择一个整数r'。显然,r<r'的概率更大,使终端A 又一次成功发送第2帧
数据。根据终端B选择的延迟时间大小和终端A 的MAC帧长度,有可能在终端B延迟时
间内,终端A 已成功发送若干MAC帧。但当终端B再次开始侦听总线并试图发送数据

第3 章 以太网1 01 
时,又将和终端A 发生冲突。对于终端A,仍然在整数集合[0,1]中随机选择一个整数r, 
而终端B将在整数集合[0,1,2,3,4,5,6,7]中随机选择一个整数r'。r<r'的概率比前一
次更大,又导致终端A 发送成功。最终导致终端A 长时间通过总线发送数据,而终端B 
一直得不到发送数据的机会。
捕获效应表明CSMA/CD和后退算法不是一种能够让所有终端公平使用总线的算
法。由于让连接在总线上的终端公平享有使用总线的权利是总线型以太网的原旨,因此
捕获效应是一个很大的问题,如果不能解决,将严重影响采用CSMA/CD 算法的总线型
以太网的广泛应用。
3.冲突域直径和最短帧长之间存在制约
1)冲突域直径
对于总线型以太网,任何时候,连接在总线上的终端中只能有一个终端发送数据。一
旦有两个(或以上)终端同时发送数据,就会发生冲突。因此,我们将具有这种传输特性的
网络所覆盖的地理范围称为冲突域,将同一冲突域中相距最远的两个终端之间的物理距
离称为冲突域直径。
可以不用距离而是用时间来标识冲突域直径,是因为在知道信号传播速度的情况下, 
传播时间和传播距离是可以相互换算的,因而也可以用信号传播时间标识冲突域直径。
假定同轴电缆的长度为L,电信号传播速度为V,则传播时间T =L/V。电信号真空中的
传播速度等于光速c0。由于阻抗的因素,电信号电缆中的传播速度约为(2/3)c0,因此,T = 
3L/2c0。如果确定了传播时间T ,可以得出电缆长度L=(2/3)c0×T 。
2)中继器扩展电信号传播距离
电信号通过电缆传播会产生衰减,衰减程度与电缆的长度成正比,因此单段电缆不允
许很长,表3.1给出了不同传输媒体单段电缆的长度限制。为了扩大冲突域直径,必须使
用电缆连接设备———中继器。中继器是一个物理层设备,它的功能是将衰减后的电信号
再生,即放大和同步,图3.10给出中继器再生基带信号的过程。中继器将一端接收到的
已经衰减的电信号经放大、同步后从另一端输出的过程需要时间,因此在使用中继器互连
电缆的冲突域中,不能简单地根据作为冲突域直径的时间T 推算出物理距离
L=(2/3)c0×T ,而必须考虑电信号经过中继器所花费的时间。如果每一个中继器的延
迟时间为T',冲突域中有N 个中继器,根据作为冲突域直径的时间T ,可大致推算出冲
突域直径的物理距离L=(2/3)c0×(T -N ×T')。
表3.1 各种类型电缆的物理距离
传输媒体类型中继器数量单段电缆长度/m 冲突域直径/m 
粗同轴电缆4 500 2500 
细同轴电缆4 185 925 
双绞线 4 100 500

1 02 网络技术基础与计算思维(第2 版) 
图3.10 中继器再生基带信号的过程 
中继器是物理层互连设备,理论上可以通过中继器的信号再生功能无限扩大冲突域, 
即经过中继器互连的同轴电缆总长不受限制。
3)MAC帧的最短帧长
为了保证发送端能够检测到任何情况下发生的冲突,发送端发送MAC帧的最短时
间和冲突域直径之间存在关联。而MAC帧的长度和总线的传输速率又决定了MAC帧
的发送时间,因此冲突域直径和MAC帧的最短帧长之间存在关联。
假定图3.11中的冲突域直径是时间t,表示电信号从终端A 传播到终端B所需要的
时间为t(电信号传播过程中可能经过若干中继器)。
图3.11 冲突域直径和最短帧长之间的关系
终端A 在时间t0 开始发送MAC帧,如图3.11(a)所示。假定在t0+t 前一瞬间,终
端B由于侦听到总线空闲,也开始发送数据,如图3.11(b)所示。终端B立即检测到冲突
发生。终端B一方面停止发送MAC帧,另一方面通过发送阻塞信号来强化冲突,迫使终
端A 检测到冲突发生,如图3.11(c)所示。但终端B发送的电信号必须经过时间t 才能

第3 章 以太网1 03 
到达终端A,和终端A 发送的电信号叠加,使终端A 检测到冲突发生,如图3.11(d)所示。
由于终端A是边发送MAC帧,边检测冲突是否发生,因此为了确保能够检测到任何情况下
发生的冲突,终端A发送MAC帧的时间不能小于2t。我们将发送时间为2t 的MAC帧长
度称为最短帧长,如果最短帧长为M ,网络传输速率为S,则M/S=2t,求出M =2t×S。
10Mbps以太网标准规定t=25.6μs,2t=51.2μs,S=10Mbps,求出MAC帧最短帧
长=51.2×10-6×10×106=512b=64B。64B最短帧长的含义是:在确定冲突域直径为
25.6μs的前提下,发送端只有保证每一帧的发送时间≥51.2μs,才能检测到任何情况下发
生的冲突。2t 称为争用期,也称为冲突窗口。任何一个终端只有在冲突窗口内没有检测
到冲突发生,才能保证该次发送不会发生冲突。
4)冲突域直径与基本延迟时间
后退算法求出的延迟时间T =r×t基,其中r 是整数集中随机选择的整数,t基是基本
延迟时间。基本延迟时间t基=2×时间表示的冲突域直径,对于10Mbps以太网,t基= 
51.2μs。
通过图3.11可以发现,只有当两个终端的延迟时间差大于等于2×时间表示的冲突
域直径时,才能保证两个终端不再发生冲突。对于如图3.11所示的情况,如果终端B在
tB 时间检测到冲突发生,发送完阻塞信号后,停止数据发送过程。假定终端B选择的整
数为1,求出延迟时间T =t基,终端B将在tB+t基时间开始侦听总线。终端A 在tB+t 
检测到冲突发生,发送完阻塞信号后,停止数据发送过程。假定终端A 选择的整数为0, 
则终端A 在时间tB+t+帧间最小间隔开始发送数据,信号在时间tB+t+帧间最小间隔
+t 到达终端B。如果终端B持续tB+t基~tB+t基+帧间最小间隔一直检测到总线空
闲,则将在时间tB+t基+帧间最小间隔开始发送数据。为了避免终端A 和终端B再次发
生冲突,必须使tB+t+帧间最小间隔+t≤tB+t基+帧间最小间隔,得出2t≤t基,其中t 
是时间表示的冲突域直径。
5)最短帧长对高速以太网冲突域直径的限制
如果没有中继设备,冲突域两端直接用电缆连接。25.6μs的冲突域直径对应的物理
距离=25.6×10-6×2×108(2c0/3=2×108m/s)=5120m,但无论粗同轴电缆,还是细同
轴电缆,单段电缆的长度都不可能达到5120m,如表3.1所示。因此,必须使用中继器。
使用中继器后的冲突域直径的物理距离与冲突域两端之间通路中的中继器数量及中继器
实现信号再生所需要的时间有关。表3.1给出了不同传输媒体下25.6μs传播时间能够达
到的物理距离,即转换成物理距离的冲突域直径。需要强调的是,表3.1是推荐的标准冲
突域直径的物理距离,它不仅需要考虑中继器信号再生过程所需要的时间,还必须有一定
的冗余,因此小于极端条件下计算出的物理距离。
在明白了最短帧长和冲突域直径之间的关系后,就会发现以太网发展过程中遇到的
诸多困难。电信号传播时间与终端发送数据的速率无关,基本上只和传播距离和中间经
过的中继器数量有关。当终端的传输速率从10Mbps上升到100Mbps时,如果保持冲突
域直径不变(仍然为25.6μs),由于发送端发送MAC 帧的时间必须大于25.6μs×2= 
51.2μs,因此计算出最短帧长=(51.2×10-6×100×106)=5120位,即640字节。如果为
了兼容,要求最短帧长不变,仍为64字节,则冲突域直径必须缩小到以100Mbps传输速

1 04 网络技术基础与计算思维(第2 版) 
率发送512位二进制数所需时间的一半,即(512/(100×106×2))s=2.56μs,将其转换成
物理距离的话,大约在200m 左右(考虑中间存在中继器的情况)。100Mbps传输速率的
以太网选择了最短帧长和10Mbps传输速率的以太网兼容,但将转换成物理距离的冲突
域直径降低到216m,图3.12所示是推荐的标准100Mbps传输速率的以太网的连接方
式。216m 是在冲突域两端之间通路存在两个中继器的情况下,电信号在2.56μs时间内
所能传播的最大物理距离。
图3.12 100Mbps传输速率的以太网的连接模式
当以太网从100Mbps传输速率发展到1000Mbps传输速率时,如果维持最短帧长不
变,仍为64B,则冲突域直径将缩小到以1000Mbps传输速率发送512位二进制数所需时
间的一半,即(512/(1000×106×2))s=0.256μs。最短帧长和冲突域直径之间的矛盾更
加突出。在这种情况下,转换成物理距离的冲突域直径将下降为50m 左右,网络将失去
实际意义。因此,1000Mbps传输速率的以太网将最短帧长选择为640字节,这样冲突域
直径可以提高到以1000Mbps传输速率发送5120位二进制数所需时间的一半,即(5120/ 
(1000×106×2))s=2.56μs,仍然能够将转换成物理距离的冲突域直径维持在200m 左右
(考虑中间存在中继器的情况)。
1000Mbps传输速率的以太网扩大最短帧长的方法有两种。一种方法是将多个帧
长小于640 字节的MAC 帧集中起来作为一个MAC 帧发送,保证发送时间大于
2.56μs。另一种方法是如果发送的MAC帧的长度小于640字节,终端在发送完MAC 
帧后,继续发送填充数据,保证每次发送时间大于2.56μs。通过这两种方法既保证了
将最短帧长扩大到640字节,又和10Mbps传输速率的以太网和100Mbps传输速率的
以太网兼容。
由此可以得出,冲突域直径与最短帧长之间的相互制约关系已经严重影响采用
CSMA/CD算法的总线型以太网数据传输速率的提高。
3.2.8 集线器和星形以太网结构
自从出现双绞线作为传输媒体的以太网标准,人们开始广泛采用集线器(hub)互连
终端。集线器是一个多端口中继器,端口支持的传输媒体类型通常为双绞线。因此,用集
线器连接终端方式构建的以太网仍然是一个共享式以太网,即整个以太网是一个冲突域, 
图3.13所示是用集线器互连终端的网络结构和集线器工作原理图。
从图3.13可以看出,虽然连接终端的双绞线电缆分别有一对双绞线用于发送,一对
双绞线用于接收,但一旦某个终端发送数据,发送的数据将传播到所有终端的接收线上。
因此,任何时候仍然只允许一个终端向集线器发送数据。集线器只是改变了以太网的拓

第3 章 以太网1 05 
图3.13 集线器互连终端的网络结构和集线器的工作原理图
扑结构,将以太网从总线型变为星形,但终端通过争用总线传输数据的实质没有改变。可
以将集线器想象成缩成一个点的总线,把这种物理上的星形网络当作逻辑上的总线型网
络,即从物理连接方式看是星形,但从信号传播方式看,仍然和总线型以太网相同。因此, 
连接在集线器上的终端必须通过CSMA/CD算法完成数据传输过程。
集线器互连终端的方式如图3.14所示,将两端连接水晶头的双绞线缆的一端插入集
线器RJ-45标准端口。另一端插入PC网卡RJ-45标准端口,RJ-45是双绞线接口标准。
多台集线器可以通过双绞线缆串接在一起,根据以太网标准,10Mbps传输速率的集线器
最多可以串接4个,冲突域直径为500m。100Mbps传输速率的集线器最多可以串接两
个,冲突域直径为216m,图3.12就是串接两个集线器的网络结构。
图3.14 集线器互连终端的示意图
3.2.9 例题解析
【例3.1】 在一个采用CSMA/CD的网络中,传输介质是一根完整的电缆,传输速率
为1Gbps,电缆中的信号传播速率为(2/3)c0(c0=3×108m/s)。若最短帧长减少800b, 
则相距最远的两个站点之间的距离至少需要: 
A.增加160m B.增加80m C.减少160m D.减少80m 
【解析】 根据公式:最短帧长=2×T ×S,其中T 是用时间表示的冲突域直径,S 是
数据传输速率,根据题意,S=1Gbps=109bps。首先求出作为冲突域直径的时间差ΔT = 
最短帧长差/(2×S)=800/(2×109)=4×10-7s,冲突域直径的距离差=冲突域直径的时间
差ΔT×电信号传播速率=4×10-7s×2×108m/s=80m。正确答案是减少80m,选D。

1 06 网络技术基础与计算思维(第2 版) 
3.3 网桥与冲突域分割
总线型以太网是一个冲突域,CSMA/CD 算法导致总线型以太网只适用于轻负荷应
用环境,存在捕获效应和最短帧长与冲突域直径之间的制约关系。这些缺陷严重影响了
采用CSMA/CD算法的总线型以太网的应用,必须找出解决总线型以太网这些缺陷的方
法。在这种情况下,网桥及网桥互连多个冲突域的以太网结构应运而生。
3.3.1 网桥分割冲突域原理
缩小冲突域一是可以使连接在每一个冲突域中的终端数量变少,冲突域内的负荷变
轻;二是可以通过降低冲突域直径来减轻冲突域直径与最短帧长之间的制约关系所造成
的影响。因此,需要能够将一个大型以太网分割成若干冲突域,并用一种设备将多个冲突
域互连在一起,这种互连多个冲突域的设备就是网桥。在以太网中,冲突域也称为网段, 
因此网桥也是互连网段的设备。
图3.15所示是一种用双端口网桥将两个冲突域互连成一个以太网的结构,终端A、
终端B和网桥端口1构成一个冲突域,终端C、终端D和网桥端口2构成另一个冲突域。
和中继器不同,网桥不会将从一个端口接收到的电信号经放大、整形后从另一个端口发送
出去。网桥实现电信号隔断和位于不同冲突域的终端之间通信功能的原理如图3.16 
所示。
图3.15 用双端口网桥互连两个冲突域的以太网结构
一个网络成为单个冲突域是因为连接在网络中的任何一个终端所发送的信号都被传
播到整个网络中,一个实现两段电缆互连的中继器虽然从物理上将电缆分割成了两段,但
连接在其中一段电缆上的终端所发送的电信号通过中继器传播到另一段,只是中继器在
将电信号从一个端口连接的电缆传播到另一个端口连接的电缆时,还将已经衰减的电信
号放大、整形、同步,还原成标准的基带信号。虽然互连两段电缆的网桥和互连两段电缆
的中继器的物理连接方式一样,但网桥互连的两段电缆分别构成两个网段,网桥完全隔断
了电信号的传播通路,电信号只能在构成网段的单段电缆上传播,一段电缆上的电信号无
法通过网桥传播到另一段电缆上。因此,从电信号传播的角度看,通过网桥连接的两段电

第3 章 以太网1 07 
图3.16 网桥实现电信号隔断并在不同冲突域之间转发MAC帧的原理
缆完全是相互独立的两个冲突域,双端口网桥将网络分割为两个相互独立的总线型以太
网,如图3.16所示。
如图3.16所示,在同一个冲突域中,网桥端口和其他终端的功能是一样的。一方面, 
它接收其他终端经过总线发送的MAC帧。另一方面,它也通过连接的总线发送MAC 
帧。发送MAC帧时,同样需要执行CSMA/CD算法,在侦听到总线空闲并持续空闲IFG 
所规定的时间段后,才能开始MAC帧发送过程。
为了实现位于不同冲突域的两个终端之间的通信功能,网桥可以从一个端口接收
MAC帧,再从另一个端口将MAC帧转发出去。值得指出的是,网桥同样需要通过执行
CSMA/CD算法完成从另一个端口转发MAC帧的过程。
网桥作为一个采用数据报交换方式的分组交换机实现两个冲突域之间的MAC帧转
发过程,因此是存储转发设备,必须有缓冲器来存储因另一个端口所连总线忙而无法及时
转发的MAC帧。网桥连接的两个冲突域可以同时进行数据传输而不会发生冲突,如
图3.15中的终端A 和终端B之间、终端C和终端D之间就允许同时进行数据传输过程。
同一冲突域中,由于N 个终端共享总线带宽M ,在不考虑因为冲突导致的带宽浪费
的情况下,每一个终端平均分配M/N 带宽。由于网桥每一个端口连接的冲突域都是独
立的,因此,对于N 个端口的网桥,当每一个端口连接的冲突域的带宽为M 时,总的带宽
是N ×M 。
3.3.2 转发表和MAC帧转发过程
如果是位于同一冲突域的两个终端之间进行MAC帧传输过程,如图3.15中的终端
A向终端B发送MAC帧,网桥连接该冲突域的端口虽然也接收到该MAC帧,但丢弃该
MAC帧。如果是位于某个冲突域的终端向位于另一个冲突域的终端发送MAC帧,如
图3.15中的终端A 向终端C发送MAC帧,网桥从端口1接收该MAC帧,在端口2所
连总线空闲的情况下,通过端口2将该MAC帧转发出去。问题在于网桥如何判别MAC 
帧的源和目的终端是否位于网桥不同端口连接的冲突域中。
网桥通过转发表确定MAC帧的源和目的终端是否位于网桥不同端口连接的冲突域
中。表3.2是图3.16中网桥所建立的转发表,转发表中的每一项称为转发项。转发项由