数据链路层中生成循环冗余检验码(CRC)

目录

一、数据链路层

二、数据链路层的三个基本问题

1. 封装成帧

2. 透明传输

3. 差错检验

4. CRC计算​

参考资料


一、数据链路层

  从物理层传来的比特(实际上就是物理层表示数据的特殊名称),会在数据链路层封装成帧(实际上就是数据链路层表示数据的特殊名字),之后在网络层变成包,在传输层变成段,最后在会话层、表示层、应用层变为报文。

截图来源互联网数据传输原理 |OSI七层网络参考模型_哔哩哔哩_bilibili

二、数据链路层的三个基本问题

1. 封装成帧

  封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
  帧就是数据链路层的数据传送单元,首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。

2. 透明传输

  透明传输指的是一种数据传输方式,什么样子的字符都可以放在这样的帧中传输过去,其中传输的数据在传输过程中不会被修改,网络设备(如交换机和路由器)对数据的传输不施加任何影响,使得发送端和接收端看起来就像是直接连接的一样。
  什么样子的字符都可以放在这样的帧中传输过去就带来了透明传输的问题,那就帧开始字符(SOH)、帧结束字符(EOT)就会被放入数据部分,这样就会导致数据被当作无效帧丢弃。

  为解决这个问题,出现了字节填充(字符填充),即在 "SOH" 或 "EOT" 的前面插入一个转义字符 "ESC",而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符

3. 差错检验

  现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这就叫作比特差错。比特差错是传输差错中的一种。因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验 CRC(Cyclic Redundancy Check)的检错技术。

4. CRC计算

参考资料

谢希仁. 计算机网络(第8版). 中国工信出版集团, 2021

互联网数据传输原理 |OSI七层网络参考模型_哔哩哔哩_bilibili

【计算机网络期末复习】5分钟左右让你明白CRC循环冗余校验_哔哩哔哩_bilibili

https://www.youtube.com/watch?v=Ilk7UXzV_Qc

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑子不好真君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值