《實驗四傳輸層參考答案市公開課金獎市賽課一等獎?wù)n件》由會員分享,可在線閱讀,更多相關(guān)《實驗四傳輸層參考答案市公開課金獎市賽課一等獎?wù)n件(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,試驗四-傳播層參考答案,計算機學院教學試驗中心,-6-10,第1頁,第1頁,總覽:動靜結(jié)合,TCP,協(xié)議理解,靜:,TCP,報文格式,首部各字段;,動:協(xié)議運營各種機制,連接建立、釋放,傳播管理:定期器管理即超時與重傳機制,流量控制:滑動窗口機制,擁塞控制:慢啟動、擁塞避免、快重傳、快恢復(fù),糊涂窗口綜合癥避免:發(fā)送端,Nagle,算法、接受端推遲確認技術(shù),第2頁,第2頁,數(shù)據(jù)傳播要點(兼解疑),TCP,是全雙工,即,TCP,每端既可發(fā)送數(shù)據(jù)也可接受數(shù)據(jù)。每個,TCP,連接中都有兩條數(shù)據(jù)“流”,,TCP,每
2、端發(fā)出報文中“序列號”,字段只用于表示自己所,發(fā)送,“數(shù)據(jù)流”數(shù)據(jù)序號,,“確認號”字段只用于表示(確認)自己所接受“數(shù)據(jù)流”數(shù)據(jù)序號,且每次在自己發(fā)送數(shù)據(jù)時捎帶確認,“窗口”字段只用于表示給自己所接受“數(shù)據(jù)流”接受窗口大小。,試驗場景設(shè)置只啟用了,TCP,每一端,一個功效,,,即一端只,發(fā)送數(shù)據(jù)另一端只接受數(shù)據(jù),,并從這個角度將,TCP,兩端分別稱作發(fā)送方和接受方。,相稱于只啟用了,TCP,單工功效,只啟用和分析了,TCP,連接中一個“流”,第3頁,第3頁,題1參考答案,連接建立方式:三次握手;,PCA,:積極打開方,(C),;,PCB,:被動打開方,(S),。,先點發(fā)送后點接受,連接沒法成
3、功,注意:,(有時,先點發(fā)送后點接受間隔很短也會連接成功,這是由于發(fā)出SYN報文后一段時間沒有收到SYN+ACK報文,會重復(fù)幾次發(fā)送SYN報文試探),原因:,C/S,模式,,Server,沒啟,,Client,也就連接不上了。,假如沒有應(yīng)用進程被動打開,則積極打開應(yīng)用進程也就無法成功建立起一個連接。,結(jié)合看,TCP,狀態(tài)機,必須有被動打開方才干連,第4頁,第4頁,TCP狀態(tài)變遷圖,參考書籍:,(美)W.Richard Stevens著,范建華 等譯 TCP/IP協(xié)議詳解,卷一:協(xié)議,機械工業(yè)出版社,計算機科學叢書,4月,第5頁,第5頁,題2、4要點,連接建立三次握手,連接釋放四次握手,能夠結(jié)合
4、,TCP,狀態(tài)機,連接建立過程:“,Flags,字段”,SYN,、,ACK,標識位。,連接釋放過程:“,Flags,字段”,FIN,、,ACK,標識位。,第6頁,第6頁,題3要點:選項字段-MSS,連接建立時協(xié)商參數(shù)“選項,(Option),字段”,Maximum Segment Size,+-+-+-+-+,|00000010|00000100|max seg size|,+-+-+-+-+,Kind=2 Length=4,Maximum Segment Size Option Data:16 bits,試驗報文中十六進制數(shù)值:,02 04 05 b4,第7頁,第7頁,題3要點:以太網(wǎng)幀,最
5、大傳播單元(MTU)限制:1500字節(jié);,最小傳播單元限制:46字節(jié)。,為何有最大?最?。繀⒖糀ST計算機網(wǎng)絡(luò)第四版,第8頁,第8頁,題3、5參考答案,MSS=,最大,MTU,長度,IP首部,固定(最?。?長度,TCP,首部固定(最?。╅L度,=1500-20-20=1460,-,題,3,TCP,數(shù)據(jù)部分長度計算公式,-,題,5,要區(qū)別題3,要點:結(jié)合,IP首部各,字段,、,TCP首部各,字段,=(IP,總長度字段,(16 bits),值,-IP,首都長度字段,(4 bits),值,*,4,-TCP,首部長度字段,(4 bits),值,*,4,),字節(jié),IP,、,TCP,首都長度字段值以,32b
6、its(4bytes),為單位,第9頁,第9頁,滑動窗口機制要點,窗口左邊沿定義,窗口指針定義,窗口右邊沿定義,注意:查看數(shù)據(jù)文獻tcpsndwnddata.txt體會發(fā)送窗口改變,同時推斷接受窗口改變,第10頁,第10頁,題6(1)要點,要點:結(jié)合慢啟動,第11頁,第11頁,題6(3)要點,事實上,,6(3),題就是發(fā)送方和接受方窗口同時前、后問題,分為兩種情況:,發(fā)送方發(fā)送,DATA,報文,接受方窗口同時前、后問題,接受方發(fā)送,ACK,報文,發(fā)送方窗口同時前、后問題,窗口同時,:在,網(wǎng)絡(luò)中沒有報文,時,包括,接受方收到發(fā)送方發(fā)出所有報文,,發(fā)送方收到接受方發(fā)出所有報文,,發(fā)送方窗口與接受方
7、窗口,左邊沿、指針應(yīng)當是同樣(同時)。,第12頁,第12頁,題6(3)發(fā)送方發(fā)送DATA報文,DATA,報文,到達接受方前,DATA,報文,到達接受方后,,并與發(fā)送方窗口同時,第13頁,第13頁,題6(3)接受方發(fā)送ACK報文,ACK,報文,到達發(fā)送方前,ACK,報文,到達發(fā)送方后,,并與接受方窗口同時,第14頁,第14頁,窗口同時問題小結(jié),窗口左邊沿,是由接受方發(fā)送,ACK,報文驅(qū)動改變;,接受方發(fā)送,ACK,報文后其接受窗口左邊沿向右滑動;,發(fā)送方在收到,ACK,報文后其發(fā)送窗口左邊沿也隨之向右滑動。,窗口指針,是由發(fā)送方發(fā)送,DATA,報文驅(qū)動改變;,發(fā)送方發(fā)送,DATA,報文后其發(fā)送窗
8、口指針向右滑動;,接受方在收到,DATA,報文后其接受窗口指針也隨之向右滑動。,接受窗口右邊沿,與接受緩存、接受方確認數(shù)據(jù)都相關(guān)系;,在接受緩存足夠情況下,接受方確認數(shù)據(jù),其接受窗口左邊沿向右滑動,接受窗口右邊沿也向右滑動,滿足接受窗口最大值,65535,;,在接受緩存不夠情況下,無法滿足接受窗口最大值,65535,,則接受方確認數(shù)據(jù),其接受窗口左邊沿向右滑動,而接受窗口右邊沿停滯不動,對外表現(xiàn)為接受方向發(fā)送方發(fā)送,ACK,報文時其通告接受窗口越來越小。,發(fā)送窗口右邊沿,與發(fā)送方擁塞窗口,cwnd,、接受方通告接受窗口,rwnd,相關(guān),在任何時候,其值,=,發(fā)送窗口左邊沿,+min cwnd,
9、rwnd,。,第15頁,第15頁,題6(2)要點,主要是接受方窗口與緩存關(guān)系,第16頁,第16頁,題,6(2),圖例演示,1/2,接受方,第17頁,第17頁,題,6(2),圖例演示,2/2,接受方,第18頁,第18頁,題6(2)參考答案,假如接受緩存,不小于,65535,,在接受窗口值,連續(xù)減少前,接受端已開始休眠。,假如接受緩存,小于等于,65535,,在接受窗口值,連續(xù)減少時,接受端開始休眠。,能夠明顯看出接受端開始休眠 是,X1,號報文,由于其后通告接受窗口越來越小,(左邊沿在不斷向右移動,而右邊沿不再移動),接受方在窗口范圍外可用緩存已被使用完,表明接受方在窗口范圍外可用緩存被已確認數(shù)
10、據(jù)占據(jù)著,應(yīng)用程序進程沒有再從緩存中讀取這些已確認數(shù)據(jù),即表明其已開始休眠。,第19頁,第19頁,題6(4)要點,窗口收縮定義:右邊沿向左移動,窗口合攏定義:左邊沿向右邊沿靠近,窗口張開定義:右邊沿向右移動,接,6(2),圖例演示,繼續(xù),第20頁,第20頁,題6(4)參考答案,窗口收縮普通不發(fā)生,窗口合攏發(fā)生在,接受窗口連續(xù)減小期間,窗口張開發(fā)生在,休眠結(jié)束后通告大窗口時,第21頁,第21頁,題7要點與答案,窗口偵查報文指是Keep-Alive報文,每相鄰兩條窗口偵查報文Keep-Alive報文 時間差構(gòu)成數(shù)據(jù)序列規(guī)律:成倍增長規(guī)律,t,1,t,2,t,3,t,4,t,5,t,6,t,7,t1
11、=,t2-t1,窗口偵查報文發(fā),送或接受時間,相鄰兩條窗口偵,查報文時間差,t2=,t3-t2,t3=,t4-t3,t2=,2,t1,t3=,2,t2,.,t,n,=,2,t,n-1,第22頁,第22頁,題8(1)答案,慢啟動初始值,sthread=65535,,,snd_cwnd=2,;,RFC2581,慢啟動初始值要求。,snd_cwnd*1460 ssthread,,慢啟動階段。,發(fā)送窗口計算,snd_wnd=min cwnd,rwnd,rcv_wnd=65535,,,snd_cwnd*1460=2920,;,因此,snd_wnd=min snd_cwnd,rcv_wnd=snd_cwn
12、d*1460=2920,;,snd_wnd_right=snd_wnd_left+snd_wnd,。,第23頁,第23頁,題8(2)答案,ssthread不變=65535,每收到一個ACK報文,snd_cwnd加1。,由于snd_cwnd*1460 ssthread,處于慢啟動階段,每收到一個ACK,snd_cwnd至多增長1個MSS數(shù)值(即隨RTT時間而指數(shù)增長)。,第24頁,第24頁,題8(2)驗證規(guī)律答案,能夠。,現(xiàn)象,(普通情況下),:發(fā)送方初次發(fā)送,2,個,DATA,報文,其后維持在兩個確認報文之間發(fā)送,3,個,DATA,報文。,原因:,在發(fā)送方,發(fā)滿,當前發(fā)送窗口,snd_wnd,
13、情況下(慢啟動初始發(fā)滿兩個,DATA,報文),收到接受方,1,個,ACK,報文時,,由于接受方每收到,2,個,DATA報文,發(fā)送個ACK報文對其進行確認,那么在維持當前發(fā)送窗口snd_wnd,不變情況下,發(fā)送方可再次發(fā)送,2,個,DATA,報文,,同時由于慢啟動機制,收到一個正常,ACK,報文擁塞窗口,cwnd,值加,1,,在,cwnd,遠小于接受窗口,rwnd,時,,snd_wnd,就等于,cwnd,即,snd_wnd,加,1,,發(fā)送方還可再發(fā)送,1,個,DATA,報文,,這樣發(fā)送方共可發(fā)送,3,個,DATA,報文。,第25頁,第25頁,題8(2)驗證規(guī)律題定量分析歸納,試驗現(xiàn)象(普通情況下
14、),發(fā)送方:初次發(fā)送,2,個,DATA,報文,其后維持在兩個確認報文之間發(fā)送,3,個,DATA,報文。,接受方:接受方每收到,2,個,DATA報文,發(fā)送個ACK報文對其進行確認,。,第26頁,第26頁,規(guī)律分析-初始,初始:,snd_wnd=min snd_cwnd,rcv_wnd=2*MSS,;,snd&noAck_data=0*MSS,;,useable_wnd=2*MSS,注:假設(shè)每個發(fā)送報文大小都是,1,個,MSS,第27頁,第27頁,規(guī)律,分析-第1步,發(fā)送,2,個,DATA,報文,snd_wnd=2*MSS,;,snd&noAck_data=2*MSS,;,useable_wnd=
15、0*MSS,收到1個,ACK,報文,snd_wnd=snd_wnd_old+,1*MSS,=3*MSS,;,snd&noAck_data=snd&noAck_data_old,2*MSS,=0*MSS,;,useable_wnd=1*MSS+2*MSS=3*MSS,第28頁,第28頁,規(guī)律,分析-第2步,發(fā)送,3,個,DATA,報文,snd_wnd=3*MSS,;,snd&noAck_data=3*MSS,;,useable_wnd=0*MSS,收到1個,ACK,報文,snd_wnd=snd_wnd_old+,1*MSS,=4*MSS,;,snd&noAck_data=snd&noAck_da
16、ta_old,2*MSS,=1*MSS,;,useable_wnd=1*MSS+2*MSS=3*MSS,第29頁,第29頁,規(guī)律,分析-第3步,發(fā)送,3,個,DATA,報文,snd_wnd=4*MSS,;,snd&noAck_data=4*MSS,;,useable_wnd=0*MSS,收到1個,ACK,報文,snd_wnd=snd_wnd_old+,1*MSS,=5*MSS,;,snd&noAck_data=snd&noAck_data_old,2*MSS,=2*MSS,;,useable_wnd=1*MSS+2*MSS=3*MSS,第30頁,第30頁,規(guī)律,分析-第4步,發(fā)送,3,個,DATA,報文,snd_wnd=5*MSS,;,snd&noAck_data=5*MSS,;,useable_wnd=0*MSS,收到1個,ACK,報文,snd_wnd=snd_wnd_old+,1*MSS,=6*MSS,;,snd&noAck_data=snd&noAck_data_old,2*MSS,=3*MSS,;,useable_wnd=1*MSS+2*MSS=3*MSS,第31頁,第31頁,