1.4 計算機網絡體系結構
1.4.1 網絡體系結構
計算機網絡系統是一個非常復雜的系統,網絡通信控制也涉及許多復雜的技術問題。計算機網絡系統的設計采用結構化方法,它把一個較為復雜的系統分解為若干個容易處理的子系統,然后逐個加以解決,現代計算機網絡都采用了層次化體系結構。分層及其協議的集合稱為計算機網絡體系結構CNA(Computer Network Architecture),它是關于計算機網絡系統應設置多少層,每個層能提供哪些功能的精確定義,以及層之間的關系和如何聯系在一起的。
1.分層結構的優點
分層結構有如下優點:
(1)由于系統被分解為相對簡單的若干層,因此易于實現和維護。
(2)各層功能明確,相對獨立,下層為上層提供服務,上層通過接口調用下層功能。而不必關心下層所提供服務的具體實現細節,因此各層都可以選擇最合適的實現技術。
(3)當某一層的功能需要更新或被替代時,只要它和上、下層的接口服務關系不變,則相鄰層都不受影響,因此靈活性好,這有利于技術進步和模型的改進。
(4)分層結構易于交流、理解和標準化。
2.分層原則
網絡體系結構分層時有以下幾個原則:層數要適中,過多則結構過于復雜,各層組裝困難,而過少則層間功能劃分不明確,多種功能在同一層中,造成每層協議復雜;層間接口要清晰,跨越接口的信息量盡可能要少。另外,劃分時把應用程序和通信管理程序分開,還需要將通信管理程序分為若干模塊,把專用的通信接口轉變為公用的、標準化的通信接口,這樣能使網絡系統的構建更加簡單。
3.常見的網絡體系結構
20 世紀70 年代以來,一些計算機公司紛紛研究各自的網絡,并提出各自的網絡體系結構。較著名的有IBM公司在1974 年公布的分布式的系統網絡體系結構SNA(System Network Architecture),美國DEC公司在1975 年公布的網絡體系結構DNA(Distributing Network Architecture),以后,又不斷出現了一些按照不同概念設計的網絡,有力地推動了計算機網絡的發展和廣泛應用。但各種不同體系結構劃分的層次都不相同,相互之間互不兼容,不能實現開放互聯。下面三個標準得到了公認和應用:
(1)OSI/RM。為層次的劃分建立標準的是國際標準化組織ISO的開放系統互聯參考模型OSI/RM(Open System Interconnection Basic Reference Model),OSI/RM分層時除了遵循上述原則外,還考慮了已有網絡體系結構及它們的經驗。OSI/RM結構嚴密,理論性強,學術價值高,各種網絡都參考它,它是局域網和廣域網上一套普遍適用的規范集合。
(2)TCP/IP。Internet標準化組織所制定的參考模型TCP/IP(Reference Model),相對于OSI/RM來說更為簡單,實用性強,現在已成為事實上的工業標準,現代計算機網絡大多遵循這一標準。
(3)IEEE 802。IEEE 802標準是專門從事局域網的標準化工作,學習局域網必須學習IEEE 802標準。
本書主要以這三種結構模型為主線,介紹計算機網絡技術。
1.4.2 OSI/RM參考模型
1.OSI/RM參考模型
OSI/RM已經被許多廠商所接受,成為指導網絡發展方向的標準。“開放系統互聯”的含義是任何兩個不同的網絡系統,只要遵循OSI標準是相互開放的,那么就可以進行互聯。OSI/RM只給出了計算機網絡系統的一些原則性說明,并不是一個具體的網絡。它將整個網絡的功能劃分成七個層次,如圖1.6 所示。七層模型從下到上分別為物理層(Physical Layer,PL)、數據鏈路層(Data Link Layer,DLL)、網絡層(Network Layer,NL)、傳輸層(Transport Layer,TL)、會話層(Session Layer,SL)、表示層(Presentation Layer,PL)和應用層(Application Layer,AL)。層與層之間的聯系是通過各層之間的接口進行的,上層通過接口向下層提出服務請求,而下層通過接口向上層提供服務。兩個計算機通過網絡進行通信時,除了物理層,其余各對等層之間均不存在直接的通信關系,而是通過各對等層之間的通信協議來進行通信的,只有兩端的物理層之間通過傳輸介質才實現真正的數據通信。最高層是應用層,它面向用戶提供應用服務。

