目錄
物理層
數(shù)據(jù)鏈路層
網(wǎng)絡(luò)層
運(yùn)輸層
應(yīng)用層
計(jì)算機(jī)網(wǎng)絡(luò)是個(gè)非常復(fù)雜的系統(tǒng)。
早在最初的ARPANET設(shè)計(jì)時(shí)就提出了分層的設(shè)計(jì)理念。
"分層"可將龐大而復(fù)雜的問(wèn)題,轉(zhuǎn)化為若干較小的局部問(wèn)題,而這些較小的局部問(wèn)題就比較易于研究和處理。
下面,我們以五層原理結(jié)構(gòu)體系,按照由簡(jiǎn)單到復(fù)雜的順序,來(lái)看看實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)要面臨哪些主要的問(wèn)題,以及如何將這些問(wèn)題劃分到相應(yīng)的層次,層層處理。
物理層
- 采用怎樣的傳輸媒體(介質(zhì))
- 采用怎樣的物理接口
- 使用怎樣的信號(hào)表示比特0和1
首先來(lái)看最簡(jiǎn)單的情況:
兩臺(tái)計(jì)算機(jī)通過(guò)一條網(wǎng)線連接起來(lái),對(duì)于這種最簡(jiǎn)單的情況,我們需要考慮以下問(wèn)題:
- 采用怎樣的傳輸媒體(介質(zhì))
例如,這是我們常見(jiàn)的雙絞線網(wǎng)線
- 采用怎樣的物理接口
例如,這是RJ45以太網(wǎng)接口
- 使用怎樣的信號(hào)表示比特0和1
例如,使用這樣的方波信號(hào),低電平表示0,高電平表示1
解決了這些問(wèn)題,兩臺(tái)計(jì)算機(jī)就可以通過(guò)信號(hào)來(lái)傳輸比特0或1了,
我們可以將這些問(wèn)題劃分到物理層。
說(shuō)明兩點(diǎn):第一,嚴(yán)格來(lái)說(shuō),傳輸媒體并不屬于物理層,它并不包含在體系結(jié)構(gòu)中。第二,計(jì)算機(jī)網(wǎng)絡(luò)中傳輸?shù)男盘?hào),并不是我們舉例的方波信號(hào)。我們之所以舉例成方波信號(hào),是未來(lái)讓初學(xué)者容易理解。在學(xué)習(xí)本身就不容易理解的、概念抽象的計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)時(shí),不讓其他的技術(shù)細(xì)節(jié)再造成學(xué)習(xí)障礙。
數(shù)據(jù)鏈路層
- 如何標(biāo)識(shí)網(wǎng)絡(luò)中的各主機(jī)(主機(jī)編址問(wèn)題,例如MAC地址)
- 如何從信號(hào)所表示的一連串比特流中區(qū)分出地址和數(shù)據(jù)
- 如何協(xié)調(diào)各主機(jī)爭(zhēng)用總線
使用的計(jì)算機(jī)網(wǎng)絡(luò),一般都由多臺(tái)主機(jī)構(gòu)成。例如,主機(jī)ABCDE通過(guò)總線互連,構(gòu)成了一個(gè)總線型網(wǎng)絡(luò)。?
假設(shè),我們已經(jīng)解決了物理層的問(wèn)題,也就是說(shuō),主機(jī)間可以發(fā)送信號(hào)來(lái)傳輸比特0或者1了。
我們來(lái)看看,在這樣一個(gè)總線型的網(wǎng)絡(luò)上,還面臨什么需要解決的問(wèn)題。?
- 如何標(biāo)識(shí)網(wǎng)絡(luò)中的各主機(jī)(主機(jī)編址問(wèn)題,例如MAC地址)
如圖所示,主機(jī)A要給主機(jī)C發(fā)送數(shù)據(jù),
但是,表示數(shù)據(jù)的信號(hào)會(huì)通過(guò)總線傳播到總線上的每一個(gè)主機(jī)。那么主機(jī)C如何知道該數(shù)據(jù)是發(fā)送給自己的,自己要接受呢?而主機(jī)B、D、E又如何知道該數(shù)據(jù)并不是發(fā)送給自己的,自己應(yīng)該拒絕呢?
這就很自然地引出了如何標(biāo)識(shí)網(wǎng)絡(luò)中各主機(jī)的問(wèn)題,也就是主機(jī)編址問(wèn)題。
網(wǎng)卡上的MAC地址,它就是主機(jī)在網(wǎng)絡(luò)中的地址。
主機(jī)在發(fā)送數(shù)據(jù)時(shí),應(yīng)該給數(shù)據(jù)附加上目的地址,根據(jù)目的地址和自身地址,來(lái)決定是否接受數(shù)據(jù)。
這就又引出了一個(gè)問(wèn)題:
- 如何從信號(hào)所表示的一連串比特流中區(qū)分出地址和數(shù)據(jù)
目的主機(jī)如何從信號(hào)中區(qū)分呢?也就是解決分組的封裝格式問(wèn)題。
- 如何協(xié)調(diào)各主機(jī)爭(zhēng)用總線
另外,對(duì)于總線型的網(wǎng)絡(luò),還會(huì)出現(xiàn)下面這種典型的問(wèn)題。
例如,某個(gè)時(shí)刻,總線總是空閑的,也就是沒(méi)有主機(jī)使用總線來(lái)發(fā)送數(shù)據(jù)。片刻之后,主機(jī)B和D同時(shí)向總線發(fā)送數(shù)據(jù),這必然會(huì)造成信號(hào)碰撞,因此,如何協(xié)調(diào)各主機(jī)爭(zhēng)用總線,也是必須要解決的問(wèn)題。
需要說(shuō)明的是,這種總線型的網(wǎng)絡(luò)早已淘汰,現(xiàn)在常用的是使用以太網(wǎng)交換機(jī)將多臺(tái)主機(jī)互連形成的交換式以太網(wǎng)。
那么,以太網(wǎng)交換機(jī)是如何實(shí)現(xiàn)的呢??
我們將這些問(wèn)題,全部劃分到數(shù)據(jù)鏈路層。
到這里,我們可能會(huì)發(fā)現(xiàn),只要解決了物理層和數(shù)據(jù)鏈路層各自所面臨的問(wèn)題,我們就可以實(shí)現(xiàn)分組在一個(gè)網(wǎng)絡(luò)上傳輸了。
但是,我們每天都會(huì)使用的因特網(wǎng),是由非常多的網(wǎng)絡(luò)和路由器互連起來(lái)的,僅解決物理層和數(shù)據(jù)鏈路層的問(wèn)題,還是不能正常工作。
網(wǎng)絡(luò)層
- 如何標(biāo)識(shí)各網(wǎng)絡(luò)以及網(wǎng)絡(luò)中的各主機(jī)(網(wǎng)絡(luò)和主機(jī)共同編址的問(wèn)題,例如IP地址)
- 路由器如何轉(zhuǎn)發(fā)分組,如何進(jìn)行路由選擇
- 如何標(biāo)識(shí)各網(wǎng)絡(luò)以及網(wǎng)絡(luò)中的各主機(jī)(網(wǎng)絡(luò)和主機(jī)共同編址的問(wèn)題,例如IP地址)?
我們來(lái)看這個(gè)例子,這是一個(gè)由三個(gè)路由器,四個(gè)網(wǎng)絡(luò)互連起來(lái)的小型互聯(lián)網(wǎng)。我們可以把它看做是因特網(wǎng)中很小的一部分。
在之前的例子中,僅有一個(gè)網(wǎng)絡(luò),我們不需要對(duì)網(wǎng)絡(luò)進(jìn)行標(biāo)識(shí)。而在本例中,有多個(gè)網(wǎng)絡(luò)。很顯然,我們面臨著如何標(biāo)識(shí)各網(wǎng)絡(luò)以及網(wǎng)絡(luò)中各主機(jī)的問(wèn)題。
換句話說(shuō),也就是網(wǎng)絡(luò)和主機(jī)共同編址的問(wèn)題。例如,IP地址。
?這是網(wǎng)絡(luò)N1中各設(shè)備的IP地址。該類(lèi)IP地址的前三個(gè)十進(jìn)制數(shù)用來(lái)標(biāo)識(shí)網(wǎng)絡(luò),第四個(gè)十進(jìn)制數(shù)用來(lái)標(biāo)識(shí)主機(jī)。
同理,這是網(wǎng)絡(luò)N2上各設(shè)備的IP地址:
- 路由器如何轉(zhuǎn)發(fā)分組,如何進(jìn)行路由選擇
我們?cè)賮?lái)看另一個(gè)問(wèn)題,源主機(jī)與目的主機(jī)之間的傳輸路徑往往不止一條。分組從源主機(jī)到目的主機(jī)可走不同的路徑。這樣就引出了路由器如何轉(zhuǎn)發(fā)分組的問(wèn)題,以及如何進(jìn)行路由選擇的問(wèn)題。
我們將這些問(wèn)題全部劃歸到網(wǎng)絡(luò)層。?
至此,我們解決了物理層、數(shù)據(jù)鏈路層以及網(wǎng)絡(luò)層各自的問(wèn)題,則可以實(shí)現(xiàn)分組在網(wǎng)絡(luò)間傳輸?shù)膯?wèn)題。
但是,對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用而言,這仍然不夠。
運(yùn)輸層
- 如何解決進(jìn)程之間基于網(wǎng)絡(luò)的通信問(wèn)題
- 出現(xiàn)傳輸錯(cuò)誤時(shí),如何處理
- 如何解決進(jìn)程之間基于網(wǎng)絡(luò)的通信問(wèn)題?
例如,假設(shè)這臺(tái)主機(jī)中運(yùn)行著兩個(gè)與網(wǎng)絡(luò)通信相關(guān)的應(yīng)用進(jìn)程,一個(gè)是瀏覽器進(jìn)程,另一個(gè)是QQ進(jìn)程。這臺(tái)服務(wù)器中,運(yùn)行著與網(wǎng)絡(luò)通信相關(guān)的服務(wù)器進(jìn)程。
某個(gè)時(shí)刻,主機(jī)收到了來(lái)自服務(wù)器的分組,那么,這些分組,應(yīng)該交給瀏覽器進(jìn)程處理呢,還是應(yīng)該交給QQ進(jìn)程處理呢?
這就引出了我們?nèi)绾螛?biāo)識(shí)與網(wǎng)絡(luò)通信相關(guān)的應(yīng)用進(jìn)程,進(jìn)而解決進(jìn)程之間基于網(wǎng)絡(luò)的通信問(wèn)題。
- 出現(xiàn)傳輸錯(cuò)誤時(shí),如何處理
另外,如果某個(gè)分組在傳輸過(guò)程中出現(xiàn)了誤碼,或者由于路由器繁忙,導(dǎo)致路由器丟棄分組。換句話說(shuō),若出現(xiàn)傳輸錯(cuò)誤,應(yīng)該如何處理。
我們將這些問(wèn)題,全部劃分到運(yùn)輸層。
至此,我們解決了物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層以及運(yùn)輸層各自的問(wèn)題,則可以實(shí)現(xiàn)進(jìn)程之間基于網(wǎng)絡(luò)的通信。
應(yīng)用層
在此基礎(chǔ)上,只需制定各種應(yīng)用層協(xié)議,并按協(xié)議標(biāo)準(zhǔn)編寫(xiě)相應(yīng)的應(yīng)用程序,通過(guò)應(yīng)用進(jìn)程間的交互來(lái)完成特定的網(wǎng)絡(luò)應(yīng)用。
- 通過(guò)應(yīng)用進(jìn)程間的交互來(lái)完成特定的網(wǎng)絡(luò)應(yīng)用
例如,支持萬(wàn)維網(wǎng)應(yīng)用的HTTP協(xié)議,支持電子郵件的SMTP協(xié)議,支持文件傳送的FTP協(xié)議等。
我們將這些問(wèn)題全部劃歸到應(yīng)用層。
至此,我們將實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)所需要解決的各種主要問(wèn)題,分別劃歸到了物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層和應(yīng)用層,進(jìn)而構(gòu)成了五層協(xié)議體系的原理體系結(jié)構(gòu)。
END?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-724112.html
學(xué)習(xí)自:湖科大——計(jì)算機(jī)網(wǎng)絡(luò)微課堂文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-724112.html
到了這里,關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)——計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)(2/4)-分層的必要性(五層協(xié)議原理體系結(jié)構(gòu))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!