TCP IP詳解學習筆記(13)

2021-06-17 18:32:33 字數 1877 閱讀 8562

1.tcp連線的建立

設主機b執行乙個伺服器程序,它先發出乙個被動開啟命令,告訴它的tcp要準備接收客戶程序的連續請求,然後服務程序就處於聽的狀態。不斷檢測是否有客戶程序發起連續請求,如有,作出響應。設客戶程序執行在主機a中,他先向自己的tcp發出主動開啟的命令,表明要向某個ip位址的某個埠建立運輸連線,過程如下:

1)主機a的tcp向主機b的tcp發出連線請求報文段,其首部中的同步位元syn應置1,同時選擇乙個序號x,表明在後面傳送資料時的第乙個資料位元組的序號是x。

2)主機b的tcp收到連線請求報文段後,如同意,則發揮確認。在確認報文段中應將syn置為1,確認號應為x+1,同時也為自己選擇乙個序號y

3)主機a的tcp收到此報文段後,還要向b給出確認,其確認號為y+1

4)主機a的tcp通知上層應用程序,連線已經建立,當主機b的tcp收到主機a的確認後,也通知上層應用程序,連線建立。

2.tcp連線的釋放

在資料傳輸完畢之後,通訊雙方都可以發出釋放連線的請求。釋放連線的過程為如上圖所示:

1)資料傳輸結束後,主機a的應用程序先向其tcp發出釋放連線請求,不在傳送資料。tcp通知對方要釋放從a到b的連線,將發往主機b的tcp報文段首部的終止位元fin置為1,序號u等於已傳送資料的最後乙個位元組的序號加1。

2)主機b的tcp收到釋放連線通知後發出確認,其序號為u+1,同時通知應用程序,這樣a到b的連線就釋放了,連線處於半關閉狀態。主機b不在接受主機a發來的資料;但主機b還向a傳送資料,主機a若正確接收資料仍需要傳送確認。

3)在主機b向主機a的資料傳送結束後,其應用程序就通知tcp釋放連線。主機b發出的連線釋放報文段必須將終止位元置為1,並使其序號w等於前面已經傳送過的資料的最後乙個位元組的序號加 1,還必須重複上次已傳送過的ack=u+1。

4)主機a對主機b的連線釋放報文段發出確認,將ack置為1,ack=w+1, seq=u+1。這樣才把從b到a的反方向連線釋放掉,主機a的tcp再向其應用程序報告,整個連線已經全部釋放。

3.注意的問題

四次揮手釋放連線時,等待2msl的意義

4.tcp的有限狀態機

連線的建立和釋放所要求的步驟可以用乙個有限狀態機來表達,該狀態機有11種狀態。每一種狀態中都存在一些合法的事件,當合法事件發生的時候,可能需要採取某個動作。當其他事件發生的時候,則報告乙個錯誤。

狀 態描 述closed

關閉狀態,沒有連線活動或正在進行

listen

監聽狀態,伺服器正在等待連線進入

syn rcvd

收到乙個連線請求,尚未確認

syn sent

已經發出連線請求,等待確認

established

連線建立,正常資料傳輸狀態

fin wait 1

(主動關閉)已經傳送關閉請求,等待確認

fin wait 2

(主動關閉)收到對方關閉確認,等待對方關閉請求

timed wait

完成雙向關閉,等待所有分組死掉

closing

雙方同時嘗試關閉,等待對方確認

close wait

(被動關閉)收到對方關閉請求,已經確認

last ack

(被動關閉)等待最後乙個關閉確認,並等待所有分組死掉

tcp建立與釋放的變遷如圖所示:

伺服器程序變遷的過程(粗虛線)

TCP IP詳解學習筆記

ospf 開房最短路徑優先 ospf是一種鏈路狀態協議,在鏈路狀態協議中,路由器並不與其相鄰的路由交換距離資訊。而採用的是每個路由器主動地測試與相鄰路由器鏈路的狀態,並將這些資訊傳送給它的相鄰路由器,而鄰居路由器將這些資訊在自治系統中傳播出去。每個路由器接收到這些鏈路狀態資訊後,並建立起完整的路由表...

TCP IP詳解學習筆記

zz tcp ip詳解學習筆記 1 基本概念 在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,...

TCP IP詳解學習筆記

tcp ip詳解學習筆記 1 基本概念 tcp ip詳解學習筆記 2 資料鏈路層 tcp ip詳解學習筆記 3 ip協議,arp協議,rarp協議 tcp ip詳解學習筆記 4 icmp協議,ping和traceroute tcp ip詳解學習筆記 5 ip選路,動態選路,和一些細節 tcp ip詳...