🛑Q
用户A与用户B通过卫星链路通信时,传播延迟为270ms,假设数据速率为64kb/s,帧长为4000bit,若采用停止等待ARQ协议通信,则最大链路利用率为(1);若采用退后N帧ARQ协议通信,发送窗口为8,则最大链路利用率可以达到(2)。
(1) A、0.104 B、0.116 C、0.188 D、0.231
(2) A、0.416 B、0.464 C、0.752 D、0.832

🟢A



最大链路利用率,即一个周期中(发送时延+传输时延),按最大窗口发送帧的时间(发送时延)/ 往返的传输时延
发送时延 = 4000bit / (64kb/s) = 62.5ms
(这里4000bit = 4000/8byte = 500byte = 0.5kb,0.5kb/ (64kb/s) = 7.8125ms,但是算出来和答案不一样,答案估计是把4000bit算作了4000byte)
传输时延 = 270ms * 2 = 540ms
利用率 = 62.5ms / (62.5ms + 540ms) = 0.104


 


🔴Q
若TCP使用的最大窗口为64KB,而传输信道的带宽可认为是不受限制的。若报文段的平均往返时延为20ms,则能得到的最大吞吐量是____Mbps
A、24.6 B、26.2 C、25.8 D、26.8

🟢A
吞吐量最大,仍是一个周期中,按最大窗口发送的数据量
传输信道的带宽不受限制,即不考虑发送时延
最大吞吐量 = 64kb / 20ms = 64 * 1024 * 8bit / 20ms = 26.2Mbps

吐槽:
kb是乘1000还是乘1024,似乎根据题目随缘
靠谱点的一般计算机中的(如数据量)按1024算,计算机外的(如传输速率)按1000算
这里如果按1000算是25.6,没有匹配的选项


🔴Q
假设主机A要向主机B传输一个长度为512KB的报文,数据传输速率为500Mbps,途中需要经过8个路由器。每条链路长度为1000km,信号在链路中的传播速度为200000km/s,并且链路是可靠的。假定对于报文与分组,每个路由器的排队延迟时间为1ms,数据传输速率也为500Mbps。那么,在下列情况下,该报文需要多长时间才能到达主机B?
(1)采用报文交换方式,报文头部长为32B;
(2)采用分组交换方式,每个分组携带的数据为2KB,头部长为32B。

🟢A



报文总长度 = 头部长度 + 数据长度 = 32B + 512KB = ( 32 + 512 * 1024 )Byte = 524320Byte = 4194560bit
一次转发,
发送时延 = 4194560bit / (500Mbps) = 83.8912ms ≈ 84ms
传输时延 = 1000km / (200000km/s) = 5ms
排队时延 = 1ms
总共要经过8个路由器,第一次发送时无排队时延
总时间 = 发送时延 * 9 + 传输时延 * 9 + 排队时延 * 8 = 84ms * 9 + 5ms * 9 + 1ms * 8 = 809ms



分组个数 = 512KB / 2KB = 256
每个报文长度 = 32B + 2KB = 2080KB ≈ 16640bit
一次转发,
发送时延 = 16640bit / (500Mbps) = 0.33ms
传输时延仍为5ms
排队时延仍为1ms
总时间为前n-1个分组的发送时延,加上最后一个分组的所有时延(发送 * 9 + 传输 * 9 + 排队 * 8)
总时间 = ( 256 - 1 ) * 0.33ms + 0.33ms * 9 + 5ms * 9 + 1ms * 8 ≈ 140ms

 


🔴Q
有两台主机A和B接在800m长的电缆线的两端,并在t=0时各自想对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在A和B之间有4个转发器,在转发帧时会产生20bit的时延。设传输速率为100Mbit/s,而CSMA/CD的退避时间是随机数r倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时A选择r=0而B选择r=1。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
(1) 设信号的传播速率是2x10^8m/s,试计算从A到B(包括4个转发器)的传播时延
(2) 在什么时间(以秒为单位)B完全收到了A发送的帧?
(3) 现在假定只有A发送帧,帧长仍为1500bit,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的20bit的处理时延。在什么时间(以秒为单位)B完全收到了A发送的帧?

🟢A



电缆上的传播时延 = 800m / (2x10^8m/s) = 4μs
转发帧的时延 = 20bit / (100Mbit/s) = 0.2μs
传输时延 = 4μs + 0.2μs * 4 = 4.8μs



1帧的发送时延 = 1500bit / (100Mbit/s) = 15μs,大于上面计算的传输时延,所以在1帧发送完成之前可以监测到碰撞💥
A的退避时间 = 0 * 512bit / (100Mbit/s) = 0μs
B的退避时间 = 1 * 512bit / (100Mbit/s) = 5.12μs
发送帧后的事件如下:

  • t=0时,A和B同时发送帧
  • t=4.8时,A和B同时检测到碰撞(在中间碰撞,再传回来,仍为传输时延),立刻停止发送数据
  • t=9.6时,B发送的不完整的帧的最后一个bit到达A。A的退避时间为0,立刻重传
  • t=9.6时,A发送的不完整的帧的最后一个bit到达B。B的退避时间为5.12μs,在9.6+5.12=14.72之前,B都不会发送数据
  • t=14.4时(9.6+4.8),A重传帧的第一个bit到达B。此刻B仍在退避,收到A的帧,在14.72时不会发送数据,直至A的帧传完都不会发生冲突
  • t=29.4时(14.4+15),A重传帧的最后一个bit到达B

总的传输时延仍为4μs
主机A和4个交换机的发送时延 = 5 * 15μs = 75μs
4台交换机处理时延 = 20bit / (100Mbit/s) * 4 = 0.8μs