數通網絡模型

1分層網絡模型

1.1爲什麼是分層模型

數據是由用戶藉助應用程序產生。我們要與家人和朋友語音通話、視頻通話,我們要發送產品資料、方案、合同草稿給商業夥伴,不管是音頻流、視頻流還是文本、圖片,通過計算機處理和傳輸前都要先轉化成數字數據。單純的數字數據是不會自己跑到家人、朋友和商業夥伴那裏的,需要對它進行封裝,添加一些標識信息控制信息標識信息用來標記數據的類型、接收者與發送者,以及傳送方式等。通信雙方需要建立通信會話,基於通信會話才能收發數據,封裝的控制信息就是給會話協議建立通信會話用的。被封裝後的數據形成一個個的數據報、數據包、數據幀或信元等。我們把對數據標識封裝和會話的控制的規則或方法進行標準化,於是就形成了協議(Protocol負責數據標識封裝的協議叫做標識協議封裝協議,負責會話控制的協議被叫做信令協議。因爲應用的種類實在太多,不同的應用產生的數據也不一樣,所以對應的標識和控制的方法也就不同,這就需要定義各種各樣的協議與之相對應:有區分不同應用的協議,有標識不同數據類型的協議,有建立、維護、拆除會話的協議,有標識接收者和發送者的協議,有針對不同通信介質提供相應的介質訪問控制方式的協議,有將數字數據進行編解碼的協議,有定義數據傳輸介質屬性和介質接口形式的協議。

數據通信整個過程是一個複雜的系統工程,人類處理複雜系統工程的辦法就是分而治之,具體來說就是模塊化加分層協作。將複雜信息通信這個複雜的系統工程劃分成不同的功能層,再在功能層中劃分出不同的功能模塊,每一個模塊實現系統工程中的一部分功能,然後將所有的功能模塊聯繫在一起就完成了整個系統工程的功能。這就是分層思想的根源,爲了複雜系統工程的實現。

1.2分層帶來的好處

當然,它讓數據通信這個複雜的系統工程得以實現。同時,分層以後,不同的組織完成其中的一部分功能就可以了,簡化了實現難度。因爲有各個組織的協同,就需要建立標準化體系,而標準體系的建立,又推進了數據通信工業化和產業的發展。

2OSITCP/IP

計算機網絡是數據通信網絡,我們經常把它叫做數通。數通網絡的實現是基於兩大網絡模型來構建的,我們最熟悉的可能是由ISOInternational Organization for Standardization,國際標準化組織)制定的OSIOpen System Interconnection,開放系統互聯)模型,是一個推薦模型Reference Model),有時也會被寫做OSI/RMISO-OSI/RM,而TCP/IPTransmission Control Protocol/Internet Protocol ,傳輸控制協議/因特網互聯協議)模型則是事實上的標準,除少量個別協議遵從OSI外,整個互聯網現網框架都是以這個協議爲思想基礎搭建起來的,也就是說整個網絡系統的大廈都是由這兩大模型爲基礎構建起來的。

我個人更願意把TCP/IPTransmission Control Protocol/Internet Protocol 翻譯成傳輸控制與互聯網協議。

通過對兩大網絡模型的介紹,爲讀者提供一個高屋建瓴地視角,對整個網絡系統有個全局的認識,併爲進一步地學習和掌握網絡知識,分析、定位、解決網絡問題打下基礎。

本文以OSI模型爲框架,介紹每一層的功能,數據在本層的表現形式,工作在本層的設備和典型協議等。在本節中並沒有對某個特定的協議做過多講解或論述,僅做初步瞭解就夠了,有關協議的更多內容可以查閱附錄1術語表,如果某個協議或涉及到的技術在生產中應用比較普遍,後面會有專門的篇幅詳細介紹。

2.1OSI模型

01-01 OSI網絡模型

ISOInternational Organization for Standardization,國際標準化組織)制定的OSIOpen System Interconnection,開放系統互聯)模型,是一個考模型Reference Model),有時也會被寫做OSI/RMISO-OSI/RM,它是我們學習計算網絡必須要了解的基礎和標準網絡模型。此模型深入人心,流行甚廣,不可不知。

2.2TCP/IP模型

01-02 TCP/IP網絡模型

