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

2021-06-08 00:18:46 字數 3017 閱讀 9396

tcp/ip協議同iso/osi模型一樣,也可以安排成棧形式。但這個棧不同於iso/osi版本,比iso/osi棧少,所以又稱之為短棧。另外,需要知道的是:tcp/ip協議棧只是許多支援iso/osi分層模型協議棧的一種,是乙個具體的協議棧。

對於tcp/ip協議棧劃分為幾層更合適,多年來專家們一直未達成共識,大部分對tcp/ip協議棧的描述都假定它佔據了協議結構的4到5個功能層。下面我們對這兩種主流的分層方法分別進行描述。

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協議棧及框架

1 基於4層的tcp ip協議棧基本描述 基於4層的tcp ip協議棧最具說服力的是 這一觀點是由tcp ip原始標準的創立者 美國國防部提出的,它與iso osi參考模型的對應關係如下圖 圖1 tcp ip協議棧層次結構與iso osi參考模型的對應關係 如圖1所示,tcp ip協議棧從低層開始,...

TCP IP協議棧(協議族)

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