计算机网络 第三章 总结
本文最后更新于 2021年1月25日 晚上
数据链路层使用的信道主要有:
1. 点对点信道
2. 广播信道
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
链路:指一个节点到相邻节点的一段物理线路(两个节点的中间没有任何设备)
数据链路:除了链路,还包括协议和实现协议的硬件和软件
最常用的方法是使用网络适配器(网卡) 来实现的
数据链路层传输的是 帧
3.1.2 三个基本问题
- 封装成帧
数据添加首部和尾部 - 透明传输
在数据部分出现控制字符,导致数据传输不完整
如何解决:字节填充或字符填充 - 差错检测
一般采用CRC,获取校验位FCS
CRC:模二除,不借位进位,最后获得的余数即为FCS。校验方法:把数据加上校验位,出完后,如果等于0,则没有发生错误,不为0,则发生错误。
[notice]注意[/notice]
CRC在数据链路层只能对帧的无差错接受,如果发生错误,则丢弃,并没有重传机制。
因为网络层都不能保证可靠交付。
3.2 点对点协议PPP(Point-to-Point Protocol)
最常见的是:用户拨号接入因特网
PPP协议的组成:
PPP协议解决透明传输:
- 字节填充
把信息字段中的每一个0x7E字节转为 0x7D 0x5E;每一个0x7D字节转为 0x7D 0x5D;小于0x20的字节在前面加上0x7D - 零比特填充
遇到5个以上的1,在第5个1的后面添加0
若想还原数据,则按照上面的逆过程
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
局域网的拓扑有:星型,环形,总线型
以太网的两个标准
- DIX Ethernet V2
- IEEE 802
IEEE 802委员会把局域网的数据链路层拆成了两个子层:
- 逻辑链路控制 LLC
- 媒体接入控制 MAC
然后局域网就拓展成了:
- LLC
- MAC
- 物理层
IEEE 802系列标准定义了有关MAC层和物理层的有关协议
(1)IEEE 802 概述和系统结构;
(2)IEEE 802.1 定义了寻址,网络管理和网际互联;
(3)IEEE 802.2 定义了逻辑链路控制子层的功能与服务;
(4)IEEE 802.3 定义了CSMA/CD总线访问控制及物理层规范(以太网);
(5)IEEE 802.4 定义了令牌总线访问控制及物理层规范(Token Bus);
(6)IEEE 802.5 定义了令牌环网访问控制及物理层规范(Token Ring);
(7)IEEE 802.6 定义了分布式队列双总线访问控制及物理层规范(DQDB);
(8)IEEE 802.7 定义了宽带LAN技术;
(9)IEEE 802.8 定义了光纤技术(FDDI在802.3、802.4、802.5中的使用);
(10)IEEE 802.9 定义了综合业务服务(IS) LAN接口;
(11)IEEE 802. 10 定义了互操作LAN/MAN安全(SILS);
(12)IEEE 802. 11 定义了无线局域网访问控制及物理层规范(Wireless LAN);
(13)IEEE 802. 12 定义了DPAM按需优先访问控制、物理层和中继器规范;
(14)IEEE802.14 定义了基于Cable-TV(有线电视)的宽带通信网;
(15)IEEE 802. 15 定义了近距离个人无线网络访问控制子层与物理层的标准;
(16)IEEE 802. 16 定义了宽带无线局域网访问控制子层与物理层的标准。
适配器(adapter)又称网络接口卡(NIC),网卡
主要实现物理层和数据链路层的功能:
- 进行串行/并行传输的转换
- 对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
3.3.2 CSMA/CD协议
IEEE 802.3标准也使用CSMA/CD协议,所以又称802.3局域网为“以太网”
CDMA/CD:载波监听多点接入/碰撞检测,是以太网的广播方式发送,采用曼彻斯特编码
CSMA/CD(以太网) 工作原理:
先听再发,边听边发
发送数据前先监听总线,如果总线忙,则等待。如果总线空闲,就立即发送,一边发送一遍将刚发送的信号接收回来,与刚发送的信号比较,如果一致没有冲突,则继续发送,有冲突就立即停止发送,发出人为干扰信号。
CSMA/CD 的要点:
- 多点接入
说明是总线型网络 - 载波监听
在发送前和发送中都要监听,只能空闲发送 - 碰撞检测
边发边监听
征用期:
在发送数据帧后至多经过$2\tau$时间就知道是否受到碰撞
以太网的端到端往返的时间就是$2\tau$,又叫征用期
经过征用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞
截断二进制指数回避:
当发生碰撞后,就立即停止发送
推迟一个随机的时间才能再发送数据
主要流程:
- 基本退避时间为征用期$2\tau$
- 从整数集合$[0, 1, ……, (2^k-1)]$中随机取出一个数,记为$r$,重传所需推延时间为$r$倍的基本退避时间
- 参数$k$的计算公式:
$k = Min(重传次数,10)$- 当重传达16次还不能成功时,即丢弃该帧,并向高层报告
征用期长度:
以太网取$51.2\mu s$为征用期长度
10Mb/s以太网,在征用期可发送512bit 即64字节,如果一次发送长度小于512bit,则需要填充字节,凑到512bit
以太网在发送数据时,若前64字节没有发生冲突,则后续的数据就不会发生冲突