TCP/IP在層次劃分上更加簡單,只有四層,由IETF提出並維護,它將OSI模型的應用層、表示層、會話層合併,稱之爲應用層,提供應用服務;將數據鏈路層和物理層合併,稱之爲網絡接入層,並將網絡接入層拆分成兩個子層(Sub Layer),分別是LLCLogic Link Control)子層和MACMedia Access Control)子層,提供網絡接入的能力。我們常說的MAC地址(MAC Address)就屬於MAC子層(MAC Sub Layer)。此模型是計算機網絡的實事標準,不可不知。

2.3OSITCP/IP對比

01-04 OSITCP/IP網絡模型對比

雖然有對應關係,甚至是相同的名字,但是兩者定義的內容並不完全相同。


2.4改進的五層模型

01-03 改進的五層模型

在實際的生產環境和工程實現中,工程技術人員在討論和交流時實際上使用的網絡模型是OSITCP/IP融合後的一種改進模型。改進模型同時TCP/IP模型的應用層、傳輸層、互聯網絡層和OSI模型的數據鏈路層、物理層。改進後形成五層模型,分別是應用層,傳輸層,網絡層,數據鏈路層和物理層。

2.5實事上的標準

對於當前一統天下的以太網絡(802.3)和無線網絡(802.11),我們很難將其單獨歸入OSI模型的數據鏈路層或物理層,因爲它同時包含了數據鏈路層和物理層定義的內容和功能,它屬於TCP/IP模型的網絡接入層。

我們在談及OSI模型的表示層和會話層時,基本沒有什麼比較耳熟能詳的協議、標準或技術,這是因爲OSI模型的應用層、表示層、會話層實際上對應到了TCP/IP的應用層。TCP/IP模型基於OSI模型進行優化,並對各層不斷地更新和迭代,以適應層出不窮的應用所提出的新要求,而OSI模型在後期的更新上做得並不好,以至於自己定的標準,被別人不斷迭代優化後成爲實事標準。如同人要不斷學習並自我迭代纔不會被淘汰一樣。

儘管如此,我們在討論網絡架構模型時,習慣上還是使用OSI七層模型來論述。雖然TCP/IP模型是實事上的標準,但是OSI/RM早已深入人心,我選擇遵從大多數人的習慣。儘管有迎合甚至討好世衆之嫌,但不代表我沒有進行獨立思考。如果有可能,若干年後此書再版,我會考慮以TCP/IP模型爲標準進行論述。也許你說:囉囉嗦嗦這麼多廢話,而我們只需要一個能指出皇帝新裝的孩子。好吧,可能是我還不夠純粹,讓我繼續再粹煉上幾年!從更深層次來說,各種模型不過都是不同的解釋方式,而伴隨着網絡技術的改進,對應的解釋方式也會隨之而變。

3OSI各層簡介

3.1物理層 Physical Layer

定義了機械的、電氣的、規程的、功能性的標準。

數據形式是二進制流(Bit Flowing)。

本層設備有中繼器(Repeater)集線器(Hub)等。

物理層是網絡存在的物理條件。這一層主要定義了通信介質及性質,接口形式和光電信號等。IEEE 802.3協議簇所定義的以太網是這一層最重要的協議,已形成對LAN網絡的實事壟斷。

3.2數據鏈路層 Data Link Layer

定義了幀結構和物理流控。

數據形式是幀(Frame)。

本層設備有網橋(Bridge)和交換機(Switch)。

IEEE 802中又被分爲較上層的LLCLogic Link Control)子層和較下層的MACMedia Access Control)子層。

根據不同的通信介質及其組網拓撲,規定介質的訪問控制方式。可以簡單概括爲通信介質、組網拓撲、介質的訪問控制方式。

IEEE 802.3是定義有線網絡的協議簇,有線網絡使用CSMA/CDCarrier Sense Multiple Access with Collision Detection,帶衝突檢測的載波偵聽多路訪問)邏輯鏈路控制。IEEE 802.11是定義無線網絡的協議簇,無線網絡使用CSMA/CACarrier Sense Multiple Access with Collision Avoidance,帶衝突避免的載波偵聽多路訪問)。有線網絡可以通過監聽線路電壓或電流的方式監聽載波是否空閒,而無線網絡的載波是否空閒卻無法通過載波偵聽之外的方式實現,只能通過沖突避免的方式來實現線路分時共享。

