数据链路层主要解决的问题是如何在可靠的物理链路上传输数据,确保数据的可靠性和正确性。在接收端使用相同的算法计算校验和,并与接收到的数据包进行比较,以检测是否存在错误。介质访问控制是数据链路层的一个重要问题,它决定了网络中各节点在共享传输介质时的访问方式和顺序。这些介质访问控制技术各有优劣,选择合适的技术取决于网络的特点、需求和性能要求。
数据链路层是计算机网络体系结构中的第二层,负责将网络层传递下来的数据包分割成帧(Frame)并传输到物理层。数据链路层主要解决的问题是如何在可靠的物理链路上传输数据,确保数据的可靠性和正确性。
数据链路层的主要功能包括:
1. 封装成帧:将网络层传递下来的数据包封装成帧,添加帧首部和帧尾部,以标识帧的边界。
2. 错误检测:在发送端计算数据包的校验和,并将其添加到帧首部或帧尾部。在接收端使用相同的算法计算校验和,并与接收到的数据包进行比较,以检测是否存在错误。
3. 控制访问:在共享介质的网络中,数据链路层需要使用某种介质访问控制技术,以确保同时发送的帧不会发生冲突。
4. 流量控制:通过使用滑动窗口等机制,控制发送方的发送速率,以避免接收方无法及时处理过多的数据。
5. 差错恢复:当发生差错时,数据链路层需要使用自动重发请求(ARQ)等技术,进行差错的恢复。
介质访问控制是数据链路层的一个重要问题,它决定了网络中各节点在共享传输介质时的访问方式和顺序。常见的介质访问控制技术包括:
1. 信道划分:将传输介质按照时间、频率或码分成多个独立的信道,每个节点在各自的信道上进行通信,例如时分多路复用(TDM)和频分多路复用(FDM)。
2. 随机接入:节点在传输介质上随机选择传输机会,例如载波多路访问(CSMA)和载波监听多路访问/碰撞检测(CSMA/CD)。
3. 轮询访问:通过轮询的方式依次让每个节点发送数据,例如轮询访问协议(Polling)和令牌环(Token Ring)。
这些介质访问控制技术各有优劣,选择合适的技术取决于网络的特点、需求和性能要求。