2.4 CSMA/CD 协议

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅!


1 以太网标准

以太网的发展经历了两个标准:

  1. DIX Ethernet V2:世界上第一个局域网协议。
  2. IEEE 802.3:IEEE推出的以太网标准。
    这两个标准的硬件实现可以在同一局域网上互操作。
    由于这两个标准只有很小的差别,因此很多人也常把 802.3局域网简称为“以太网”。
项目局域网(LAN)以太网(Ethernet)
定义一种在有限地理范围内连接多个设备的网络实现局域网的一种网络技术,常用于局域网标准
范围包含多种网络技术,如以太网、令牌环网、Wi-Fi等以太网是局域网的一种实现方式
标准不特定标准,可使用不同的传输协议主要遵循IEEE 802.3标准
传输介质包括双绞线、光纤、同轴电缆、无线等传统以太网使用双绞线和同轴电缆,现代以太网支持光纤
结构支持多种拓扑结构,如总线型、星型、环型等以太网主要采用总线型或星型拓扑结构
数据链路层具有逻辑链路控制(LLC)和媒体接入控制(MAC)子层以太网的MAC子层用于控制信道访问
通信方式取决于具体技术,可以是广播、单播、组播等以太网主要使用广播通信,并采用CSMA/CD协议
应用范围用于企业、学校、家庭等局域场景广泛应用于局域网实现,是最常见的局域网技术

2 CSMA/CD 协议

①概述
CSMA/CD协议,即载波监听多点接入/碰撞检测协议(Carrier Sense Multiple Access with Collision Detection),是以太网采用的主要协议之一。

②核心思想
核心思想:多个设备共用一个传输信道,每个设备在发送数据前会先“监听”信道是否空闲,并在检测到碰撞时采取措施避免资源浪费。

③总线结构
在最早的以太网设计中,所有计算机都连接在一根总线上。总线结构的优势在于实现广播通信较为简单,每台设备均可通过该总线发送数据,且架构可靠性高。
在这里插入图片描述
然而,为了在这种共享信道环境下实现一对一通信,需要在数据帧的首部加上接收方的硬件地址(MAC地址)。只有当数据帧中的目的地址与设备的硬件地址一致时,该设备才会接收这个数据帧。

在这里插入图片描述
总线结构的缺点在于,当多个站点在同一时间发送数据时,会产生碰撞(也称冲突)。碰撞发生时,数据传输会失败,导致数据丢失。
在这里插入图片描述
因此,以太网采取了以下两种措施来减少碰撞的影响:

  1. 无连接的工作方式:在CSMA/CD中,不需要事先建立连接就可以直接发送数据。数据帧不进行编号,也不要求接收方发送确认反馈。
  2. 曼彻斯特编码:发送的数据采用曼彻斯特编码方式。曼彻斯特编码通过电平变化来区分位值,但它的缺点是所需的频带宽度是原始基带信号的两倍。
    在这里插入图片描述

3 核心要点

CSMA/CD协议的运作可分为以下几个步骤:

①载波监听
载波监听指的是每个设备在发送数据之前和过程中都要监听信道。如果信道被其他设备占用,该设备将等待,直到信道空闲后再发送数据。

②碰撞检测
在发送数据时,适配器会不断检测信道上的电压变化。如果电压波动超过一定的阈值,就表明至少有两个设备在同时发送数据,即发生了碰撞。
在这里插入图片描述
上图展示了在以太网CSMA/CD协议下,当两个站点(A和B)同时尝试发送数据时发生碰撞的过程。

【时间流程解析】

  • t = 0 时刻:A站点开始发送数据。
  • t = τ - δ 时刻:B站点在A的信号到达之前开始发送数据(δ表示微小的时间差),此时A和B的信号在路径中相遇并发生碰撞。
  • t = τ 时刻:B站点检测到发生了碰撞,因为信号传播至B站时,与其自身的发送信号产生冲突。
  • t = 2τ - δ 时刻:A站点在其信号传播至B后经过往返传播时间(2τ - δ)时,检测到碰撞的发生。

单程传播时延 τ:表示信号从一个站点传播到另一站点所需的时间。在CSMA/CD协议中,碰撞检测的时间受此时延的影响。

往返传播时延 2τ:A站点需要经过单程传播时延的两倍时间(2τ)才能确定是否发生碰撞。这是因为碰撞可能在信号未完全传播时就已经发生了。

③碰撞处理

  • 停止发送:当适配器检测到碰撞时,立即停止发送数据。
  • 退避重传:适配器在停止发送后,会等待一段随机时间再尝试重新发送数据。这种方法可以减少同时重发的概率,从而降低碰撞的再次发生。
    在这里插入图片描述

4 争用期

在以太网中,端到端的往返时延 2𝜏 被称为争用期(或碰撞窗口),它是检测碰撞的关键时间段

以10 Mbit/s的以太网为例:
①具体的争用期时间为51.2 μs
在10 Mbit/s的以太网上,单程信号传播时间 𝜏 是根据以太网的最大传输距离(大约5公里)确定的。信号从一个站点传播到最远的站点大约需要25.6 μs。而争用期是端到端的往返时延 2𝜏,因此争用期时间为51.2 μs。

