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 - 有用资源


计算机网络 - 错误检测与纠正

有很多原因,例如噪音、串扰等,都可能导致数据在传输过程中损坏。上层基于某种通用的网络架构视图工作,并不了解实际的硬件数据处理。因此,上层期望系统之间实现无错误传输。如果收到错误数据,大多数应用程序将无法正常运行。语音和视频等应用程序可能不会受到太大影响,即使出现一些错误,它们仍可能正常运行。

数据链路层使用某种错误控制机制来确保帧(数据比特流)以一定的准确度传输。但要了解如何控制错误,必须知道可能发生哪些类型的错误。

错误类型

可能存在三种类型的错误:

  • 单比特错误

    单比特错误

    在一个帧中,无论在何处,只有一个比特是损坏的。

  • 多比特错误

    多比特错误

    收到的帧中有多个比特处于损坏状态。

  • 突发错误

    突发错误

    帧包含 1 个以上连续损坏的位。

错误控制机制可能涉及两种可能的方式:

  • 错误检测

  • 错误更正

错误检测

通过奇偶校验和循环冗余校验 (CRC) 检测接收帧中的错误。在这两种情况下,都会与实际数据一起发送一些额外的位,以确认另一端收到的位与发送的位相同。如果接收端的计数器检查失败,则认为这些位已损坏。

奇偶校验

将与原始位一起发送一个额外的位,以使 1 的数量在偶校验的情况下为偶数,在奇校验的情况下为奇数。

发送方在创建帧时会计算其中 1 的数量。例如,如果使用偶校验并且 1 的数量为偶数,则添加一个值为 0 的位。这样 1 的数量就保持为偶数。如果 1 的数量为奇数,则添加一个值为 1 的位以使其为偶数。

偶校验

接收方只需计算帧中的 1 的数量。如果 1 的数量为偶数,并且使用偶校验,则认为该帧未损坏并被接受。如果 1 的数量为奇数,并且使用奇校验,则该帧仍然未损坏。

如果单个位在传输过程中翻转,接收器可以通过计算 1 的数量来检测它。但是当多个位错误时,接收器很难检测到错误。

循环冗余校验 (CRC)

CRC 是一种不同的方法来检测接收的帧是否包含有效数据。该技术涉及对正在发送的数据位进行二进制除法。除数是使用多项式生成的。发送方对正在发送的位执行除法运算并计算余数。在发送实际位之前,发送方将余数添加到实际位的末尾。实际数据位加上余数称为码字。发送方将数据位作为码字传输。

CRC

在另一端,接收器使用相同的 CRC 除数对码字执行除法运算。如果余数全为零,则数据位被接受,否则认为在传输过程中发生了一些数据损坏。

错误校正

在数字世界中,错误校正可以通过两种方式完成:

  • 向后错误校正  当接收器检测到收到的数据中的错误时,它会请求发送方重新传输数据单元。

  • 前向错误校正  当接收器检测到收到的数据中的某些错误时,它会执行错误校正代码,这有助于它自动恢复并纠正某些类型的错误。

第一个,向后错误校正,很简单,只能在重传成本不高的地方有效使用。例如,光纤。但在无线传输的情况下,重传可能成本太高。在后一种情况下,使用前向纠错。

要纠正数据帧中的错误,接收器必须确切知道帧中的哪个位已损坏。要找到错误位,冗余位用作错误检测的奇偶校验位。例如,我们采用 ASCII 字(7 位数据),那么我们可能需要 8 种信息:前七位告诉我们哪个位是错误的,还有一位告诉我们没有错误。

对于 m 个数据位,使用 r 个冗余位。r 位可以提供 2r 种信息组合。在 m+r 位码字中,r 位本身可能会损坏。因此,使用的 r 位的数量必须告知 m+r 位位置加上无错误信息,即 m+r+1。

Required bits