本篇主要集中点对点的数据链路层、PPP 协议、使用广播信道的数据链路层和拓展的以太网。
- 数据链路层基本概念:其主要作用是如何将数据可靠的传输到相邻的节点。
- 主要分为点对点信道和广播信道(一对多)两种方式。
点对点信道的数据链路层
数据链路
- 物理链路是点到点的物理线路段,中间没有结点,长期存在,但数据链路通常具有时效性。
- 数据链路除了物理线路外,还必须有协议来控制。通常使用适配器(网卡)实现协议的硬件和软件,而适配器通常包括了数据链路层和物理层两层的功能。
三个基本问题
封装成帧
- 一般在一段数据前后分别添加首部和尾部,形成一个帧,确定帧的界限。(首部 1SOH Start of Header /尾部 4EOT, End of Transmission 的重要作用是帧定界)
- 一般协议会规定数据部分长度的上限——最大传送单元(MTU, Maximum Transfer Unit)。
- 帧的定界符,对传输差错时作用明显,提示接收方丢弃非完整帧。
透明传输
- 传输的数据部分如果代码恰好为 SOH 和 EOT 一样,会出现帧定界错误。
- 在数据部分的 SOH 和 EOT 前面添加转义字符“ESC”(十六进制 1B), 并且在转义字符前也添加转义字符。
差错控制
- 比特差错,1/0 的传输错误。
- 误码率 BER(Bit Error Rate): 一段时间内,传输错误的比特/总比特数。与信噪比有较大关系。
- 循环冗余检测 CRC(Cyclic Redundancy Check)在数据链路层广泛使用:数据后添加 n 个 0, 采用模 2 除法得到余数,余数添加到原数据后发送,在检验时模 2 除法余数为 0。
- 为了检错而添加的冗余码通常称为帧检验序列 FCS(Frame Check Sequence)。
PPP协议的特点
- 最为广泛的数据链路层协议:PPP, Point-to-Point Protocl.
- PPP 协议主要处理用户和 ISP 之间的数据链路层。
- 需要满足的要求:封装成帧、透明性、差错检测、简单(这是首要要求)、多种网络层协议、多种类型链路、连接状态检测、最大传输单元、网络层地址协商、数据压缩协商。
- PPP 协议的头部包括 F(7E), A(FF), C(03), 协议(说明信息字段内容);尾部包括 FCS, F(7E)。
- 透明传输:同步传输链路采用比特填充法、异步传输采用字符填充法。
广播信道的数据链路层
局域网的数据链路层
- 特点:网络为单位拥有,地理范围和站点数目均有限。
- 优点:具有广播功能,安全访问全网,获取局域网的各种硬件和资源;便于拓展演变,设备灵活调整。
- 常见拓扑结构:星形网(集线器),总线网(匹配电阻),环形网(干线耦合器)。
CSMA/CD 协议
- Carrier Sense Multiple Access with Collision Detection: 载波监听多点接入/碰撞检测。类似总线网。
- “多点载入”指,多个计算机以多点接入得方式连接在一根总线上。“载波监听”指每个计算机在发送检测时都要检测是否有其他计算机在发送。“碰撞检测”指计算机便发送变检测信道上得信号电压大小。
- 步骤如下:1. 准备发送:发送前,先检测信道;2. 检测信道,忙则不停检测; 空闲,96 比特时间内保持空闲(保证最小帧间间隔),则发送帧。3. 检测碰撞:发送过程种不断检测,边发送边检测,两种可能性:未检测到碰撞,发送成功;争用期内检测到碰撞,停止发送,执行指数退避算法,返回步骤 2,重传。超过一定次数不成功则发送失败,向上报错。
- 半双工通信,双向交替通信。
使用集线器得星形拓扑
- 星形以太网,在星形中心增加集线器,中心与站点连接采用两队双绞线。
- 集线器模拟了实际电缆工作状况,逻辑上仍为总线网,采用 CSMA/CD 协议。集线器像一个多接口转发器。集线器有专门芯片可自适应抵消串音回波抵消。
以太网的信道利用率
- 以太网信道利用率不能到达 100%。
- 以太网参数$\alpha = \tau / T_0$,其中$\tau$是端到端发送时间,$T_0$是发送帧所需时间。所以以太网的连线长队和帧长度会对以太网参数有影响。
以太网的MAC层
- Mac 层的硬件地址又称为物理地址/Mac 地址,是局域网通信设备或端口的唯一标识符。48 位 MAC 地址(6 字节) ,每个网络适配器均有一个 MAC 地址。
- 帧收到后由硬件检测是否发往本站,非本站帧丢掉。
- 帧包括:单播帧,广播帧,多播帧三种。
- 在 MAC 层的帧:最常用的 MAC 帧是以太网 V2 格式(字节数):目标地址(6), 源地址(6), 帧类型(2, 标明上一次的协议类型),IP 数据报(46-1500), FCS(4)。
- 在 MAC 帧基础上添加前同步码(使得接收方调整时钟频率,使其与发送方同步,称为比特同步/位同步)和帧开始定界符。
- 曼彻斯特编码方式,无需帧结束定界符或帧长度字段。
- 检测到无效帧(长度非整数字节,FCS 检测出错,总长度不在 64-1518 之间),简单丢掉,以太网不负责重传。
拓张的以太网
物理层拓展以太网
- 利用集线器拓展,利用多个集线器形成多级星形结构的以太网。
- 优势:不同碰撞域计算机能够通信,增加了网络范围和地理覆盖范围。
- 缺点:碰撞域增大,但吞吐量不变;不同碰撞域的数据率必须相同。
在数据链路层拓展以太网
- 早期拓展方式——网桥:对 Mac 帧根据目的地址进行特定接口转发或丢弃过滤。
- 现行方式——交换机(以太网交换机/第二层交换机):工作在数据链路层。
- 交换机特点:1.多接口网桥。2.全双工工作方式。3.并行性,交换机能与多台主机同时通信。4.相互通信的主机是独占传输媒体,无碰撞传输数据。4.具有接口存储器,繁忙时可以缓存帧。5.即插即用,内部帧交换表(地址表)通过自学习算法逐渐建立。6.采用专用交换结构芯片,硬件转发速度快。
- 优点:用户独享带宽,增加总容量(不用用户分割);从共享总线以太网转到交换时以太网不需要软硬件、适配器改动;以太网交换机具有多种速率接口,方便匹配不同用户需要。
- 以太交换机自学习功能。自学习算法自动维护交换表。收到信息时,就将其源地址与该发送接口的对应关系保存(或修改)到交换表中。发送时目的地址不在交换表中,则对除进入接口地址外进行广播。存储的对应关系都具有有效时间,过期则自动删除。
虚拟局域网
- 虚拟局域网(Virtual LAN)是一种局域网提供的服务,将局域网网段构成与物理地址无关的逻辑组。逻辑组内可进行广播,防止过多广播信息导致性能恶化。
- 一般在以太网的帧格式中添加 4 个字节的标识符,VLAN 标记,指明属于按个 VLAN。称为 802.1Q 帧或带标记的以太网帧。