本文介绍了数据链路层的三个基本问题,包括:数据链路层的功能、流控制和错误控制。文章在介绍原理的基础上,还提供了实例,以便读者更好的理解数据链路层的三个基本问题。
一章 数据链路层的功能
数据链路层的功能是指将网络层报文拆分成小的数据块,然后在物理链路上传输,并在接收端重新组装成网络层报文。数据链路层的功能也包括在传输过程中对报文进行流控制和错误控制。
举个例子,假设A和B两台主机之间通过物理链路进行通信,A发送给B的网络层报文中包含1000个字节的数据,那么A的数据链路层就会将这1000个字节的数据拆分成多个小的数据块,然后在物理链路上传输,B接收到数据块后,数据链路层会将这些接收到的数据块重新组装成1000个字节的网络层报文,最后将报文传递给网络层。
二章 流控制
数据链路层的流控制是指在物理链路上传输数据时,控制发送端发送数据的速率,以免接收端接收不过来,导致数据丢失。
举个例子,假设A和B两台主机之间通过物理链路进行通信,A的数据链路层会检测B的网络情况,如果B的网络状况不佳,比如B的网络带宽受限,A的数据链路层就会自动降低发送速率,以免B接收不过来,导致数据丢失。
三章 错误控制
数据链路层的错误控制是指在物理链路上传输数据时,检测数据是否出现错误,如果出现错误,就重新发送数据,以确保数据的正确性。
举个例子,假设A发送给B的数据中出现错误,B收到数据后,数据链路层就会检测出错误,然后发送给A一个错误确认报文,A收到错误确认报文后,就会重新发送这段数据,以确保数据的正确性。
四章 总结
本文介绍了数据链路层的三个基本问题,包括:数据链路层的功能、流控制和错误控制。数据链路层的功能是指将网络层报文拆分成小的数据块,然后在物理链路上传输,并在接收端重新组装成网络层报文;流控制是指控制发送端发送数据的速率,以免接收端接收不过来,导致数据丢失;错误控制是指检测数据是否出现错误,如果出现错误,就重新发送数据,以确保数据的正确性。