文章目录
- [1. CSMA/CD协议的基本原理](#1. CSMA/CD协议的基本原理)
-
- [1.1 多址接入MA](#1.1 多址接入MA)
- [1.2 载波监听CS](#1.2 载波监听CS)
- [1.3 碰撞检测CD](#1.3 碰撞检测CD)
- [2. 共享式以太网的争用期](#2. 共享式以太网的争用期)
- [3. 共享式以太网的最小帧长和最大帧长](#3. 共享式以太网的最小帧长和最大帧长)
- [4. 共享式以太网的退避算法](#4. 共享式以太网的退避算法)
- [5. 共享式以太网的信道利用率](#5. 共享式以太网的信道利用率)
- 习题
- 解析
1. CSMA/CD协议的基本原理
在以太网的发展初期,人们普遍认为"无源的电缆线比有源器件可靠",因此将多个站点连接在一条总线上来构建 共享总线以太网。
共享总线以太网具有 天然的广播特性,即使总线上某个站点给另一个站点发送单播帧,表示帧的信号也会沿着总线传播到总线上的其他各站点。
当某个站点在总线上发送帧时,总线资源会被该站点独占。此时,如果总线上的其他站点也要在总线上发送帧,就会产生 信号碰撞。
当两个或多个站点同时使用总线发送帧时,就会产生信号碰撞。
为了解决各站点争用总线的问题,共享总线以太网使用了一种专用协议 CSMA/CD,它是载波监听多址接入/碰撞检测(Carrier Sense Multiple Access Collision Detection)的英文缩写词。
共享总线以太网的一个重要问题:如何协调总线上的各站点争用总线。
1.1 多址接入MA
多个站点连接在一条总线上,竞争使用总线。
1.2 载波监听CS
每个站点在发送帧之前,先要检测一下总线上是否有其他站点在发送帧("先听后说"):
- 若检测到总线空闲96比特时间(发送96比特所耗费的时间,也称为帧间最小间隔),则发送这个帧;
- 若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧。
1.3 碰撞检测CD
每个正在发送帧的站点边发送边检测碰撞("边说边听"):
- 一旦发现总线上出现碰撞,立即停止发送,退避一段随机时间后再次从载波监听开始进行发送("一旦冲突,立即停说,等待时机,重新再说")。
载波监听检测到总线空闲,但总线并不一定空闲。
使用CSMA/CD协议的共享总线以太网上的各站点,只是尽量避免碰撞并在出现碰撞时做出退避后重发的处理,但不能完全避免碰撞。
在使用CSMA/CD协议时,由于正在发送帧的站点必须"边发送帧边检测碰撞",因此站点不可能同时进行发送和接收,也就是不可能进行全双工通信,而只能进行半双工通信(双向交替通信)。
2. 共享式以太网的争用期
使用CSMA/CD协议的共享总线以太网上的任意站点在发送帧的过程中都可能会遭遇碰撞。
任意站点在发送帧的过程中都可能会遭遇碰撞,
问题: 某个站点从发送帧开始,最长要经过多长时间,才能检测出自己发送的帧与其他站点发送的帧产生了碰撞?
应当考虑位于共享总线以太网两端的两个站点发送的帧产生碰撞的情况.
站点从发送帧开始,最多经过时长2τ (即δ→0)就可检测出所发送的帧是否遭遇了碰撞。
因此,共享总线以太网的端到端往返时间2τ被称为争用期(Contention Period)或碰撞窗口(Collision Window),它是一个非常重要的参数。
- 站点从发送帧开始,经过争用期2τ这段时间还没有检测到碰撞,就可以肯定这次发送不会产生碰撞。
从争用期的概念可以看出,共享总线以太网上的每一个站点从发送帧开始,到之后的一小段时间内,都有可能遭遇碰撞,而这一小段时间的长短是不确定的,它取决于另一个发送帧的站点与本站点的距离,但不会超过总线的端到端往返传播时延,即一个争用期2τ 。
- 很显然,总线的长度越长(单程端到端传播时延越大),网络中站点数量越多,发生碰撞的概率就越大。
- 因此,共享以太网的总线长度不能太长,接入的站点数量也不能太多。
10Mb/s共享总线以太网(传统以太网)规定:争用期2τ 的值为512比特的发送时间,即51.2μs 。
3. 共享式以太网的最小帧长和最大帧长
为了确保共享总线以太网上的每一个站点在发送完一个完整的帧之前,能够检测出是否产生了碰撞,帧的发送时延就不能少于共享总线以太网端到端的往返时间,即一个争用期2τ 。
对于10Mb/s的共享总线以太网,其争用期2τ 的值规定为51.2μs,因此其最小帧长为512b,即64B。
10Mb/s × 51.2μs = 512b = 64B
-
当某个站点在发送帧时,如果帧的前64B没有遭遇碰撞,那么帧的后续部分也就不会遭遇碰撞。也就是说,如果遭遇碰撞,就一定是在帧的前64B之内。
-
由于发送帧的站点边发送帧边检测碰撞,一旦检测到碰撞就立即中止帧的发送,此时已发送的数据量一定小于64B。因此,接收站点收到长度小于64B的帧,就可判定这是一个遭遇了碰撞而异常中止的无效帧,将其丢弃即可。
一般来说,帧的数据载荷的长度应远大于帧首部和尾部的总长度,这样可以提高帧的传输效率。
然而,如果不限制数据载荷的长度上限,就可能使得帧的长度太长,这会带来一些问题。
4. 共享式以太网的退避算法
在使用CSMA/CD协议的共享总线以太网中,正在发送帧的站点一边发送帧一边检测碰撞,当检测到碰撞时就立即停止发送,退避一段随机时间后再重新发送。
共享总线以太网中的各站点采用截断二进制指数退避(Truncated Binary Exponential Backoff)算法来选择退避的随机时间。
如果连续多次发送碰撞,就表明可能有较多的站点参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(即动态退避),因而减小产生碰撞的概率。
当重传达16次仍不能成功时,就表明同时打算发送帧的站点太多,以至于连续产生碰撞,此时应放弃重传并向高层报告。
5. 共享式以太网的信道利用率
习题
【2013年 题36】 下列介质访问控制方法中,可能发生冲突的是( )。
A. CDMA
B. CSMA
C. TDMA
D. FDMA
【2010年 题47】 某局域网采用CSMA/CD协议实现介质访问控制,数据传输速率为10Mbps,主机甲和主机乙之间的距离为2km,信号传播速度是200 000km/s。请回答下列问题,要求说明理由或写出计算过程。
(1)若主机甲和主机乙发送数据时发送冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)?
【2009年 题37】 在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度是200 000km/s。若最小数据帧长度减少800比特,则最远的两个站点之间的距离至少需要( )
A. 增加160m
B. 增加80m
C. 减少160m
D. 减少80m
【2015年 题36】 下列关于CSMA/CD协议的叙述中,错误的是( )。
A. 边发送数据帧,边检测是否发生冲突
B. 适用于无线网络,以实现无线链路共享
C. 需要根据网络跨距和数据传输速率限定最小帧长
D. 当信号传播延迟趋近于0时,信道利用率趋近100%
解析
【2013年 题36】
【2010年 题47】
【2009年 题37】
【2015年 题36】