主机、路由器:结点
链路:连接相邻结点的通信信道
- 有线链路wired links
- 无线链路wireless links
- 局域网LANs
帧frame:链路层数据分组
数据链路层:负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
数据链路层提高的服务
组帧:
- 封装数据报构成数据帧,加首部和尾部
- 实现帧同步,作为数据链路层的数据帧,在物理层传输的时候是一系列的比特,在物理层接收到一个比特流以后如何转成数据帧?需要帧同步:在组帧以后,在数据帧的首尾,加上一个特殊的帧界定符,定义开始和结束。
链路接入link access:
- 如果是共享介质,即链路有很多可接入结点,需要解决信道接入channel access
- MAC地址,帧首部的MAC地址,用于标识帧的源和目的
相邻结点之间可靠交付:
- 在低误码率的有线链路上很少使用
- 高误码率需要可靠交付:无线
流量控制:
- 协调相邻的发送结点和接收
差错检测:
- 信号衰减和噪声引起差错
- 接受端检测到差错(通知重传或者直接丢弃)
差错纠正:
- 接收端直接纠正比特差错
全双工和半双工通信控制:
- 全:链路两端结点同时双向传输
- 半:交替双向传输
链路层的具体实现
实际上,链路层在主机上的网络适配卡(网卡)中实现
比如以太网网卡、802.11网卡、以太网芯片组
既实现了链路层的功能,也实现了物理层的功能
过程:
网卡把网络层的协议交互的数据报,在本地通过网卡控制器,构造出数据帧,把数据帧发送出去;目的主机的网卡接收数据帧,并确认接收无误,把数据报提取出来上传到上层协议