圖1.6 OSI七層參考模型
注意:會話層也稱為會晤層或對話層,傳輸層也稱為運輸層或傳輸層。
七層模型中,低三層屬于通信子網的范疇,它主要通過硬件來實現,高三層協議為用戶提供網絡服務,屬于資源子網的范疇,主要由軟件來實現。傳輸層的作用是屏蔽具體通信子網的通信細節,使得高層不關心通信過程而只進行信息的處理。只有在主機中才可能需要包含所有七層的功能,而在通信子網中一般只需要低三層甚至只要低兩層的功能就可以了。
需要強調的是,OSI/RM并非具體網絡實現的描述,它只是一個為制定標準而提供的概念性框架。網絡中的設備只有當與OSI或有關協議相一致時才能互聯。
2.OSI/RM各層功能簡介
1)物理層
物理層的作用是傳輸原始的二進制比特流。它建立在通信介質的基礎上,實現系統和通信介質的物理接口。需要明確的是,物理層并不是指物理設備或傳輸介質,而是有關物理設備通過傳輸介質進行互聯的描述和規定。
物理層傳輸的單位為二進制位,它利用通信介質機械、電氣性能及通信規則和協議,在數據終端設備(DTE)和數據通信設備(DCE)之間,實現物理鏈路的建立、保持和拆除功能,在兩個或多個節點互聯的鏈路上進行發送端到接收端(或多個接收端)數據的傳輸。物理層上執行的一些協議功能包括:建立和終止呼叫、控制半雙工信道上的信道方向、錯誤控制、確定應該用多少伏電壓表示“1”和“0”、信道是全雙工還是半雙工、連接口有多少個插腳及每一根插腳的用途等。
2)數據鏈路層
數據鏈路層的傳輸單位是幀,它在網絡兩點之間的鏈路上,控制信息幀的傳輸,并進行差錯檢測。幀是一系列比特組成的信息單元,也稱數據包。幀中包含源、目標地址和檢錯碼等信息。數據鏈路層利用物理層所建立的鏈路,將報文從一個節點傳輸至另一個節點。為使網絡層無須了解物理層的特征而獲得可靠的傳輸,數據鏈路層具有差錯檢測和校正功能,它的功能是依靠其協議實現。根據數據信息的基本單位不同。數據鏈路層的協議可分為面向字符型的傳輸協議和面向位型的傳輸協議兩種。
數據鏈路層主要完成數據鏈路的建立、維持和釋放、流量控制、差錯控制等功能。
局域網中,網絡協議只包括物理層、數據鏈路層。由于局域網沒有路由選擇問題,任何兩節點之間都可用一條直接鏈路連接,所以不需要單獨設置網絡層,而是將尋址、排序、流量控制、差錯控制等功能放在數據鏈路層實現。
3)網絡層
網絡層的傳輸單位是數據包(分組),它負責控制通信子網的工作,即控制報文分組的傳輸。注意,網絡層考慮的是源和目標節點傳輸數據時需要經過許多中間節點的情況,兩個節點之間到達的路徑可能有很多,因此包括路由選擇、流量控制、不同網絡層協議的網絡之間互聯等功能。它的特性對高層是透明的,還可以根據傳輸層的要求選擇服務質量,向傳輸層報告未恢復的差錯。
網絡層將數據單元分拆成若干小的數據單元,這個過程稱為分段。當到達目標節點后(中間可能經過不同的路徑),必須重構被分段的數據單元,這個過程稱為重組。
4)傳輸層
傳輸層通過通信線路在不同機器之間進行程序和數據的交換。負責處理端到端的通信,即端點之間的邏輯連接。所謂端到端是指從一個主機到另一個主機,中間可以有一個或多個交換節點。其主要任務是為兩個用戶提供建立、維護和拆除傳輸連接的能力,在系統之間提供可靠透明的數據傳輸,提供端到端的錯誤恢復和流量控制。
傳輸層一個很重要的功能是數據的分段和重組,這里的分段和重組與網絡層的分段和重組是兩個不同的概念。網絡層的分段是數據幀大小的減少,而傳輸層的分段是指把一個上層數據分割成一個個邏輯片或物理片。也就是說,發送方在傳輸層將上層交給它的較大的數據進行分段后交給網絡層進行獨立傳輸。這樣可以實現傳輸層的流量控制,提高網絡資源的利用率。
5)會話層
會話層實現各個進程之間的建立、維護和結束會話連接的功能,包括使用權、差錯恢復、會話活動管理等。如網絡上用戶同時進行傳輸和接收信息時,此層能決定何時接收或發送信息,以免發生“碰撞”。
6)表示層
表示層是在網絡內部實現不同語句格式和編碼之間的轉換和表示,為應用層提供服務。用戶進程可以向表示層送入一個報文流,表示層再把該報文流壓縮后送往目的主機,目的主機的表示層把報文解密和擴展后,再交給本主機的用戶進程。
7)應用層
應用層由應用程序組成,直接為用戶服務,包括文件傳輸、訪問管理、電子郵件服務、查詢服務及遠程作業登錄等。
3.OSI/RM數據封裝過程
計算機網絡利用協議進行通信,兩個網絡設備通信時,OSI/RM對等層之間通過附加到該層的信息頭來進行通信,數據的封裝過程如圖1.7 所示。發送進程發送給接收進程的數據時,先經過發送方各層從上到下傳輸到物理傳輸媒體,通過物理媒體傳輸到接收方后,再經過從下到上各層的傳遞,最后到達接收進程。
在發送方從上到下逐層傳遞的過程中,每經過一層都對數據附加一個具有各種控制信息的信息頭部,即封裝,如圖1.7 中的H7、H6、…、H1(統稱為報頭)。而各層的功能正是通過相應層的信息頭部來實現的,因此,發送的數據會越來越大,直到物理層構成由“0”或“1”組成的二進制數據流,然后再將其轉換為電或光信號在物理媒體上傳輸至接收方。