②争用期内可以发送512比特,即64字节
利用传输速率和争用期时间,可以计算出争用期内能够传输的比特数:
10000000 bit/s * 0.0000512 s = 512bit

③以太网在发送数据时,若前64字节未发生冲突,则后续数据不会发生冲突
以太网在10 Mbit/s的速率下,发送512比特(64字节)所需的时间正好是51.2 μs。如果数据帧在前51.2 μs内未检测到碰撞,则信道上没有其他站点的传输与该帧发生冲突。
争用期结束后,任何站点的信号都已传播至全网范围内的其他所有站点。因此,如果前64字节(即前51.2 μs)内没有检测到碰撞,后续的数据传输将不会发生碰撞。

④以太网规定最短有效帧长为64字节,小于64字节的帧为无效帧,应当立即丢弃
为了确保数据在争用期内完全传播,以太网规定最短有效帧长为64字节,即帧在发送前51.2 μs内未检测到碰撞才被认为有效。小于64字节的帧无法确保在争用期内完成传播和碰撞检测,容易导致不完整传输和冲突,因此会被判定为无效帧,立即丢弃。

④最大端到端单程时延必须小于争用期的一半
在以太网中,争用期(51.2 μs) 是用于碰撞检测的关键时间段。在这段时间内,发送的信号需要传播到整个网络的最远端并返回,确保发送站点能检测到可能的碰撞。

为了实现有效的碰撞检测,以太网的最大端到端单程时延必须小于争用期的一半(即25.6 μs),这相当于最大端到端长度约为5公里。超过此距离,争用期内可能无法及时检测到碰撞。

5 碰撞后重传机制

当检测到碰撞后,以太网采用截断二进制指数退避(truncated binary exponential backoff)算法来确定重传时机

该机制的步骤如下:

  • 发生碰撞的站点停止发送数据,等待一个随机时间后再尝试重传。
  • 基本退避时间为争用期(即2𝜏),在10 Mbit/s以太网中为51.2 μs。
  • 从整数集合 ([0, 1, … , (2^k - 1)]) 中随机取一个数(r),然后重传时延为 (r \times 基本退避时间)。
  • 参数k的值为 (Min[重传次数, 10]),最大值为10。当重传次数达到16次仍未成功时,将丢弃该数据帧并向高层报告。

【例如】

  • 第一次重传:(k = 1),(r) 为集合 ({0, 1}) 中的任意值。
  • 第二次重传:(k = 2),(r) 为集合 ({0, 1, 2, 3}) 中的任意值。
  • 第三次重传:(k = 3),(r) 为集合 ({0, 1, 2, 3, 4, 5, 6, 7}) 中的任意值。

随着冲突次数的增加,退避时间范围变大,从而减少同时重传的概率,避免频繁碰撞,维持系统稳定性。

6 人为干扰信号

①定义
人为生成的信号:由设备故意发送的不包含有效数据的信号。

②特征

  • 由设备主动发出:设备在特定情况下(如检测到碰撞后)主动发送的,不是数据传输过程中的正常信号。发送设备故意制造这个信号来传递特定信息(如告知发生碰撞),而不是用于数据传输。
  • 不包含有效数据:通常是一些特定的比特序列,可能是随机的,也可能是预定的固定模式,但并不包含任何有意义的数据信息。
  • 目的明确:例如,在CSMA/CD协议中,干扰信号(jamming signal) 就是一种人为生成的信号。在检测到碰撞后,发送设备会故意生成一段32或48比特的随机比特流,并发送到信道上。确保其他设备检测到碰撞,避免继续发送数据。
  • 与随机噪声或环境干扰不同:随机噪声或环境干扰是非人为的,通常不可控,可能是由电磁干扰、线路问题等引起的。而人为生成的信号是设备根据协议主动制造的干扰,具有特定的格式和作用。

③作用

  • 冲突通知:干扰信号是一种人为的信号干扰,确保其他站点能够检测到发生碰撞,以便采取避让措施。
  • 信道清理:在发送干扰信号后,信道处于空闲状态,各站点会随机等待一段时间(根据截断二进制指数退避算法)后再尝试发送,避免再次冲突。

④示例
当发送站检测到碰撞后,会立即停止数据传输,并发送32或48比特人为干扰信号(jamming signal)以确保其他站点识别到碰撞。同时,以太网规定帧间最小间隔为9.6 μs,以确保各站点有充足的时间准备下一次传输。

在这里插入图片描述
【过程解析】

  • A站发送数据(t = 0):A站在时间 t= 0开始发送数据。
  • B站开始发送数据并导致碰撞:在A站的信号到达B站之前,B站也开始发送数据(碰撞发生)。此时,B站由于信号未传播到还不知道A已经开始发送。
  • A检测到碰撞:当A站检测到信道上出现电压异常变化,判断发生碰撞,此时A站的信号返回时间为 𝑇𝐵。
  • 发送干扰信号:A站检测到碰撞后,会立即停止数据发送,并发送32或48比特的干扰信号。该信号用于通知网络上其他站点发生了碰撞,确保其他站点不会继续尝试发送,等待冲突解决。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值