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


数据链路控制和协议

数据链路层负责实现点对点流量和错误控制机制。

流量控制

当数据帧(第 2 层数据)通过单一介质从一台主机发送到另一台主机时,要求发送方和接收方以相同的速度工作。也就是说,发送方以接收方可以处理和接受数据的速度发送数据。如果发送方或接收方的速度(硬件/软件)不同怎么办?如果发送方发送速度过快,接收方可能会超载(淹没),数据可能会丢失。

可以部署两种机制来控制流量:

  • 停止并等待

    此流量控制机制强制发送方在传输数据帧后停止并等待,直到收到发送的数据帧的确认。

    停止并等待
  • 滑动窗口

    在此流量控制机制中,发送方和接收方都同意应发送确认后的数据帧数量。正如我们所知,停止和等待流控制机制浪费资源,该协议尝试尽可能多地利用底层资源。

错误控制

当传输数据帧时,数据帧可能会在传输过程中丢失或接收时损坏。在这两种情况下,接收方都没有收到正确的数据帧,而发送方也不知道任何丢失的情况。在这种情况下,发送方和接收方都配备了一些协议,帮助他们检测传输错误,例如数据帧丢失。因此,发送方可以重新传输数据帧,或者接收方可以请求重新发送前一个数据帧。

错误控制机制的要求:

  • 错误检测  - 发送方和接收方(无论是两者还是其中之一)必须确定传输过程中是否存在错误。

  • 肯定 ACK  - 当接收方收到正确的帧时,它应该确认它。

  • 否定 ACK  - 当接收方收到损坏的帧或重复的帧时,它会向发送方发送回 NACK,并且发送方必须重新传输正确的帧。

  • 重传:  发送方维护时钟并设置超时期限。如果先前传输的数据帧的确认未在超时之前到达,则发送方将重新传输该帧,认为该帧或其确认在传输中丢失。

数据链路层可以部署三种技术来通过自动重复请求 (ARQ) 控制错误:

  • 停止并等待 ARQ

    停止并等待 ARQ

    停止并等待 ARQ 中可能发生以下转换:

    • 发送方维护超时计数器。
    • 发送帧时,发送方启动超时计数器。
    • 如果帧确认及时到达,发送方传输队列中的下一帧。
    • 如果确认未及时到达,则发送方认为帧或其确认在传输过程中丢失。发送方重新传输该帧并启动超时计数器。
    • 如果收到否定确认,则发送方重新传输该帧。
  • Go-back-N ARQ

    停止并等待 ARQ 机制无法充分利用资源。收到确认后,发送方处于空闲状态,不执行任何操作。在 Go-Back-N ARQ 方法中,发送方和接收方都维护一个窗口。

    Go-back-n ARQ

    发送窗口大小使发送方能够发送多个帧,而无需收到前一个帧的确认。接收窗口使接收方能够接收多个帧并确认它们。接收方会跟踪传入帧的序列号。

    当发送方发送窗口中的所有帧时,它会检查已收到肯定确认的序列号。如果所有帧都得到肯定确认,则发送方发送下一组帧。如果发送方发现它已收到 NACK 或未收到特定帧的任何 ACK,它会重新传输所有未收到任何肯定 ACK 的帧。

  • 选择性重复 ARQ

    在 Go-back-N ARQ 中,假设接收方没有任何缓冲空间来容纳其窗口大小,并且必须在收到每个帧时对其进行处理。这会强制发送方重新传输所有未确认的帧。

    在选择性重复 ARQ 中,接收方在跟踪序列号的同时,将帧缓冲在内存中,并仅对丢失或损坏的帧发送 NACK。

    在这种情况下,发送方只发送收到 NACK 的数据包。