圖1.7 OSI/RM數據封裝過程
接收方在向上傳遞時過程正好相反,各層要去除發送方在相應層加上的控制信息,并進行相應的協議操作。發送方和接收方的對等實體看到的信息是相同的,就好像這些信息通過虛通道直接傳輸到了對方一樣,同層節點之間通過協議實現對等層之間的通信。
1.4.3 TCP/IP參考模型
1.TCP/IP概述
TCP/IP(Transmission Control Protocol/Internet Protocol)是傳輸控制協議/網際協議的英文縮寫,它主要考慮異種網絡之間的互聯問題,是網絡發展至今最為成功的通信協議。TCP/IP是由一組通信協議所組成的協議簇,而TCP和IP是其中的兩個主要協議。1980年,ARPA開始在ARPAnet的所有機器上都使用TCP/IP協議,并以ARPAnet為主干建立了Internet。為推廣TCP/IP協議,ARPA以低價出售TCP/IP的使用權,還資助一些機構來開發應用于UNIX操作系統中的TCP/IP協議。美國國家科學基金NSF于1985 年開始涉足TCP/IP協議的研究與開發,到1986年NSF資助建立NSFnet,使全美最主要的科研機構連入NSFnet,NSF資助的所有網絡機構均采用TCP/IP協議,1990年NSFnet代替ARPAnet成為Internet的主干。
TCP/IP協議使用范圍廣,既可用于廣域網,又可用于局域網、內部網和外部網等各種網絡中,許多單機操作系統和網絡操作系統都采用或含有TCP/IP協議。TCP/IP協議已成為事實上的國際標準和工業標準。
2.TCP/IP體系結構
OSI/RM是分層(Layer)結構(層與層之間是調用關系),而TCP/IP協議是分級(Level)結構,它簡化了層次設計,分為四級,習慣上稱它為四層。自下而上依次是:網絡接口層、網際層、傳輸層和應用層。它和OSI/RM的對應關系見表1.1。
表1.1 OSI/RM和TCP/IP的比較

