您好,登錄后才能下訂單哦!
計算機網(wǎng)絡(luò)就是一組通過一定形式連接起來的計算機系統(tǒng),它需要四個要素的支持,即通信線路和通信設(shè)備、有獨立功能的計算機、網(wǎng)絡(luò)軟件的支持、能實現(xiàn)數(shù)據(jù)通信與資源共享。計算機網(wǎng)絡(luò)具有兩大參考模型,分別為OSI模型和TCP/IP模型,其中OSI模型為理論模型,而TCP/IP模型則已成為互聯(lián)網(wǎng)事實的工業(yè)標準,現(xiàn)在的通信網(wǎng)絡(luò)一般都是采用TCP/IP協(xié)議簇,而應(yīng)用編程都是采用socket套接字進行編程。
網(wǎng)絡(luò)體系結(jié)構(gòu)的提出源于計算機網(wǎng)絡(luò)的復雜性和異質(zhì)性,具體表現(xiàn)為如下幾個方面:
不同的通信介質(zhì)——有線、無線…
不同種類的設(shè)備——主機、路由器、交換機、復用設(shè)備…
不同的操作系統(tǒng)——Unix、Windows…
不同的軟/硬件、接口和通信約定(協(xié)議)
不同的應(yīng)用環(huán)境——固定、移動…
不同種類業(yè)務(wù)——分時、交互、實時…
對于復雜的網(wǎng)絡(luò)系統(tǒng),用什么方法能合理地組織網(wǎng)絡(luò)的結(jié)構(gòu),以達到:
結(jié)構(gòu)清晰
簡化設(shè)計與實現(xiàn)
便于更新尾維護
較強的獨立性與適應(yīng)性
答案:分而治之
一個生活中的例子:物流系統(tǒng)
物流系統(tǒng)組織:
用戶(寄件者) | 用戶(取件者) |
快遞員(收信) | 快遞員(取信) |
分檢員(分檢) | 分檢員(分檢) |
運輸工具(出發(fā)) | 運輸工具(到達) |
運輸線路 |
特點:
每層實現(xiàn)一種特定的服務(wù)。
通過自己內(nèi)部的功能。
依賴自己的下層提供的服務(wù)。
計算機網(wǎng)絡(luò)中也采用了分層方法。——把復雜的問題劃分為若干個較小的、單一的局部問題,在不同層上予以解決。
計算機網(wǎng)絡(luò)中,層、協(xié)議和層間接口的集合被稱為計算機網(wǎng)絡(luò)體系結(jié)構(gòu)。換句話說:體系結(jié)構(gòu)包括三個內(nèi)容:分層結(jié)構(gòu)與每層的功能,服務(wù)與層間接口,協(xié)議。
1、網(wǎng)絡(luò)體系結(jié)構(gòu)的分層原理
實體:任何可以發(fā)送或接收信息的硬件/軟件進程。
對等層:兩個不同系統(tǒng)的同級層次。
對等實體:分別位于不同系統(tǒng)對等層中的兩個實體。
接口:相鄰兩層之間交互的界面,定義相鄰兩層之間的操作及下層對上層的服務(wù)。
服務(wù):某一層及其以下各層的一種能力,通過接口提供給其相鄰上層。
協(xié)議:通信雙方在通信中必須遵守的規(guī)則。
分層網(wǎng)絡(luò)結(jié)構(gòu)圖:
圖1
網(wǎng)絡(luò)中的任何一個系統(tǒng)都是按照層次結(jié)構(gòu)來組織的
同一網(wǎng)絡(luò)中,任意兩個端系統(tǒng)必須具有相同的層次
每層使用其下層提供的服務(wù),并向其上層提供服務(wù)
通信只在對等層間進行(間接的、邏輯的、虛擬的),非對等層之間不能 互相“通信”
實際的物理通信只在最底層完成
Pn:第n層協(xié)議,即第n層對等實體間通信時必須遵循的規(guī)則或約定
2、層次化體系結(jié)構(gòu)的優(yōu)點:
(1)、獨立性強——耦合程度低
上層只需了解下層通過層間接口提供什么服務(wù)—黑箱方法。
(2)、適應(yīng)性強
只要服務(wù)和接口不變,每層的實現(xiàn)方法可任意改變。
(3)、易于實現(xiàn)和維護
把復雜的系統(tǒng)分解成若干個涉及范圍小、功能簡單的子單元。
國際標準化組織信息處理系統(tǒng)技術(shù)委員會(ISO TC97)于1978年為開放系統(tǒng)互連建立了分委員會SC16,并于1980 年12月發(fā)表了第一個開放系統(tǒng)互連參考模型。
OSI參考模型的體系結(jié)構(gòu),由低層至高層分別稱為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運輸層、會話層、表示層和應(yīng)用層。
1、 OSI體系結(jié)構(gòu)圖
圖 2
OSI網(wǎng)絡(luò)參考模型功能表示:
層名 | 功能 | 相應(yīng)問題 |
應(yīng)用層 | 與用戶應(yīng)用進程的接口 | “做什么” |
表示層 | 數(shù)據(jù)格式的轉(zhuǎn)換 | “對方看起來像什么” |
會話層 | 回話管理與數(shù)據(jù)傳輸同步 | “該誰講話,從哪講起” |
傳輸層 | 端到端可靠地數(shù)據(jù)傳輸 | “對方在哪” |
網(wǎng)絡(luò)層 | 分組傳送、路由選擇、流量控制 | “走那條路” |
數(shù)據(jù)鏈路層 | 相鄰節(jié)點間無差錯的傳輸幀 | “每一步怎么走” |
物理層 | 在物理節(jié)點上透明傳輸位流 | “怎樣利用物理媒體” |
OSI模型的數(shù)據(jù)流向
2、OSI各層次的作用
(1)、物理層
物理層是OSI模型中最底下的層次,它直接與傳輸介質(zhì)相連,其主要功能可以簡述為在連接各種計算機的傳輸介質(zhì)上透明地傳輸比特流。物理層為其上一層數(shù)據(jù)鏈路層提供的服務(wù)就是向數(shù)據(jù)鏈路層屏蔽這些差別,使得數(shù)據(jù)鏈路層只需要專注于完成鏈路上數(shù)據(jù)的傳送任務(wù)即可。
ISO將OSI模型中物理層的功能定義為建立、維護和釋放數(shù)據(jù)鏈路實體之間的物理連接而提供機械的、電氣的、功能的和規(guī)范的特性,該物理連接用于在數(shù)據(jù)鏈路實體之間進行二進制比特流的傳輸。即物理層的數(shù)據(jù)單位是比特。
(2)、數(shù)據(jù)鏈路層
物理層上面的層次叫做數(shù)據(jù)鏈路層,其主要功能可以簡單描述為在直接相鄰的兩個網(wǎng)絡(luò)結(jié)點之間的線路上無差錯地傳送數(shù)據(jù),其傳送的數(shù)據(jù)單位即數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元(PDU),稱為幀(Frame)。該層次功能實現(xiàn)的根本目的是在不太可靠的物理線路上實現(xiàn)可靠的數(shù)據(jù)傳輸,即數(shù)據(jù)鏈路層提供網(wǎng)絡(luò)中直接相鄰結(jié)點之間的可靠數(shù)據(jù)通信。
數(shù)據(jù)鏈路層關(guān)注的問題就是如何保證數(shù)據(jù)在數(shù)據(jù)鏈路上實現(xiàn)正確地傳送。如果數(shù)據(jù)在構(gòu)成信道的每一段鏈路上都能夠正確地傳輸,那么最少在數(shù)據(jù)鏈路層上保證了信息傳輸?shù)目尚行院蜏蚀_性。
(3)、網(wǎng)絡(luò)層
位于數(shù)據(jù)鏈路層之上的計算機網(wǎng)絡(luò)層次是網(wǎng)絡(luò)層。設(shè)置該層次的主要目的是實現(xiàn)用戶數(shù)據(jù)在源端到目的端之間的傳輸操作。
該層次要實現(xiàn)的主要功能。
首先,網(wǎng)絡(luò)層最核心的功能就是路由的選擇。路由就是一條從源端到目的端的路徑,路由選擇是為用戶數(shù)據(jù)確定一條從源端到目的端的傳輸通路。網(wǎng)絡(luò)層處理的數(shù)據(jù)單位,即網(wǎng)絡(luò)層的協(xié)議數(shù)據(jù)單元稱為分組或者包(Packet)。
其次,確定一條路由并不是一項簡單的任務(wù),需要考慮到分組有可能要經(jīng)過不同拓撲結(jié)構(gòu)、使用不同協(xié)議并且基本參數(shù)也大相徑庭的異構(gòu)網(wǎng)絡(luò)。
第三,通信的鏈路資源是要共享的,但共享帶來的問題是有可能產(chǎn)生擁塞。
(4)、傳輸層
傳輸層也稱為運輸層,是位于網(wǎng)絡(luò)層之上的層次。它在整個網(wǎng)絡(luò)體系結(jié)構(gòu)中占據(jù)著比較重要的位置——位于資源子網(wǎng)的最底層并與通信子網(wǎng)直接相連,是面向應(yīng)用的服務(wù)與面向通信的服務(wù)的轉(zhuǎn)接層。
傳輸層的主要功能是在源主機進程和目的主機進程之間提供端到端的通信。即傳輸層從會話層接收數(shù)據(jù),根據(jù)實際情況決定是否將其拆分成更小的單元,然后傳遞給網(wǎng)絡(luò)層,并確保到達對方的數(shù)據(jù)正確無誤。傳輸層處理的數(shù)據(jù)單位稱為報文
(5)、會話層
會話層位于傳輸層之上,用于在兩臺不同計算機之上的用戶進程建立會話(Session)關(guān)系。會話被定義為兩個不同計算機上的用戶進程之間的一次信息交互,一般是進行類似傳輸層的數(shù)據(jù)傳輸,比如傳遞一些用戶要求的數(shù)據(jù),包括文件等內(nèi)容。
會話層提供的服務(wù)之一是管理會話。這個功能包括在不同計算機上的兩個用戶應(yīng)用進程之間建立、使用和結(jié)束會話。
會話層提供的第二個服務(wù)是令牌管理。令牌是一種特殊的數(shù)據(jù),只有擁有令牌的一方才擁有執(zhí)行操作的權(quán)利。
會話層提供的第三個服務(wù)是同步。
(6)、表示層
表示層位于會話層之上,是OSI模型的第六層。它用于執(zhí)行某些通用的信息處理操作以減少用戶工作的復雜度。在OSI模型中,表示層關(guān)注的是所傳輸信息的語法和語義,而其以下各層關(guān)注的是信息數(shù)據(jù)的正確傳輸,這是表示層與其下面各個層次的明顯區(qū)別。
表示層執(zhí)行的典型通用信息處理操作之一是使用標準的方法對信息數(shù)據(jù)進行編碼。
(7)、應(yīng)用層
應(yīng)用層是OSI模型的最高層,提供了大量的應(yīng)用協(xié)議來滿足人們千差萬別的網(wǎng)絡(luò)需求。網(wǎng)絡(luò)用戶可以通過各種應(yīng)用協(xié)議支持的接口來使用這些協(xié)議提供的各種網(wǎng)絡(luò)服務(wù)、訪問計算機網(wǎng)絡(luò)的各種資源,還可以以這些協(xié)議為基礎(chǔ)進一步開發(fā)出適合自己特殊需要的網(wǎng)絡(luò)應(yīng)用程序。
在OSI模型中,應(yīng)用層不同的協(xié)議為特定的網(wǎng)絡(luò)應(yīng)用提供了信息訪問手段。應(yīng)用的雙方只要符合某種協(xié)議的規(guī)范,就可以使用該協(xié)議提供的網(wǎng)絡(luò)服務(wù)。
ISO的OSI/RM七層參考模型的制定過程拖沓,協(xié)議體系結(jié)構(gòu)過于復雜,層次功能重復太多。因此,得到廣泛應(yīng)用的TCP/IP協(xié)議體系結(jié)構(gòu)逐步成為廣大計算機廠商和計算機科學界共同遵循的事實工業(yè)標準。而OSI/RM七層參考模型因其具有內(nèi)容完整、結(jié)構(gòu)明確的特點而依然在科學研究中使用。
TCP/IP是一個四層的體系結(jié)構(gòu),這四層分別是:應(yīng)用層、傳輸層、網(wǎng)際層和網(wǎng)絡(luò)接口層。用戶數(shù)據(jù)若要使用TCP/IP協(xié)議從源計算機傳送到目的計算機,則必須經(jīng)過上述四層網(wǎng)絡(luò)協(xié)議棧的處理才能在實際的物理網(wǎng)絡(luò)中傳輸。但實際上,因為最下面的網(wǎng)絡(luò)接口層沒有什么具體的內(nèi)容,所以TCP/IP協(xié)議體系結(jié)構(gòu)只有應(yīng)用層、傳輸層和網(wǎng)際層有詳細的特性描述。
1、應(yīng)用層
應(yīng)用層(Application Layer)的功能是為用戶提供網(wǎng)絡(luò)應(yīng)用,并為應(yīng)用程序提供訪問其他層服務(wù)的能力,即將用戶的數(shù)據(jù)發(fā)送到TCP/IP模型下面的層次并為應(yīng)用程序提供網(wǎng)絡(luò)接口。由于TCP/IP模型將所有與應(yīng)用相關(guān)的內(nèi)容都劃歸給應(yīng)用層處理,所以在該層中存在大量的應(yīng)用程序和協(xié)議。
2、傳輸層
傳輸層負責提供可靠的、端到端的兩個主機進程之間的數(shù)據(jù)傳輸,即一臺主機上的應(yīng)用程序進程到另外一臺主機上的應(yīng)用程序進程之間的通信。
在TCP/IP模型中定義了兩個傳輸層協(xié)議,即傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP),提供了兩種不同的數(shù)據(jù)傳輸服務(wù)。
(1)傳輸控制協(xié)議
傳輸控制協(xié)議TCP提供面向連接的服務(wù),保證端到端可靠的數(shù)據(jù)傳輸。
(2)用戶數(shù)據(jù)報協(xié)議
用戶數(shù)據(jù)報協(xié)議UDP提供無連接的服務(wù)。它可以保證獨立數(shù)據(jù)包的高效傳送,網(wǎng)絡(luò)開銷較小,信息傳輸?shù)慕研暂^強。
3、網(wǎng)際層
網(wǎng)際層可以說是TCP/IP模型的核心層次,主要負責各種支持TCP/IP協(xié)議網(wǎng)絡(luò)的互聯(lián)互通。具體來說,網(wǎng)際層的核心功能是路由選擇,即根據(jù)目的主機的IP地址進行尋址并選擇合適的路徑進行數(shù)據(jù)分組傳送。但是網(wǎng)際層的IP協(xié)議提供的是盡力而為的投遞服務(wù),即數(shù)據(jù)包經(jīng)過網(wǎng)絡(luò)時,有可能因為網(wǎng)絡(luò)的擁塞或者其他故障而出錯甚至丟失。而且IP協(xié)議只具有有限的檢錯能力,數(shù)據(jù)包的差錯控制功能必須由傳輸層協(xié)議來完成。
4、網(wǎng)絡(luò)接口層
在TCP/IP模型中,網(wǎng)絡(luò)接口層位于整個模型的底部,負責接收從網(wǎng)際層傳遞下來的IP數(shù)據(jù)包并把IP數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)傳輸介質(zhì)上,以及從網(wǎng)絡(luò)傳輸介質(zhì)上接收數(shù)據(jù)流并抽取出IP數(shù)據(jù)包后提交給網(wǎng)際層。
TCP/IP標準并沒有定義具體的網(wǎng)絡(luò)接口協(xié)議,其目的是要包括所有能使TCP/IP協(xié)議棧與物理網(wǎng)絡(luò)進行通信的協(xié)議,從而增強TCP/IP模型針對各種網(wǎng)絡(luò)的靈活性和適應(yīng)性。
首先,TCP/IP模型的應(yīng)用層囊括了OSI模型的應(yīng)用層、表示層和會話層這三層的功能。
其次,兩個模型的傳輸層和網(wǎng)絡(luò)層幾乎可以完全相互參照,說明在資源子網(wǎng)底部端到端主
進程之間的傳輸與通信子網(wǎng)頂部網(wǎng)絡(luò)結(jié)點間的傳輸應(yīng)該是被明確分開的。
第三,TCP/IP模型只有一個未作任何定義的網(wǎng)絡(luò)接口層,而OSI模型則完整的定義了數(shù)據(jù)鏈路層和物理層。
TCP/IP模型沒有明顯地區(qū)分服務(wù)、接口和協(xié)議的概念,而OSI模型卻做了詳細的工作,從而符合了軟件工程實踐的規(guī)范和要求。
TCP/IP模型是專用的,不適合描述除TCP/IP模型之外的任何協(xié)議,而OSI模型是一個通用的標準模型框架,它可以描述任何符合該標準的協(xié)議。
TCP/IP模型重點考慮了異構(gòu)網(wǎng)絡(luò)互聯(lián)的問題,而OSI模型開始對這一點考慮得不多。
TCP/IP模型提供了面向連接和無連接兩種服務(wù),而OSI模型開始只考慮了面向連接一種服務(wù)。
TCP/IP模型提供了較強的網(wǎng)絡(luò)管理功能,而OSI模型后來才考慮這個問題。
中國科大軟件學院 許毫 原創(chuàng)文章轉(zhuǎn)載請注明出處
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。