1. 程式人生 > 其它 >五層協議體系結構

五層協議體系結構

1.應用層

應用層是體系結構中的最高層。應用層的任務是通過應用程序間的互動來完成特定網路應用。應用層協議定義的是應用程序間通訊和互動的規則。這裡的程序就是指主機中正在執行的程式。對於不同的網路應用需要有不同的應用層協議。網際網路中的應用層協議很多,如域名系統 DNS、支援全球資訊網應用的HTTP協議、支援電子郵件的SMTP協議,等等。我們把應用層互動的資料單元稱為報文(message)。

2.運輸層

運輸層的任務就是負責向兩臺主機中程序之間的通訊提供通用的資料傳輸服務。應用程序利用該服務傳送應用層報文。所謂“通用的”,是指並不針對某個特定網路應用,而是多種應用可以使用同一個運輸層服務。由於一臺主機可同時執行多個程序,因此運輸層有複用和分用的功能。複用就是多個應用層程序可同時使用下面運輸層的服務,分用和複用相反是運輸層把收到的資訊分別交付上面應用層中的相應程序。

運輸層主要使用以下兩種協議: 提供面向連線的、可靠的資料傳輸控制協議TCP (Transmission Control Protocol),其資料傳輸的單位是報文段(segment)。

提供無連線的盡最大努力使用者資料報協議 UDP(User Datagram Protocol)的資料傳輸服務(不保證資料傳輸的可靠性),其資料傳輸的單位是使用者資料報。 

3.網路層

網路層負責為分組交換網上的不同主機提供通訊服務。在傳送資料時,網路層把運輸層產生的報文段或使用者資料報封裝成分組或包進行傳送。在TCP/IP體系中,由於網路層使用IP協議,因此分組也叫作IP資料報,或簡稱為資料報。

請注意:不要將運輸層的“使用者資料報協議UDP”和網路層的“IP資料報”弄混。此外,無論在哪一層傳送的資料單元,都可籠統地用“分組”來表示。

網路層的具體任務有兩個。第一個任務是通過一定的演算法,在網際網路中的每一個路由器上生成一個用來轉發分組的轉發表。第二個任務較為簡單,就是每一個路由器在接收到一個分組時,依據轉發表中指明的路徑把分組轉發到下一個路由器。這樣就可以使源主機運輸層所傳下來的分組,能夠通過合適的路由最終到達目的主機。

這裡要強調指出,網路層中的“網路”二字,已不是我們通常談到的具體網路,而是在計算機網路體系結構模型中的第3層的名稱。

網際網路是由大量的異構(heterogeneous)網路通過路由器(router)相互連線起來的。網際網路使用的網路層協議是無連線的網際協議 IP(Intenet Protocol)和許多種路由選擇協議,因此網際網路的網路層也叫作網際層或IP層。在本書中,網路層、網際層和IP層都是同義語。 

4.資料鏈路層

資料鏈路層常簡稱為鏈路層。我們知道,兩臺主機之間的資料傳輸,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。在兩個相鄰節點之間傳送資料時,資料鏈路層將網路層交下來的IP資料報組裝成幀(framing),在兩個相鄰節點間的鏈路上傳送幀(frame)。每一幀包括資料和必要的控制資訊(如同步資訊、地址資訊、差錯控制等)。

在接收資料時,控制資訊使接收端能夠知道一個幀從哪個位元開始和到哪個位元結束。 這樣,資料鏈路層在收到一個幀後,就可從中提取出資料部分,上交給網路層。

控制資訊還使接收端能夠檢測到所收到的幀中有無差錯。如發現有差錯,資料鏈路層 就簡單地丟棄這個出了差錯的幀,以免繼續在網路中傳送下去白白浪費網路資源。如果需要改正資料在資料鏈路層傳輸時出現的差錯(這就是說,資料鏈路層不僅要檢錯,而且要糾錯),那麼就要採用可靠傳輸協議來糾正出現的差錯。這種方法會使資料鏈路層的協議複雜  。

5.物理層

在物理層上所傳資料的單位是位元。傳送方傳送1(或0)時,接收方應當收到1(或0)而不是0(或1)。因此物理層要考慮用多大的電壓代表“1”或“0”,以及接收方如何識別出發送方所傳送的位元。物理層還要確定連線電纜的插頭應當有多少根引腳以及各引腳應如何連線。當然,解釋位元代表的意思,不是物理層的任務。請注意,傳遞資訊所利用的一些物理傳輸媒體,如雙絞線、同軸電纜、光纜、無線通道等,並不在物理層協議之內,而在物理層協議的下面。因此也有人把物理層下面的物理傳輸媒體當作第0層。