以太网信道的冲突及争用期
争用期(信道竞争安全期)
最先发送数据帧的站,在发送数据帧后之多经过实践2τ(两倍的端对端往返时延)就可以知道发送的数据帧是否遭受了碰撞。以太网的端对端往返时延2τ称为争用期或碰撞窗口。经过争用期这段时间还没有检测到碰撞才能肯定这次发送不会发生碰撞。即站点在发送数据时,如果过了争用期还没有出现冲突的话,发送数据就不会发生冲突
☆以太网取51.2微秒为争用期的长度。对于10Mb/s以太网,在争用期内可发送512bit,即64字节。以太网在发送数据时,若前64字节没发生冲突,则后续的数据就不会发生冲突
二进制指数退避(后退)算法
发生第一次冲突后,各个站点等待0或1个时槽(每个时槽的长度是51.2微秒)再开始重传;发生第二次冲突后,各个站点随机地选择等待0、1、2、3个时槽再开始重传;第i次冲突后,在0至2i - 1 间随机地选择一个等待的时槽数,再开始重传;10次冲突后,选择等待的时槽数固定在0至210 - 1之间;16次冲突后,发送失败,报告上层
在有限的距离范围内接入的站点数量过多或者站点数量虽然没有超过上限但是连线距离缩短了很多(比如规定500米可接入100台主机,现在100米接入100台主机)时都会导致多次冲突而不能发送
最短帧长 图 1
如果发生冲突,就一定是在发送的前64字节之内;由于一检测到冲突就立即中止发送,这时已经发出去的数据一定小于64字节;以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。如果一个站点收到了小于64字节的帧,肯定是一个无效帧,可以直接扔掉
图1.pngA向B传送数据到达临界点τ的时候(快要到τ的时候),B还可以发送数据,发送到A用的时间为2τ的位置。2τ以内A这边要是没有冲突的话,说明A发送的数据就是安全的,没有出现冲突。如果A要确认自己在2τ以内没有出现冲突的话,意味着在2τ这个时间点A必须始终处于发送状态。也就是发送的数据帧的长度至少要为2τ时间内发送的长度,即64字节。如果A在红点处停止发送数据,那么它不会再继续监听和B发的数据有没有出现冲突(冲突检测是边发送边检测,发送结束就不再冲突检测)。
强化冲突
当发送数据的站一旦发现发生了冲突时,除了立即停止发送数据外,还要再继续发送若干比特的认为干扰信号,以便让所有用户(发送数据的以及未发送数据的所有用户)都知道现在已经发生了冲突