以太網在二層局域網上擁有絕對優勢地位。

3.3網絡層 Network layer

定義了數據包結構,編址,尋址,路由計算等。

數據形式是包(Packet)。

工作在網層的設備是路由器和三層交換機等,但是我們一般統稱這爲路由器。

主要的功能是計算並提供路由。

比較典型的提供路計算的協議有:RIPRouting Information Protocol,路由信息協議),OSPFOpen Shortest Path First,開放最短路徑優先),IS-ISIntermediate System to Intermediate System,中間系統到中間系統),IGRPInterior Gateway Routing Protocol,內部網關路由協議),BGPBorder Gateway Protocol,邊界網關協議)等。帶有工具性質的協議ICMPInternet Control Message Protocol,互聯網控制消息協議)和提供單播IP地址到下一跳MACMedia access control)地址映射關係的ARPAddress Resolution Protocol,地址解析協議)協議,是這一層另外兩個非常重要的協議。RIPBGP本質上是應用層協議,RIP使用UDP 520BGP使用TCP 179Integrated IS-IS是本質上是鏈路層協議,通過802.3的格式直接封裝在數據幀中。但是因爲以上三個協議都提供路由計算和選擇,所以我們仍然把它們歸爲網絡層協議。

其實這一層最重要的協議是IPInternet Protocol,互聯網協議),它提供數據包的封裝和主機節點標識,只有被封裝和標識的數據纔可以被轉發。

3.4傳輸層 Transport Layer

管理網絡層連接,提供了可靠的包傳遞機制。

數據形式是分段或叫分片(Segment)。

傳輸層最重要的兩個協議是TCPTransmission Control Protocol,傳輸控制協議)和UDPUser Datagram Protocol,用戶數據報協議)。TCP設計之初是爲了高可靠性傳輸,這就需要有比較複雜的協議報頭封裝,因此協議開銷比較大,在沒有添加任何選項的情況下,報頭大小是20Byte,傳輸效率相對較低。UDP設計之初是爲高效傳輸,放棄了比較複雜的控制,協議報頭封裝比較簡單,只有8Byte,但是可靠性低。另外一個在傳輸層值得被關注的協議是SCTPStream Control Transmission Protocol,流控制傳輸協議),它也是一個面向連接的協議,支持多宿主和多流,並且安全性更高,將來有望得到更多的應用和發展。

3.5會話層 Session Layer

會話的建立或拆除等。

RPCRemote Procedure Call,遠程過程調用)是這一層比較典型的一個協議。這一層在工業應用中並沒有得到很好的發展,它的很多功能被應用層和傳輸層替代了。當然你也可以說是被TCP/IP替代了。

3.6表示層 Presentation Layer

定義數據的結構和傳輸格式,編解碼,壓縮解壓縮,加解密等。

與會話層一樣的一個非常難堪的存在。它基本上是被應用層替代。我個人認識會話層和表示層在設計之初考慮不足夠周全,對工作任務分解不合理導致。

其實數據格式原計劃是放在這層來實現。但是數據是應用程序產生的,應用層就順便定義了數據的格式。很顯然由我產生的數據由你來定義格式顯然是不合理的,不利於合作和實現。

3.7應用層 Application Layer

提供接口給終端用戶應用,爲面向網絡的應用程序提供服務。

各種各樣的應用需求使得應用層的協議相比其它層要豐富得多,工作在應用層的協議是七層模型中最多的,各種應用呈百花齊放之態。其中最值得一提的是HTTPHypertext Transfer Protocol,超文本傳輸協議),無人能出其右。當然比較重要和常見的還有DHCPDynamic Host Configuration Protocol,動態主機配置協議)、DNSDomain Name System,域名系統)、SMTPSimple Mail Transfer Protocol,簡單郵件傳輸協議)、POP3Post Office Protocol,郵局協議版本3),IMAPInternet Message Access Protocol 4,互聯網消息訪問協議版本4)等。

4飯後思考題:

1)提供路由計算和選路的協議就一定是網絡層協議嗎?

2)我們的電腦工作在TCP/IP在哪一層?

3)路由器除了工作在網絡層,以下兩層有沒有涉及?以上各層呢?交換機呢?換句話說,文中關於網絡各層工作設備的描述是絕對正確嗎?如果說不完全正確,爲什麼還這樣描述?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章