天天看點

數通網絡模型

1分層網絡模型

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

資料通信整個過程是一個複雜的系統工程,人類處理複雜系統工程的辦法就是分而治之,具體來說就是子產品化加分層協作。将複雜資訊通信這個複雜的系統工程劃分成不同的功能層,再在功能層中劃分出不同的功能子產品,每一個子產品實作系統工程中的一部分功能,然後将所有的功能子產品聯系在一起就完成了整個系統工程的功能。這就是分層思想的根源,為了複雜系統工程的實作。

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

2OSI與TCP/IP

計算機網絡是資料通信網絡,我們經常把它叫做數通。數通網絡的實作是基于兩大網絡模型來建構的,我們最熟悉的可能是由ISO(International Organization for Standardization,國際标準化組織)制定的OSI(Open System Interconnection,開放系統互聯)模型,是一個推薦模型(Reference Model),有時也會被寫做OSI/RM或ISO-OSI/RM,而TCP/IP(Transmission Control Protocol/Internet Protocol ,傳輸控制協定/網際網路互聯協定)模型則是事實上的标準,除少量個别協定遵從OSI外,整個網際網路現網架構都是以這個協定為思想基礎搭建起來的,也就是說整個網絡系統的大廈都是由這兩大模型為基礎建構起來的。

我個人更願意把TCP/IP,Transmission Control Protocol/Internet Protocol 翻譯成傳輸控制與網際網路協定。

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

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

圖01-01 OSI網絡模型

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

圖01-02 TCP/IP網絡模型

TCP/IP在層次劃分上更加簡單,隻有四層,由IETF提出并維護,它将OSI模型的應用層、表示層、會話層合并,稱之為應用層,提供應用服務;将資料鍊路層和實體層合并,稱之為網絡接入層,并将網絡接入層拆分成兩個子層(Sub Layer),分别是LLC(Logic Link Control)子層和MAC(Media Access Control)子層,提供網絡接入的能力。我們常說的MAC位址(MAC Address)就屬于MAC子層(MAC Sub Layer)。此模型是計算機網絡的實事标準,不可不知。

圖01-04 OSI與TCP/IP網絡模型對比

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

圖01-03 改進的五層模型

在實際的生産環境和工程實作中,工程技術人員在讨論和交流時實際上使用的網絡模型是OSI與TCP/IP融合後的一種改進模型。改進模型同時TCP/IP模型的應用層、傳輸層、網際網路絡層和OSI模型的資料鍊路層、實體層。改進後形成五層模型,分别是應用層,傳輸層,網絡層,資料鍊路層和實體層。

對于目前一統天下的以太網絡(802.3)和無線網絡(802.11),我們很難将其單獨歸入OSI模型的資料鍊路層或實體層,因為它同時包含了資料鍊路層和實體層定義的内容和功能,它屬于TCP/IP模型的網絡接入層。

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

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

3OSI各層簡介

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

資料形式是二進制流(Bit Flowing)。

本層裝置有中繼器(Repeater)集線器(Hub)等。

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

定義了幀結構和實體流控。

資料形式是幀(Frame)。

本層裝置有網橋(Bridge)和交換機(Switch)。

在IEEE 802中又被分為較上層的LLC(Logic Link Control)子層和較下層的MAC(Media Access Control)子層。

根據不同的通信媒體及其組網拓撲,規定媒體的通路控制方式。可以簡單概括為通信媒體、組網拓撲、媒體的通路控制方式。

IEEE 802.3是定義有線網絡的協定簇,有線網絡使用CSMA/CD(Carrier Sense Multiple Access with Collision Detection,帶沖突檢測的載波偵聽多路通路)邏輯鍊路控制。IEEE 802.11是定義無線網絡的協定簇,無線網絡使用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,帶沖突避免的載波偵聽多路通路)。有線網絡可以通過監聽線路電壓或電流的方式監聽載波是否空閑,而無線網絡的載波是否空閑卻無法通過載波偵聽之外的方式實作,隻能通過沖突避免的方式來實作線路分時共享。

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

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

資料形式是包(Packet)。

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

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

比較典型的提供路計算的協定有:RIP(Routing Information Protocol,路由資訊協定),OSPF(Open Shortest Path First,開放最短路徑優先),IS-IS(Intermediate System to Intermediate System,中間系統到中間系統),IGRP(Interior Gateway Routing Protocol,内部網關路由協定),BGP(Border Gateway Protocol,邊界網關協定)等。帶有工具性質的協定ICMP(Internet Control Message Protocol,網際網路控制消息協定)和提供單點傳播IP位址到下一跳MAC(Media access control)位址映射關系的ARP(Address Resolution Protocol,位址解析協定)協定,是這一層另外兩個非常重要的協定。RIP和BGP本質上是應用層協定,RIP使用UDP 520,BGP使用TCP 179。Integrated IS-IS是本質上是鍊路層協定,通過802.3的格式直接封裝在資料幀中。但是因為以上三個協定都提供路由計算和選擇,是以我們仍然把它們歸為網絡層協定。

其實這一層最重要的協定是IP(Internet Protocol,網際網路協定),它提供資料包的封裝和主機節點辨別,隻有被封裝和辨別的資料才可以被轉發。

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

資料形式是分段或叫分片(Segment)。

傳輸層最重要的兩個協定是TCP(Transmission Control Protocol,傳輸控制協定)和UDP(User Datagram Protocol,使用者資料報協定)。TCP設計之初是為了高可靠性傳輸,這就需要有比較複雜的協定報頭封裝,是以協定開銷比較大,在沒有添加任何選項的情況下,報頭大小是20Byte,傳輸效率相對較低。UDP設計之初是為高效傳輸,放棄了比較複雜的控制,協定報頭封裝比較簡單,隻有8Byte,但是可靠性低。另外一個在傳輸層值得被關注的協定是SCTP(Stream Control Transmission Protocol,流控制傳輸協定),它也是一個面向連接配接的協定,支援多宿主和多流,并且安全性更高,将來有望得到更多的應用和發展。

會話的建立或拆除等。

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

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

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

其實資料格式原計劃是放在這層來實作。但是資料是應用程式産生的,應用層就順便定義了資料的格式。很顯然由我産生的資料由你來定義格式顯然是不合理的,不利于合作和實作。

提供接口給終端使用者應用,為面向網絡的應用程式提供服務。

各種各樣的應用需求使得應用層的協定相比其它層要豐富得多,工作在應用層的協定是七層模型中最多的,各種應用呈百花齊放之态。其中最值得一提的是HTTP(Hypertext Transfer Protocol,超文本傳輸協定),無人能出其右。當然比較重要和常見的還有DHCP(Dynamic Host Configuration Protocol,動态主機配置協定)、DNS(Domain Name System,域名系統)、SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協定)、POP3(Post Office Protocol,郵局協定版本3),IMAP(Internet Message Access Protocol 4,網際網路消息通路協定版本4)等。

4飯後思考題:

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

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

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

上一篇: sql
下一篇: 數通——VLAN

繼續閱讀