数据链路层中的帧封装
在物理层中,数据传输涉及源到目的地的位同步传输。数据链路层将这些位封装成帧。
数据链路层从网络层接收数据包并将其封装成帧。如果帧的大小过大,则可能将数据包分割为较小的帧。较小的帧使流量控制和错误控制更加高效。
然后,数据链路层逐位地将每个帧发送到硬件。在接收方,数据链路层从硬件接收信号并将它们组装成帧。
##
帧的组成部分
一个帧由以下部分组成−
- 帧头 − 它包含帧的源地址和目的地址。
-
负载字段 − 它包含要传输的消息。
-
尾部 − 它包含错误检测和纠错位。
-
标志 − 它标记帧的开始和结束。
封装类型
封装有两种类型:固定尺寸封装和变长封装。
固定尺寸封装
在这种情况下,帧的大小是固定的,因此帧长度充当帧的定界符。因此,它不需要额外的边界位来标识帧的开始和结束。
例子 – ATM单元。
变长封装
在这种情况下,要传输的每个帧的大小可能不同。因此,需要额外的机制来标记一个帧的结束和下一个帧的开始。
它在局域网中使用。
在变长封装中定义帧定界符的两种方法为−
- Length Field - 这里使用一个长度字段来确定帧的大小。它在以太网(IEEE 802.3)中使用。
-
End Delimiter - 这里使用一个模式作为分隔符来确定帧的大小。它在令牌环网络中使用。如果消息中出现该模式,则会使用两种方法来避免这种情况:
-
Byte – Stuffing - 在消息中填充一个字节以与分隔符区分开来。这也称为字符导向的帧格式。
-
Bit – Stuffing - 在消息中填充任意长度的比特模式以与分隔符区分开来。这也称为比特导向的帧格式。
-