
【计】 framing code
become; fully grown; succeed
word
【计】 code
【经】 code
在通信协议中,成帧代码(Framing Code)指用于标识数据帧(Frame)起始与结束位置的特定比特序列或字符。其核心功能是在连续的比特流中划分出独立的数据单元,实现帧同步(Frame Synchronization),确保接收方能准确识别并提取有效数据载荷。
帧同步机制
数据在物理层以比特流形式传输,接收端需通过成帧代码定位帧边界。例如:
01111110
(十六进制 0x7E
)作为帧首尾定界符 。汉英术语对照
中文术语 | 英文术语 | 定义 |
---|---|---|
成帧代码 | Framing Code / Flag Byte | 标识数据帧边界的控制字符或比特模式 |
帧定界 | Frame Delimitation | 利用特殊符号划分帧边界的过程 |
比特填充 | Bit Stuffing | 防止数据段出现与定界符相同序列的防冲突机制(如HDLC的"5个1后插0") |
定界符设计
需满足两点:
0x7E
)。10101011
)。防误判机制
0x7E
),则转义为0x7D
+0x5E
。串行通信协议
0x7E
定界,采用比特填充 。局域网技术
10101010
)+ SFD(1字节10101011
)标识帧起始 。国际标准
经典教材
中文 | 英文 |
---|---|
帧校验序列 (FCS) | Frame Check Sequence |
前导码 | Preamble |
帧起始定界符 (SFD) | Start Frame Delimiter |
帧结束定界符 | End Delimiter |
成帧代码是指用于实现数据链路层中成帧技术(将比特流划分为可识别数据块)的具体编程实现或算法逻辑。以下是详细解释:
成帧(Framing)是数据链路层的核心技术,用于将原始比特流划分为可识别的信息块(帧),使接收端能准确定位消息的起始和结束位置,确保数据可靠传输。
核心作用:
在编程中,成帧代码通常通过以下方法实现:
基于定界符的成帧(如字符填充)
DLE STX
和DLE ETX
)标记帧的起始和结束。// 发送端:添加定界符
void frameMsg(byte[] message, OutputStream out) {
out.write(DELIMITER_START);
out.write(message);
out.write(DELIMITER_END);
}
// 接收端:扫描定界符提取消息
byte[] nextMsg() { ... }
(实现逻辑见)
长度前缀法
比特填充法(如HDLC协议)
01111110
)界定帧边界,避免与数据内容冲突。r
的文本协议。如需进一步了解具体代码实现,可参考来源(Java示例)和(字符填充与比特填充对比)。
【别人正在浏览】