当前课程知识点:计算机网络 > 第三章 数据链路层 > 3.2 CSMA/CD协议 > CSMA/CD协议
你好
从之前的学习可以看到
以太网技术已经广泛应用于局域网中
最初的以太网以总线型拓扑结构为主
多台主机连接到一根总线上
从资源共享的角度来看
只要有一台主机发送数据
总线资源就会被占用
此时 如果其余主机发送数据
就会引起相互干扰而无法正常通信
为此 以太网采用一种协调工作协议
来协调各主机的网络接入
称为载波监听多点接入/碰撞检测CSMA/CD协议
下面我们就一起来了解一下这种协议
最初的以太网是将许多主机都连接到一根总线上
因为这样的连接方式既简单又可靠
总线的特点是
一台主机发送数据时
总线上的所有主机都能检测到
这种就是广播通信方式
如图 在一跟总线上
主机B向D发送数据
总线上所有的主机都能收到
但只有D接收B的发送数据
其他主机都不接收
CSMA/CD协议有三个要点
载波监听、多点接入和碰撞检测
“多点接入”表示
多台主机以多点接入的方式连接在一根总线上
“载波监听”是指每台主机在发送数据之前
先要检测一下总线上是否有其他主机在发送数据
如果有 则暂时不发送数据
以免发生碰撞
“载波监听”是用电子技术
检测总线上有没有其他主机发送的数据信号
“碰撞检测”也就是“边发送边监听”
即适配器边发送数据
边检测信道上的信号电压变化情况
以便判断自己在发送数据时
其他主机是否也在发送数据
当多台主机同时在总线上发送数据时
总线上的信号电压变化幅度将会增大(互相叠加)
当适配器检测到的信号
电压变化幅度超过一定门限值时
就认为总线上至少有两台主机同时在发送数据
表明产生了碰撞
所谓“碰撞”就是发生了冲突
因此“碰撞检测”也就是“冲突检测”
在发生碰撞时
总线上传输的信号产生严重的失真
无法从中恢复出有用的信息
每一个正在发送数据的主机
一旦发现总线上出现了碰撞
就要立刻停止发送
以免继续浪费网络资源
然后等待一段随机时间后再次发送
每一台主机在发送数据前
已经监听到信道为“空闲”
仍然出现了数据的碰撞问题
这是因为电磁波的传播需要时间
当某台主机监听到总线是空闲时
也可能总线并非是真正的空闲
例如A向B发出的信息
要经过一定的时间后才能传送到B
B若在A发送的信息到达B之前发送自己的帧
因为这时B的载波监听检测不到A所发送的信息
则必然要在某个时间和A发送的帧发生碰撞
碰撞的结果是两个帧都变得无用
如图 如果A、B两台主机之间的传播时间为τ
A向B发送一个帧
B只有在经过时间τ后
才能感知到A向B发送了信息
这就是说 若在时间τ内某一时刻
B也向A发送一个帧
这就必将与A所发出的帧发生冲突
A发送数据后
最迟要经过两倍的总线端到端的传播时延2τ
才能知道自己已经发送的数据和
其他主机发送的数据有没有发生碰撞
由于局域网上
任意两个主机之间的传播时延有长有短
因此局域网必须按最坏的情况设计
即取总线两端距离最远的两台主机
之间的传播时延为端到端传播时延
如图 A、B两台主机之间传播数据
存在着一些重要的时间点
t = 0时 A检测到信道空闲发送数据
t=τ-δ时 这时的δ处于0到τ之间
B检测到信道空闲发送数据
t=τ-δ/2时 发生碰撞
但A和B都还不知道发生了碰撞
当t=τ的时候
B检测到发生碰撞停止发送
t=2τ-δ时
A检测到发生碰撞也停止发送数据
A和B发送数据失败
需要推迟一段时间再重新发送
从上面的例子可以观察到
使用CSMA/CD 协议时
一个站不可能同时进行发送和接收
但必须边发送边监听信道
使用 CSMA/CD 协议的以太网不能进行全双工通信
而只能进行半双工通信
每个站在发送数据之后的一小段时间内
存在着遭遇碰撞的可能性
这种发送的不确定性使整个以太网的平均通信量
远小于以太网的最高数据率
最先发送数据帧的站
在发送数据帧后至多经过时间2τ时
就可知道发送的数据帧是否遭受了碰撞
把以太网的端到端往返时延2τ就称为争用期
又称碰撞窗口
经过争用期这段时间还没有检测到碰撞
才能肯定这次发送不会发生碰撞
以太网使用截断二进制指数退避算法
来确定碰撞后重传的时机
发生碰撞的主机在停止发送数据后
不是等待信道变为空闲后就立即再次发送数据
而是推迟(退避)一个随机的时间
具体的算法如下
1 确定基本的退避时间
一般是取争用期2τ
2 定义重传次数 k
k 小于等于10
即k=重传次数和10之间的最小值
3 从整数集合[0,1,…, (2k -1)]中随机地取出一个数
记为 r
重传应该推后的时间就是r倍的争用期
4 当重传次数达到16次仍不能成功时则丢弃该帧
并向高层报告
以太网在发送数据帧时
如果在争用期(共发送了64字节)没有发生碰撞
那么后续发送的数据就一定不会发生冲突
换句话说 如果发生碰撞
就一定是在发送的前64个字节之内
由于一旦检测到冲突就立即中止发送
这时已经发送出去的数据一定小于64字节
因此凡长度小于64字节的帧
都是由于冲突而异常中止的无效帧
只要收到了这种无效帧
就应当立即将其丢弃
接下来介绍强化碰撞
强化碰撞就是
当发送数据的主机一旦发现发生了碰撞
就立刻停止发送数据
还要再继续发送32比特或48比特的人为干扰信号
以便让所有用户都知道现在已经发生了碰撞
以太网还规定帧间最小间隔为9.6微秒
相当于 96 bit 的发送时间
也就是说 一台主机在检测到总线开始空闲后
还要等待9.6微秒才能再次发送数据
这样做是为了
使刚刚收到数据帧的主机的接收缓存来得及清理
做好接收下一帧的准备
-1.1 计算机网络的发展历程及其在信息时代中的作用
-1.2 互联网的组成
--互联网的组成
-1.3 电路交换和分组交换
-1.4 计算机网络的性能
--计算机网络的性能
-1.5 计算机网络体系结构和层次划分
-第一章
-2.1 数据通信系统模型
--数据通信系统模型
-2.2 导向型传输媒体
--导向型传输媒体
-2.3 光导纤维
--光导纤维
-2.4 非导向型传输媒体
--非导向型传输媒体
-2.5 信道的极限容量
--信道的极限容量
-2.6 信道复用技术
--信道复用技术
-2.7 ADSL
--ADSL
-第二章
-3.1 数据链路层的三个基本问题
-3.2 CSMA/CD协议
-3.3 虚拟局域网
--虚拟局域网
-3.4 扩展的以太网
--扩展的以太网
-3.5 高速以太网
--高速以太网
-第三章
-4.1 分类的IP地址-划分子网
-4.2 无分类编址-构造超网
-4.3 ICMP协议
--ICMP协议
-4.4 路由器结构
--路由器结构
-4.5 RIP协议
--RIP协议
-4.6 IP多播
--IP多播
-第四章
-5.1 用户数据报协议UDP
-5.2 TCP报文段首部格式
-5.3 可靠传输工作原理
--可靠传输工作原理
-5.4 字节为单位的滑动窗口实现
-第五章
-6.1 网络应用层
--网络应用层
-6.2 DNS
--DNS
-6.3 FTP
--FTP
-6.4 HTTP
--HTTP
-6.5 P2P
--P2P
-6.6 计算机网络面临的安全性威胁
-6.7 防火墙
--防火墙
--第六章
-7.1 交换机基本配置
--交换机基本配置
-7.2 路由器基本配置
--路由器基本配置
-7.3 交换机端口隔离
--交换机端口隔离
-7.4 跨交换机实现相同VLAN通信
-7.5 动态路由
--动态路由
-7.6 静态路由
--静态路由