- 計算機網絡基礎:基于案例與實訓(第3版)
- 朱迅 趙隴主編
- 3238字
- 2024-03-04 17:11:24
1.4 網絡體系結構
1.4.1 層的概念及作用

1-4 層的概念及作用
在計算機網絡中,各個節點之間需要不斷地交換數據與控制信息。要做到有條不紊地交換數據,每個節點都要遵守一些事先約定好的規則。這些規則明確地規定了所交換數據的格式和時序。這些為網絡數據交換而制定的規則、約定與標準被稱為網絡協議。
協議是一種通信規約。從廣義上說,人們之間的交往就是一種信息交換的過程,人們每做一件事都必須遵循一種事先約好的規定。那么為了保證計算機網絡中大量計算機之間正常的數據交換,就必須制定一系列的通信協議。
為了減少協議設計的復雜性,大多數網絡都按層(Layer)或級(Level)的方式來組織,每一層都建立在它的下層之上。不同的網絡,其層的數量,各層的名字、內容和功能都不盡相同。然而,在所有的網絡中,每一層的目的都是向上一層提供一定的服務,而把如何實現這一服務的細節對上一層加以屏蔽。
如何理解分層的作用和必要性,舉例來說,通過郵局寄信時,用戶將信送到郵局,郵局將信交給運輸部門,最終由運輸部門負責運輸,如圖1-8所示。這個過程中存在著同層之間的約定和上下層之間的約定。例如,用戶之間的約定體現在寫信時必須采用雙方都懂的語言文字和文體,開頭是對方稱謂,最后是落款等,這樣對方收到信后,才可以看懂信中的內容;寄信人和郵局之間也要有約定,即規定信封寫法并貼郵票;郵局和運輸部門也有約定,如到站地點、時間、包裹形式等。

圖1-8 郵政系統分層模型
由此例可以看出,系統分層后,每一層都有自己的功能,同層之間有約定,上下層之間有接口。下層是對上一層服務的,相同層之間(在下層的幫助下)就好像直接進行對話。分層的最大好處在于把復雜的事情分解成一個個小問題,使復雜問題簡單化。
1.4.2 OSI七層模型
國際標準化組織于1977年成立了專門機構,研究不同網絡體系結構互聯問題。提出了開放系統互連參考模型,“開放”在這里表示能使任何兩個遵守OSI模型和有關標準的系統實現互聯。分層的原則如下。

1-5 OSI七層模型
1)每一層應當實現一個定義明確的功能。
2)每一層都為它上面一層提供一些服務,并將該層無法完成的細節交由下一層處理。
3)每層功能的選擇應該有助于網絡協議的標準化。
4)各層邊界的選擇應盡量減少跨過接口的通信量。
5)層數應足夠多,以避免不同的功能混雜在同一層中,但也不能太多,否則結構就會過于龐大。
OSI模型共劃分為7層,從下到上依次為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。如圖1-9所示,圖中虛線連接表示同層之間的協議,實線表示數據流。在發送端,數據由應用層逐層傳遞到物理層;在接收端,數據由物理層逐層傳遞到應用層。
下面簡要介紹各層的功能。
1.物理層(Physical Layer)
物理層為在物理媒體上建立、維持和終止數據比特流的物理連接提供機械、電氣、功能和過程的手段。物理層是OSI模型的最底層,也是唯一的實通信層,其他各層的通信都是虛通信。物理層負責在網絡上傳輸數據比特流,即按位進行傳輸,而不去理會數據的含義或格式。

