TCP/IP協議四層模型學習筆記


TCP/IP參考模型:因特網標準

TCP/IP傳輸協議,即傳輸控制/網絡協議,也叫作網絡通訊協議。它是在網絡的使用中的最基本的通信協議。TCP/IP傳輸協議對互聯網中各部分進行通信的標準和方法進行了規定。並且,TCP/IP傳輸協議是保證網絡數據信息及時、完整傳輸的兩個重要的協議。TCP/IP傳輸協議嚴格來說是一個四層的體系結構,應用層、傳輸層、網絡層和數據鏈路層都包含其中。

TCP/IP(DOD)模型比較OSI參考模型
在這裏插入圖片描述

TCP/IP—層次結構

1網絡接口層:
是TCP/IP參考模型的最低層,它負責通過網絡發送和接收IP數據包,相對於OSI的數據鏈路層和物理層,未規定在本層用什麼樣的協議來實現;

2互聯網層:
使用IP協議提供“盡力而爲(best effort)”的網絡分組傳輸服務。將運輸層報文封裝成IP數據報,選擇適當的發送路徑,並將數據報轉發發哦下一個結點。相對於OSI的網絡層;

3運輸層:
負責在會話的進程之間建立和維護“端與端”的連接。定義了兩種不同的協議:傳輸控制協議(TCP協議,提供了可靠的數據傳遞需要面向連接)與用戶數據報協議(UDP協議,不能提供可靠的數據傳輸也不能面向連接,它的優點是高效),對實時性要求比較高的傳輸可以使用UDP協議爲其服務,例語音,視頻。對應OSI的運輸層;

4應用層:
和OSI參考模型的應用層類似,爲應用軟件提供多種網絡服務。包含了OSI中的應用層,表示層,會話層的功能。
例傳輸萬維網的數據使用了超文本傳輸協議HTTP;要傳輸文件,使用了文件傳輸協議FTP;想要收發電子郵件,使用了SMTP和POP。在應用層中允許客戶去根據自己的需求定義多種不同的協議,來實現不同的網絡通信類型。

TCP協議

TCP(傳輸控制協議)是一種面向連接的可靠協議

TCP的三次握手

在這裏插入圖片描述
第一次握手:建立連接時,客戶端向服務器發送一個SYN包,其中SYN標誌位爲1,發送順序號seq=X。客戶端進入SYN_SENT狀態,等待服務器確認。
第二次握手:當服務器收到客戶端的請求後,此時要給客戶端給一個確認信息ACK,同時發送SYN包,其中包SYN、ACK標誌位爲1,發送順序號seq=Y,確認序號ack=x+1,此時服務器進入SYN_RECV接收狀態。
第三次握手:客戶端收到服務器發的ACK+SYN包後,向服務器發送ACK,ACK標誌位爲1,seq=x+1,ack=y+1,此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。
爲什麼三次?
第一次:客戶端發送請求到服務器,服務器知道客戶端發送,自己接收正常。
第二次:服務器發給客戶端,客戶端知道自己發送、接收正常,服務器接收、發送正常。
第三次:客戶端發給服務器:服務器知道客戶端發送,接收正常,自己接收,發送也正常。
這樣通信的雙方發送接受都是正常的,這樣纔是可靠的連接。

位碼即tcp標誌位,有6種標示:SYN(synchronous建立聯機); ACK(acknowledgement 確認); PSH(push傳送) ;FIN(finish結束) ;RST(reset重置) ; URG(urgent緊急);Sequence number(順序號碼) ; Acknowledge number(確認號碼).

TCP的四次揮手

在這裏插入圖片描述
第一次揮手:客戶端發送一個FIN,用來關閉客戶端到服務器的數據傳輸,客戶端進入FIN_WAIT_1狀態;
第二次揮手:服務器收到FIN後,發送一個ACK給客戶端,確認序號爲收到序號+1(與SYN相同,一個FIN佔用一個序號),服務器進入CLOSE_WAIT狀態;
第三次揮手:客戶端收到服務器確認結果後,進入TIME_WAIT_2狀態。服務器發送一個FIN,用來關閉服務器到客戶端的數據傳輸,服務器進入LAST_ACK狀態;
第四次揮手:客戶端收到FIN後,客戶端進入TIME_WAIT狀態,接着發送一個AKC給服務器,確認序號爲收到序號+1,服務器進入CLOSED狀態,完成四次揮手。

爲什麼四次揮手?
四次揮手時,當收到對方的 FIN 報文時,僅僅表示對方不再發送數據了但是還能接收數據,己方是否現在關閉發送數據通道,需要上層應用來決定,有可能服務端還需要繼續傳輸數據。
爲什麼客戶端經過2個最長報文段壽命纔會關閉?
客戶端需要保證最後一次發送的ACK報文服務器成功收到,如果服務器未收到,可以請求客戶端重發,這樣客戶端還有時間再發,重啓2MSL計時。

tcp和udp的區別

1.TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接
2.TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付
3.Tcp通過校驗和,重傳控制,序號標識,滑動窗口、確認應答實現可靠傳輸。如丟包時的重發控制,還可以對次序亂掉的分包進行順序控制。
4.UDP具有較好的實時性,工作效率比TCP高,適用於對高速傳輸和實時性有較高的通信或廣播通信。
5.每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信
6.TCP對系統資源要求較多,UDP對系統資源要求較少。

TCP的協議包結構方面由哪些部分構成

在這裏插入圖片描述
16位源端口號和目的端口號;
序號(seq);確認序號(seq+1)
首部長度;保留6位;標誌位:URG/ACK/PSH/RST/SYN/FIN;16位窗口大小;
16位檢驗和;16位緊急指針;
選項;數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章