假設主機A向主機B發送5個連續的報文段,主機B對每個報文段進行確認,其中第二個報文段丟失,其余報文段以及重傳的第二個報文段均被主機B正確接收,主機A正確接收所有ACK報文段;報文段從1開始依次連續編號(即1、2、3……),主機A的超時時間足夠長。請回答下列問題:
1).如果分別采用GBN、SR和TCP協議,則對應這三個協議,主機A分別總共發了多少個報文段?主機B分別總共發送了多少個ACK?它們的序號是什么?(針對3個協議分別給出解答)
2).如果對上述三個協議,超時時間比5RTT長得多,那么哪個協議將在最短的時間間隔內成功交付5個報文段?
1)GBN:A發送了9個報文段 序號分別是:1 2 3 4 5 2 3 4 5
B發送了6個ACK 序號分別是:ACK1 ACK1 ACK1 ACK1 ACK2 ACK3 ACK4 ACK5。
SR:A發送了6個報文段 序號分別是 1 2 3 4 5 2。
B發送了5個ACK 序號分別是:ACK1 ACK3 ACK4 ACK5 ACK2。
TCP:A發送了6個報文段 序號分別是 1 2 3 4 5 2。
B發送了5個ACK 序號分別是:ACK2 ACK2 ACK2 ACK2 ACK6。
2)如果對上述三個協議,超時時間比5RTT長得多,那么TCP協議將在最短的時間間隔內成功交付5個報文段。
因為TCP協議有快速重傳機制。
標准答案(點我深度學習)
標准答案2(點我深度學習)
假設A、B兩個端系統通過唯一的一條8Mbps鏈路連接(M=10^6),該鏈路的雙向傳播時延是150ms;A通過一個TCP連接向B發送一個大文件,B的接收緩存足夠大,每個TCP段最大段長度(MSS)為1500字節,TCP采用Reno版本,且總是處於擁塞避免階段(即忽略慢啟動)。請回答下列問題:
1).該TCP連接能夠獲得的最大窗口尺寸(以TCP段數計)是多少?
2).該TCP連接的平均窗口尺寸(以TCP段數計)和平均吞吐量(以bps計)是多少?
3).該TCP連接的擁塞窗口從發生丟包到恢復到最大窗口尺寸要經歷多長時間?
我的答案
1)吞吐量throughput = 8Mbps;RTT=150ms=0.15s;最大段長度MSS=1500byte(字節);求窗口大小W。
根據公式:throughput=W*MSS*8/RTT
得到W=throught*RTT/(MSS*8)=8*10^6bps*0.15s/(1500byte*8) = 100。
2)平均窗口尺寸=0.75W=0.75*100=75;
平均吞吐量=0.75W*MSS*8/RTT=75*1500*8/0.15=6*10^6bps*6Mbps。
3)0.15*100/2=7.5s;
標准答案(點我深度學習)
標准答案2(點我深度學習)