圖1-9 OSI七層模型
2.數據鏈路層(Data Link Layer)
數據鏈路層通過校驗、確認和反饋重發等手段將原始的物理連接改造成可靠的數據鏈路。數據鏈路層負責相鄰節點間的數據傳輸,要解決將比特組合成幀(Frame)和差錯控制等問題。幀是數據鏈路層的數據單元,即在數據鏈路層按幀進行傳輸。
3.網絡層(Network Layer)
網絡層是通信子網的最高層次,主要用來解決路由選擇、擁塞控制和網絡互聯等問題。網絡層控制著通信子網,所謂通信子網就是實現路由和數據傳輸所必需的傳輸介質和交換組件的集合。網絡層傳輸的數據單元稱為分組或包(Packet)。典型的網絡層協議是互聯網協議(Internet Protocol, IP)。
4.傳輸層(Transport Layer)
傳輸層提供可靠有效的端到端的網絡連接。傳輸層能根據上層用戶提出的傳輸連接請求,為其建立具有數據分流或線路復用功能的一條或多條網絡連接。傳輸層使會話層不受通信子網更替和技術變化的影響,為雙方主機間通信提供了透明的數據通道。因此,傳輸層是第一個端對端(也就是主機到主機)的層次,從該層起向上各層都稱為“高層”,高層協議都是端對端的協議。典型的傳輸層協議有傳輸控制協議(Transmission Control Protocol, TCP)和用戶數據報協議(User Datagram Protocol, UDP)。
5.會話層(Session Layer)
會話層允許不同主機上各種進程之間進行會話,并提供會話管理的功能,其數據流方向控制模式有3種,即單工、半雙工和全雙工。會話層是發送端進程到接收端進程的層次。
6.表示層(Presentation Layer)
表示層為上層用戶提供共同需要的數據語法表示變換,完成數據轉換、壓縮與解壓縮、加密與解密等功能。
7.應用層(Application Layer)
應用層是OSI模型的最高層,直接為最終用戶服務,能提供包括事務處理、文件傳輸、電子郵件、遠程登錄和資源定位等服務在內的各種網絡用戶服務。
1.4.3 分層數據傳輸機制
正如寄信時要在信紙外面套上信封并填寫地址、郵編等信息后收件人才能收到信一樣,數據在發送時必須按照一定的格式在數據前面加上頭部,僅僅數據本身是無法在復雜的網絡中通行的。數據頭部一般包括發送方和接收方信息、數據包長度、數據校驗碼等信息,并且由于應用層的數據量往往較大(如一個文件或一個視頻),如果將其整體作為一個數據包傳遞的話,一旦網絡出現擁擠或堵塞的情況,接收方將無法正確接收,因此往往要將發送的數據分割為若干數據塊,再加上頭部生成若干個數據包發送,這樣生成的數據包大小便于在網絡中傳輸,即使出現個別數據包丟失或接收不正確的情況也不需要將所有的數據重傳。
發送方封裝數據包的過程如圖1-10所示,首先將要發送的數據按指定格式分割成若干數據塊,然后分別添加頭部生成若干數據包并發送。這個過程被稱為封裝或打包。

圖1-10 封裝(打包)
接收方解封裝的過程正好相反,即去掉接收到的數據包的頭部信息,并將數據塊拼接在一起,如圖1-11所示。

圖1-11 解封裝(解包)
在OSI模型中,由于整個網絡被分成7層,數據在發送方從上一層到下一層的每一次傳遞都需要按照該層的功能及協議的格式要求進行封裝,因此一共需要添加6個頭部信息(即經過6次封裝)才到物理層。在物理層將所有數據作為比特流按位發送到接收方,接收方經6次解封裝才能到達最上層,如圖1-12所示。
通過上述分析,可以總結OSI分層數據傳輸的過程如下。
1)數據在發送方從最上層(應用層)到最下層(物理層)需要經多次封裝,最終由物理層傳輸比特流。接收方從接收到數據后從最下層(物理層)到最上層(應用層)需要經多次解封裝。
2)數據包的封裝過程是:先將接收到的上層數據分割成一定長度的數據塊,再分別添加本層的頭部。添加本層頭部信息數據的目的是為了完成該層的功能。
3)物理層最終傳輸的數據中,除了應用層要傳輸的數據外還有各層的頭部信息數據,因此網絡實際流量要大于應用層需要傳輸的數據量。例如,傳輸一個1MB的文件可能引起3MB的網絡流量。

圖1-12 OSI模型的分層數據傳輸
思考:
在網絡中間節點的網絡設備上,數據是從下(底層)往上(高層)傳輸還是從上(高層)往下(底層)傳輸?
1.4.4 TCP/IP
OSI模型是一種理論化的標準,標準的實現被稱為協議。目前使用最廣泛的協議是TCP/IP,TCP/IP實際上是一個協議系列,或稱為協議簇,而TCP和IP是其中的兩個最基本、最重要的子協議,因此,通常用TCP/IP來代表整個協議系列。對應OSI模型的層次結構,并且為了實現的簡單性,TCP/IP將OSI模型部分層次的功能合并,合并后共有4層:網絡接口層、網絡層、傳輸層和應用層,如圖1-13所示。

1-6 TCP/IP

圖1-13 TCP/IP協議簇及其與OSI模型的層次對應關系
TCP/IP各層的簡要說明如下。
1.網絡接口層(Network Interface Layer)
網絡接口層對應OSI模型的物理層和數據鏈路層,主要實現物理尋址與比特流傳輸。目前使用較多的協議是Ethernet(以太網)協議。

1-7 TCP/IP工作流程動畫
2.網絡層(Internet Layer)
網絡層對應OSI模型的網絡層,主要實現路由選擇、擁塞控制等。目前使用較多的協議是IP。
3.傳輸層(Transport Layer)
傳輸層對應OSI模型的傳輸層,主要實現端到端的連接。目前使用較多的協議是TCP和UDP。
4.應用層(Application Layer)
應用層對應OSI模型的上3層(應用層、表示層、會話層),主要實現各種網絡服務。根據不同的應用功能有不同的應用層協議,目前使用較多的協議包括HTTP、FTP、Telnet協議、DHCP等。
TCP/IP協議簇中的主要協議如表1-1所示。
表1-1 TCP/IP協議簇中的主要協議
