摘要:
我們知道TCP/IP與OSI最大的不同在于OSI是一個理論上的網絡通信模型,而TCP/IP則是實際上的網絡通信标準。
在上篇《計算機網絡體系結構綜述(上)》的基礎上,本文着重概述了兩種典型的階層化網絡體系機構 —— OSI七層參考體系結構和TCP/IP四層協定結構,并對每種體系結構中的各層就任務、功能、協定及與其它類似層的差别等幾方面做了進一步得介紹,力求還原這些典型的網絡體系結構的全貌。
友情提示:
為了更好地了解計算機網絡體系結構,筆者以兩篇部落格的篇幅來介紹這個計算機網絡中最為重要的知識點。即:《計算機網絡體系結構綜述(上)》 和 《計算機網絡體系結構綜述(下)》。在本文,我們概述了計算機網絡體系結構的提出動機。并結合日常生活中的郵政系統介紹了設計的理念,并給出了相關的基本概念和标準,并着重介紹了計算機網絡體系結構的分層原理及協定的内涵。
在此基礎上,本篇的姊妹篇《計算機網絡體系結構綜述(下)》詳盡地介紹了兩種典型的計算機網絡系統結構标準:OSI七層模型與TCP/IP四層模型。
Ps:讀者強烈建議讀者在閱讀本篇博文前,先閱讀其姊妹篇《計算機網絡體系結構綜述(上)》 ,因為二者之間關聯性非常強。
通過對《計算機網絡體系結構綜述(上)》 的閱讀。相信讀者會對OSI七層模型與TCP/IP四層模型有一個更加深刻、全面的認識。
一. 計算機網絡系統結構标準概述
最早的計算機網絡體系結構源于IBM在1974年宣布的系統網絡體系結構SNA (Systems Network Architecture)。這個著名的網絡标準就是一種階層化網絡體系結構。不久後,其它一些公司也相繼推出自己公司的具有不同名稱的體系結構。不同的網絡體系結構出現後,採用不同的網絡體系結構的産品就非常難互相連通(通信)。然而。全球經濟的發展使得處在不同網絡體系結構的使用者迫切要求能夠互相交換資訊,為此,國際标準化組織ISO成立了專門的機構研究該問題,并于1977年提出了一個試圖使各種計算機在世界範圍内互聯成網的标準架構,即著名的 開放系統互連基本參考模型OSI/RM (Open System Interconnection Reference Model)。正如在本篇的姊妹篇《計算機網絡體系結構綜述(上)》提到的那樣。OSI七層體系結構 具有概念清楚、理論完整的特點,是一個理論上的國際标準,但卻不是其實的國際标準;而 具有簡單易用特點的 TCP/IP 四層體系結構 則是其實的标準。 須要指出的是,五層體系結構 雖然綜合了 OSI 和 TCP/IP 的長處,但其僅僅是為了學術學習研究而提出的,沒有詳細的實際意義。
三者結構示意圖例如以下所看到的:

