TCP IP協議 TCP IP協議棧及框架

2021-08-01 09:54:31 字數 2844 閱讀 7886

1  基於4層的tcp/ip協議棧基本描述

基於4層的tcp/ip協議棧最具說服力的是:這一觀點是由tcp/ip原始標準的創立者——美國國防部提出的,它與iso/osi參考模型的對應關係如下圖:

圖1  tcp/ip協議棧層次結構與iso/osi參考模型的對應關係

如圖1所示,tcp/ip協議棧從低層開始,依次為網路訪問層、網路互連層、傳輸層和應用層,具體描述如下:

1.1  網路訪問層(network access layer)

網路訪問層(又稱網路層),位於tcp/ip協議棧的最低層,該層中的協議提供了資料傳送的方法,使得系統可以通過連線的網路將資料傳送到其它裝置,並定義了如何利用網路來傳送ip資料報。它基本上包括了iso/osi模型中的資料鏈路層和物理層的所有功能。tcp/ip網路訪問層定義了網路傳送ip資料報的方式(即流與分組),使得系統能夠把資料傳送給與網路直接相連的裝置。

網路訪問層的協議與較高層協議不一樣,它必須知道物理網路的各種細節,以便準確地格式化傳輸的資料,使其遵守網路規定。因此,網路訪問層的協議種類繁多,每乙個協議都對應一種物理網路標準。這些協議常常由裝置驅動程式和相關的程式結合而成,其內含的api除將ip資料封裝成能在網路中傳送的單元——幀外,還能將ip位址轉換成為網路使用的實體地址。典型的協議例項有rfc 826(位址轉換協議 arp)、rfc 894(乙太網上ip資料報傳輸標準)等。

1.2  網路互連層 (internet layer)

網路互連層(又稱網際層)位於網路訪問層之上,由互連網協議(ip)、互連網控制報文協議(icmp)和互連網組管理協議(igmp)等協議組成。ip是tcp/ip的核心,也是網路互連層中最重要的協議,它提供基本的分組傳送服務,是構建tcp/ip網路的基礎。因為,無論是ip上層還是ip下層的協議,也不管資料是輸入還是輸出,目的地在何方,它們都使用ip來傳遞資料。概括起來,ip主要完成以下任務:

ip是乙個「無連線協議」,它在傳輸資料之前不交換控制資訊來建立端到端的連線,而且還要依靠其它層的協議提供錯誤檢測和錯誤恢復。但這並不能說明ip協議是不可信賴的,事實上,它可以正確的將資料傳送到已連線的網路,只是它並不能檢驗資料是否被正確地接收。

1.3  傳輸層( transport layer)

傳輸層也稱主機到主機的傳輸層,位於tcp/ip棧的第3層,它為應用層提供可靠的或不可靠的端到端服務。tcp(傳輸控制協議)和udp(使用者資料報協議)是傳輸層中兩個最重要的協議。它們都為應用層和網路互連層傳送資料,二者的區別在於:tcp是一種可靠的、面向連線的、位元組流協議,它利用端到端錯誤檢測與糾正功能提供可靠的資料傳輸服務,因為它能驗證資料在網路上是否以合適的序列正確地傳輸;而udp是乙個不可靠的無連線資料報協議,就像ip一樣,它能為應用程式提供低開銷的無連線資料報傳輸服務。

總之,tcp的優勢在於可靠,但開銷大;而udp比較適合於傳輸的資料量少及使用「查詢——響應」方式的應用程式的服務。

應用層位於tcp/ip協議棧的頂層,它為使用者提供各種網路服務,如檔案傳輸、遠端登入、電子郵件等。同時,應用層包含與具體應用程式相關的所有細節。

對於網路軟體工程師而言,你在應用層的工作是將資訊傳到協議棧的下一合適層。協議棧的每一層要完成各自的功能。也就是說,tcp/ip協議將共同工作,完成位址轉換、定址和資料傳輸工作。為了和協議棧上的協議通訊,必須知道有哪些協議可用,並知道它們在協議棧中的位置和功能。正常情況下應用程式將和傳輸協議的某乙個協議(tcp或udp)進行通訊,或不使用傳輸層服務,直接與網路互連層的ip打交道(如外部閘道器協議 egp)。

