tcp怎么分層每一層的協議?
TCP/IP協議族是一個四層協議系統,自底向下依次分別是數據鏈路層、網絡層、傳輸層、應用層。
1、數據鏈路層
網卡接口的網絡驅動程序運行在數據鏈路層。網絡驅動程序處理數據在物理媒介(比如以太網)上的傳輸。網絡驅動程序隱藏了物理媒介的電氣特性,為上層協議提供了統一的接口。
ARP協議:地址解析協議。根據IP地址獲取物理地址。
RARP協議:逆地址解析協議。根據物理地址獲取IP地址。
2、網絡層
網絡層功能是數據包的選路和轉發。廣域網通常使用眾多分級的路由器連接分散的主機和局域網,因此需要網絡層確定主機的通信路徑。網絡層對上層隱藏了拓撲連接的細節,對傳輸層和網絡應用層來說,它們感覺不到通信的雙方的數據包要經過多次轉發,它們會感覺到通信的雙方是直接連接的。
IP協議:因特網協議。尋找合適的轉發路由器,將數據包交給路由器轉發。
ICMP協議:因特網控制保溫協議。用作檢測網絡連接。
3、傳輸層
為兩臺主機上的應用程序提供端到端通信,只關心通信的兩端的信息,不在乎數據包的中轉過程(如關心數據是否正確到達另一方,不關心如何到達的)。負責數據的收發、鏈路的超時重連等。
TCP協議:傳輸控制協議。
UDP協議:用戶數據報協議。
3.1、TCP協議的特點
為應用層提供可靠的、面向連接、基于流的服務。
可靠:TCP協議使用超時重傳、數據確認等方式確保數據包被正確發送到目的端。
面向連接:使用TCP協議的雙方必須先建立TCP連接,并為該連接維持一些必要的數據(連接狀態、讀寫緩沖區等)當通信結束是,雙方關閉連接以釋放這些數據。
基于流:數據沒有邊界(長度)限制。它源源不斷從一端流向另一端。發生端可以逐個直接向數據流寫入數據,接收端可以逐個直接讀取。
3.2、UDP協議的特點
為應用層提供不可靠、無連接、基于數據報的服務。
不可靠:無法保證數據正確地傳送到目的端。數據丟失或目的端校驗數據發現數據將之丟棄時UDP協議僅通知發送失敗。
無連接:雙方不保持長久的連接,每次發生數據都要指定目的地址(IP地址等信息)。
基于數據報:每個UDP數據報都有一個長度,接收端必須以該長度為最小單位將所有內容一次性讀出,否則數據將被截斷。
4、應用層
處理應用程序的邏輯?;谄渌龑拥木W絡協議實現一些應用程序的邏輯和功能。
ping:應用程序,基于ICMP報文檢測網絡連接。
telnet:遠程登錄協議。
OSPF:開放最短路徑優先協議。動態路由更新協議,用于路由器間的通信。
DNS:域名服務協議,提供機器域名到IP地址的轉換。