【计算机网络-31】封装成帧

在数据链路层,封装成帧(Frame Encapsulation)是指将上层传递的数据(通常是网络层的数据包)封装成帧的过程。这个过程确保数据能够在物理网络中可靠地传输。数据链路层将接收到的数据包进行封装,并根据不同的协议使用不同的封装方法。常见的封装成帧的方法有以下几种:

1. 字符计数法 (Character Count Method)

字符计数法是最早的封装方式之一。它通过在数据帧的头部添加一个字段,来指示数据部分的字节数(即数据区的长度)。接收方根据这个计数字段来确定帧的结束位置,从而提取出正确的数据。

  • 结构:帧的结构一般包括:帧头(Header) + 字符计数字段 + 数据部分(Data) + 帧尾(Trailer)
  • 特点:字符计数字段记录了数据部分的长度,接收方根据此值来判断数据帧的结束。
例子:

如果传输的数据为 "Hello"(5字节),帧的内容可能是:

字段内容
字符计数5
数据部分"Hello" (5字节)
帧尾CRC校验码(2字节)

2. 字符定界法 (Character Stuffing Method)

字符定界法使用特殊的字符或字节来表示帧的开始和结束。该方法通过定义特定的帧起始符和结束符来区分帧的边界,确保帧被正确地识别。

  • 结构:帧的结构一般包括:帧起始符 + 数据部分 + 帧结束符
  • 特点:采用特殊的起始符和结束符来标识帧的边界。
例子:

在使用字符定界法时,常见的帧起始符为 0x7E,结束符也为 0x7E,数据部分可能会被 "转义"(字符填充)以避免数据部分出现起始符或结束符。

如果数据是 0x7E 0x01 0x02 0x7E,为了避免数据部分与结束符冲突,通常会进行字符填充,如将 0x7E 转换成 0x7D 0x5E

字段内容
帧起始符0x7E
数据部分0x01 0x02 0x7E
帧结束符0x7E

3. 位定界法 (Bit Stuffing Method)

位定界法与字符定界法类似,但是它对数据进行位级的处理。在数据帧中,如果出现某些特定的比特模式(如 11111),则会在该模式后插入一个额外的比特 0,以避免与帧的开始或结束标志冲突。接收方在解帧时会删除多余的比特。

  • 结构:帧的结构一般包括:帧起始符 + 数据部分 + 帧结束符
  • 特点:通过在数据中插入额外的比特来避免与帧的起始符和结束符冲突。
例子:

如果数据部分是 1111101(包含连续的5个1),根据位定界法,发送方会在这段数据后插入一个比特 0,变成 111110101。接收方会识别并去掉这个额外的 0

字段内容
帧起始符01111110
数据部分0111110101
帧结束符01111110

4. 定长帧法 (Fixed Length Frame Method)

定长帧法规定每个数据帧的长度都是固定的。帧的头部包含数据长度的信息,接收方通过此信息来处理数据。与其他方法不同,定长帧法不依赖于帧的边界符或计数字段,而是规定每个帧的总长度。

  • 结构:每个帧的长度是固定的,因此帧头只需要提供足够的字段来区分每个字段的开始和结束。
  • 特点:固定长度的数据帧,便于高速传输,常用于高速网络和一些特定协议中。
例子:

在定长帧法中,每个帧的长度固定为100字节,不论数据内容如何,每个数据帧的长度始终为100字节。如果数据内容不足100字节,则通过填充(padding)来填充帧。

字段内容
帧头固定字段(如地址信息等)
数据部分数据(可以填充至固定长度)
帧尾固定长度校验码

5. 以太网帧封装方法

以太网帧是一种典型的数据链路层帧格式,通常用于局域网中。以太网帧封装方法与字符定界法和位定界法相似,但它还包括了目标地址、源地址和协议类型等信息。

以太网帧结构如下:

  • 帧头(Header):包含目标MAC地址、源MAC地址、类型字段等。
  • 数据部分(Data):包含从网络层传递的数据。
  • 帧尾(Trailer):包含错误检测码(通常是CRC)等。
以太网帧格式:
字段内容
目标地址6字节的目标MAC地址
源地址6字节的源MAC地址
类型2字节,表示上层协议(如IP)
数据46-1500字节的上层数据
校验和4字节的CRC错误检测码

总结

不同的封装成帧方法有不同的特点和适用场景,常见的封装方法包括字符计数法、字符定界法、位定界法、定长帧法和以太网帧封装等。每种方法都有其优缺点,选择哪种方法通常取决于具体的网络协议和传输需求。

  • 字符计数法:通过字符计数字段表示数据长度。
  • 字符定界法:通过起始符和结束符界定帧的边界。
  • 位定界法:通过位级插入“填充比特”避免冲突。
  • 定长帧法:帧的长度固定。
  • 以太网帧:常用于局域网,带有源、目标MAC地址和协议类型等字段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值