计算机网络-封装成帧&透明传输(组帧方法)

数据链路层功能概述

类似老板让小秘书送文件给别的公司,小秘书告诉傻子怎么把该文件送到别的公司的小秘书,然后别的公司的小秘书再把该文件给她的老板
在这里插入图片描述

封装成帧

MTU:与当前协议有关
接收方区分帧的起始和终止是通过帧首部和帧尾部的帧定界符
在这里插入图片描述

透明传输

类似小秘书传文件时不会在意文件的内容是啥
在这里插入图片描述

组帧方法

字符计数法

一个帧的计数字段错误会使得后面的帧也出错
在这里插入图片描述

字符填充法

首尾一个字节为起始和终止
ascll码与帧的起始字节和终止字节不会有交集

但如果是非ascll码可能会识别错误
在这里插入图片描述
字节填充法是防止数据中出现与帧分界符相同的比特组合的技术
字节填充(填充转义字符,告诉不用管后面的字节是是啥都当作数据)

接收时会将收到的转义字符都删掉
在这里插入图片描述

零比特填充法

在发送端,硬件会扫描整个帧,当检测到连续5个1的比特序列时,会自动在该序列后插入一个0。这样做的目的是为了防止数据中出现与帧分界符(例如,在HDLC协议中通常使用01111110作为帧分界符)相同的比特组合,从而避免接收端错误地识别帧边界。
在这里插入图片描述

违规编码法

在这里插入图片描述

字符填充法为啥复杂和不兼容

  • 实现机制复杂:如果数据中自然出现了与填充字符相同的序列,字符填充法需要有一种机制来区分这是数据本身还是填充字符,这增加了实现的复杂性。
  • 兼容性问题:由于字符填充法需要特定的处理逻辑,这可能导致在不同系统或协议之间的兼容性问题。如果一个系统使用了字符填充法,而另一个系统没有相应的解码能力,那么数据传输就会出现问题。

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 06:06:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 06:06:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 06:06:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 06:06:04       20 阅读

热门阅读

  1. flink写入es的参数解析

    2024-02-05 06:06:04       33 阅读
  2. Unity 开发注意事项

    2024-02-05 06:06:04       28 阅读
  3. Elasticsearch的使用场景深入详解

    2024-02-05 06:06:04       30 阅读
  4. Leetcode 3031. Minimum Time to Revert Word to Initial State II

    2024-02-05 06:06:04       33 阅读
  5. JUnit5单元测试框架提供的注解

    2024-02-05 06:06:04       63 阅读
  6. 基础算法bfs -剪枝问题

    2024-02-05 06:06:04       28 阅读
  7. WPF DispatcherTimer用法

    2024-02-05 06:06:04       29 阅读
  8. 常用的正则表达式

    2024-02-05 06:06:04       30 阅读
  9. 力扣:17. 电话号码的字母组合

    2024-02-05 06:06:04       26 阅读
  10. Vivado Tri-MAC IP端口说明

    2024-02-05 06:06:04       35 阅读
  11. Objective-C中的“description“方法

    2024-02-05 06:06:04       31 阅读
  12. Objective-C 中的SEL

    2024-02-05 06:06:04       29 阅读