3.1.1 数据链路和帧
链路: 从一个结点到相邻结点的一段物理线路,中间没有任何结点;
数据链路: 在一条线路上传输数据时,不仅需要一条物理线路,还需要一些通信协议来控制数据的传输。把实现这些协议的硬件或者软件加到链路上时,构成了数据链路。
- 数据链路层吧网络层交下来的数据构成帧发送到链路上,以及把接受到的帧中的数据取出并上交给网络层(网络层协议数据单元即为:IP数据报、分组,包)
3.1.2 三个基本问题
封装成帧
- 在一段数据的前后分别添加首部和尾部,构成一个帧;
- 分组交换:所有在互联网上传送的数据都以IP数据包(分组)为传送单位;
- 帧:在帧的数据部分的前面和后面分别加上首部和尾部,构成一个完整的帧;
- 首部和尾部的作用:帧定界(确定帧的界限):
- 控制符SOH放在帧的前面表示帧的首部开始,控制符EOT放在帧的后面表示帧的尾部表示帧的结束;
- 帧定界的作用:发生故障时,收到的数据不是一个完整的帧(只有一个控制符)则丢弃,完整的帧则留下;
- 最大传送单元MTU(Maximunm Transfer Unit):所能传送帧的数据部分长度上限;
- 首部和尾部的作用:帧定界(确定帧的界限):
透明传输
- 透明传输:无论传输的是什么字符数据,都可以放在帧中传输过去;
- 解决透明传输问题:使用的方法:字节填充,或叫字符填充
- 具体方法:发送端在数据链路层中的数据中出现控制符,在控制面前加入转义字符“ESC",并且接收端在数据链路层把数据发往网路层之前的转义字符删掉;
- 解决透明传输问题:使用的方法:字节填充,或叫字符填充
差错检测
- 比特差错: 在数据传输的过程,1可能变成0,0可能变成1;
- 误码率: 一段时间内,传输错误的比特数占传输比特总数的比率;
- 在数据链率层使用的检错方法:循环冗余检验(CRC)
- 帧检验序列FCS:为了检错而添加的冗余码;
- n位冗余码的计算方法:用二进制的模2运算进行2^n乘M的运算;
- 帧检验序列FCS:为了检错而添加的冗余码;
- 近似地:凡是接收端数据链路层接受的帧均无差错;
传输差错: 帧丢失,帧重复,帧失序;
注:为了提供更加可靠的传输,在CRC检错的基础上,增加了 帧编号,确认,重传机制
来源:CSDN
作者:Jachins
链接:https://blog.csdn.net/Jachins/article/details/103481245