1)網絡接口層
TCP/IP與各種物理網絡的接口稱為網絡接口層,它與OSI/RM的數據鏈路層和物理層對應,主要是由低層網絡定義的協議。網絡接口層負責接收數據報,并把數據報發送到指定網絡上。實際上,TCP/IP在這一層并沒有定義任何特定的協議,網絡接口也可以有多種,它支持各種邏輯鏈路控制和介質訪問控制協議,其目的是可以將各種類型的網絡(LAN、WAN、MAN)進行互聯。因此,TCP/IP可運行在任何網絡上。
2)網際層
網際層是整個TCP/IP體系結構的關鍵部分,它解決兩個不同IP地址的計算機之間的通信問題。具體包括形成IP數據報、尋址、檢驗數據報的有效性、去掉報頭和選擇路徑等功能,將數據報轉發到目的計算機。網際層可以將分組發往任何網絡,并使分組獨立地傳向目的地(可能經由不同的網絡或路徑)。這些分組到達的順序和發送的順序可能不同,接收時高層則必須對分組排序。網際層包含下面幾個核心協議:網際協議IP、網際控制報文協議ICMP、地址解析協議ARP、逆向地址解析協議RARP和網際組報文協議IGMP。
(1)網際協議(IP)
網際協議IP(Internet Protocol)是網際層的重要協議,主要功能是進行尋址和路由選擇,并將數據包從一個網絡轉發到另一個網絡。IP是不可靠和無連接的數據報傳輸協議。它將報文傳輸到目的主機后,不管傳輸正確與否都不進行檢查,不回送確認,沒有流量控制和差錯控制功能。這些功能留給上層協議TCP來完成。IP只是盡力傳輸數據到目的地,但不提供任何保證。
(2)網際控制報文協議(ICMP)
IP數據包在實際傳輸過程中有可能出現差錯、故障和發生擁塞等。網際控制報文協議ICMP(Internet Control Message Protocol)就是為IP協議提供差錯報告和控制,處理路由,協助IP協議實現提出報文傳輸的控制機制。
在網絡中,網關和主機利用ICMP發送關于所發數據包的有關問題報告,如目標或端口不可達,或者網絡中出現擁塞等。
(3)地址解析協議(ARP)
局域網使用介質訪問控制方法,通過物理地址(MAC地址或網卡地址)確定報文的發送目的地。但知道IP地址還并不能確定接收主機的MAC地址,地址解析協議ARP(Address Resolution Protocol)的任務就是完成IP地址向物理地址的轉換。ARP采用廣播消息的方法,完成IP地址到局域網物理地址的映射工作。
(4)逆向地址解析協議(RARP)
逆向地址解析協議RARP(Reverse Address Resolution Protocol)主要解決物理地址到IP地址的轉換。RARP協議也采用廣播消息的方法,來獲取MAC地址相對應的網絡IP地址。RARP協議對于在系統引導時無法知道自己IP地址的站點來說顯得尤其重要,如無盤工作站或撥號上網的計算機,IP地址是不能從本機獲得的。
(5)網際組報文協議(IGMP)
網際組報文協議IGMP(Internet Group Message Protocol)是用來幫助組播路由器標識LAN中的主機,這些主機是組播組的成員,它與IP協議一起使用。
3)傳輸層
傳輸層有兩個端到端的協議:傳輸控制協議TCP和用戶數據報協議UDP。
(1)傳輸控制協議(TCP)
傳輸控制協議TCP(Transmission Control Protocol)是一個面向連接的協議,提供有序可靠的全雙工虛電路傳輸服務。它通過認證方式、重傳機制等確保數據的可靠傳輸。TCP功能包括為了取得可靠的傳輸而進行的分組丟失檢測,對收不到確認的信息自動重傳,以及處理延遲的重復數據報等。TCP能進行流量控制和差錯控制。適用于每個分組僅含少量字符的交互式終端的應用,也適合大量數據的文件傳輸。
(2)用戶數據報協議(UDP)
用戶數據報協議UDP(User Datagram Protocol)是最簡單的傳輸層協議,它和IP一樣提供面向無連接、不可靠的數據報傳輸服務,唯一與IP不同的是提供協議端口號,以保證進程通信。UDP可以根據端口號對許多應用程序進行多路復用,并利用校驗和檢查數據的完整性。UDP和TCP相比,協議更為簡單,因為沒有了建立、拆除連接過程和確認機制,數據傳輸速率較高。由于現代通信子網可靠性較高,因此UDP具有更高的優越性。UDP被廣泛應用于一次性的交易型應用(一次交易只有一來一回兩次報文交換),以及要求效率比可靠性更為重要的應用程序,如IP電話、網絡會議、可視電話、現場直播、視頻點播VOD等傳輸語音或影像等多媒體信息的場合。
有關數據報、虛電路、面向連接和無連接等概念將在第3章介紹。
4)應用層
TCP/IP的應用層與OSI/RM高三層相對應,將OSI/RM高三層合并為一層。它為用戶提供調用和訪問網絡上各種應用程序的接口,并向用戶提供各種標準的應用程序及相應的協議,用戶還可以根據自己的需要建立自己的應用程序。應用層協議主要包括以下幾類:
(1)基于TCP的應用層協議的有:遠程登錄(虛擬終端服務)Telenet(Telecommunication Network)、文件傳輸協議FTP(File Transfer Protocol)和簡單郵件傳輸協議SMTP(Simple Mail Transfer Protocol)等。
(2)基于UDP的應用層協議的有:簡單網絡管理協議SNMP、域名服務DNS(Domain Name Service)、NetBIOS名字服務程序NetBIOS-NS、遠程過程調用協議RPC等。
(3)基于TCP、UDP的應用層協議的有:超文本傳輸協議HTTP(Hyper Text Transfer Protocol)、域名系統DNS(Domain Name System)、簡單網絡管理協議SNMP(Simple Network Management Protocol)和通用管理信息協議CMOT等。
3.TCP/IP的數據封裝
TCP/IP協議和OSI/RM一樣都采用對等層通信的模式,相應地,在轉發報文過程中,封裝和解除封裝也在各層進行。發送方在發送數據時,應用程序將要發送的數據加上應用層頭部交給傳輸層,TCP或UDP再將數據分成大小一定的數據段,然后加上本層的報文頭。傳輸層報文頭部包含數據所屬上層協議或應用程序的端口號,如HTTP的端口號為80,傳輸層協議利用端口號來調用和區分應用層的不同的應用程序。緊接著再將數據交給網絡層,網絡層對來自傳輸層的數據進行一定的處理,如利用協議號區分傳輸層協議是TCP還是UDP。然后尋找下一跳地址,解析數據鏈路層地址,并加上本層的IP報文頭部,轉換為數據包,發送給網絡接口層。TCP/IP的數據封裝過程如圖1.8所示。
接收方去除封裝的過程和發送方相反,從網絡接口層到應用程序層,逐層去除封裝,最后將數據傳遞給應用程序處理。

