第 三 章 数据链路层
一、使用点对点信道的数据链路层
1 数据链路层的功能
数据链路层的主要功能如下:
(1)为网络层提供服务;
(2)链路管理:数据链路层连接的建立、维持和释放;
(3)帧定界、帧同步和透明传输;
(4)流量控制与差错控制。
2 数据链路和帧
(1)数据链路
链路(物理链路)就是一段从一个结点到相邻结点且中间无任何交换结点的物理线路; 数据链路(逻辑链路)是把需要实现的通信协议的硬件和软件加到链路上的链路。
(2)帧
帧是数据链路层中的协议数据单元,数据链路层将网络层交下来的数据组成帧发送到 网络上,并把接收到的帧中的数据上交给网络层。
3 点对点信道的数据链路层的特点
如图3-1 所示的三层模型,链路上的通信均可看做是结点(A)和结点(B)之间的通 信,且只涉及网络层、数据链路层和物理层。这种点对点通信的主要步骤是:
(1)结点 A 的数据链路层把网络层交下来的 IP 数据报添加首部和尾部封装成帧;
(2)结点 A 把封装好的帧发送给结点 B 的数据链路层;
(3)若结点 B 的数据链路层收到的帧无差错,则从收到的帧中提取出IP 数据报上交 给网络层;否则丢弃。
图 3-1 使用点对点信道的数据链路层
4 封装成帧
如图3-2 所示,将 IP 数据报作为帧的数据部分并加上首部和尾部可以封装成数据链路 层的帧,它的首部和尾部具有帧定界的功能,同时,首部和尾部还包括一些必要的控制信息。
图 3-2 用帧首部和帧尾部进行封装成帧
【注意】每一种链路层协议都规定了传输的帧的数据部分的上限,即最大传送单元 MTU。
5 透明传输
(1)进行透明传输的原因
当数据部分中出现类似于 SOH 或 EOT 这种控制字符一样的 8 比特组合,就会出现帧 定界的错误,为了避免这种定界错误,需要进行透明传输。
(2)解决透明传输问题的具体方法
为解决透明传输问题,可以采用以下几种组帧方法:
①字符计数法:如图 3-3 ,在帧的头部使用一个计数字段标明帧内的字符数;
图 3-3 字符计数法
②字节(字符)填充法
如图3-4 所示,在帧的数据部分发现类似于"SOH"和"EOT"等控制字符时,为避免其定 界错误,可以在其前面加上一个转义字符"ESC" ,若转义字符也出现在数据部分中,也在其前面加一个转义字符。
图 3-4 字节填充法
③零比特填充法
比特填充法允许数据帧包含任意个数的比特,但在发送方的数据链路层的信息位中若 出现 5 个连续的"1" ,需要自动在后面添加一个"0" ,在接收方进行逆操作,以避免误
判帧的首尾标志(01111110)。例如传输数据 101111110101 时需要添"0"使其为: 1011111010101。
6 差错检测
(1)差错检测技术提出的原因
这里的差错指的是比特差错,即比特在传输过程中可能会产生差错:1 可能会变成 0, 而 0 也可能变成 1。
【注意】数据链路层只能保证无差错接收,而它由于不需要保证向网络层提供"可靠传 输"服务,所以还存在帧丢失、帧重复或帧失序等错误。
(2)循环冗余检验
现举例说明循环冗余校验码的原理:
假设一组数据有 k 个比特,如 M =101011(k =6),则循环冗余校验要求在 M 的后面 添加 n 位冗余码构成 k+n 位的帧发送出去,其中 n 位冗余码可按二进制的模 2 运算求 得,相当于在 M 后添加 n 位 0 ,并除以事先商定的长度为n+1 的除数 P(假设这里 P = 1101),记得到的商为 Q ,余数为 R ,此时 R 就作为冗余码(称为帧检验序列FCS) 添加到 M 后面并发送出去。如图 3-5 所示为计算 M 的冗余码过程,由该计算可得 Q =110110 ,FCS =R =110 ,则发送的数据为 2nM+FCS ,即 101011110 ,共 k+n =9 位。
图 3-5 冗余码计算举例
二、点对点协议 PPP
1 PPP 协议概述
(1)定义
PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议,是使用串行线路 通信的面向字节的协议。
(2)PPP 协议的设计要求
①简单(首要需求);
②需要使用特定的帧定界符封装成帧;
③需要保证透明传输;
④必须能够在同一条物理链路上同时支持多种网络层协议的运行;
⑤必须能够在多种类型的链路上运行;
⑥必须能够对接收端收到的帧进行差错检测,并丢弃有差错的帧;
⑦必须具有检测功能机制以检测链路是否处于正常工作状态;
⑧必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值;
⑨必须使通信的两个网络层的实体能够通过协商知道或配置彼此的网络层地址;
⑩必须提供一种方法来协商使用数据压缩算法。
(3)PPP 协议的组成
①一个将 IP 数据报封装到串行链路的方法;
②链路控制协议 LCP:用来建立、配置、测试和管理数据链路;
③网络控制协议 NCP:PPP 允许使用多种网络层协议,NCP 为每一个网络层协议建立 和配置逻辑连接。
2 PPP 协议的帧格式
(1)PPP 帧的字段
如图3-6 所示,PPP 帧的主要字段组成如下:
①标志字段 F :规定用 0x7E(即帧定界符)表示一个帧的开始或结束;
②地址字段 A:规定为 0xFF(即 11111111);
③控制字段 C :规定为 0x03(即 00000011);
④协议字段: 占 2 个字节,说明信息部分运载的是什么类型的分组,例入 0x0021 表示 信息部分是 IP 数据报;
⑤信息部分:信息字段的长度是可变的,其范围是大于等于 0 小于等于 1500 字节;
⑥帧检验序列 FCS: 占 2 个字节,检验区包括地址字段、控制字段、协议字段和信息
字段。
图 3-6 PPP 帧的格式
(2)字节填充和零比特填充
当信息字段出现和标志字段一样的比特组合时需要使用填充方法区分它们,前面已经 介绍了常见的三种填充方法,而 PPP 协议中主要应用字节填充和零比特填充方法,需 要注意的是这里我们把转义字符定义为 0x7D。
3PPP 协议的工作状态
如图3-7 所示为 PPP 链路的建立、使用和撤销工作状态图。当链路在静止状态时检测 到有载波信号,则建立物理连接,进入链路建立状态;然后 LCP 开始商定配置选项, 成功则进行身份鉴别,失败则返回静止状态;身份鉴别成功或无须鉴别时,采用 NCP 配置网络层,成功则打开链路,失败则终止链路。
图 3-7 PPP 协议的状态图
三、使用广播信道的数据链路层
1 局域网
(1)局域网的特点
①网络为一个单位所拥有,且地理范围和站点数目均有限;
②具有较高的数据率、较低的时延和较小的误码率;
③具有广播功能和组播功能;
④各个站点的关系是平等的。
(2)局域网的分类
按网络拓扑进行分类,主要分为星形结构、环形结构、总线形结构、星形和总线形结 合的复合型结构四种。
(3)共享信道的划分
要使众多用户能够合理而方便的使用共享通信媒体资源,可进行如下划分:
①静态划分信道:例如前面的频分复用、时分复用和波分复用等,它不适合局域网使 用;
②动态媒体接入控制(多点接入):信道并非在用户通信时固定分配给用户;可分为 随机接入和受控接入。
(4)以太网的两个标准
以太网采用无连接的工作方式,尽最大努力交付数据,提供不可靠服务,下面是以太 网的两大标准:
①DIX Ethernet V2(世界上第一个局域网产品规约)
②IEEE 的 802.3 标准
如图3-8 所示,IEEE 802 把局域网的数据链路层拆成逻辑链路控制 LLC 子层和媒体接 入控制 MAC 子层:
a .MAC 子层:与接入到传输媒体有关的内容放在 MAC 子层,它向上层屏蔽对物理 层访问的各种差异,并提供对物理层的统一访问接口;
b .LLC 子层:与传输媒体无关,向网络层提供无确认无连接、面向连接、带确认无连接、高速传送等连接服务。
图 3-8 局域网数据链路层分层
(5)适配器
计算机与外界局域网的连接需要通过通信适配器,它装有处理器和存储器,能进行数 据串行传输和并行传输的转换,且适配器在接收和发送各种帧时不使用计算机的 CPU。
2CSMA/CD 协议
(1)概述
在总线结构的局域网或半双工网络环境中,当有两个或者多个用户同时发送信息,可 能会产生冲突,为解决这种冲突,可以采用载波侦听多路访问/碰撞检测(CSMA/CD) 协议。
(2)CSMA/CD 工作流程
CSMA/CD 工作流程可概括为"先听后发、边听边发、冲突停发、随机重发" ,具体的为:
①适配器将准备好的以太网帧放入缓存中,并开始侦听;
②若侦听到信道空闲,则开始传输该帧;若侦听到信道忙,则等待至空闲再传输;
③在传输过程中继续侦听其他适配器是否也有发送,若在整个传输过程中没有侦听到 其他数据的发送,则传输成功,否则停止传输,并传输一个 48bit 的拥塞信号;
④终止传输后采用截断二进制指数退避算法等待一段随机时间后返回到第②步。
(3)传播时延对载波侦听的影响
如图3-9 所示,设τ为单程的传播时延,可看出,最先发送数据帧的 A 站,在发送数据 帧后至多经过时间2τ就可知道所发送的数据帧是否遭受了碰撞;称以太网端到端往返 时间2τ为争用期(碰撞窗口)。
图 3-9 传播时延对载波监听的影响
(4)截断二进制指数退避算法
用于解决碰撞所采用的截断二进制指数退避算法如下:
①确定基本退避时间,一般取争用期2τ;
②设重传次数为 k ,且 k≤10 ,即重传次数 k =min[重传次数,10];
③从离散的整数集合[0 ,1 , ⅆ , (2k-1)]中随机取出一个数 r ,重传的退避时间= 2rτ;
④当重传达 16 次仍不能成功时,则丢弃该帧,并向高层报告。
【注意】截断二进制指数退避算法使得重传的退避时间随重传次数的增大而增大,从 而减少发送碰撞的概率。
3 使用集线器的星形拓扑
(1)使用集线器的双绞线以太网
如图3-10 所示,采用星形拓扑的以太网中心增设了一种叫集线器的可靠性非常高的设备。
图 3-10 使用集线器的双绞线以太网
(2)集线器的特点
①使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用 CSMA/CD 协议;
②一个集线器有许多接口,像一个多接口的转发器;
③集线器工作在物理层,它的转发为简单转发,即收到什么就转发什么;
④集线器采用了专门的芯片,进行自适应串音回波抵消。
4 以太网的信道利用率
如图 3-11 所示,要提高以太网的信道利用率,就必须减小τ与 T0 之比。在以太网中定 义了参数α = τ/T0(以太网单程端到端时延τ与帧的发送时间 T0 之比),且极限信道利
用率 Smax =T0/ (τ+T0 )=1/(1+α) 。
图 3-11 以太网的信道被占用的情况
5 以太网的 MAC 层
(1)MAC 层的硬件地址
在局域网中,硬件地址又称为物理地址或 MAC 地址;当适配器每从网上收到一个
MAC 帧,就用硬件检查其目的地址,看是否是发往本站的帧;所有的适配器必须识别 以下三种帧中①②:
①单播帧(一对一):收到的帧的 MAC 地址与本站的硬件地址相同;
②广播帧(一对全体):发送给本局域网上所有站点的帧(全 1 地址); ③多播帧(一对多):发送给本局域网上部分站点的帧。
(2)MAC 帧的格式
①字段说明
如图3-12 所示为以太网MAC 帧的组成,现对各字段进行说明:
a . 目的地址和源地址:各占6 字节,存储发往的地址和源地址;
b .类型: 占 2 个字节,标识上一层使用的协议;
c .数据字段:长度为 46~1500 字节,小于 46 字节时在后面添加填充字段,以便成为 64 字节的有效帧;
d .帧检验序列 FCS: 占 4 字节,存储循环冗余校验的冗余码。
图 3-12 以太网 V2 的 MAC 帧格式
②无效的 MAC 帧
a .帧的长度不是整数个字节;
b .用收到的帧检验序列 FCS 查出有差错;
c .收到的帧的 MAC 客户数据字段的长度不在 46~1500 字节之间。
四、扩展的以太网
1 在物理层扩展以太网
在物理层扩展以太网通常是对物理线路或物理设备进行拓展,使以太网的覆盖范围更 广,常见有两种方式:
(1)使用光纤与光纤调制解调器扩展以太网;
(2)使用多个集线器扩展以太网。
2 在数据链路层扩展以太网
(1)数据链路层扩展以太网的方法
在数据链路层扩展以太网主要是利用网桥(现在是以太网交换机),根据收到的以太 网 MAC 帧的目的地址进行转发和过滤。
(2)以太网交换机
①以太网交换机的工作原理
以太网交换机的实质是多端口的网桥,它检测从端口收到的数据帧的源和目的 MAC 地址,并与系统内部的动态查找表比较,若地址不在该表中则加入该查找表,并将数 据帧发送到相应的目的端口。
②以太网交换机的特点
a .采用全双工工作模式,每个端口都与单个主机相连;
b .它是一种即插即用设备,通过自学习建立动态查找表;
c .独占传输媒体的带宽,且每一对相互通信的主机能无碰撞地传输数据。
(3)以太网交换机的自学习功能
如图3-13 所示,举例说明以太网交换机的自学习功能如下:
以太网交换机有四个端口 1 、2 、3 、4 分别连接 MAC 地址为 A 、C 、B 、D 的四台计算 机,当 A 从端口 1 向 B 发送一帧,查找表此时为空,则记录 MAC 地址 A 与对应端口 1 ;之后向除端口 1 外的所有端口进行广播,只有 B 能够正确接收,则记录 MAC 地址
B 与对应的端口 3。
图 3-13 以太网交换机的交换表
3 虚拟局域网
虚拟局域网 VLAN 是由一些具有某些共同需求的局域网网段构成的与物理位置无关的 逻辑组。
五、高速以太网
1 常见以太网传输介质
如表 3-14 所示为常见以太网的传输介质及其适用情况,解释"参数"栏中各符号含义:
10 表示数据率(单位是Mbit/s),BASE 表示介质上的信号为基带信号(即基带传输, 采用曼彻斯特编码),数字 5 表示最大段长为 500 米,2 表示 200 米(实际上是 185米),T 表示双绞线,FL 表示光纤,需要记住这些参数的含义。
表 3-14 传输介质及其适用情况
2 100BASE-T 以太网
100BASE-T 是在双绞线上传送 100Mbit/s 基带信号的星形拓扑以太网,它又称为快速 以太网;在全双工或半双工方式下工作,半双工下使用CSMA/CD 协议,全双工下不 使用CSMA/CD 协议以保证不发生冲突。
3 吉比特以太网
吉比特以太网又叫千兆以太网,允许在 1Gbit/s 下用全双工和半双工两种方式工作,半 双工下使用 CSMA/CD 协议,与 10BASE-T 和 100BASE-T 技术向后兼容。
4 10 吉比特和 100 吉比特以太网
10GE 的帧格式与 10Mbit/s ,100Mbit/s 和 1Gbit/s 以太网的帧格式完全相同,并保留了
802.3 标准规定的以太网最小帧长和最大帧长,工作在全双工方式下,不使用 CSMA/CD 协议,并使用光纤作为传输媒体;
100GE 工作在全双工方式下,不使用CSMA/CD 协议,使用单模光纤传输时,可以达 到 40km 的传输距离。