資源描述:
《實驗6傳輸層協(xié)議分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實驗6傳輸層協(xié)議分析2006.05總體說明4.1節(jié)實驗使用Windows系統(tǒng),實驗步驟按書本;4.2節(jié)實驗同時使用Windows系統(tǒng)和Linux系統(tǒng),實驗步驟按補充教材;4.3節(jié)實驗使用Windows系統(tǒng),實驗步驟按此補充教材。兩個人為一組(PCA和PCB為一組,PCC和PCD為一組);TCP實驗中PCA(PCC)為發(fā)送端,PCB(PCD)為接收端。TCP實驗中使用Ethereal截報文時切記啟用TCP報文過濾??傮w說明在Linux系統(tǒng)下做的實驗先在本地磁盤保存相關(guān)實驗數(shù)據(jù),待此系統(tǒng)下所有實驗(4.2節(jié)實
2、驗1、2、3)做完后再改動PC機IP地址設(shè)置,將相關(guān)實驗數(shù)據(jù)上傳FTP服務(wù)器(192.192.169.200);并同時清空保存在本地磁盤目錄/root/DATA/中的實驗數(shù)據(jù)。在Windows系統(tǒng)下做的實驗數(shù)據(jù)請保存在E盤,或者在切換Linux系統(tǒng)前上傳FTP服務(wù)器。因為每次啟動系統(tǒng)磁盤C和D自動清空前次改動。各實驗的實驗分析工作,可隨實驗同步進行,也可做完所有實驗后進入Windows系統(tǒng)再從FTP服務(wù)器下載本組實驗數(shù)據(jù)進行,完成實驗報告。實驗總體安排TCP協(xié)議基本分析(40分鐘)集中講解(10分鐘)TC
3、P滑動窗口和窗口探查機制(50分鐘)集中講解(10分鐘)慢啟動、擁塞避免、超時重傳(50分鐘)集中講解(10分鐘)快重傳、快恢復(fù)(20分鐘)Nagle算法(20分鐘)UDP協(xié)議分析(20分鐘)TCP協(xié)議測試軟件關(guān)于“TCP協(xié)議測試軟件”的休眠設(shè)置的說明接收端中有“休眠時間”和“計數(shù)器閥值”兩個與休眠有關(guān)的參數(shù);休眠是指“TCP協(xié)議測試軟件”應(yīng)用程序進程在從套接字中讀取n次(由“計數(shù)器閥值”設(shè)置)數(shù)據(jù)后開始休眠,即應(yīng)用程序進程停止從套接字中讀取數(shù)據(jù);但此時處于內(nèi)核態(tài)的“TCP協(xié)議模塊”仍在工作符號說明pkt
4、_type:報文的類型,共有snd_con_syn,rcv_con_syn_ack,snd_con_ack,snd_data,rcv_ack,timeout,tx_full等幾種類型。RorS_seqno:發(fā)送報文序號或接收報文序號(按發(fā)送方發(fā)送和接收區(qū)分)。snd_ssthresh:發(fā)送方的慢啟動閥值。snd_cwnd:發(fā)送方的擁塞窗口大小(以MSS為單位)。rcv_wnd:目前接收方通告的窗口大?。ㄒ宰止?jié)為單位)。snd_wnd_left:發(fā)送窗口左邊沿,即已發(fā)送數(shù)據(jù)中等待確認的序號。符號說明snd_
5、wnd_pointer:發(fā)送窗口指針,即已發(fā)送數(shù)據(jù)的最高序號。snd_wnd_left+rcv_wnd:此值=snd_wnd_left+rcv_wnd,即發(fā)送窗口的左邊沿加上接受方通告的接收窗口大?。ㄗ止?jié))后的值。snd_wnd_left+cwnd:此值=snd_wnd_left+snd_cwnd*1460,即發(fā)送窗口的左邊沿加上發(fā)送方的擁塞窗口大?。ㄗ止?jié))后的值。snd_wnd_pointer-left:此值=snd_wnd_pointer-snd_wnd_left,表明發(fā)送方已發(fā)送但未被確認的數(shù)據(jù)字節(jié)
6、數(shù)。擁塞控制-滑動窗口發(fā)送窗口接收窗口發(fā)送窗口的說明發(fā)送窗口≤min[snd_cwnd,rcv_wnd]左邊沿=最近的一個Ack報文的Ack_SEQ_num注:若當前報文是一個Ack報文,則snd_wnd_left=Ack_SEQ_num否則,snd_wnd_left=上一個Ack報文的Ack_SEQ_num指針=最近的一個發(fā)送數(shù)據(jù)報文的SEQ_num+Len(也就是ethereal顯示的Next_SEQ_num)注:若當前報文是一個發(fā)送數(shù)據(jù)報文,則snd_wnd_pointer=Next_SEQ_num
7、=SEQ_num+Len否則,snd_wnd_pointer=上一個發(fā)送報文的Next_SEQ_num右邊沿=左邊沿+發(fā)送窗口大小=min[snd_wnd_left+cwnd,snd_wnd_left+rcv_wnd]接收窗口的幾點說明為了實驗的分析方便,我們不妨設(shè)接收窗口如上圖所示;通告的接收窗口大小≤接收緩存的大?。唤邮沾翱诒环湃胍粋€環(huán)形的接收緩存中,并在其中滑動;左邊沿=最近的一個Ack報文的Ack_SEQ_num指針=最近的一個發(fā)送報文的SEQ_num+Len(也就是ethereal顯示的Next
8、_SEQ_num)右邊沿=左邊沿+接收窗口大小如果進程讀取了部分數(shù)據(jù),右邊沿即向前滑動了相應(yīng)的距離,窗口變大?;瑒哟翱冢l(fā)送窗口變化DATASYNACKSYN+ACKDATAACK滑動窗口小結(jié)窗口的左邊沿是由接收方發(fā)送ACK報文驅(qū)動變化的;接收方發(fā)送ACK報文后其接收窗口左邊沿向右滑動,發(fā)送方在收到ACK報文后其發(fā)送窗口左邊沿也隨之向右滑動。窗口的指針是由發(fā)送方發(fā)送DATA報文驅(qū)動變化的;發(fā)送方發(fā)送DATA報文后其發(fā)送窗口指針