DCN 教程

数据通信与计算机网络 DCN - 概述 DCN - 什么是计算机网络 DCN - 计算机网络的用途 DCN - 计算机网络类型 DCN - 网络 LAN 技术 DCN - 计算机网络模型 DCN - 计算机网络安全

网络组件

DCN - 组件 DCN - 交换机 DCN - 中继器 DCN - 网关 DCN - 网桥 DCN - 网络接口卡 DCN - NIC:优点和缺点 DCN - 网络端口

计算机网络拓扑

DCN - 计算机网络拓扑 DCN - 点对点拓扑 DCN - 总线拓扑 DCN - 星型拓扑 DCN - 环形拓扑 DCN - 网状拓扑 DCN - 树形拓扑 DCN - 混合型拓扑

网络模型

DCN - TCP/IP 模型 DCN - OSI 模型 DCN - OSI 模型的层 DCN - TCP/IP 与OSI 模型

物理层

DCN - 物理层简介 DCN - 数字传输 DCN - 模拟传输 DCN - 传输介质 DCN - 无线传输 DCN - 传输损伤 DCN - 多路复用 DCN - 网络交换

数据链路层

DCN - 数据链路层简介 DCN - 数据链路控制和协议 DCN - RMON DCN - 令牌环网络 DCN - 汉明码 DCN - 字节填充 DCN - 通道分配 DCN - MAC 地址 DCN - 循环冗余校验 DCN - 错误控制 DCN - 流量控制 DCN - 帧 DCN - 错误检测和更正 DCN - 纠错码 DCN - 奇偶校验位

网络层

DCN - 网络层简介 DCN - 网络寻址 DCN - 路由 DCN - 互联网 DCN - 网络层协议

传输层

DCN - 传输层简介 DCN - 传输控制协议 DCN - 用户数据报协议 DCN - 拥塞控制 DCN - TCP 服务模型

应用层

DCN - 应用层简介 DCN - 客户端-服务器模型 DCN - 应用协议 DCN - 网络服务 DCN - 虚拟专用网络 DCN - 负载削减 DCN - 最优性原则 DCN - 服务原语 DCN - 网络安全服务 DCN - 超文本传输​​协议 DCN - 文件传输协议 DCN - 安全套接字层

网络协议

DCN - ALOHA 协议 DCN - 纯 ALOHA 协议 DCN - 滑动窗口协议 DCN - 停止和等待协议 DCN - 链路状态路由 DCN - 链路状态路由协议

网络算法

DCN - 最短路径算法 DCN - 路由算法 DCN - 漏桶算法

无线网络

DCN - 无线局域网 DCN - 无线局域网和 IEEE 802.11 DCN - IEEE 802.11 无线局域网标准 DCN - IEEE 802.11 网络

杂项

DCN - 最短路径路由 DCN - B-ISDN 参考模型 DCN - 层的设计问题 DCN - 选择性重复 ARQ DCN - 泛洪 DCN - 电子邮件格式 DCN - 密码学 DCN - 单播、广播和多播 DCN - 网络虚拟化

DCN 有用资源

DCN - 快速指南 DCN - 有用资源


计算机网络中的汉明码

在计算机网络中,汉明码用于表示一组纠错码,当数据从发送方移动到接收方时可能会发生这种情况。汉明方法通过查找发生错误的状态来纠正错误。

冗余位

冗余位是额外的二进制位,它们被生成并添加到数据传输的信息承载位中,以确保在数据传输过程中不会丢失任何位。冗余位被放置在某些计算位置以消除错误,两个冗余位之间的距离称为"汉明距离"。

纠错码 − 这是数据位和冗余位之间的关系,用于纠正单比特错误。一个帧由M个数据位和R个冗余位组成,设该帧的总长度为N(N=M+R)。包含数据和校验位的 N 位单元通常称为 N 位码字。

以下公式用于查找冗余位数。

单比特错误数 = M + R

无错误的状态数 = 1

因此,代表所有状态 (M+R+1) 的冗余位数 (R) 必须满足 −

2𝑅 ≥ 𝑀 + 𝑅 + 1

其中 R = 冗余位,M = 数据位。

查找汉明码的步骤

汉明方法使用额外的奇偶校验位来识别单比特错误。

  • 步骤 1 - 首先以二进制形式从 1 开始写入位位置(1、10、11、100 等)
  • 步骤 2 - 将所有 2 的幂的位位置标记为奇偶校验位(1、2、4、8、16、32、64 等)
  • 步骤 3 - 所有其他位位置用于要编码的数据(3、5、6、7、9、10 和 11 等)

每个奇偶校验位计算代码字中某些位的奇偶校验。奇偶校验的位置决定了它交替检查和跳过的位序列。

  • 位置 1 - 检查 1 位,然后跳过 1 位,检查 1 位,然后跳过 1 位,依此类推(例如 - 1,3,5,7,11 等)
  • 位置 2 - 检查 2 位,然后跳过 2 位,检查 2 位,然后跳过 2 位(例如 - 2,3,6,7,10,11,14,15 等)
  • 位置 4 - 检查 4 位,然后跳过 4 位,检查 4 位,然后跳过 4 位(例如 - 4、5、6、7、12、13、14、15 等)
  • 位置 8 - 检查8 位,然后跳过 8 位,检查 8 位,然后跳过 8 位(例如 - 8、9、10、11、12、13、14、15、24、25、26、27、28、29、30、31)。

注意 - 如果检查的位置中的 1 的总数为奇数,则将奇偶校验位设置为 1;如果检查的位置中的 1 的总数为偶数,则将奇偶校验位设置为 0。

示例

为数据字节 1001101 构造偶校验汉明码字。

位数(1001101)为 7。

r 的值计算为 -

2𝑅 ≥ 𝑀 + 𝑅 + 1

⇒ 24 ≥ 7 + 4 + 1

因此,冗余位数 = 4

现在,让我们计算所需的奇偶校验位数。

我们取 𝑃 = 2, 然后 2𝑃 = 22 = 4 和 𝑛 + 𝑃 + 1 = 4 + 2 + 1 = 7

2 个奇偶校验位不足以容纳 4 位数据。

现在,我们取 𝑃 = 3,然后 2𝑃 = 23 = 8 和 𝑛 + 𝑃 + 1 = 4 + 3 + 1 = 8

因此,3 个奇偶校验位足以容纳 4 位数据。

代码字中的总位数为 − 4 + 3 = 7

位置 1:检查位 1、3、5、7、9 和11.

? _1_0 0 1_1 0 1 0.在位置 1 中为偶校验,因此将位置 1 设置为 0:0_1_0 0 1_1 0 1 0.

0 1 0 1 1 0 0 1 0

位置 2:检查位 2、3、6、7、10、11。

0 ? 1_0 0 1_1 0 1 0。在位置 2 奇校验,因此将位置 2 设置为 1:0 1 1_0 0 1_1 0 1 0

0 1 0 1 1 0 1 1 0

位置 4 检查位4,5,6,7,12。

0 1 1 ? 0 0 1_1 0 1 0。在位置 4 奇校验,因此将位置 4 设置为 1:0 1 1 1 0 0 1_1 0 1 0

0 1 0 1 1 0 0 1 1 0

位置 8 检查位8,9,10,11,12。

0 1 1 1 0 0 1 ? 1 0 1 0. 在位置 8 中为偶校验,因此将位置 8 设置为 1:0 1 1 1 0 0 1 0 1 0 1 0

0 1 0 1 0 1 0 0 1 1 0

代码字 = 011100101010

0 1 1 1 0 0 1 0 1 0 1 0