传统以太网CSMA/CD协议的应用题。
假定在一个10Mb/s以太网中,回答下列问题:
(1)假定该以太网中有两个站点A和B,这两个站点之间的传播时延为225比特时间。若A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B所发送的帧发生碰撞?(提示:**在物理信道上实际传送的应是MAC帧前面加上7字节的前同步码和1字节的帧开始定界符**)
(2)若该以太网中的站点A发送帧,试问连续第12次冲突后,该站点A最多延迟多久再次重新尝试发送帧?
答:(1)分为三步走
①计算出A发送的数据大小(10Mb/s的以太网争用期为51.2us。)
A发送的是最短的帧,即为512bit;而帧首帧尾一共有8*8bit=64bit;
A发送的帧总长度为512+64=576bit.
②计算出A检测到碰撞现象的时刻
两站点的传播时延为225bit。
假设A在0时刻发送帧,则经过225bit即可被B检测到,所以B要想在A结束之前发数据,必须在(0 ~ 224)bit这个时间段发送;假设B在224bit时刻发送数据,则到达A端被检测到的时刻为 224+225=449bit.
③比较A发送完毕和A检测到碰撞时刻
576bit>449bit,
所以A在发送完毕之前已经检测到碰撞,即A在检测到和B发生碰撞之前不能把自己的数据发送完毕。
(2)第二小问先了解CSMA/CD的核心要点碰撞退避:
①碰撞后,结点等待一段时间,重新开始载波检测和发送操作
②为避免退避后再次碰撞,冲突各方的等待时间应各不相同
③以太网采用截断二进制指数退避算法
注:退避时间T = 2τ×倍数
倍数:在0, 1, …, 2^k -1中取随机数,k = min(重传次数, 10)
重传次数超过16后,丢弃该帧,并向上层报告
故:12次冲突后,A站点最大延迟时间:
t=2τ× (的10次方-1)us=52377.6us
支持可以关注我哦。