互联网的组成
一、組成結(jié)構(gòu)
互聯(lián)網(wǎng)的拓?fù)浣Y(jié)構(gòu)非常復(fù)雜 ,并且在地理位置上覆蓋了全球,從工作方式上看,可以劃分為兩大塊:
1)邊緣部分 這部分由所有連接在互聯(lián)網(wǎng)上的主機(jī)組成。這部分是用戶直接使用的,用來(lái)進(jìn)行通信和資源共享。
2)核心部分 由大量網(wǎng)絡(luò)和連接這些網(wǎng)絡(luò)的路由器組成。這部分用來(lái)為邊緣部分提供服務(wù)。
二、邊緣部分
處在互聯(lián)網(wǎng)邊緣的部分就是連接在互聯(lián)網(wǎng)上的所有主機(jī)。這些主機(jī)通常又被稱為端系統(tǒng)(end system)或終端。端系統(tǒng)的擁有者可以是個(gè)人,也可以是單位(比如:學(xué)校、公司、政府等),當(dāng)然也可以是某個(gè)ISP(Internet Service Provider)。邊緣部分利用核心部分所提供的服務(wù),使眾多主機(jī)之間能夠相互通信并交換或共享數(shù)據(jù)信息。
在網(wǎng)絡(luò)邊緣的端系統(tǒng)之間的通信方式可以劃分為兩大類:客戶-服務(wù)器方式(C/S)和對(duì)等連接方式(P2P),下面分別介紹。
2.1客戶-服務(wù)器方式
這總方式也是互聯(lián)網(wǎng)上最常用的,也是傳統(tǒng)的方式。比如我們使用 WEB 應(yīng)用與發(fā)送電子郵件時(shí),使用的都是這種方式。客戶(client)和服務(wù)器(server)都是指通信中所涉及的兩個(gè)進(jìn)程。客戶-服務(wù)器方式所描述的是進(jìn)程之間服務(wù)和被服務(wù)的關(guān)系。
在實(shí)際應(yīng)用中,客戶程序和服務(wù)器程序通常具有以下一些特點(diǎn)。
客戶程序:
1)在通信時(shí)主動(dòng)像遠(yuǎn)程的服務(wù)器發(fā)起通信,因此客戶端程序必須知道服務(wù)器的地址。
2)不需要什么特殊的硬件和復(fù)雜的操作系統(tǒng)支持。
服務(wù)器程序:
1)是一種專門用來(lái)提供某種服務(wù)的程序,可同時(shí)處理多個(gè)遠(yuǎn)程或本地客戶的請(qǐng)求。
2)系統(tǒng)啟動(dòng)后即自動(dòng)調(diào)用并一直不斷的運(yùn)行著,被動(dòng)的等待并接受來(lái)自各地的客戶端的請(qǐng)求。因此服務(wù)器程序不需要知道客戶程序的地址。
3)一般需要較強(qiáng)大的硬件和高級(jí)的操作系統(tǒng)支持。
2.2對(duì)等連接方式
對(duì)等連接(peer-to-peer)是指兩臺(tái)主機(jī)在通信時(shí)并不區(qū)分哪一個(gè)是服務(wù)請(qǐng)求方哪一個(gè)是服務(wù)提供方。只要兩臺(tái)主機(jī)都運(yùn)行了對(duì)等連接軟件,就可以進(jìn)行平等的、對(duì)等連接通信。
三、核心部分
通過(guò)上面的介紹我們也可以看出來(lái),終端之間不管是通過(guò)客戶-服務(wù)器方式還是通過(guò)對(duì)等連接方式進(jìn)行通信,都需要通過(guò)網(wǎng)絡(luò)核心。網(wǎng)絡(luò)核心部分可以說(shuō)是互聯(lián)網(wǎng)中最復(fù)雜的部分,因?yàn)榫W(wǎng)絡(luò)中的核心部分要向網(wǎng)絡(luò)邊緣中的大量主機(jī)提供聯(lián)通性,使邊緣部分中的任何一臺(tái)主機(jī)都能夠與其他主機(jī)通信。
網(wǎng)絡(luò)核心部分最重要的功能是路由和轉(zhuǎn)發(fā),起到這個(gè)作用的是路由器,路由器是實(shí)現(xiàn)分組交換的關(guān)鍵構(gòu)件。那么在互連的路由器網(wǎng)絡(luò)中,數(shù)據(jù)是如何從源主機(jī)到達(dá)目的主機(jī)的呢?答案是數(shù)據(jù)交換。下面介紹幾種數(shù)據(jù)交換的類型。
3.1電路交換(circuit switching)
整個(gè)報(bào)文的比特流連續(xù)不斷的從源點(diǎn)到達(dá)終點(diǎn),就像在一根管道中傳送。電路交換最典型的應(yīng)用就是電話網(wǎng)絡(luò),雖然電話的發(fā)明已經(jīng)有了很長(zhǎng)時(shí)間的歷史,電話交換機(jī)也經(jīng)過(guò)了多次更新?lián)Q代,但是交換的方式一直是電路交換。當(dāng)電話機(jī)的數(shù)量增多時(shí),就需要使用彼此相連的交換機(jī)來(lái)完成全網(wǎng)的交換任務(wù)。使用這樣的方法,就構(gòu)成了覆蓋全世界的電信網(wǎng)。
電路交換必須經(jīng)過(guò)三個(gè)步驟:建立連接(呼叫/電路建立)—>通話(占用通信資源)—>釋放連接(拆除連接)。電路交換的一個(gè)重要特點(diǎn)就是在通話的全部時(shí)間內(nèi),通話的兩個(gè)用戶始終占用端到端的通信資源。
當(dāng)使用電路交換來(lái)傳送計(jì)算機(jī)的數(shù)據(jù)時(shí),線路的傳輸效率往往是很低的。因?yàn)橛?jì)算機(jī)的數(shù)據(jù)往往是突發(fā)式的出現(xiàn)在傳輸線路上,因此線路上真正用來(lái)傳輸數(shù)據(jù)的時(shí)間通常不到10%甚至更低。所以說(shuō)用戶占用的通信線路資源在絕大多數(shù)時(shí)間內(nèi)都是空閑的。
3.2報(bào)文交換(message switching)
整個(gè)報(bào)文先傳送到相鄰的節(jié)點(diǎn),全部存儲(chǔ)下來(lái)后查找轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)到下一個(gè)節(jié)點(diǎn),最終到達(dá)重點(diǎn)。
3.3分組交換
將報(bào)文拆分成一系列相對(duì)較小的數(shù)據(jù)包,單個(gè)數(shù)據(jù)包傳送到相鄰節(jié)點(diǎn),存儲(chǔ)下來(lái)后查找轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)到下一個(gè)節(jié)點(diǎn)。在發(fā)送報(bào)文之前,先把較長(zhǎng)的一段報(bào)文劃分成一個(gè)個(gè)更小的等長(zhǎng)數(shù)據(jù)段,然后在每一個(gè)數(shù)據(jù)段前面加上一些必要的控制信息組成的首部后,就構(gòu)成了一個(gè)分組。分組通常又被稱為“包”,分組的首部也可以成為“包頭”。
分組的首部通常包含了目的地址和原地址等重要的控制信息,正是因?yàn)檫@樣,每一個(gè)分組才能在互聯(lián)網(wǎng)中獨(dú)立選擇地選擇傳輸路徑,最終被正確的交付到分組傳輸?shù)慕K點(diǎn)。
報(bào)文交換與分組交換都采取存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)。區(qū)別是報(bào)文交換以完整的報(bào)文進(jìn)行“存儲(chǔ)轉(zhuǎn)發(fā)”,分組交換是以較小的分組進(jìn)行“存儲(chǔ)轉(zhuǎn)發(fā)”。
當(dāng)路由器收到一個(gè)分組時(shí),會(huì)暫時(shí)存儲(chǔ)一下,檢查其首部,查找轉(zhuǎn)發(fā)表,按照首部中的目的地址,找到合適的接口轉(zhuǎn)發(fā)出去,把分組交給下一個(gè)路由器。 這樣一步步地以存儲(chǔ)轉(zhuǎn)發(fā)的方式(期間可能經(jīng)過(guò)幾十個(gè)不同的路由器),把分組交付給最終的目的主機(jī)。各個(gè)路由器之間必須經(jīng)常交換彼此掌握的路由信息,以便創(chuàng)建和動(dòng)態(tài)維護(hù)路由中的轉(zhuǎn)發(fā)表。
關(guān)于路由表與轉(zhuǎn)發(fā)表可參考資料:https://wenku.baidu.com/view/e89e7b6d52d380eb63946d76.html
分組在傳輸時(shí)一段一段的連續(xù)占用通信資源,中間還省去了建立連接和釋放連接的開(kāi)銷,因而數(shù)據(jù)的傳輸效率更高。對(duì)于突發(fā)式的計(jì)算機(jī)數(shù)據(jù)來(lái)說(shuō)非常合適,提高了通信線路的利用率。
3.4數(shù)據(jù)交換類型總結(jié)
如要連續(xù)的傳送大量的數(shù)據(jù),且傳送時(shí)間遠(yuǎn)大于連接建立時(shí)間,則電路交換的傳輸速率較快。報(bào)文交換與分組交換不需要預(yù)先分配帶寬,在傳輸突發(fā)數(shù)據(jù)時(shí)可以提高整個(gè)網(wǎng)絡(luò)的信道利用率。相較于報(bào)文交換,分組交換具有交換時(shí)延小,靈活性更小的特點(diǎn)。
四、other
那年欠計(jì)算機(jī)網(wǎng)絡(luò)老師的課,是時(shí)候慢慢還了。最近有機(jī)會(huì)操作了一下學(xué)校的服務(wù)器,發(fā)現(xiàn)網(wǎng)絡(luò)相關(guān)的知識(shí)真的是很重要,可惜當(dāng)時(shí)沒(méi)有好好聽(tīng)課,瞬間感覺(jué)自己好弱。在網(wǎng)上也經(jīng)常會(huì)看到有些前輩提及操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)等知識(shí)的重要性,現(xiàn)在看來(lái)確實(shí)是有道理的。
PS:
推薦一個(gè)在線的計(jì)算機(jī)網(wǎng)絡(luò)學(xué)習(xí)課程:https://www.icourse163.org/learn/HIT-154005?tid=1002644012
參考資料:
《計(jì)算機(jī)網(wǎng)絡(luò)》 謝希仁 編著
總結(jié)
- 上一篇: 雪铁龙c5车上有个mxn接头是有什么用?
- 下一篇: 网络体系架构—运输层协议概述