《TCP/IP協議詳解:卷一》讀書筆記---IP、UDP、TCP協議基礎

來源:互聯網
上載者:User

IP:網際協議

不可靠:不能保證IP資料報能成功地到達目的地,僅提供最好的的傳輸服務。

無串連:IP並不維護任何關於後續資料報的狀態資訊。每個資料報的處理的相互獨立。


IP首部

普通的IP首部長為20個位元組,除非含有選項欄位。

包含的欄位:

4位版本、4位首部長度、8位服務類型、16位總長度(位元組數)、16位標識、3位標誌(分區所用)、13位片位移(分區所用)、8位存留時間(TTL)、8位協議(ICMP、IGMP、TCP、UDP、EGP等等)、16首部檢驗和、32位源IP地址、32位目的IP地址、選項(如果有)


最左邊為最高位,以大端方式傳送(網路位元組序)。


PS:Ping程式利用ICMP回應要求報文,Traceroute程式利用ICMP報文和IP首部中的TTL欄位。



UDP:使用者資料包通訊協定

UDP是一個簡單的面向資料報的運輸層協議:進程的每個輸出操作都正好產生一個UDP資料報,並組裝成一份待發送的IP資料報。(不可靠、無串連)



UDP首部

大小為8個位元組。


包含的欄位

16位源連接埠號碼、16位目的連接埠號碼、16位UDP長度、16位UDP檢驗和






TCP:傳輸控制通訊協定


TCP的服務:

TCP提供一種連線導向的、可靠的位元組流服務。

TCP通過下列方式來提供可靠性:

  • 應用資料被分割成TCP認為最適合發送的資料區塊(位元組流服務)。
  • 當TCP發出一段後,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發這個報文段。
  • 當TCP收到發自TCP串連另一端的資料,它將發送一個確認。這個確認不是立即發送,通常將延遲幾分之一秒(經愛時延的確認)。
  • TCP將保持它首部和資料的檢驗和
  • TCP將對收到的資料進行重新排序,將收到的資料以正確的順序交給應用程式層。
  • TCP的接收端必須丟棄重複的資料。
  • TCP提供流量控制。


TCP的首部

大小為20個位元組。


包含的欄位

16位源連接埠號碼、16位目的連接埠號碼32位序號32位確認序號、4位首部長度、16位視窗大小、16檢驗和、16緊急指標





TCP串連的建立與終止


建立連線協定

1、請求端發送一個SYN段指明客戶打算已連線的服務器的連接埠,以及初始化序號(ISN)。這個SYN段為報文段1.

2、伺服器發回包含伺服器初始序號的SYN報文段(報文段2)作為應答。同時,將確認序號設定為客戶的ISN加1以對客戶的SYN報文段進行確認。一個SYN將佔用一個序號。

3、客戶必須將確認序號設定為伺服器的ISN加1以對伺服器的SYN報文段進行確認(報文段3)

這三個報文段完成串連的建立。這個過程也稱為三向交握(three-way handshake)。





串連終止協議(4次白握手)

1、應用程式關閉,TCP用戶端發送一個FIN,用來關閉從客戶到伺服器的資料傳送。

2、伺服器收到這個FIN,它發回一個ACK,確認序號為收到的序號加1。同時TCP伺服器還嚮應用程式傳送一個檔案結束符。

3、當伺服器程式需要關閉從伺服器到客戶的資料傳送時,會導致它的TCP端發送一個FIN。

4、客戶必須對3中的FIN發回一個確認,並將確認序號設定為收到序號加1。



TCP狀態變遷圖



2MSL等待狀態

TIME_WAIT狀態也稱為2MSL等待狀態。每個具體TCP實現必須選擇一個報文段最大存留時間MSL(Maximum Segment Lifetime)。它是任何報文段被丟棄在網路內的最長時間。


為什麼用戶端在TIME_WATI狀態必須等待2MSL的時間呢?這有兩個理由。

第一,為了保證用戶端發送的最後一個ACK報文段能夠到達伺服器。這個ACK報文段有可能丟失,因而使處在LAST_ACK狀態的伺服器收不到對已發送的FIN+ACK報文段的確認。伺服器會逾時重傳這個FIN+ACK報文段,而用戶端就能在2MSL時間內收到這個重傳報文段。

第二,防止“已失效的串連請求報文段”出現在本串連中。用戶端在發送完最後一個ACK報文段後,再經過時間2MSL,就可以使本串連持續的時間內所產生的所有報文段都從網路消失(壽命為MSL)。這樣就可以使下一個新的串連中不會出現這種舊的串連請求報文段。

詳見《電腦網路 5th》--謝希仁 編著


未完待續。。。。。。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.