第1题:
以太网采用截断二进制指数退避算法来解决碰撞问题。截断二进制算法并不复杂,这种算法让发生碰撞的站在停止发送数据后,不是等待信道变为空闲后就立即再发送数据,而是推迟一个随机的时间。这样做是为了使得重传时再次发生冲突的概率减少。具体的退避算法如下:
(1)确定基本退避时间,一般是取为争用期2t。
(2)从整数集合[0,1,…, (2k-1)]中随机地取出一个数,记为r。重传应退后的时间为r倍的争用期。上面的参数k按下面公式计算:
k = Min[重传次数, 10]
可见当重传次数不超过10时,参数k等于重传次数,但当重传次数超过10时,k就不再增大而一直等于10。
(3)当重传次数达16次仍不能成功时,则表明同时打算发送数据的站太多,以至连续发生冲突,则丢弃该帧,并向高层报告。
例如,在第一次重传时,k=1,随机数r从整数【0、1】中选择一个数。因此重传的站可选择重传推迟时间为0或2t,在这两个时间内随机选择一个。
如果再发生碰撞,则在第2次重传时,k=2,随机数r就从整数{0,1,2、3}中选择一个数。因此重传推迟时间为0、2t、4t、6t,这四个时间内选择一个。
同理,依次类推,当重传次数达16次仍不能成功时,则表明同时打算发送数据的站太多,以至连续发生冲突,则丢弃该帧,并向高层报告。
以太网规定取 51.2μs 为争用期长度,也就是64B字节(512)通过10Mbps以太网的传输时间,所以重传退后的实际为K倍的争用期。
第2题: