4-3 CSMA/CD与监听算法
CSMA/CD简介
简介
CSMA/CD:对总线型、星型(中间用HUB的星形网络,用交换机的话不影响)和树型拓扑访问控制协议是CSMA/CD,中文译作载波监听多点接入冲突检测,CSMA/CD是共享型网络中解决冲突的技术
- Carrier Sense[载波监听]
- MultipleAccess[多点接入]
- Collision Detection[冲突检测]
基本原理
CSMA基本原理:发送数据之前,先监听信道上是否有人在发送。若有,说明信道正忙,否则说明信道是空闲的,然后根据预定的策略决定:
- (1) 若信道空闲,是否立即发送(不一定立即发送);
- (2) 若信道忙,是否继续监听;
如果连续发生16次碰撞后,认为网络繁忙有问题,就不再尝试发送。
CSMA/CD三种监听算法(常考前两种)
CSMA/CD工作时,如果发现信道正忙,则有以下三种策略:
非坚持型监听算法:后退随机时间
非坚持型监听算法:后退随机时间(发现厕所有人,我回去等半个小时再来)
由于随机时延后退,从而减少了冲突的概率。问题是因为后退而使信道闲置一段时间,这使信道的利用率降低,而且增加了发送时延。
1-坚持型监听算法:继续监听,不等待
1-坚持型监听算法:继续监听,不等待(发现厕所有人,就在厕所门口等着即监听厕所状态)
有利于抢占信道,减少信道空闲时间。信道空闲就马上发,但是多个站同时都在监听信道时必然会发生冲突。冲突概率和利用率都高(双高)
P-坚持型监听算法
P-坚持型监听算法:若信道空闲并不马上发,而是以概率P发送,以概率(1-P)延迟一个时间单位,P大小可调整。

例题

解析:1-坚持型监听算法的特点是双高:介质利用率和冲突概率都高

解析:严格来讲CSMA/CD的几种监听算法只有1-坚持型监听算法是符合B选项的,该题目不严谨
冲突检测原理(偶尔考查)
载波监听只能减小冲突的概率,不能完全避免冲突。当两个帧发生冲突后,若继续发送,将会浪费网络带宽。为了改进带宽利用率,发送站应采取边发边听的冲突检测方法,即:
==///////==
(1) 发送期间同时接收,并把接收的数据与站中存储的数据进行比较。
(2) 若比较结果一致,说明没有冲突,重复(1)。
(3) 若比较结果不一致,说明发生了冲突,立即停止发送,并发送一个简短的干扰信号(Jamming),使所有站都停止发送。
(4)发送Jamming 信号后,等待一段随机长的时间,重新监听,再试着发送。
==///////==
例题

最小帧长计算
在共享式以太网中,发送时间如何定义才能保证不冲突,即帧长为多少的时候,才不会发生冲突?

若定义L为帧长,R为网络数据速率,d为收发站之间物理距离,v为传播速度,则不冲突等价于:该帧所占用的发送时间 > 正常传送+返回确认时间,即$$\frac{L}{R}>2 * \frac{d}{v} $$,则推出最小帧长公式
则最小帧长有
$$
L_{min}=2R * \frac{d}{v}
$$
其中 R 为网络数据速率,d 为最大距离,v 为传播速度
例题

解析:CSMA/CD说明考察共享式以太网的冲突解决,代入上面所述公式计算

解析:二进制指数后退算法:$(2^k -1) * t$,其中k为第几次冲突,t为定义的时间片。设t = 1秒,则:
- 第1次冲突:后退 1s
- 第2次冲突:后退 3s
- 第3次冲突:后退 7s
经常冲突,说明网络繁忙,网络繁忙就多等一会
A:冲突次数越多,后退时间越长
B:后退次数越多,说明网络越拥挤,负载越大
C:后退时延平均值越大,说明网络越拥挤,负载越大
D:CSMA/CD定义:如果连续发生16次碰撞后,认为网络繁忙有问题,就不再尝试发送。