2  基於5層的tcp/ip協議棧基本描述

相對於iso/osi模型,基於5層的tcp/ip協議比基於4層的tcp/ip協議更容易理解,具體的分層方案如下圖2:

圖2   tcp/ip協議棧層次結構與iso/osi參考模型的對應關係

比較圖2和圖1可以看出,從頂層向下三層(應用層、傳輸層和網路互連層)對於基於5層的tcp/ip和基於4層的tcp/ip其功能都是一樣的,這裡不在贅述。除此之外,基於5層的tcp/ip在低層比基於4層的tcp/ip分層更詳細,即用物理層和鏈路層兩層來表示上面講到的網路訪問層。

2.1  物理層

tcp/ip協議棧的物理層與iso/osi模型的物理層相同——它包括攜帶網路資料的傳輸**介質,這種介質通常是雙絞線、同軸電纜或標準串列埠線等,網路設計人員必須知道網路介質的傳輸特性。

2.2  鏈路層

鏈路層包括乙個硬體介面和兩個協議模組:位址解析協議(arp)和反向位址解析協議(rarp)。鏈路層處理物理層和網路互連層的資料交換,並向網路互連層隱藏物理層的執行細節。當鏈路層完成其工作時,網路互連層的協議不關心網路是使用乙太網技術還是令牌環技術,網路互連層只是簡單地將資料傳給鏈路層,然後由鏈路層處理所有進一步的資料傳輸。

綜上所述,不論採用哪種分層方式,其核心和功能是一樣的,特別是在應用層。應用層的初級網路使用者對分層幾乎不感興趣,但要進行網路程式設計的人必須清楚這一點:當使用者啟動了某個應用層服務之後,該應用要首先建立乙個到某特定機器的連線,隨後告訴目的機器本次連線的操作意圖,並控制整個操作過程。在源計算機系統中,應用層將要傳送的資訊交給服務層的tcp(或udp),tcp通過增加tcp協議所規定的報頭來確保資訊正確地傳輸到目的地。然後,tcp把包括目的位址在內的報頭和使用者資料交給網路互連層的ip,ip負責為資訊選擇路由。由於 tcp和ip處理與網路有關的細節,所以應用層協議可以將乙個網路連線看成乙個簡單的位元組流,而不必描述與通訊有關的任何細節。

對網路通訊軟體設計者而言,乙個網路連線可由兩對元素完全刻畫:源主機的ip位址和應用程式埠號;目的主機的ip位址和應用程式埠號。為了保證使用tcp/ip 協議的網路中兩台主機的正常連線,應禁止使用相同的ip位址和埠號,特別是ip位址。

TCP IP 協議 協議棧

tcp ip協議棧 整個協議棧被分為了四層,每一層協議負責不同的功能 鏈路層 負責處理物理介面的細節,接受傳送的都是位元流,鏈路層主要有三個目的 1.為ip模組傳送和接收i p資料報 2.為arp模組傳送arp請求和接收arp應答 3.為rarp傳送rarp請求和接收rarp應答 網路層 用來處理網...

TCP IP協議 TCP IP協議棧及框架

tcp ip協議同iso osi模型一樣,也可以安排成棧形式。但這個棧不同於iso osi版本,比iso osi棧少,所以又稱之為短棧。另外,需要知道的是 tcp ip協議棧只是許多支援iso osi分層模型協議棧的一種,是乙個具體的協議棧。對於tcp ip協議棧劃分為幾層更合適,多年來專家們一直未...

TCP IP協議棧(協議族)

思考乙個問題 為什麼不同廠家 不同型號的計算機能相互通訊?原因在這裡,tcp ip 協議族 實現了這一目標。使得不同廠家 不同型號的計算機能相互通訊!網際網路協議 internet協議 平時我們所說的tcp ip是乙個協議族,也叫協議棧。換句話說,internet協議是乙個多種協議組合在一起的一種叫...