圖1.8 TCP/IP的數據封裝過程
4.TCP/IP和OSI/RM的比較
OSI/RM的抽象能力高,每層功能劃分清晰,適合于各種網絡。由于定義模型時對某些情況預計不足,造成了協議和模型脫節的情況。OSI的缺點是層次過多,事實證明會話層和表示層劃分意義不大,反而增加了復雜性。OSI/RM雖然得到了各國政府和官方的支持,但是沒能決定技術的發展方向。由于Internet的迅速發展,TCP/IP已成了事實上的工業標準。TCP/IP不是像OSI/RM那樣先給出模型然后規定每層的協議,而是先有協議,有了實際網絡后再總結出的參考模型,核心協議IP和TCP是被仔細設計的。TCP/IP和OSI/RM比較如下:
(1)OSI/RM以公用數據網為基礎,TCP/IP是以計算機網絡為基礎的。OSI/RM結構嚴密,理論性強,學術價值高,各種網絡、硬件設備和學術文獻都參考它,具有更高的科學性和學術性。而TCP/IP相對簡單,更多地體現了網絡的設計、實現,因而其實用性更強。
(2)OSI模型比TCP/IP具有更好的隱藏性,在技術發生變化時每層的實現能比較容易被替換掉,這也是把協議分層的主要目的之一。OSI中高層只能調用和它相鄰的低層所提供的服務,而TCP/IP可以跨層調用,即上級可以越級調用更低一些的下級所提供的服務,提高了協議的效率。
(3)TCP/IP一開始就考慮到多種異構網的互聯問題,并將IP作為TCP/IP的重要組成部分。但ISO最初只考慮到用一種公共數據網將各種不同的系統互聯在一起,只是在認識到IP協議的重要性后,在網絡層劃分出一個子層來完成類似IP的作用。
(4)TCP/IP一開始就對面向連接服務和面向無連接服務同樣重視,而OSI很晚才開始制定無連接服務的有關標準。
(5)對可靠性的強調不同。OSI對可靠性的強調是第一位的,協議的所有各層都要檢測和處理錯誤。TCP/IP認為可靠性是端到端的問題,應該由傳輸層來解決,由主機來承擔,這樣做的效果使TCP/IP成為效率很高的體系結構。但如果通信子網可靠性較差,使用TCP/IP協議的主機負擔將會加重。
(6)系統中體現智能的位置不同。OSI的智能性問題如監視數據流量、控制網絡訪問、記賬收費,甚至路徑選擇、流量控制等都由通信子網解決。TCP/IP則要求主機參與幾乎所有的智能性活動。
(7)TCP/IP有很好的網絡管理功能,OSI/RM后來才考慮這個問題。
1.4.4 IEEE 802 標準
OSI/RM和TCP/IP都是在IEEE 802出現以前針對廣域網制定的,IEEE 802針對的是局域網。IEEE 802的發展不同于廣域網,局域網廠商一開始就按照標準化、互相兼容的方向發展。局域網的拓撲結構非常簡單,數據傳輸不經過中間節點的轉發,因此,IEEE 802只定義了物理層和數據鏈路層兩層,而沒有定義網絡層。對于流量控制、差錯控制等功能,就在數據鏈路層中的LLC中實現了,高層協議主要由操作系統去處理。
1)物理層
IEEE 802的物理層同OSI/RM的物理層功能類似,主要完成編碼、解碼、時鐘同步、發送和接收數據、載波檢測及提供與數據鏈路層的接口。物理層定義的是在傳輸介質上傳輸的二進制比特流,因此它描述并規定了所有傳輸介質的特性,如接口的機械、電氣、功能和規程特性等。
2)數據鏈路層
局域網大多數是共享傳輸介質,容易出現爭用傳輸介質而引起的沖突和碰撞等情況,因此傳輸介質的訪問控制是重點考慮的問題。局域網種類較多,訪問傳輸介質的方法也各不相同,為了使數據鏈路層不致過于復雜,IEEE 802將數據鏈路層分為邏輯鏈路控制和介質訪問控制兩個子層。
- 大學生網絡熱點事件參與:現狀、特征、影響因素研究
- 周三多《管理學》(第3版)【教材精講+考研真題解析】講義與視頻課程【33小時高清視頻】
- 纖維化學與物理
- 多媒體技術及應用
- 大學生軍事理論
- 2020年新疆公務員錄用考試專項教材:判斷推理【考點精講+典型題(含歷年真題)詳解】
- 旅游管理學
- 羅斯《公司理財》(第9版)筆記和課后習題(含考研真題)詳解[視頻講解]
- 材料分析測試實驗
- 食品生物技術
- 2019年江西省選聘高校畢業生到村任職考試《行政職業能力測驗》題庫【真題精選+章節題庫+模擬試題】
- 勞動關系與勞動法
- 范健《商法》(第4版)【教材精講+考研真題解析】講義與視頻課程【40小時高清視頻】
- 工業控制網絡
- 多恩布什《宏觀經濟學》(第10版)課后習題詳解