数据链路层服务
1 概述
术语:
- 主机和路由器:结点(nodes)
- 连接相邻结点的通信信道:链路(links)
- 有线链路(wired links)
- 无线链路(wireless links)
- 局域网(LANs)
- 链路层(第2层)数据分组:帧(frame),封装网络层数据报
- 数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报
2 链路层服务
- 组帧(framing)
- 封装数据报构成数据帧,加首部和尾部
- 帧同步
- 链路接入(link access)
- 如果是共享介质,需要解决信道接入(channel access)
- 帧首部中的“MAC” 地址,用于标识帧的源和目的,不同于IP地址!
-
相邻结点间可靠交付
- 在低误码率的有线链路上很少采用 (如光纤,某些双绞线等)
- 无线链路:误码率高,需要可靠交付
-
流量控制(flow control)
- 协调(pacing)相邻的发送结点和接收
- 差错检测(error detection)
- 信号衰减和噪声会引起差错.
- 接收端检测到差错:通知发送端重传或者直接丢弃帧
- 差错纠正(error correction)
- 接收端直接纠正比特差错
- 全双工和半双工通信控制
- 全双工:链路两端结点同时双向传输
- 半双工:链路两端结点交替双向传输
3 链路层的具体实现?
- 每个主机或路由器接口
- 链路层在“适配器”(即网络接口卡-NIC)中实
现 或者在一个芯片上实现 - 以太网网卡, 802.11网卡;以太网芯片组
- 实现链路层和物理层
- 链路层在“适配器”(即网络接口卡-NIC)中实
- 链接主机的系统总线
- 由硬件、软件与固件组成
4 网卡间通信
- 发送端:
- 将数据报封装成帧
- 增加差错检测比特,实现可靠数据传输和流量控制等.
- 接收端:
- 检测差错,实现可靠数据传输和流量控制等
- 提取数据报,交付上层协议实体