-
总线 / 广播通信 的 特点
当总线上一台计算机发送数据时,总线上的 所有计算机都能检测到这个数据 -
广播特性总线上的一对一通信
使每一台计算机的适配器拥有一个与其它适配器都不同的地址 mac
在发送数据帧时,在帧的首部写明接收站的地址
(目的mac地址)
仅当数据帧中的目的地址
与适配器ROM中存放的硬件地址
一致时,该适配器才接收这个数据帧;否则丢弃这个数据帧 -
无连接 的工作方式
不用事先建立连接,直接发送数据,不可靠的交付服务
适配器对发送的数据帧不进行编号,不要求对方回复确认(为了简化以太网通信)
接收端收到出错帧,直接丢弃
对有差错的数据帧是否重传由高层决定:如TCP协议会发现一些丢失的数据,过一段时间后TCP把这些数据重传给以太网进行重传,以太网不知此为重传帧,视为新的数据帧来发送
总线上同一时间只允许一台计算机传输数据,否则各发送方会相互干扰,发送数据被损坏,使用 CSMA / CD 协议(载波监听多点接入 / 碰撞检测)解决此问题 -
曼切斯特编码
二进制基带数字信号通常是高低电压交替出现的信号,当出现一连串的连1或者连0
时,接收端无法从 收到的比特流 中提取 位同步信号
使用曼彻斯特编码可以方便提取位同步信号
曼彻斯特编码的缺点
:所占的频带宽度比原始的基带信号加倍了(每秒的传输码元数加倍了) -
载波监听
检测总线上是否有其它计算机也在发送数据
其实总线没有载波,只是借用一下这个名词
其实就是检测信道,发送前和发送中每个站都不停地检测信道
发送前检测信道,是为了获取发送权,只有总线空闲才能发送
发送中检测信道,是为了及时发现是否有其他站的发送和本站发送产生碰撞(冲突),此为碰撞检测 -
多点接入
总线型网络上,许多计算机以多点接入的方式连接在一根总线上 -
碰撞检测
边发送边监听:适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。当几个站同时在总线上发送数据时,总线上的信号电压变化幅度会增大(互相叠加),当适配器检测到总线上信号电压变化幅度超过一定的门限值,就认为至少有两个站同时在发送数据,产生碰撞。
当某个适配器检测出碰撞后立即停止发送,避免继续浪费资源,等待一个随机时间再次发送 -
发送前检测到空闲,仍能产生碰撞的原因
根本原因
:以太网只能进行双向交替通信(半双工通信)
电磁波在总线上以有限速率
传播,存在传播时延
单程端到端时延
记为τ
最早要在2 * τ
时间点上就能判断是否发生碰撞(按最坏情况考虑,δ->0的情况)
每个站在自己发送数据时都存在碰撞的可能。开始发送计时,经过2 * τ
的时间可以确定是否碰撞(快的话一个 τ 就能检测到碰撞)
一次以太网不能保证一定能成功发送数据帧,此为发送的不确定性
若以太网的平均通信量远小于以太网的最高数据率,以太网发生碰撞的机会会很小 -
争用期 / 碰撞窗口
以太网的端到端往返时间
:2 * τ
一个站发送数据开始计时,经过争用期这段时间内还没有检测到碰撞,便能确定此次发送不会产生碰撞。如此可以确定正确发送完这一帧
若争用期为 51.2 μs,对于 10 mbps 的以太网,争用期内可以发送 512 bit,即 64 字节,此长度亦为最小帧长度(小于此长度接收端会认定此帧因为检测到冲突被提前中断发送了) -
截断二进制指数退避算法
用来确定碰撞后重传的时机(确定等待的随机时间,注意不是空闲就立即发送)
k = Min [ 当前站当前帧的重传次数,10 ]
然后从离散整数集合 [ 0,1,… ,(2k - 1)]中随机取出一个数,记为 r,若 r 超过 16,则直接丢弃该帧,向高层报告
当前站当前帧重传等待时间为 r * 2τ
(重传次数越大,离散整数k 的集合范围越大,那么彼此的重传时间差别就越大,不容易随机到同一个数值,不会再一次冲突,如此实现动态退避) -
以太网最小帧长度
如上情况,若发生碰撞,就一定会在前64字节内停止发送,因此发送出去的数据一定小于64字节。
因此规定长度小于64字节的帧
均视为由于冲突而异常终止的无效帧
接收端收到这种帧,直接丢弃
要确保发送的帧的总长大于 64 字节 -
强化碰撞
当发送数据的站检测到碰撞,除了立即停止发送数据,并继续发送32比特或48比特 的 人为干扰信号
,以便让所有用户都知道现在已经发生碰撞
如上图
A 从发送数据开始到发现碰撞再到停止发送的时间间隔是 TB
A 检测出碰撞已经发生时所发送的强化碰撞的干扰信号的持续时间是 TJ
整个信道被占用的时间还要增加一个单程的端到端的传播时延 τ
发生碰撞使得 A 浪费时间 TB + TJ
总线被占用的时间是 TB + TJ + τ -
以太网设置最小帧长和最大帧长各有什么目的
最小帧长:因为碰撞后取消发送当前帧,需要区分正确的帧与这种中断发送的帧
最大帧长:保证各个站都能公平地竞争接入以太网,若某个站发送了特别长的数据帧,其他站需要等待很长时间才能发送数据 -
CSMA / CD 协议要点
先听后发
边听边发(网络适配器要边听边发)
冲突停止
延迟重发(以太网每发完一帧就把已发送的帧暂存一下,若在争议期内检测出碰撞,推迟一段时间再重发这个暂存的帧)
3.3.2 CSMA / CD 协议(载波监听多点接入 / 碰撞检测)
最新推荐文章于 2024-11-23 15:01:48 发布