3

我正在尝试实现 HDLC 帧格式类型 3,我对帧的八位字节/模 8 编码有一些疑问。

  1. 首先,HDLC 帧是否完全以八位字节传输?
  2. 帧的长度是“n”八位字节是什么意思请举个例子。
  3. 我相信 Octet 和 Modulo 是相同的,所以假设我们有一个字节的帧X,那么X的编码应该是模 8是什么意思。

我对这一切有点困惑,所以我需要更多的澄清。示例和插图将有很大帮助。

提前致谢。


感谢@clifford 和@masoud。你的回答真的很有帮助。但我必须阅读这个八位字节字符串:它是什么?(虽然这听起来很有趣,因为它以简单的方式解释),我回来阅读你的评论,然后我明白你解释的一切。尽管如此,祝我编码愉快。

4

2 回答 2

4

在 HDLC 中,每个字段长度必须为模 8,例如:

HDLC的一帧如下: [FLAG(8bits)|ADDRESS(8bits)|CONTROL(8/16bits)|INFORMATION(n*8bits)|FCS(8bits)|FLAG(8bits)]

每个字段都以 8 为模,INFORMATION 的偶数长度也必须以 8 为模。

这意味着如果要发送长度为 1 位的数据,则必须消耗一个字节(8 位)。

如果您正在寻找一些 HDLC 帧样本,请查看此链接:点击我! 并阅读:点击我

于 2011-09-27T09:41:03.873 回答
2

首先,HDLC 帧是否完全以八位字节传输?

这仅仅意味着数据长度是 8 位的倍数。是的。

帧的长度是“n”八位字节是什么意思?

他们是谁”?引用你的参考资料。八位字节只是一组八位。字节是一个不太含糊的术语(很少使用它来指代长度不是八位的机器字)。八位字节一词广泛用于电信领域,并且在英语以外的其他语言中也用于表示“字节”(当一个字节为八位时)。

我相信 Octet 和 Modulo

根本不是,是一个数学术语,在这里使用可能不准确地表示可以被八(或八的精确倍数)整除。

[...] 那么,X 的编码应为模 8 是什么意思。[?]

“他们”又是谁?如果我们能在上下文中看到您在哪里阅读本文,您可能会得到更好的解释。

编辑: 我没有参考 ISO 3309 的长度,这是定义 HDLC 帧结构的标准,但至少在Wikipedia 文章中的术语“模 8”仅用于帧序列号的上下文中,它只是意味着序列号从 0 增加到 7,然后从 0 重新开始(即,它是模 8 的帧号 - 或 frame_num/8 的余数或frame_num % 8C 代码中的简单。我想知道您是否混淆了术语 - 再次引用或摘录有助于。

于 2011-09-27T19:29:05.410 回答