网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

数据链路层中的各种封装方式

更新时间:2026年03月27日   作者:spoto   标签(Tag):
“ Framing”是数据链路层的一个功能,它的作用是将消息从发送者传输到接收者,或者将其他消息从一处传输到另一处。实现这一功能的方式很简单:只需在消息中加上发送者的地址和接收者的地址即可。 目的地地址或接收者地址,其实只是用来指示消息或数据包应该被发送到哪里而已。而发送者地址则主要用于帮助接收者确认消息已经成功接收到了。 帧通常作为数据链路层的数据单位,它在不同的网络节点之间被传输或传递。 它包含了完整且全面的地址信息、不可或缺的协议,以及所有需要被控制的各项信息。 物理层只是简单地接受并传输比特流,完全不考虑这些比特流的 의미或结构。 因此,数据链路层只需负责简单地识别帧的边界即可。 这可以通过在帧的起始和结束位置添加特定类型的位模式来实现。 如果这些数据中真的存在这些比特模式的话,那么就需要格外小心,确保这些比特模式不会被错误地解释为帧的边界标记。 所谓“Framing”,其实就是指两台计算机或设备之间的点对点连接。这种连接过程中,数据是以比特流的形式通过电线进行传输的。 不过,所有这些信息都应该被整理成易于理解的信息块。framing方法:基本上,有以下几种方式来构建框架——
1. Character Count
2. Flag Byte with Character Stuffing
3. Starting and Ending Flags, with Bit Stuffing
4. Encoding Violations 
这些内容的解释如下:
  1. 字符数量:这种方法很少被使用,通常只是为了统计帧中存在的字符总数而采用。 这可以通过在头部使用“field”字段来实现。 字符计数方法能够确保接收端或目标端知道后续有多少个字符,以及该帧的结束位置。 使用这种方法也有其缺点。也就是说,如果在传输过程中出现了任何错误,导致字符数量发生变动或失真,那么接收方可能会失去同步状态。 目的地或接收方也可能无法找到或识别下一帧的起始位置。
  2. 角色填充:字符填充也被称为字节填充或字符导向的帧结构。它与位填充类似,不过字节填充实际上是在字节层面上进行的操作,而位填充则是在比特层面上进行操作的。 在字节填充中,通常会添加一些特殊的字节,这些字节被称为“转义字符”。这些字节具有预定义的模式。当数据流或帧中包含与标志字节具有相同模式的消息或字符时,就会将这些特殊字节添加到数据部分中。 但是,接收器会移除这个ESC装置,同时保留那些导致问题的数据部分。 简单来说,字符填充指的是在文本中存在ESC或相关标志时,需要额外添加1个字节的数据。
  3. 比特填充:所谓“位填充”,也被称为“基于位的帧结构”或“基于位的处理方式”。 在比特填充中,网络协议设计者会在数据流中添加额外的比特位。 通常,通过在要传输的数据单元或消息中插入或添加额外的比特位,可以简单地将信号信息和数据传递给接收方。这样就能避免或忽略那些不必要的控制序列的出现。 这是一种简单的协议管理方式,其目的是打破那些导致数据传输出现同步问题的比特模式。 比特填充是网络传输过程以及通信协议中非常关键的一部分。 在USB连接中,这也是必需的。
  4. 物理层编码违规:“编码违规”是一种仅适用于那些在物理介质上进行编码时存在某种冗余性的网络环境的方法。也就是说,在这种环境下,为了更有效地对数据中的某个变量进行编码或表示,会使用不止一种图形或视觉结构来表示该变量。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料