我是靠谱客的博主 舒服草莓,最近开发中收集的这篇文章主要介绍(计网)数据链路层的基本问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(计网)数据链路层的基本问题

1. 封装成帧

  • 定义:在数据段的前后分别添加首部和尾部,用于帧定界,构成一个帧

  • 每一种链路层协议都规定了所能传送帧的数据部分的长度上限,即最大传送单元MTU

  • 当数据是由ASCII组成的文本文件时,帧定界符使用SOHEOT

  • 作用:在数据链路层中,识别到SOH之后,只有到识别到EOT时,认定一帧传输结束,收下。若为不完整的帧,则丢弃。

  • 不足:当数据段中存在某个字节的代码和SOH,EOT一样时,会导致数据链路层错误的识别帧的长度,将有效部分丢失。

2. 透明传输

由封装成帧的不足,因此有了透明传输问题。透明表示:某一个实际存在的物体看起来像不存在。

  • 方法:字符填充,即 发送端的数据链路层在数据中出现控制字符SOHEOT的前面插入转义字符ESC

  • 若转义字符出现在数据段中,就在前面再加一个转义字符。接收端收到连续的两个转义字符时,会自动删去前面一个。

3. 差错检测

  • 比特差错:比特在传输过程中发生错误,1变为0,0变为1.

  • 误码率:一段时间内,传输错误的比特数占总传输比特数的比率。提高信噪比可以使误码率降低。

  • 循环冗余检验CRC:用于差错检验。

    ①该差错检测的方法(CRC)仅仅针对与帧内部是否由比特传输错误,无法应对帧与帧之间的错误,即无法实现可靠传输。

    ②原理:

    • 在数据发送端把数据分组,每组k个比特

    • 确定冗余码

      1)假设除数P有n+1位,被除数应为k+n位,内容为 原数据比特组+n个0

      2)进行模2除法运算(无借位,不比较除数和被除数的大小,当最高数值为相同为1不同为0,其余相同位异或运算

      3)余数即为冗余码

    • 将冗余码添在原数据比特组的后面,进行整个传输,若未发生数据传输错误,则在接收端收到的数据除上除数P,余数应当为0。

    ③实际应用:用接收端接收到的信息除除数,若余数为0则认为正确无误,不为0则认为有比特差错。

4. 可靠传输

  • 传输差错可以分为:比特差错以及另一类问题,即帧丢失、帧重复、帧失序。

  • 对通信质量好的网络:不要求数据链路层向上层提供可靠传输的服务,改正差错的任务由上层完成.

  • 对通信质量差的网络:数据链路层协议使用确认和重传机制,向上层提供可靠服务。

最后

以上就是舒服草莓为你收集整理的(计网)数据链路层的基本问题的全部内容,希望文章能够帮你解决(计网)数据链路层的基本问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部