第3章 数据链路层
数据链路层的地位
数据链路层是实现设备之间通信的非常重要的一层
数据链路层使用的信道
-
点对点信道
这种信道使用一对一的点对点通信方式
-
广播信道
- 使用一对多的广播通信方式
- 因此必须使用专用的共享信道协议来协调这些主机的数据发送
3.1 数据链路层的几个共同问题
3.1.1数据链路和帧
简介
-
链路(Link)是一条无源的点到点的物理线路段,中间没有任何其他的交换节点。
- 一条链路只是一条通路的一个组成部分。
-
数据链路(Data Link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
- 如:适配器(即网卡)
- 适配器包括了数据链路层和物理层这两层的功能。
数据链路层传送的是帧
数据链路层像个数字管道
-
常常在两个对等的数据链路层画出一个数字管道,而在这条数字管道上传输的数据单位是帧。
-
数据链路层不必考虑物理层如何实现比特传输的细节。甚至还可以更简单的设想好像是沿着两个数据链路层之间的水平方向把帧直接发送到对方。
3.1.2 三个基本问题
-
封装成帧
-
封装成帧(framing)就是在一段数据的前后分别添加首部和尾部(若干个字节),构成一个帧。
-
首部和尾部的一个重要作用就是进行帧定界。
- 用控制字符进行帧定界的方法举例
-
-
透明传输
如果数据中某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误的“找到帧的边界”。
解决透明传输问题
- 解决方法:字节填充(byte stuffing)或字符填充(character stuffing)。
- 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。
- 接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
- 如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
用字节填充法解决透明传输的问题
-
差错检测
简介
- 在传输过程中可能会产生比特差错:1可能会变成0,而0也可能变成1.
- 在一段时间内,传输错误的比特占所有传输比特总数的比率称为误码率BER(Bit Error Rate)。
- 误码率与信噪比有很大的关系。
- 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
循环冗余检验的理论依据
-
循环冗余检验CRC(Cyclic Redundancy Check)是二进制模2除法运算
-
设:
-
被除数:M(k+1位)
-
除数:P(n+1位)
-
商:Q
-
余数:R(n位)
-
则:
-
M-R=P*Q
-
模2除法:M+R=P*Q
-
M2^n^+R^'^=P\Q^'^
循环冗余检验的原理
- 在发送端,先把数据划分为组。假定每组k个比特,用M表示。
- 用二进制的模2运算进行2^n^乘M的运算,这相当于在M后面添加n个0。
- 得到(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q,而余数是R,余数R比除数P少1位,即R是n位。
- 将余数R作为冗余码拼接在数据M后面发送出去。
冗余码的计算举例
- 例:k=6,M=101001。
- 设n=3,除数P=1101。
- 被除数是2^n^M=101001000。
- 模2运算的结果是:商Q=110101,余数R=001。
- 把余数R作为冗余码添加在数据M的后面发送出去。即发送的数据是2^n^M+R,即101001001,共(k+n)位。
帧检验序列FCS
在数据后面添加上的冗余码称为帧检验序列FCS(Frame Check Sequence)。
-
循环冗余检验CRC和帧检验序列FCS并不等同。
-
CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
-
FCS可以使用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。
-
接收端对收到的每一帧进行CRC检验
- 若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。
- 若余数R≠0,则判定这个帧有差错,就丢弃。
这种检查方法并不能确定究竟是那一个或那几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。
生成多项式P(X)
当用多项式的形式来表示循环冗余检验过程中的除数时,称该多项式为生成多项式。
CRC的检错能力
-
所有的单比特错:只要X^n^和X^0^项具有非零系数。
-
所有的双比特错:只要P(X)具有至少三个项的因数。
-
任何奇数位的错误:只要P(X)包含因子(x+1)。
-
长度小于n比特的任何“突发”错误(即,连续错误比特序列),即大于n比特的大多数突发错误。
注意
- 仅使用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。
- “无差错接受”是指:“凡是接受的帧(及不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输的过程中没有产生差错”。
- 也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃不接受)。
- 要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。
3.2 点对点协议PPP
3.2.1 PPP协议的特点
PPP协议应满足的需求
- 简单——这是首要的要求。
- 封装成帧——必须规定特殊的字符作为帧定界符。
- 透明性——必须保证数据传输的透明性。
- 多种网络层协议——能够在同一条物理链路上同时支持多种网络层协议。
- 多种类型链路——能够在多种类型的链路上运行。
- 差错检测——能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
- 检测连接状态——能够及时自动检测出链路是否处于正常工资状态。
- 最大传送单元——必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值,促进各种实现之间的互操作性。
- 网络层地址协商——必须通过提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
- 数据压缩协商——必须提供一种方法来协商使用数据压缩算法。
PPP协议不需要的功能
- 纠错
- 流量控制
- 序号
- 多点线路
- 半双工或单工链路
PPP协议的组成
- 一个将IP数据报封装到串行链路的方法。
- 链路控制协议LCP(Link Control Protocol)。
- 网络控制协议NCP(Network Control Protocol)。
3.2.2 PPP协议的帧格式
PPP协议的帧格式
- PPP帧的首部和尾部分别为4个字段和2个字段。
- 标志字段F=0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是0111 1110)。
- 地址字段A只置为0xFF。地址字段实际上并不起作用
- 控制字段C通常置为0x03.
- PPP是面向字节的,所有的PPP帧的长度都是整数字节。
透明传输问题
- 当PPP用在异步传输时,就是用一种特殊的字符填充法。
- 当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC的做法一样)。
字符填充
- 将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。
- 若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)。
- 若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。
零比特填充
-
PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。
-
在发送端,只要发现有5个连续1,则立即填入一个0。
-
接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后面的一个0删除。
PPP协议的差错控制
PPP协议不提供使用序号和确认的可靠传输:
- 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理
- 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
- 帧检测序列FCS字段可保证无差错接受。
3.2.3 PPP协议的工作状态
- 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
- PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)
- 这些分组及其相应选择一些PPP参数,并进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC即成为网络上的一个主机。
- 通信完毕时,NCP释放网络层链接,收回原来分配出去的IP地址。接着,LCP释放数据链路连接。最后释放的是物理层的链接。
- 可见,PPP协议亦不是纯粹的数据链路层协议,它还包含了物理层和网络层的内容。
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
简介
- 局域网设计的目标:单位内共享硬件和软件资源
- 局域网最主要的特点是:
- 网络为一个单位所有;
- 地理范围和站点数目均有限。
- 局域网具有如下主要优点:
- 具有广播功能,从一个站点可恨方便的访问全网。局域网上的主机和共享连接在局域网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
- 提高了系统的可靠性、可用性和残存性。
局域网拓扑结构
局域网使用的传输媒体
- 铜缆
- 双绞线(最高1Gb/s)
- 50Ω同轴电缆(10Mb/s)
-
光缆(最高10Gb/s)
-
无限媒体
共享信道带来的问题
- 使用一对多的广播通信方式。
- 问题:若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。
媒体共享技术
- 静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
- 动态媒体接入控制(多点接入)
- 随机接入
- 受控接入,如多点线路探寻(polling),或轮询。
局域网LLC子层是透明的
1.以太网的两个标准
- DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约。
- IEEE 802.3是第一个IEEE的以太网标准。
- DIX Ethernet V2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”。
- 严格说来,“以太网”应当是指符合DIX Ethernet V2标准的局域网。
2.适配器的作用
- 网络接口板又称为通信适配器(adapter)或网络接口卡NIC(Network Interface Card),或“网卡”。
- 适配器的组成
- 处理器:有自己的指令系统,能执行程序。
- 存储器
- 适配器的重要功能:
- 进行串行/并行转换
- 对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议
3.传统以太网传输使用曼彻斯特编码
==曼彻斯特编码缺点是:他所占的频带宽度比原始的基带信号增加了一倍。==
4.以太网的两个重要举措
- 较为灵活的无连接的工作方式,即不必先建立就可以直接发送数据。
- 对发送的数据帧不进行编码,也不要求对方发回确认
- 这样做的理由是基于局域网信道的质量很好,因信道质量产生差错的概率是很小的
5.以太网提供的服务
- 以太网提供的服务是不可靠的交付,即尽最大努力的交付。
- 当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由上层来完成。
- 一旦上层发现丢失了数据将进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。
3.3.2 CSMA/CD协议
简介
- 最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单有可靠,因为总线上没有有源器件。
- CSMA/CD含义:载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)。
- “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
- “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机正在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
- 总线上并没有什么“载波”。因此,“载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。
碰撞检测
- “碰s撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
- 当几个站同时在总线上发送时,总线上的信号电压摆动值将会增大(互相叠加)。
- 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
- 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。
CSMA/CD协议工作流程
为什么进行碰撞检测
- 由于电磁波在总线上的传播速率是有限的,当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。
- A向B发出的信息,要经过一定的时间后才能传送到B。
- B若在A发送的信息到达B之前发送自己的帧(因为这时B的载波监听检测不到A所发送的信息),则必然要在某个时间和A发送的帧发生碰撞。
- 碰撞的结果是两个帧都变得无用
- 所以需要再发送期间进行碰撞检测,以检测冲突。
信号传播时延对载波监听的影响
检测到碰撞后
- 停止发送
- 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
- 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
- 强化碰撞
- 停止发送数据后,再继续发送若干比特的人为干扰信号(jamming signal),以便让所有用户都知道现在以及发生了碰撞。
人为干扰信号
CSMA/CD重要特性
- 使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
- 每个站在发生数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发生的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
争用期
- 最先发送数据帧的站,在发送数据帧后至多经过时间2$τ$(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
- 以太网的端到端往返时延2$τ$称为争用期,或碰撞窗口。
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
二进制指数类型退避算法(truncated binary exponential type)
- 发生碰撞地站在停止发送数据后,要推迟(退避)一个随机时间才能在发送数据。
- 基本退避时间取为争用期2$τ$。
- 从整数集合[0,1,...,(2^k^-1)]中随机的取出一个数,记为r。重传所需的时延就是r倍的基本退避时间。
- 参数k按下面的公式计算:$k=Min[重传次数,10]$
- 当$k≤10$时,参数$k$等于重传次数。
- 当冲传达16次仍不能超过时即丢弃该帧,并向高层报告。
争用期的长度
-
10Mbit/s以太网取51.2$μs$为争用期的长度。
-
对于10Mbit/s以太网,在争用期内可发送512bit,即64字节。
==这意味着:以太网在发生数据时,若前64字节没有发生冲突,则后续的数据就不会发生冲突。==
最短有效帧长度
- 如果发送冲突,就一定是在发送的前64字节之内。
- 由于一检测到冲突就立即终止发送,这时已经发出去的数据一定小于64字节。
- 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧。
总结
==先听后发、边听边发、冲突停止、等待重发==
3.3.3 使用集线器的星型拓扑
简介
传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。
使用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)。
具有三个端口的集线器
集线器的一些特点
- 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
- 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
- 集线器很像一个多接口的转发器,工作在物理层。
- 集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音。
10BASE-T以太网在局域网中的统治地位
- 这种10Mbit/s速率的无限屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。具有很高的性价比。
- 10BASE-T双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。
- 从此以太网的拓扑就从总线形变为更加方便地星形网络,而以太网也就在局域网中占据了统治地位。
3.3.4 以太网的信道利用率
简述
-
多个站在以太网上同时工作就可能会发生碰撞。当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,以太网总的信道利用率并不能达到100%。
-
假设套$τ$是以太网单程端到端传播时延。则争用期长度为2$τ$ ,即端到端传播时延得两倍。检测到碰撞后不发送干扰信号。
-
设帧长为$L$(bit),数据发送速率为$C$(bit/s),则帧的发送时间为T~0~=$L/C$(s)。
以太网信道被占用的情况
- 一个站在发送帧时出现了碰撞。经过一个争用期2$τ$后,可能又出现了碰撞。这样经过若干个争用期后,一个站才能发送发送成功。假定发送帧需要的时间是$T$~0~。
- 注意到,成功发送一个帧需要占用信道的时间是$T$~0~$+τ$,比这个真的发送时间要多一个单程端到端时延$τ$。
- 这是因为当一个站发送完最后一个比特时,这个比特还要再以太网上传播。
- 在最极端的情况下,发送站在传输媒体得一端,而比特在媒体上传输到另一端所需的时间是$τ$。
参数α与利用率
-
要提高以太网的信道利用率,就必须减小$τ$与T~0~之比。
-
在以太网中定义了参数α,他是以太网单程端到端时延$τ$与帧的发送时间T~0~之比:
$$
α=τ/T_{0}
$$- ==α—>0,表示一旦发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。==
- ==α越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。==
对以太网参数α的要求
- 为提高利用率,以太网的参数α的值应当尽可能小些。
- 对以太网参数α的要求是:
- 当数据率一定时,以太网的连线的长度受到限制,否则$τ$的数值会太大。
- 以太网的帧长不能太短,否则T~0~的值会太小,使α值太大。
信道利用率的最大值S~max~
-
在理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。
-
发送一帧占用线路的时间是T~0~ + $τ$,而帧本身的发送时间是T~0~。于是我们可计算出理想情况下的极限信道利用率S~max~为:
$$
S{max} = \frac{T{0}}{T_{0}+τ} =\frac{1}{1+α}
$$ -
==只有当参数α远小于1才能得到尽可能高的极限信道利用率。==
-
==据统计,当以太网的利用率达到30%时就已经处于重载的情况。很多的网络容量被网上的碰撞消耗掉了。==
α > 1时的信道利用情况(α = 4)
α = 0.01时的信道利用情况
3.3.5以太网的MAC层
MAC层的硬件地址
- 在局域网中,硬件地址又称为物理地址,或MAC地址。可见MAC地址就是适配器地址或者适配器标识符EUI-48。
- 802标准所说的“地址”严格地将应当是每一个站的“名字”或标识符。
- 但鉴于大家都早已习惯了这种48为的“名字”称为”地址“,所以本文也采用这种习惯用法,尽管这种说法并不太严格。
- ==请注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个”地址“。更准确些说,这种48位”地址“应当是某个接口的标识符。==
二进制表示的EUI-48地址
- IEEE规定地址字段的第一字节的最低有效位为I/G(Individual/Group)位。I/G位为0时,地址字段表示一个单个站地址。当I/G位为1时表示组地址用来进行多播。
- IEEE把地址字段第一字节的最低第二位规定为G/L位,表示Global/Local。当G/L为0时是全球管理(保证在全球没有相同的地址),为1时时本地管理
48位的MAC地址
-
IEEE 802标准规定MAC地址字段可采用6字节(48位)或2字节(16位)这两种中的一种。
-
IEEE 的注册管理机构RA负责向厂家分配地址字段6个字节中的前三个字节(即高位24位),称为组织唯一标识符。
-
地址字段6个字节中的后三个字节(即低位24位)由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
-
一个地址快可以生成2^24^个不同的地址。这种48位地址称为MAC-48,他的通用名称是EUI-48。
-
生产适配器时,6字节的MAC地址已经被固化在适配器的ROM,因此,MAC地址也叫做硬件地址(hardware address)或物理地址。
-
”MAC地址“实际上就是适配器地址或适配器标识符EUI-48。
单站地址,组地址,广播地址
- IEEE 规定地址字段的第一字节的最低为为I/G位。I/G表示 Individual/Group。
- 当I/G位=0时,地址字段表示一个单站地址。
- 当I/G位=1时,表示组地址,用来进行多播(以前曾译为组播)。此时,IEEE只分配地址字段前三个字节中的23位。
- 当I/G位分别为0和1时,一个地址快可以分别生成2^23^个单个站地址和2^23^个组地址。
- ==所有48位都为1时,为广播地址。只能作为目的地址使用。==
全球管理与本地管理
- IEEE 把地址字段第一字节的最低第2位规定为G/L位,表示Global/Local。
- 当G/L位=0时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUL都属于全球管理。
- 当G/L位=1时,是本地管理,这是用户可任意分配网络上的地址。
网卡上的硬件地址
路由器由于同时连接到两个网络上,因此它有两块网卡和两个硬件地址。
适配器检查MAC地址
-
适配器从网络上每收到的一个MAC帧就首先用硬件检查MAC帧中的MAC地址。
- 如果是发往本站的帧则收下,然后再进行其他的处理。
- 否则就将此帧丢弃,不再进行其他的处理。
-
”发往本站的帧“ 包括以下三种帧:
单播(unicast)帧(一对一)
广播(broadcast)帧(一对全体)
多播(multicast)帧(一对多)
所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。
有的适配器可用编程方法识别多播地址。
只有目的地址才能使用广播地址和多播地址。
以混杂方式(promiscuous mode)工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。
MAC帧的格式
- 常用的以太网MAC帧格式有两种标准:
- DIX Ethernet V2 标准
- IEEEE 的802.3标准
-
最常用的MAC帧是以太网V2的格式。
- 目的地址字段:6字节
- 源地址字段:6字节
- 类型字段:2字节,用来标志上一层使用的是什么协议,一边把收到的MAC帧的数据上交给上一层的这个协议。
- 数据字段:数据字段的正式名称是MAC客户数据字段。最小长度是64B-18B的首部和尾部=数据字段最小的长度(46字节),当数据字段的长度小于64字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64B。最大1500B。
- FCS字段:4字节,当传输媒体的误码率为110^-8^时,MAC子层可使未检测到的差错小于1\10^-14^。
- 首部:8字节,在帧的前面插入(硬件生产)的8字节中,第一个字段共7B,时前同步码,用来迅速实现MAC帧的比特同步。第二个字段1B是帧开始定界符,表示后面的信息就是MAC帧。
-
无效的MAC帧
- 数据字段的长度与长度字段的值不一致;
- 帧的长度不是整数个字节;
- 用收到的帧检测序列FCS查出有差错;
- 数据字段的长度不在46~1500字节之间。
- 有效的MAC帧长度为64~1518字节之间。
==对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧。==
-
IEEE 802.3MAC帧格式
与以太网V2 MAC帧格式相似,区别在于:
- IEEE 802.3规定的MAC帧的第三个字段是“长度/类型”。
- 当这个字段值大于0x0600时(相当于十进制的1536),就表示“类型”。这样的帧和以太网 V2MAC 帧完全一样。
- 当这个字段值小于0x0600时 才表示“长度”。
- 当“长度/类型”字段值小于0x0600时,数据字段必须装入上面的逻辑链路控制LLC子层的LLC帧。
==现在市场上流行的都是以太网 V2的MAC帧,但大家也常常把它称为IEEE 802.3标准的MAC帧。==
- IEEE 802.3规定的MAC帧的第三个字段是“长度/类型”。
帧间最小间隔
- 帧间最小间隔为9.6μs,相当于96bit的发送时间。
- 一个站在检测到总线开始空闲后,还要等待9.6μs才能再次发送数据。
- 这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接受下一帧的准备。
3.4 扩展的以太网
3.4.1 在物理层扩展以太网
使用光线扩展
- 主机使用光纤(通常是一对光纤)和一对光线调制解调器连接到集线器。
- 很容易使主机和几公里以外的集线器相连接。
使用集线器扩展
使用多个集线器可连成更大的、多级星型结构的以太网。例如,一个学院的三个系各有一个10BASE-T以太网,可通过一个主干集线器把各系的以太网连接起来,成为一个更大的以太网。
- 优点
- 使原来属于不同碰撞域的以太网上的计算机能够进行跨域碰撞的通信。
- 扩大了以太网覆盖的地理范围。
- 缺点
- 碰撞域增大了,但总的吞吐量并未提高。
- 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
3.4.2 在数据链路层扩展以太网
扩展以太网更常用的方法是在数据链路层进行。早期使用网桥,现在使用以太网交换机。
- 网桥
- 网桥工作在数据链路层。
- 他根据MAC帧的目的地址对收到的帧进行转发和过滤。
- 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后在确定将改帧转发到哪一个接口,或把它丢弃。
- 交换式集线器
- 1990年问世的交换式集线器(switching hub)可明显地提高以太网的性能。
- 交换式集线器常称为以太网交换机(switch)或第二层交换机(L2 switch),强调这种交换机工作在数据链路层。
以太网交换机的特点
- 以太网交换机实质上就是一个多端口的网桥。
- 通常都有十几个或更多的接口。
- 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
- 以太网交换机具有并行性。
- 能同时联通多对接口,使主机能够同时通信。
- 互相通信的主机都是独占传输媒体,无碰撞地传输数据。
- 以太网交换机的端口有存储器,能在输出端口繁忙时缓存进入的帧。
- 以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。
- 以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多。
以太网交换机的优点
- 用户独享带宽,增加了总容量。
- 对于普通10Mbit/s的共享式以太网,若共有N个用户,则每个用户占有的平均带宽只有总带宽的(10Mbit/s)N分之一。
- 使用以太网交换机时,虽然在每个接口到主机的带宽还是10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此对于拥有N个接口的交换机的总容量为N*10Mbit/s。
- 从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做出任何改动。
- 以太网交换机一般都具有多种速率的接口,方便了各种不同情况的用户。
以太网交换机的交换方式
- 存储转发方式
- 把整个数据帧先缓存后再进行处理。
- 直通(cut-through)方式
- 接收数据帧的同时就立即按数据帧的目的MAC地址决定改帧的转发接口,因而提高了帧的转发速度。
- 缺点是它不进行检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
==在某些情况下仍需要采用基于软件的存储转发方式进行交换。例如,当需要进行线路速率匹配、协议转换或差错检测时。==
以太网交换机的自学习功能
- 以太网交换机运行自学习算法自动维护交换表。
- 开始时,以太网交换机里面的交换表是空的。
-
自学习算法
- 设A先向B发送一帧,从接口1进入到交换机。
- 交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧。
- 交换机把这个帧的源地址A和接口1 写入交换表中,并向除接口1以外的所有接口广播这个帧。
- C和D将丢弃这个帧,因为目的地址不对。只有B才收下这个目的地址正确的帧。这也称为过滤。
- 从新写入交换表的项目(A,1)可以看出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发出去。
- 设B通过接口3向A发送一帧。
- 交换机查找交换表,发现交换表中的MAC地址有A。表明要发送给A的帧(即目的地址为A的帧)应从接口1转发。于是就把这个帧传送到接口1转发给A。显然,现在已经没有必要再广播接收到的帧。
- 交换表这时新增加的项目(B,3)表明今后如有发送给B的帧,就应当从接口3转发出去。
- 经过一段时间以后,只要主机C和D也向其他主机发送帧,以太网交换机中的交换表就会把转发到C或D应当经过的接口号(2或4)写入交换表中。
-
图示:
考虑到可能有事要在交换机的接口更换主机,或者主机要更换其网络适配器,这需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间。过期的项目就被自动删除。
==以太网交换机的这种子学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便。==
-
步骤归纳
- 交换机收到一帧后先进行自学习。查找交换表中与收到帧的源地址有无相匹配的项目。
- 如果没有,就在交换表中增加一个项目(源地址、进入的接口和有效时间)。
- 如有,则把原有的项目进行更新(进入的接口或有效时间)。
- 转发帧。查找交换表中与收到帧的目的地址有无相匹配的项目。
- 如果没有,则向其他所有接口(进入的接口除外)转发。
- 如有,则按交换表中给出的接口进行转发。
- 若交换表中给出的接口就是该帧进入交换机的接口,则应丢弃这个帧(因为这时不需要经过交换机就进行转发)。
交换机的兜圈子问题
增加冗余链路时,自学习的过程就可能导致以太网帧的网络的某个环路中无限制地兜圈子。
- 如图,假定开始时,交换机 #1 和 #2 的交换表都是空的,主机A通过交换机 #1 向主机B发送一帧。
- 按照交换机自学习和转发方法,该帧的某个走向如下:离开交换机 #1的接口3 —>交换机 #2的接口1—>接口2—>交换机 #1 的接口4—>接口3—>交换机#2的接口1—>……这样就无限制地循环兜圈子下去,拜拜消耗了网络资源。
交换机使用了生成树协议
- IEEE 802.1D标准制定了一个生成树协议STP(Spanning Tree Protocol)。
- 其要点是:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子的现象。
从总线以太网到星形以太网
- 早期,以太网采用无源的总线结构。
- 现在,采用以太网交换机的星型结构成为以太网的首选拓扑。
- 总线以太网使用CSMA/CD协议,以半双工方式工作。
- 以太网交换机不使用共享总线,没有碰撞问题,因此不适用CSMA/CD协议,而是以全双工方式工作。但仍采用以太网的帧机构。
3.4.3 虚拟局域网
利用以太网交换机可以很方便地实现虚拟局域网VLAN(Virtual LAN)
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN。
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
由于虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合,使用户从不同的服务器或数据库中存取所需的资源。
虚拟局域网优点
- 改善了性能
- 简化了管理
- 降低了成本
- 改善了安全性
划分虚拟局域网的方法
- 基于交换机带端口
- 基于计算机网卡的MAC地址
- 基于协议类型
- 基于IP子网地址
- 基于高层应用或服务
虚拟局域网使用的以太网帧格式
- IEEE 批准了802.3ac标准,该标准定义了以太网的帧格式的扩展,以支持虚拟局域网。
- 虚拟局域网协议允许在以太网的帧格式中插入一个4B的标识符,称为VLAN标记(tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。
- 插入VLAN标记得出的帧成为802.1Q帧或带标记的以太网帧。
3.5 高速以太网
3.5.1 100BASE-T以太网
简介
-
速率达到或超过100Mbit/s的以太网称为高速以太网。
-
100BASE-T在双绞线上传送100Mbit/s基带信号的星形拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议。
-
100BASE以太网又称为快速以太网(Fast Ethernet)。
-
1995年IEEE已经把100BASE的夸苏以太网定为正式标准,其代号为IEEE 802.3u。
100BASE以太网的特点
- 可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用CSMA/CD协议。
- MAC帧格式仍然是802.3标准规定的。
- 保持最短帧长不变,一个网段的最大电缆长度为100m。
- 帧间时间间隔从原来的9.6μs改为现在的0.96μs。
- CSMA/CD协议的争用期是5.12μs。
- 支持三种不同的个物理标准。
100BASE-TX
- 使用2对UTP 5类线或屏蔽双绞线STP,网段最大长度100米。
- (了解)信号的编码采用“多电平传输3”(MLT3)的编码方法。其编码规则:
- 当输入一个0时,下一个输出值不变。
- 当输入一个1时,下一个输出值变化:若前一个输出值为正值或负值,则下一个输出值为零;若前一个输出值为零,则下一个输出值与上次的一个分零输出值的符号相反。
100BASE-T4
- 使用4对UTP3类线或5类线,网段最大长度100米。
- 其中3对线同时传送数据(每一对线以33Mb/s的速率传送数据);
- 用1对线作为碰撞检测的接受信道。
- (了解)信号的编码采用 8B6T-NRZ(不归零)的编码方法。
- 将数据流中的每8bit一组,接受编码规则转换为6bit的三元制(Ternary)编码。
100BASE-FX
- 使用2根光纤,网段最大长度2000米。
- (了解)信号的编码采用4B/5B-NRZI。
- NRZI即不归零1制(当“1”出现时信号电平在正值与负值之间变化);
- 4B/5B编码就是将数据流中的每4bit作为一组,按编码规则转换成5bit,其中至少有2个“1”,保证信号码元至少发生两次跳变。
3.5.2 吉比特以太网
简介
-
允许1Gbit/s以下全双工和半双工两种方式工作。
-
使用IEEE 802.3协议规定的帧格式。
-
在半双工方式下使用CSMA/CD协议,全双工方式不适用CSMA/CD协议。
-
与10BASE-T和100BASE-T技术向后兼容。
==吉比特以太网可用作现有网络的主干网,也可以在高带宽(高速率)的应用场合中。==
吉比特以太网的物理层
使用两种成熟的技术:一种来自现有的以太网,另一种则是美国国家标准协会ANSI制定的光纤通道FC(Fiber Channel)。
名称 | 媒体 | 网段最大长度 | 特点 |
---|---|---|---|
1000BASE-SX | 光缆 | 550m | 多模光纤(50和62.5μm) |
1000BASE-LX | 光缆 | 5000m | 单模光纤(10μm)多模光纤(50和62.5μm) |
1000BASE-CX | 铜缆 | 25m | 使用2对屏蔽双绞线电缆STP |
1000BASE-T | 铜缆 | 100m | 使用4对UTP5类线 |
以半双工方式工作的吉比特以太网
- 吉比特以太网工作在半双工方式时,就必须进行碰撞检测。
- 为保持64字节最小帧长度,以及100m的网段的最大长度,吉比特以太网增加了两个功能:
- 载波延伸(carrier extension)
- 分组突发(packet bursting)
载波延伸
-
使最短帧长仍为64字节(这样可以保持兼容性),同时将争用时间增大为512字节。
-
凡发送的MAC帧长不足512字节使,就用一些特殊字符填充在帧的后面,使MAC帧的发送长度增大到512字节。接收端在收到以太网的MAC帧后,要将所填充的特殊字符删除后才向高层交付。
分组突发
当很多短帧要发送时,第一个短帧要采用载波延伸方法进行填充,随后的一些短帧则可以一个接一个地发送,只需要留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,知道达到1500字节或稍多一些为止。
吉比特以太网的配置举例
3.5.3 10吉比特以太网(10GbE)和更快的以太网
简介
10吉比特以太网(10GE)并非把吉比特以太网的速率简单地提高到10北,其主要特点有:
- 与10Mbit/s、100Mbit/s和1Gbit/s以太网的帧格式完全相同。
- 保留了802.3标准规定的以太网最小和最大帧长,便于升级。
- 只用作在全双工方式,因此没有争用期为题,也不适用CSMA/CD协议。
10吉比特以太网的物理层
更快的以太网
- 以太网的技术发真的很快,在10GE只有又制定了40GE/100GE的标准IEEE 802.3ba-2021和802.3bm-2015。
- 40GE/100GE只工作在全双工的传输方式(因而不使用CSMA/CD协议),并仍保持了以太网的帧格式以及802.3标准规定的以太网最小和最大帧长。
- 100GE在使用单模光纤传输时,仍然可以达到40KM的传输距离,但是这是需要波分复用(使用4个波长复用一根光纤,每一个波长的有效传输速率是25Gbit/s)。
40GE/100GE的物理层
200GE/400GE的物理层
端到端的以太网传输
- 以太网的工作范围已经从局域网(校园网、企业网)扩大到城域网和广域网,从而实现了端到端的以太网传输。
- 这种工作方式的好处有:
- 技术成熟;
- 互操作性很好;
- 在广域网中使用以太网时价格便宜;
- c爱用同意的以太网帧格式,简化了操作和管理。
以太网从10Mbit/s到400Gbit/s的演进
以太网从10Mbit/s到400Gbit/s的演进证明了以太网是:
- 可扩展的(从10Mbit/s到400Gbit/s);
- 灵活的(多种传输媒体、全/半双工、共享/交换);
- 易于安装;
- 稳健性好。
3.5.4 使用以太网进行宽带接入
- IEE 在2001年初成立的802.3EFM工作组,专门研究高速以太网的宽带接入技术问题。
- 以太网宽带介入具有以下特点:
- 可以提供双向的宽带通信。
- 可以根据用户对带宽的需求灵活地进行带宽升级。
- 可以实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率且降低了传输的成本。
- 但是不支持用户身份鉴别。
PPPoE
- PPPoE(PPP over Ethernet)的意思是“在以太网上运行PPP”,它把PPP协议与以太网协议结合起来——将PPP帧再封装到以太网中来传输。
- 现在的光纤接入FTTx都要使用PPPoE的方树进行接入。在PPPoE弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行带宽上网了。
- 利用ADSL进行带宽上网时,从用户个人电脑到家中的ADSL调制解调器之间,也是使用RJ-45和5类线(即以太网使用的网线)进行连接的,并且也是使用PPPoE弹出的窗口进行拨号连接的。
文章评论