如果载波侦听过程中发现介质空闲,则必须等待IFG(Inter Frame Gap)时间让物理信道恢复平稳,同时也让接收者对接收的帧作必要的处理。等待IFG时间后开始发送数据帧。如果这时没有其他站点要发送数据则不会发生冲突,站点可以完整的把数据帧发送完毕,重复下一次发送过程,继续发送下一个数据帧。
图2 CSMA/CD发送数据帧流程图 如果同一时间有多个站点要发送数据,那么就会发生冲突。冲突发生后,发送站点要持续发送一段时间的干扰信号(jamming),发送干扰信号的目的是为了确保共享介质上的所有站点都能够检测到这时以太网上已产生了冲突。然后发送站点终止未发送完的数据帧的发送,等待一个随机时间,这就是回退(backing off),等待的这个随机时间称为回退时间(backoff time)。 回退时间是SlotTime(SlotTime是传送最短以太网帧所需要的时间,对于10M和100M来说为传送512bit所需要的时间,10M是51.2微秒,100M是5.12微秒)的整数倍,回退时间的取值范围与检测到冲突的次数有关,每次检测到冲突后,r选择一个从0到2 k的随机整数 0≤r<2k ,这里 k=MIN {n,10}, n 为检测到冲突的次数。 回退时间为 r×SlotTime. 例如开始传送数据帧后,第一次检测到冲突后需要等待0-1倍SlotTime时间,第二次检测到冲突后等待0-3中随机整数个SlotTime 时间,以此类推。 当检测到的冲突次数超过最大重试次数(通常为16),则表示该数据帧发送失败,停止该数据帧的发送,通知网络管理员发生错误并丢弃数据帧,或者只是简单的丢弃数据帧,然后重置回退时间为0,开始冲突检测准备发送下一个数据帧。 |