網絡模型

TCP/IP原理?TCP有哪幾個狀態?分別是什麼意思?

網絡模型

網絡模型

6.3.3 數據包說明:

IP層傳輸單位是IP分組,屬於點到點的傳輸;TCP層傳輸單位是TCP段,屬於端到端的傳輸
網絡模型

網絡模型

"以tcp/ip協議爲核心,分五層。tcp工作在第4層,主要有tcp和udp協議。其中tcp是可靠協議,udp是不可靠協議。
tcp傳輸之前,需要建立連接,通過三次握手實現。
TCP三次握手狀態:
首先是closed狀態,當發起連接後,進入Listen狀態,當三次握手之後,進入EST狀態。三次握手中間還有一個臨時狀態:SYN_SENT。
SYN_SENT 當應用程序發送ack之後,進入EST狀態,如果沒有發送,就關閉closed."

什麼情況下tcp進入time_wait?

當關閉一個 socket 連接時,主動關閉一端的 socket 將進入TIME_WAIT狀態,而被動關閉一方則轉入CLOSED狀態。
具體過程如下:
1、客戶端發送FIN報文段,進入FIN_WAIT_1狀態。
2、服務器端收到FIN報文段,發送ACK表示確認,進入CLOSE_WAIT狀態。
3、客戶端收到FIN的確認報文段,進入FIN_WAIT_2狀態。
4、服務器端發送FIN報文端,進入LAST_ACK狀態。
5、客戶端收到FIN報文端,發送FIN的ACK,同時進入TIME_WAIT狀態,啓動TIME_WAIT定時器,超時時間設爲2MSL。
6、服務器端收到FIN的ACK,進入CLOSED狀態。
7、客戶端在2MSL時間內沒收到對端的任何響應,TIME_WAIT超時,進入CLOSED狀態。
8、應用層
這個層次讓應用能夠訪問其他層次的服務,並且定義了讓應用交換數據的協議。這一層添加了自己的標頭並向下發送到傳輸層。這一層的主要任務是將接收到的數據包按照協議解讀成各種類型的數據,並將要發送的數據打包進傳輸層。現在數據包的格式看起來是這樣的(以 HTTP 爲例):

|------| |------| |------| |------| |-------------------|
以太網標頭 IP標頭 TCP標頭 HTTP標頭 數據部分
這一層主要的協議有:HTTP、FTP、SMTP、Telnet、NFS、RIP 等等。

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