二. OSI 七層體系結構簡述
1、OSI七層參考體系結構
在OSI七層參考模型的體系結構中,由低層至高層分别稱為實體層、資料鍊路層、網絡層、運輸層、會話層、表示層和應用層,以下給出OSI網絡體系結構參考模型示意圖:
在OSI七層參考模型的體系結構中,各層次要解決的問題及其功能簡述例如以下圖所看到的:
下圖給出了OSI網絡體系結構的PDU資料封裝示意圖:
2、OSI各層次概述
1). 實體層
在OSI參考模型中,實體層(Physical Layer)是參考模型的最低層,也是OSI模型的第一層。
它實作了相鄰計算機節點之間比特流的透明傳送,并盡可能地屏蔽掉詳細傳輸媒體和實體裝置的差異。使其上層(資料鍊路層)不必關心網絡的詳細傳輸媒體。“透明傳送比特流”的意思是經實際電路傳送後的比特流沒有發生變化,對傳送的比特流來說,這個電路好像是看不見的。
(1). 任務
在實體媒體上正确地、透明地傳送比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地後在轉化為1、0。也就是我們常說的數模轉換與模數轉換)。
(2). 協定(标準)
規定了實體接口的各種特性和實體裝置的标準,如網線的接口類型、光纖的接口類型、各種傳輸媒體的傳輸速率等;
(3). 功能
實作相鄰計算機節點之間比特流的透明傳送,盡可能屏蔽掉詳細傳輸媒體和實體裝置的差異。使資料鍊路層不必關心網絡的詳細傳輸媒體。
2). 資料鍊路層(data link layer)
資料鍊路層(Data Link Layer)是OSI模型的第二層,負責建立和管理節點間的鍊路。控制網絡層與實體層之間的通信。它完畢了資料在不可靠的實體線路上的可靠傳遞。我們知道,在計算機網絡中,因為各種幹擾的存在,實體鍊路是不可靠的。為了保證資料的可靠傳輸,從網絡層接收到的資料被切割成特定的可被實體層傳輸的幀。幀是用來移動資料的結構包,它不僅包含原始資料,還包含發送方和接收方的實體位址以及糾錯和控制資訊。
當中的實體位址确定了幀将發送到何處。而糾錯和控制資訊則確定幀無差錯的傳遞。
換句話說。這一層在實體層提供的比特流的基礎上,通過差錯控制、流量控制方法。使有差錯的實體線路變為無差錯的資料鍊路,即提供可靠的通過實體媒體傳輸資料的方法。
通過各種資料鍊路層控制協定。實作資料在不可靠的實體線路上的可靠傳遞。
(2). 協定
負責提供實體位址尋址、資料的成幀、流量控制、差錯控制等功能,確定資料的可靠傳輸。
(3). 功能與服務
接收來自實體層的位流形式的資料,并封裝成幀。傳送到上一層;相同。也将來自上層的資料幀,拆裝為位流形式的資料轉發到實體層。此外,該層還負責提供實體位址尋址、資料的成幀、流量控制、差錯控制等功能。差錯控制是指處理接收端發回的确認幀的資訊(對等層通信)。以便提供可靠的傳輸資料;流量控制是指抑止發送方的傳輸速率,使接收方來得及接收。
3). 網絡層
網絡層(Network Layer)是OSI模型的第三層,它是OSI參考模型中最複雜的一層,也是通信子網的最高一層。它在下兩層的基礎上向資源子網提供服務。
網絡層主要任務是将網絡位址翻譯成相應的實體位址,并通過路由選擇算法為分組通過通信子網選擇最适當的路徑。
特别地。網絡層将通過綜合考慮發送優先權、網絡擁塞程度、服務品質以及可選路由的花費來決定從一個網絡中節點A 到還有一個網絡中節點B的最佳路徑。
網絡層是可選的,它僅僅用于當兩個計算機系統處于不同的由路由器切割開的網段這樣的情況,或者當通信應用要求某種網絡層或傳輸層提供的服務、特性或者能力時。
對于兩台主機處于同一個LAN網段的直接相連這樣的情況,它們之間的通信僅僅使用LAN的通信機制就能夠了,即OSI參考模型的實體層和資料鍊路層。
将網絡位址翻譯成相應的實體位址。并通過路由選擇算法為分組通過通信子網選擇最适當的路徑。
提供無連接配接資料報服務的IP協定
(3). 産品
路由器
(4). 路由選擇:
網絡層最重要的一個功能就是:路由選擇。
網路層會依據速度、距離(步跳數)、價格和擁塞程度等因素在多條通信路徑中找一條最佳路徑。
所謂路由。一般包含路由表和路由算法兩個方面。
其實。每一個路由器都必須建立和維護其路由表,一種是靜态維護,也就是人工設定,僅僅适用于小型網絡;還有一種是動态維護。是在執行過程中依據網絡情況自己主動地動态維護路由表。
(5).資料鍊路層與網絡層的差異
一般地,資料鍊路層是解決同一網絡内節點之間的通信,而網絡層主要解決不同子網間的通信。比如。廣域網間的通信。
-
尋址:資料鍊路層中使用的實體位址(如MAC位址)僅解決網絡内部的尋址問題。在不同子網之間通信時。為了識别和找到網絡中的裝置,每一子網中的裝置都會被配置設定一個唯一的位址。
因為各子網使用的實體技術可能不同,是以這個位址應當是邏輯位址(如IP位址);
- 路由算法:當源節點和目的節點之間存在多條路徑時,網絡層能夠依據路由算法,通過網絡為資料分組選擇最佳路徑,并将資訊從最合适的路徑由發送端傳送到接收端;
- 連接配接服務:與資料鍊路層流量控制不同的是,前者控制的是網絡相鄰節點間的流量,後者控制的是從源節點到目的節點間的流量。其目的在于防止堵塞。并進行差錯檢測。
計算機網絡體系結構綜述(下)
4). 傳輸層(transport layer)
OSI下3層(實體層,資料鍊路層和網絡層)的主要任務是資料通信。上3層(會話層,表示層和應用層)的任務是資料處理,而傳輸層恰好是OSI模型的第4層。是通信子網和資源子網的接口和橋梁。起到承上啟下的作用。該層的主要任務是:向使用者提供可靠的端到端的差錯和流量控制,保證封包的正确傳輸。傳輸層的作用是向高層屏蔽下層資料通信的細節。即向使用者透明地傳送封包。
傳輸協定同一時候進行流量控制,即基于接收方可接收資料的快慢程度規定适當的發送速率。除此之外。傳輸層依照網絡能處理的最大尺寸将較大的資料進行強制切割(比如,以太網無法接收大于1500位元組的資料包),發送方節點的傳輸層将資料切割成較小的資料片,同一時候對每一資料片安排一序列号。以便資料到達接收方節點的傳輸層時。能以正确的順序重組,這個過程也叫做排序。
在源端與目的端之間提供可靠的透明傳輸資料。使上層服務使用者不必關系通信子網的實作細節。
TCP/IP中的TCP。UDP協定、Novell網絡中的SPX協定和微軟的NetBIOS/NetBEUI協定。當中。TCP(傳輸控制協定)具有傳輸效率低,可靠性強等特點,用于傳輸可靠性要求高,資料量大的資料;UDP(使用者資料報協定)用于傳輸可靠性要求不高。資料量小的資料,如QQ聊天資料就是通過這樣的方式傳輸的。
(3). 功能與服務:
傳輸層提供會話層和網絡層之間的傳輸服務,這樣的服務從會話層獲得資料,并在必要時,對資料進行切割。然後,傳輸層将資料傳遞到網絡層,并確定資料能正确無誤地傳送到網絡層。是以。傳輸層負責提供兩節點之間資料的可靠傳送,當兩節點的聯系确定之後,傳輸層則負責監督工作。綜上。傳輸層的主要功能例如以下:
- 傳輸連接配接管理:提供建立、維護和拆除傳輸連接配接的功能,傳輸層在網絡層的基礎上為高層提供“面向連接配接”和“面向無接連”的兩種服務;
- 處理傳輸差錯:提供可靠的“面向連接配接”和不太可靠的“面向無連接配接”的傳輸資料服務、差錯控制和流量控制。在提供“面向連接配接”服務時,通過這一層傳輸的資料将由目标裝置确認,假設在指定的時間内未收到确認資訊,資料将被重發。
(4). 傳輸層的特點:
- 傳輸層以上各層面向應用;本層及以下各層面向傳輸。
- 實作源主機到目的主機“端到端”的連接配接。
(5). 傳輸層與網絡層的差别
在協定棧中,傳輸層位于網絡層之上,傳輸層協定為不同主機上執行的程序提供邏輯通信,而網絡層協定為不同主機提供邏輯通信,例如以下圖所看到的。這個差别非常微妙,可是卻非常重要,以下的這個網上的樣例非常好地說明了二者之間的差别。
設想一下有兩所房子,一個位于東海岸,而還有一個位于西海岸,每所房子裡都住着12個小孩。東海岸房子裡的小孩和西海岸房子裡的小孩是堂兄妹。兩所房子裡的孩子喜歡互相通信 —— 每一個孩子每周都給每一個堂兄妹寫一封信。每一封信都由老式的郵局分别用信封來寄,這樣。每一家每周就都有144封信要送到還有一家(這些孩子假設能夠用電子郵件的話就能夠省掉非常多錢了!)。當中,在每一家中都由一個孩子(西海岸房子裡的Ann和東海岸房子裡的Bill)負責郵件的收集和分發。是以,每周Ann都從她的兄弟姐妹那裡收集起來信件。并将這些信件送到每天都來的郵遞服務員那裡;當信件到達西海岸的房子時。Ann又将這些信件分發給她的兄弟姐妹。相同地,Bill在東海岸做着相同的工作。
在這個樣例中,郵遞服務提供着兩所房子之間的邏輯通信,也就是說。郵遞服務在兩所房子之間傳遞郵件,而不是針對個人的服務。 還有一方面,Ann和Bill提供堂兄妹之間的邏輯通信。也就是說,Ann和Bill從他們的兄弟姐妹那裡收集郵件并将郵件遞送給他們。注意,從這些堂兄妹的角度看。Ann和Bill就是郵件的服務人,雖然他們倆僅僅是端到端寄送服務的一部分(終端系統部分)。那麼,在這個樣例中,與計算機網絡體系結構的相應關系為:
- 主機(終端系統) <——> 房子
- 程序 <——> 堂兄妹
- 應用程式消息 <——> 信封裡的信
- 網絡層協定 <——> 郵遞服務(包含郵差)
-
傳輸層協定 <——> Ann和Bill
實際上,網絡層能夠看作是傳輸層的一部分,其為傳輸層提供服務。但對于終端系統而言,網絡層對它們而言是透明的,它們知道傳輸層的存在,也就是說。在邏輯上它們覺得是傳輸層為它們提供了端對端的通信,這也是分層思想的妙處。
5). 會話層
會話層(Session Layer)是OSI模型的第五層,是使用者應用程式和網絡之間的接口,負責在網絡中的兩節點之間建立、維持和終止通信。
會話層的功能包含:建立通信連結,保持會話過程通信連結的暢通。同步兩個節點之間的對話。決定通信是否被中斷以及通信中斷時決定從何處又一次發送。
有人把會話層稱作網絡通信的“交通警察”。當通過撥号向你的ISP(網際網路服務提供商)請求連接配接到網際網路時,ISP server上的會話層向你與你的PC機上的會話層進行協商連接配接。
若你的電話線偶然從牆上插孔脫落時,你終端機上的會話層将檢測到連接配接中斷并又一次發起連接配接。
6). 表示層(Presentation Layer)
表示層是OSI模型的第六層。它對來自應用層的指令和資料進行解釋,以確定一個系統的應用層所發送的資訊能夠被還有一個系統的應用層讀取。比如,PC程式與還有一台計算機進行通信。當中一台計算機使用擴充二一十進制交換碼(EBCDIC),而還有一台則使用美國資訊交換标準碼(ASCII)來表示相同的字元。這時表示層會實作多種資料格式之間的轉換。
也就是說,表示層的主要功能是處理使用者資訊的表示問題,如編碼、資料格式轉換和加密解密等。表示層的詳細功能例如以下:
- 資料格式處理:協商和建立資料交換的格式,解決各應用程式之間在資料格式表示上的差異;
- 資料的編碼:處理字元集和數字的轉換。比如因為使用者程式中的資料類型(整型或實型、有符号或無符号等)、使用者辨別等都能夠有不同的表示方式,是以,在裝置之間須要具有在不同字元集或格式之間轉換的功能。
- 壓縮和解壓縮: 為了降低資料的傳輸量。這一層還負責資料的壓縮與恢複;
- 資料的加密和解密:能夠提高網絡的安全性。
計算機網絡體系結構綜述(下)
7). 應用層(Application layer)
應用層(Application Layer)是OSI參考模型的最高層,它是計算機使用者以及各種應用程式和網絡之間的接口。其功能是直接向使用者提供服務并完畢使用者希望在網絡上完畢的各種工作。應用層在其它六層工作的基礎上,負責完畢網絡中應用程式與網絡作業系統之間的聯系。建立與結束使用者之間的聯系,并完畢網絡使用者提出的各種網絡服務及應用所需的監督、管理和服務等各種協定。
此外,該層還負責協調各個應用程式間的工作。
應用層為使用者提供的服務和協定有:檔案服務、檔案夾服務、檔案傳輸服務(FTP)、遠端登入服務(Telnet)、電子郵件服務(E-mail)、列印服務、安全服務、網絡管理服務、資料庫服務、域名服務等。上述的各種網絡服務由該層的不同應用協定和程式完畢,不同的網絡作業系統之間在功能、界面、實作技術、對硬體的支援、安全可靠性以及具有的各種應用程式接口等各個方面的差異是非常大的。
為使用者的應用程序提供網絡通信服務。
(2). 服務
該層具有的各種應用程式能夠完畢和實作使用者請求的各種服務。
(3). 功能:
- 使用者應用程式與網絡間的接口;
- 使使用者的應用程式能夠與網絡進行互動式聯系。
(4). 協定:
OSI: VTP、MHS、FTAM、DS、…
TCP/IP: Telnet、SMTP、FTP、DNS、HTTP、…
三. TCP/IP 四層體系結構
TCP/IP 是Internet上的标準通信協定集。該協定集由數十個具有層次結構的協定組成,當中TCP和IP是該協定集中的兩個最重要的核心協定。TCP/IP協定族按層次可分為以下四層:應用層、傳輸層、網絡層和網絡接口層,各層相應的PDU資料單元的名稱例如以下圖所看到的。
特别地。因為TCP/IP四層模型與OSI七層模型在總體上類似(差别主要在于分層的粒度上),是以。我們在此對TCP/IP四層模型進行簡述。若讀者想進行深入了解,請見上一節。
1).應用層
應用層決定了向使用者提供應用服務時通信的活動。TCP/IP協定族内預存了各類通用的應用服務,比方 FTP(檔案傳輸協定)和 DNS(域名系統)服務就是當中兩類,HTTP 協定也處于該層。
2).傳輸層
傳輸層對上層應用層提供處于網絡連接配接中的兩台計算機之間的傳輸資料。在傳輸層有兩個性質不同的協定:TCP(傳輸控制協定)和 UDP(使用者資料報協定)。當中。TCP是面向連接配接的傳輸協定。也就是說,其在傳輸資料之前會建立連接配接,并把封包分解為多個段進行傳輸,在目的站再又一次裝配這些段。必要時又一次傳輸沒有收到或錯誤的。是以它是“可靠”的。
而UDP是無連接配接的傳輸協定,其在傳輸資料之前不建立連接配接,而且對發送的段不進行校驗和确認。是以它是“不可靠”的。
傳輸層與應用層之間的關系例如以下:
3).網絡層
網絡層用來處理在網絡上流動的資料包,當中。資料包是網絡傳輸的最小資料機關。該層規定了通過如何的路徑(所謂的傳輸路線)到達對方計算機,并把資料包傳送給對方。
與對方計算機之間通過多台計算機或網絡裝置進行傳輸時,網絡層所起的作用就是在衆多的選項内選擇一條傳輸路線。也就是說。網絡層主要功能是把資料報通過最佳路徑送到目的端,當中。網際層的核心協定——IP,提供了無連接配接的資料報傳輸服務(不保證送達,不保序)。
網絡層與傳輸層之間的關系例如以下:
4).網絡接口層
網絡接口層用來處理連接配接網絡的硬體部分,包含硬體的裝置驅
動、NIC(Network Interface Card,網卡)及光纖等實體可見部分,還包含連接配接器等一切傳輸媒介。也就是說,硬體上的範疇均在鍊路層的作用範圍之内。
四. 總結
筆者用兩篇部落格《計算機網絡體系結構綜述(上)》 和 《計算機網絡體系結構綜述(下)》概述了計算機網絡體系結構。
計算機網絡體系結構标準的制定使得兩台計算機能夠像兩個知心朋友那樣能夠互相準确了解對方的意思并做出優雅的回應。筆者首先在《計算機網絡體系結構綜述(上)》 概述了計算機網絡體系結構的提出動機。并結合日常生活中的郵政系統介紹了設計的理念。并給出了相關的基本概念和标準。特别地,筆者着重概述了計算機網絡體系結構的分層原理及其最重要的組成部分——協定,使得讀者能夠對計算網路體系結構有一個全新的、系統的認識。
緊接着,在上篇的基礎上。我們知道TCP/IP與OSI最大的不同在于OSI是一個理論上的網絡通信模型。而TCP/IP則是實際執行的網絡協定。本文《計算機網絡體系結構綜述(下)》概述了OSI七層參考體系結構和TCP/IP四層協定結構,并對結構中的每層就任務、功能、協定及與其它類似層的差别等幾方面做了進一步得解釋,力求還原這些典型的網絡體系結構的全貌。
各層協定圖:
五. 很多其它
很多其它關于計算機網絡體系結構的提出動機及相關的基本概念和标準。特别是計算機網絡體系結構的分層原理及協定的内涵等内容請見我的部落格 《計算機網絡體系結構綜述(上)》 。
引用
計算機網絡體系結構
OSI七層模型詳細解釋
TCP/IP四層模型和OSI七層模型的概念
傳輸層 和網絡層的差别