深入理解TCP IP協議族

2021-08-25 17:13:05 字數 1680 閱讀 9120

tcp/ip協議族是乙個四層協議系統,自底而上分別是資料鏈路層、網路層、傳輸層和應用層。每一層完成不同的功能,

且通過若干協議來實現,上層協議使用下層協議提供的服務。

mac位址,處於資料鏈路層.

ip位址,處於網路層.

埠號,處於傳輸層.

tcp/ip是乙個協議集,對英特網中主機的定址方式,主機的命名機制,資訊的傳輸規則,以及各種服務功能作了約定.

ip協議是英特網中的交通規則,連入英特網中的每台計算機及處於十字路口的路由器都必須熟知和遵守該交通規則。ip執行於互聯層。遮蔽各個物理網路的細節和差異。

tcp:傳輸控制協議,執行於傳輸層。利用ip層提供的服務,提供端到端的可靠的(tcp)服務.

udp:使用者資料報協議,執行於傳輸層。利用ip層提供的服務,提供端到端的不可靠的(udp)服務。

1、資料鏈路層

負責幀資料的傳遞。(經過資料鏈路層封裝的資料稱為幀)

資料鏈路層兩個常用的協議時arp(位址解析協議)和rarp(逆位址解析協議)。它們實現了ip位址和機器實體地址之間的相互轉換。

網路層使用ip位址定址一台機器,而資料鏈路層使用實體地址定址一台機器,因此網路層必須先將目標機器的ip位址轉換為其實體地址,才能使用資料鏈路層提供的服務,這就是arp協議的用途。rarp協議僅用於網路上的某些無盤工作站(沒有硬碟)。因缺乏儲存裝置,無盤工作站無法記住自己的ip位址,但他們可以利用網絡卡上的實體地址來向網路管理者(伺服器或網路管理軟體)查詢自身的ip位址。執行rarp服務的網路管理者通常存有該網路上所有機器的實體地址到ip位址的對映。

2、網路層

負責資料怎樣傳遞過去。

網路層實現資料報的選路和**。wan(廣域網)通常使用眾多分級的路由器來連線分散的主機或lan(區域網),因此,

通訊的兩台主機一般不是直接相連的,而是通過多個中間節點(路由器)連線的。網路層的任務就是選擇這些中間節點,

已確定兩台主機之間的通訊路徑。同時,網路層對上層協議隱藏了網路拓撲連線的細節,使得在傳輸層和網路應用程式看來,

通訊的雙方是直接相連的。

3、傳輸層

負責傳輸資料的控制(準確性、安全性)

傳輸層為兩台主機上的應用程式提供端到端(end to end)的通訊。與網路層使用的逐跳通訊方式不同,傳輸層只關心通訊的

起始端和目的端,而不在乎資料報的中轉過程。

垂直的實線箭頭表示tcp/ip協議族各層之間的實體通訊,而水平的虛線箭頭表示邏輯通訊線路。傳輸層為應用程式封裝了一條

端到端的邏輯通訊鏈路,它負責資料的收發、鏈路的超時重傳等。

傳輸層協議主要有三個:tcp 協議、udp協議、sctp協議。

4、應用層

負責資料的展示和獲取。

資料鏈路層、網路層、傳輸層負責處理網路通訊細節,這部分必須既穩定又高效,因此它們都在核心空間中實現。而應用層則在使用者空間中實現,因為它負責處理眾多邏輯,比如檔案傳輸、名稱查詢和網路管理等。如果應用層也在核心中實現,則會讓核心變的十分龐大。當然,也有少數伺服器程式是在核心中實現的,這樣**就無須在使用者空間和核心空間來回切換(主要是資料的複製),極大地提高了工作效率。不過這種**實現起來較複雜,不夠靈活且不便於移植。

深入理解TCP IP協議和網路通訊

1 自我想象通訊是乙個什麼樣的過程 在先不看tcp ip協議的情況下,我們先來推導一下現如今的網路通訊是怎麼實現的呢?假設現在我們在長沙的乙個網咖裡面用qq給身在異地的女朋友傳送了一條文字文字資訊,這個訊息是怎麼傳送過去的?他那邊是怎麼接收的?我的推導大致是 手指在鍵盤上打出文字按下回車 這些文字被...

TCP協議深入理解

tcp協議在能夠傳送資料之前就建立起了 連線 要實現這個連線,啟動tcp連線的那一方首先將傳送乙個syn資料報。這只是乙個不包含資料的資料報,然後,開啟syn標記。如果另一方同時在它收到syn標記的埠通話,它將發回乙個syn ack syn和ack標誌位都被開啟,並將ack 確認 編號字段設定為剛收...

TCP協議深入理解

任何一方都可以關閉乙個tcp連線,要求雙方傳送乙個fin訊號關閉自己的通訊頻道。一方可以在另一方之前關閉,或者雙方同時關閉tcp連線。因此,當一 方傳送乙個fin訊號時,另一方可傳送 fin ack 開始關閉自己一方的通訊並且確認收到了第乙個fin訊號。傳送第乙個fin訊號的人接下來再發 送乙個 f...