*第 3 章 数据链路层*
数据链路层使用的信道主要有以下两种类型:
o 点对点信道。这种信道使用一对一的点对点通信方式。
o 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送
*使用点对点信道的数据链路层*
*数据链路和帧*
· 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
· 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
· 数据链路层传送的是帧
*三个基本问题*
· (1) 封装成帧
o 将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。 *
· (2) 透明传输
o 透明表示一个实际存在的事物看起来好像不存在一样。
o 帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。 *
· (3) 差错控制
循环冗余检验 CRC 目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。
帧检验序列 FCS 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
冗余码的计算
o
§ 例子: 现在 k = 6, M = 101001。 设 n = 3, 除数 P = 1101, 被除数是 2^nM = 101001000。 模 2 运算的结果是:商 Q = 110101, 余数 R = 001。 把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2^nM + R 即:101001001,共 (k + n) 位。
o
概要: CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
*点对点协议 PPP*
*PPP 协议的特点*
· 互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议。
*PPP 协议的帧格式*
-
F 字段为帧的定界符
-
FCS 字段是使用 CRC 的检验序列
-
信息部分的长度不超过 1500(即IP数据报)
-
当PPP使用异步传输时,使用字节填充:
-
0x7E->0X7D,0X5E
-
0X7D->0X7D,0X5D
-
若出现数值小于0x7D的字符,前面加入一个0X7D字节,同时将该字符加以编码。
例如出现0x03->0x7D,0x23
-
-
当PPP使用同步传输时,使用零比特传输:
出现6个连续的1,填入一个0
*PPP 协议的工作状态*
· 过程:
- 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
- PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
- 这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
- 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
*使用广播信道的数据链路层*
*局域网的数据链路层*
· 局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。
*局域网的主要优点:
- 具有广播功能,从一个站点可很方面地访问全网。局域网上的主机可共享连接在网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐演变
- 提高了系统的可靠性、可用性和生存性。
· 可以按照网络拓扑结构对局域网进行分类:
o 星形网
o 环形网
o 总线网
o 树形网
· 数据链路层的两个子层
o 逻辑链路控制 LLC (Logical Link Control)子层
o 媒体接入控制 MAC (Medium Access Control)子层。
o 概要: 与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的 所以以后一般不考虑 LLC 子层
· 适配器
o 网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。
§ 适配器的重要功能:
§ 进行串行/并行转换。
§ 对数据进行缓存。
§ 在计算机的操作系统安装设备驱动程序。
§ 实现以太网协议。
&当计算机发送IP数据报时,由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。
*CSMA/CD 协议*
- 为通信的方便,以太网采取:
- 采用无连接的工作方式,以太网提供的服务是尽最大努力的交付
- 以太网发送的数据都采用曼彻斯特编码。
· CSMA/CD 表示载波监听多点接入 / 碰撞检测。
o 多点接入 :说明这是总线型网络,许多主机以多点的方式连接到总线上。
o 载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
o 碰撞检测 :在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。
-
CSMA/CD协议:
(1)准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中。
但在发送前,必须先检测信道。
(2)检测信道:若检测到信道忙,则应不停检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间(96比特时间为帧 间最小间隔)内信道保持空闲,就发送这个帧。
(3)在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
1.发送成功:经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
2.当发生碰撞时,站点要停止发送,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待r倍512比特时间后,就返回步骤(2),继续检测信道。但若重传达16次仍不能成功,就停止重传而向上报错。