《計(jì)算機(jī)網(wǎng)絡(luò)》筆記-第1章計(jì)算機(jī)網(wǎng)絡(luò)和因特網(wǎng)

0. 前言

鑒于計(jì)算機(jī)網(wǎng)絡(luò)的重要性,以及即將開(kāi)設(shè)的計(jì)算機(jī)網(wǎng)絡(luò)課程,我決定利用寒假的時(shí)間認(rèn)真研讀《計(jì)算機(jī)網(wǎng)絡(luò)——自頂向下方法》前6章,并撰寫閱讀筆記。

愚認(rèn)為,計(jì)算機(jī)網(wǎng)絡(luò)是計(jì)算機(jī)領(lǐng)域中基礎(chǔ)且重要的部分,必須牢固掌握。相對(duì)于各種框架、或者浮于表面的機(jī)器學(xué)習(xí),計(jì)算機(jī)網(wǎng)絡(luò)才是能提高計(jì)算機(jī)素養(yǎng)的關(guān)鍵之一。值得我們花時(shí)間去閱讀、研究和實(shí)踐。

我接觸計(jì)算機(jī)網(wǎng)絡(luò),是從一本叫做《網(wǎng)絡(luò)是如何連接》的小書開(kāi)始的。這本書十分不錯(cuò),幫我打開(kāi)了計(jì)算機(jī)網(wǎng)絡(luò)的大門。但這本書中的知識(shí)并不深入,也沒(méi)幫我形成完整的知識(shí)體系。所以,此次選擇更加權(quán)威而全面的《計(jì)算機(jī)網(wǎng)絡(luò)——自頂向下方法》進(jìn)行閱讀,希望我能從中收獲更多。

這篇是《計(jì)算機(jī)網(wǎng)絡(luò)——自頂向下方法》第1章的學(xué)習(xí)筆記。由于我結(jié)合了英文版的內(nèi)容,所以筆記中用到了一些英文,請(qǐng)大家見(jiàn)諒。不過(guò),個(gè)人認(rèn)為英語(yǔ)對(duì)計(jì)算機(jī)學(xué)生還是很重要的(后悔自己英語(yǔ)不好)。同時(shí),筆記中既有原文內(nèi)容,也有我自己的理解部分。如果存在某些名詞跟原文不符,我希望大家不要糾結(jié)。(愚認(rèn)為,重要的在于理解思想,而不在于名詞解釋、或者概念背誦)

那,話不多說(shuō),開(kāi)始沖。

1. What Is the Internet?

But what is the Internet? There are a couple of ways to answer this question. First, we can describe the nuts and bolts of the Internet, that is, the basic hardware and software components that make up the Internet. Second, we can describe the Internet in terms of a networking infrastructure that provides services to distributed applications.

什么是因特網(wǎng)?回答這個(gè)問(wèn)題有兩種方式:其一,我們能夠描述因特網(wǎng)的具體構(gòu)成,即構(gòu)成因特網(wǎng)的基本硬件和軟件組件;其二,我們能夠根據(jù)為分布式應(yīng)用提供服務(wù)的聯(lián)網(wǎng)基礎(chǔ)設(shè)施來(lái)描述因特網(wǎng)。

1.1. A Nuts-and-Bolts Description(用具體構(gòu)成描述因特網(wǎng))

1.png

客觀存在:

  • 主機(jī)(host) == 端系統(tǒng)(end system),接入因特網(wǎng)的設(shè)備,如圖中的電腦、手機(jī)、聯(lián)網(wǎng)汽車等

  • 通信鏈路(communication link),連接各端系統(tǒng)的物理媒介,圖中的線

  • 分組交換機(jī)(packet switch),通信鏈路中的交叉口。其中最著名的兩種是:

    • 路由器(router),圖中的圓形帶“X”體
    • 鏈路層交換機(jī)(link-layer switch),圖中的方形帶“X”體
  • 分組(packet),由一臺(tái)端系統(tǒng)發(fā)送給另一臺(tái)端系統(tǒng)的數(shù)據(jù)/信息包

主觀存在:

  • ISP(Internet Service Provider, 因特網(wǎng)服務(wù)提供商),為端系統(tǒng)提供接入因特網(wǎng)的服務(wù)。較低層的ISP管理某個(gè)區(qū)域,類似于校園網(wǎng)、公司網(wǎng)等;較高層的ISP管理整個(gè)國(guó)家,類似于聯(lián)通、移動(dòng)等。

  • 協(xié)議(protocol),因特網(wǎng)中最重要的兩個(gè)協(xié)議是:

    • TCP(Transmission Control Protocol, 傳輸控制協(xié)議)
    • IP(Internet Protocol, 網(wǎng)際協(xié)議)

將因特網(wǎng)與現(xiàn)代物流系統(tǒng)類比:

因特網(wǎng) 物流
端系統(tǒng) 貨物寄送或到達(dá)的地方
通信鏈路 高速公路、鐵路、普通公路等
分組交換機(jī) 岔路口
分組 貨物
ISP 公路局、鐵路局等

1.2. A Services Description(用服務(wù)描述因特網(wǎng))

  • 分布式應(yīng)用程序(distributed application),各大網(wǎng)站

1.3. What Is a Protocol?

人們規(guī)定好的一套交流、行事的標(biāo)準(zhǔn),就是協(xié)議

古代儒學(xué)、書信格式、普通話標(biāo)準(zhǔn)等等,都是協(xié)議。

學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò),最重要的就在于理解網(wǎng)絡(luò)協(xié)議。

2. The Network Edge(網(wǎng)絡(luò)邊緣)

網(wǎng)絡(luò)邊緣主要包括:端系統(tǒng)和接入網(wǎng)

2.1. Access Networks(接入網(wǎng))

  • 接入網(wǎng)(access networks),將端系統(tǒng)物理連接到其邊緣路由器的網(wǎng)絡(luò)

  • 邊緣路由器(edge router),端系統(tǒng)發(fā)送的數(shù)據(jù),到達(dá)任何其它遠(yuǎn)程端系統(tǒng)所經(jīng)過(guò)的第一臺(tái)路由器

以上定義有待考察。

總而言之,接入網(wǎng)就是指連接互聯(lián)網(wǎng)與家庭、公司網(wǎng)絡(luò)的通信線路。其長(zhǎng)度一般為幾百米到幾公里,因而被形象地稱為"最后一公里"。它包括 DSL、電纜、FTTH 等

2.1.1. DSL(Digital Subscriber Line, 數(shù)字用戶線)

DSL,即用電話線作為網(wǎng)線。它包括ADSL(Asymmetric Digital Subscriber Line,非對(duì)稱數(shù)字用戶線)、RADSL、HDSL和VDSL等等

用戶從提供本地電話接入的本地電話公司處,獲取DSL因特網(wǎng)接入,用戶的本地電話公司即是它的ISP。

2.png

如上圖所示,每個(gè)用戶的 DSL調(diào)制解調(diào)器(DSL modem) 使用現(xiàn)有電話線(雙絞銅線),與位于電話公司的本地中心局中的 數(shù)字用戶線接入復(fù)用器(DSLAM) 交換數(shù)據(jù),分配器(splitter) 則將網(wǎng)絡(luò)信號(hào)與電話信號(hào)分開(kāi)。

在電話線中,包含三個(gè)通道:

  • 電話信號(hào)通道位于0到4kHz頻段;
  • 網(wǎng)絡(luò)上行信號(hào)通道位于4kHz到50kHz頻段;
  • 網(wǎng)絡(luò)下行信號(hào)通道位于50kHz到1MHz頻段。

缺點(diǎn):短距離。

2.1.2. Cable Internet Access(電纜因特網(wǎng)接入)

用電視線作為網(wǎng)線。由于在這個(gè)系統(tǒng)中應(yīng)用了光纖和同軸電纜,又被稱為混合光纖同軸(Hybrid Fiber Coax, HFC)系統(tǒng)。

3.png

使用電纜接入因特網(wǎng),需要電纜調(diào)制解調(diào)器(cable modem),家庭PC會(huì)連接到它的以太網(wǎng)接口。在電纜頭端(cable head end),有一個(gè)電纜調(diào)制解調(diào)器端接系統(tǒng)(cable modem termination system, CMTS),負(fù)責(zé)接收并處理各家庭傳來(lái)的網(wǎng)絡(luò)信號(hào)。在電纜中,也分為上行下行兩個(gè)信號(hào)通道。

缺點(diǎn):多個(gè)家庭共享電纜,用的人越多,網(wǎng)速越慢。

2.1.3. FTTH(Fiber To The Home, 光纖到戶)

根據(jù)光纖分布體系結(jié)構(gòu),可分為:

  • AON(active optical networks, 主動(dòng)光纖網(wǎng)絡(luò)),從本地中心局到每戶設(shè)置一根光纖
  • PON(passive optical networks, 被動(dòng)光纖網(wǎng)絡(luò)),從中心局出來(lái)的每根光纖由許多家庭共享,直到接近用戶的位置,才為每個(gè)用戶分配一根光纖,類似于樹(shù)杈狀

以較為常見(jiàn)的PON為例,如圖:

4.png

每個(gè)家庭都有一個(gè)光纖網(wǎng)絡(luò)端接器(optical network terminator, ONT),用戶將一臺(tái)家庭路由器與ONT相連,并經(jīng)過(guò)這臺(tái)家庭路由器接入因特網(wǎng)。ONT通過(guò)專門的光纖連接到鄰近的光纖分配器(optical splitter),該分配器把一些家庭(少于100個(gè))集結(jié)到一根共享光纖,該光纖再連接到中心局(central office)的光纖線路端接器(optical line terminator, OLT)。該OLT再經(jīng)過(guò)中心局路由器與因特網(wǎng)相連。

2.1.4. 衛(wèi)星與撥號(hào)

在一些鄉(xiāng)村環(huán)境,常使用衛(wèi)星鏈路撥號(hào)接入的方式,但是網(wǎng)速很慢。

2.1.5. 以太網(wǎng)與WiFi

在公司、大學(xué)校園以及越來(lái)越多的家庭中,也常使用局域網(wǎng)(LAN),將端系統(tǒng)連接到邊緣路由器。

有線局域網(wǎng)常使用以太網(wǎng)技術(shù);

無(wú)線局域網(wǎng)常使用WiFi技術(shù)。

2.1.6. 3G、4G與5G

手機(jī)等移動(dòng)設(shè)備,則使用廣域無(wú)線接入的方式。通過(guò)蜂窩網(wǎng)提供商運(yùn)營(yíng)的基站來(lái)發(fā)送和接收分組,用戶需要位于基站的數(shù)萬(wàn)米范圍內(nèi)。

2.2. Physical Media(物理媒體)

分組數(shù)據(jù)所跨越的物理媒介,分為兩種類型:

  • 導(dǎo)引型媒體:電波沿著固體媒體前行,如光纖、雙絞銅線或同軸電纜
  • 非導(dǎo)引型媒體:電波在空氣或外層空間中傳播,如無(wú)線局域網(wǎng)或衛(wèi)星

下面討論幾種導(dǎo)引型媒體:

  • 雙絞銅線:兩根絕緣銅線螺旋絞合形成雙絞線(減少干擾),許多雙絞線構(gòu)成一根電纜

    • 優(yōu)點(diǎn):便宜
    • 缺點(diǎn):傳輸速率取決于粗細(xì)和距離
    • 用途:局域網(wǎng)、DSL、撥號(hào)
  • 同軸電纜:兩個(gè)同心的銅導(dǎo)體

    • 優(yōu)點(diǎn):
    • 缺點(diǎn):共享
    • 用途:電纜接入因特網(wǎng)
  • 光纖:細(xì)而柔軟的、能夠?qū)б饷}沖的媒體,每個(gè)脈沖表示一個(gè)比特(bit)

    • 優(yōu)點(diǎn):網(wǎng)速高、抗干擾強(qiáng)
    • 缺點(diǎn):發(fā)送接收的光設(shè)備(接收器、交換機(jī)等)成本高
    • 用途:光纖入戶

3. The Network Core(網(wǎng)絡(luò)核心)

下圖中,藍(lán)色加粗部分即為網(wǎng)絡(luò)核心:

5.png

通過(guò)網(wǎng)絡(luò)鏈路和交換機(jī)移動(dòng)數(shù)據(jù)有兩種基本方法:分組交換電路交換

3.1. Packet Switching(分組交換)

  • 報(bào)文(message),源端系統(tǒng)向目的端系統(tǒng)發(fā)送的完整的數(shù)據(jù)信息,如圖像數(shù)據(jù)、音頻數(shù)據(jù)等。在傳遞過(guò)程中,報(bào)文會(huì)被分解為較小的數(shù)據(jù)塊,被稱為分組(packet)。

  • 存儲(chǔ)轉(zhuǎn)發(fā)傳輸(store-and-forward transmission) 機(jī)制,分組交換機(jī)必須接收到整個(gè)分組,才能向輸出鏈路傳輸該分組的第一個(gè)比特。

  • 輸出緩存(output buffer),用于存儲(chǔ)路由器準(zhǔn)備發(fā)往對(duì)應(yīng)鏈路的分組,當(dāng)該鏈路正忙于傳輸其它分組時(shí),剛到達(dá)的分組必須在輸出緩存中等待。

  • 排隊(duì)時(shí)延(queuing delay),由于分組會(huì)遇到在輸出緩存中等待的情況,所以分組傳輸中會(huì)存在排隊(duì)時(shí)延。

  • 分組丟失(packet loss),由于緩存空間有限,當(dāng)緩存已滿時(shí),將出現(xiàn)分組丟失的情況。

  • 轉(zhuǎn)發(fā)表(forwarding table),存在于每臺(tái)路由器中,用于將目的地址映射成對(duì)應(yīng)的輸出鏈路。路由器通過(guò)轉(zhuǎn)發(fā)表,判斷將當(dāng)前分組轉(zhuǎn)發(fā)到哪一條輸出鏈路。

  • 路由選擇協(xié)議(routing protocol),用于自動(dòng)地設(shè)置這些轉(zhuǎn)發(fā)表。例如,一個(gè)路由選擇協(xié)議可以決定從每臺(tái)路由器到每個(gè)目的地地最短路徑,并使用這些最短路徑結(jié)果來(lái)配置路由器中的轉(zhuǎn)發(fā)表。

3.2. Circuit Switching(電路交換)

在電路交換網(wǎng)絡(luò)中,端系統(tǒng)通信期間,會(huì)在沿路預(yù)留通信所需要的資源(緩存,鏈路傳輸速率)。而在分組交換網(wǎng)絡(luò)中,這些資源是不預(yù)留的。

傳統(tǒng)的電話網(wǎng)絡(luò)就是電路交換網(wǎng)絡(luò)的例子。在兩方通話期間,第三方不能插足,因?yàn)闆](méi)有多余的資源了。

電路交換主要通過(guò) 頻分復(fù)用(frequency-division multiplexing, FDM)時(shí)分復(fù)用(time-division multiplexing, TDM) 來(lái)實(shí)現(xiàn)。

6.png

如上圖所示,頻分復(fù)用是劃分頻譜,不同用戶不同頻段;時(shí)分復(fù)用是劃分時(shí)間,不同用戶不同時(shí)隙。

3.3. Packet Switching vs Circuit Switching

  • 分組交換:
    • 優(yōu)點(diǎn):更好的帶寬共享;更簡(jiǎn)單、有效、成本低
    • 缺點(diǎn):端到端的時(shí)延是可變和不可預(yù)測(cè)的
  • 電路交換:
    • 優(yōu)點(diǎn):穩(wěn)定
    • 缺點(diǎn):預(yù)留端到端帶寬是復(fù)雜的

分組交換勝出!

3.4. A Network of Networks(網(wǎng)絡(luò)的網(wǎng)絡(luò))

年復(fù)一年,因特網(wǎng)用戶越來(lái)越多,導(dǎo)致網(wǎng)絡(luò)越來(lái)越大,從而形成了網(wǎng)絡(luò)的網(wǎng)絡(luò)。

端系統(tǒng)通過(guò)接入ISP進(jìn)入因特網(wǎng),只要所有的接入ISP互聯(lián),所有的端系統(tǒng)就能夠彼此發(fā)送分組。那么,如何使所有的接入ISP互聯(lián)呢?

網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)演變?nèi)缦拢?/p>

  • 一種幼稚的方法是,使每個(gè)接入ISP直接與其它每個(gè)接入ISP連接。

  • 網(wǎng)絡(luò)結(jié)構(gòu)1,用單一的全球傳輸ISP互聯(lián)所有接入ISP,全球ISP相當(dāng)于每個(gè)接入ISP的提供商(ISP)。

  • 網(wǎng)絡(luò)結(jié)構(gòu)2,由無(wú)數(shù)的接入ISP和多個(gè) 第一層ISP/全球ISP(tier-1 ISP) 組成。

  • 網(wǎng)絡(luò)結(jié)構(gòu)3,擁有多層等級(jí)ISP。例如,在中國(guó),每個(gè)城市有接入ISP,它們與省級(jí)ISP連接,省級(jí)ISP又與國(guó)家級(jí)ISP連接,國(guó)家級(jí)ISP最終與 第一層ISP(tier-1 ISP) 連接。

  • 網(wǎng)絡(luò)結(jié)構(gòu)4,在網(wǎng)絡(luò)結(jié)構(gòu)3的基礎(chǔ)上添加了如下內(nèi)容:

    • PoP(points of presence, 存在點(diǎn)),一個(gè)PoP是提供商ISP中的一臺(tái)或多臺(tái)路由器(在同一位置)群組,客戶ISP借此與提供商ISP連接。

    • 多宿(multi-home),任何ISP(除第一層ISP外)都可以與一個(gè)或更多個(gè)提供商ISP連接。打比方說(shuō),就是你可以同時(shí)購(gòu)買電信、聯(lián)通的寬帶,這樣一個(gè)掛了,你還可以選擇另一個(gè)。

    • 對(duì)等(peer),同等級(jí)相鄰的ISP能直接互聯(lián),而不通過(guò)上級(jí)ISP,這樣兩者之間不需要付費(fèi),也可以不用向上級(jí)ISP交錢了。比如,南京市ISP與蘇州市ISP對(duì)等,就可以不用向國(guó)家ISP繳納這部分的錢,但南京市ISP要訪問(wèn)深圳市ISP,依舊要向國(guó)家ISP交錢。

    • IXP(Internet Exchange Point, 因特網(wǎng)交換點(diǎn)),是由第三方公司提供的匯合點(diǎn),多個(gè)ISP可以在這里一起對(duì)等。2016的因特網(wǎng)中,由400多個(gè)IXP。

  • 網(wǎng)絡(luò)結(jié)構(gòu)5,在網(wǎng)絡(luò)結(jié)構(gòu)4的基礎(chǔ)上添加了內(nèi)容提供商網(wǎng)絡(luò)(content-provider networks),例如谷歌,它的專用網(wǎng)絡(luò)與較低層ISP對(duì)等,并“繞過(guò)”較高層ISP。如下圖:

    7.png

4. Delay, Loss, and Throughput in Packet-Switched Networks(分組交換中的延遲、丟包和吞吐量)

4.1. Overview of Delay in Packet-Switched Networks(分組交換網(wǎng)中的時(shí)延概述)

8.png

上圖所示的時(shí)延分為以下四種類型:

  • 處理時(shí)延(Processing Delay),路由器(分組交換機(jī))檢查分組首部和決定將該分組導(dǎo)向何處。在節(jié)點(diǎn)處理之后,路由器將該分組引向通往B鏈路之前的隊(duì)列中。處理時(shí)延通常是微秒或更低的數(shù)量級(jí)。

  • 排隊(duì)時(shí)延(Queuing Delay),分組在路由器中等待傳輸時(shí)經(jīng)受的時(shí)延,取決于當(dāng)前隊(duì)列中分組的數(shù)量,即網(wǎng)絡(luò)流量。排隊(duì)時(shí)延可以是毫秒到微秒量級(jí)。

  • 傳輸時(shí)延(Transmission Delay),是將分組的所有比特推向鏈路(發(fā)射)所需要的時(shí)間。通常在毫秒到微秒量級(jí)。

  • 傳播時(shí)延(Propagation Delay),從該鏈路起點(diǎn)到達(dá)路由器B所需要的時(shí)間。在廣域網(wǎng)中,傳播時(shí)延為毫秒量級(jí)。

節(jié)點(diǎn)時(shí)延(d_{nodal}) = 處理時(shí)延(d_{proc}) + 排隊(duì)時(shí)延(d_{queue}) + 傳輸時(shí)延(d_{trans}) + 傳播時(shí)延(d_{prop})

4.2. Queuing Delay and Packet Loss(排隊(duì)時(shí)延和丟包)

節(jié)點(diǎn)時(shí)延中最為復(fù)雜和有趣的成分是排隊(duì)時(shí)延(其實(shí),就是堵車消耗的時(shí)間)。

  • a表示分組到達(dá)隊(duì)列的平均速率(單位是分組/秒,即pkt/s),即路由器處理該分組的速率;
  • R表示傳輸速率,即從隊(duì)列中推出比特的速率;
  • L表示所有分組的平均比特長(zhǎng)度;
  • La/R被稱為流量強(qiáng)度(traffic intensity)。

如果La/R>1,則比特到達(dá)隊(duì)列的平均速率超過(guò)從該隊(duì)列傳輸出去的速率,即接收比送出去的快。同一時(shí)刻到達(dá)的分組越多,排隊(duì)時(shí)延將越大,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Clim_%7BN%5Cto%20%5Cinfty%7DN%5Ctfrac%7BLa%7D%7BR%7D%20%3D%20N" alt="\lim_{N\to \infty}N\tfrac{La}{R} = N" mathimg="1">。

因此:

Design your system so that the traffic intensity is no greater than 1

當(dāng)分組到達(dá)時(shí),隊(duì)列已滿,那該分組獎(jiǎng)會(huì)丟失(loss)

4.3. End-to-End Delay(端到端時(shí)延)

假設(shè)網(wǎng)絡(luò)是無(wú)擁塞的(因此排隊(duì)時(shí)延是微不足道的)。

端到端時(shí)延:d_{end-end} = N(d_{proc} + d_{trans} + d_{prop})

4.4. Throughput in Computer Networks(計(jì)算機(jī)網(wǎng)絡(luò)中的吞吐量)

除了時(shí)延和丟包,端到端吞吐量是計(jì)算機(jī)網(wǎng)絡(luò)中另一個(gè)至關(guān)重要的性能測(cè)度。包含如下兩個(gè)度量:

  • 瞬時(shí)吞吐量(instantaneous throughput):某一時(shí)刻的下載速率,以每秒傳送的比特?cái)?shù)bps計(jì)。比如文件下載時(shí),不斷變化的xxxkb/s

  • 平均吞吐量(average throughput):下載完整個(gè)文件的平均速率

另外,端到端的吞吐量,取決于端到端路徑中速率(bps)最小的鏈路,即瓶頸鏈路(bottleneck link)。論證如下:

假設(shè)有一臺(tái)服務(wù)器和一臺(tái)客戶機(jī),他們通過(guò)兩條通信鏈路和一臺(tái)路由器相連,不考慮處理時(shí)延和傳輸時(shí)延,令R_s表示服務(wù)器到路由器之間的鏈路速率(bps),R_c表示路由器到客戶之間的鏈路速率(bps),特別注意:鏈路速率(bps)表示每秒傳送的比特?cái)?shù),而不是每秒前進(jìn)的路程。如下圖:

9.png

根據(jù)R_sR_c的比較關(guān)系,可分為以下兩種情況:

  1. 假設(shè)R_s < R_c 且 R_s=1bit/s, R_c=2bit/s:在時(shí)刻1,有1bit從服務(wù)器到達(dá)路由器;在1s~2s間,雖然路由器到客戶端的鏈路1s能夠傳播2bit,但路由器此時(shí)只有1bit,所以該鏈路1s只能轉(zhuǎn)播1bit;在時(shí)刻2,1bit到達(dá)客戶端,新的1bit又到達(dá)了路由器;重復(fù)上述步驟。雖然R_c=2bit/s,但由于服務(wù)器到路由器的鏈路1s只能提供1bit,所以路由器到客戶端的鏈路速率也降至1bit/s

  2. 假設(shè)R_s > R_c 且 R_s=2bit/s, R_c=1bit/s:在時(shí)刻1,有2bit從服務(wù)器到達(dá)路由器;在1s~2s間,由于路由器到客戶端的鏈路1s只能夠傳播1bit,所以路由器還停留了1bit;在時(shí)刻2,1bit到達(dá)客戶端,新的1bit又到達(dá)了路由器,此時(shí)路由器保留了2bit。隨著時(shí)間推移,路由器積累的bit越來(lái)越多,這是一種最不希望的情況。

因此,對(duì)于這種簡(jiǎn)單的兩鏈路網(wǎng)絡(luò),其吞吐量為\tfrac{1}{2}min\{R_c, R_s\}(此處略不同于《計(jì)算機(jī)網(wǎng)絡(luò)——自頂向下方法》1.4.4節(jié)中的內(nèi)容,愚認(rèn)為書中存在紕漏)。

綜上所述,我們可以知道,端到端路徑中的瓶頸鏈路,決定了端到端的吞吐量。所以,在今天因特網(wǎng)中,對(duì)吞吐量的限制因素通常是接入網(wǎng)。

另外,當(dāng)有許多數(shù)據(jù)流通過(guò)一條鏈路時(shí),一條高傳輸速率的鏈路也可能成為瓶頸鏈路。

5. Protocol Layers and Their Service Models(協(xié)議層次及其服務(wù)模型)

5.1. Layered Architecture(分層的體系結(jié)構(gòu))

分層是分析和設(shè)計(jì)大型系統(tǒng)的良好方法。

5.1.1. Protocol Layering(協(xié)議分層)

5層因特網(wǎng)協(xié)議棧(protocol stack, 各層的所有協(xié)議) 如下圖:

10.png

上層服務(wù)依賴于下層服務(wù),下層服務(wù)為上層服務(wù)提供接口。

就像本書所說(shuō),我們采用 自頂向下方法(top-down approach) 進(jìn)行解釋分析:

  • 應(yīng)用層(Application),軟件實(shí)現(xiàn)。包含HTTP、SMTP、FTP、DNS等協(xié)議,應(yīng)用層中的基本信息稱為報(bào)文(message)。
  • 運(yùn)輸層(Transport),軟件實(shí)現(xiàn)。包含TCP、UDP等協(xié)議,運(yùn)輸層中的基本信息稱為報(bào)文段(segment)
  • 網(wǎng)絡(luò)層(Network),軟硬件實(shí)現(xiàn)。包含IP、路由選擇等協(xié)議,基本信息稱為數(shù)據(jù)報(bào)(datagram)
  • 鏈路層(Link),硬件實(shí)現(xiàn)。包含以太網(wǎng)、WiFi等協(xié)議,基本信息稱為幀(frame)。
  • 物理層(Physical),硬件實(shí)現(xiàn)。包含關(guān)于雙絞銅線、光纖等鏈路的協(xié)議,基本信息為比特(bit)。

5.1.2. The OSI Model(OSI模型)

1970s后期,國(guó)際標(biāo)準(zhǔn)化組織(ISO)提出計(jì)算機(jī)網(wǎng)絡(luò)圍繞7層來(lái)組織,稱為開(kāi)發(fā)系統(tǒng)互連模型(OSI模型),如下:

11.png

相比于因特網(wǎng)5層模型,7層模型多了 表示層(Presentation)會(huì)話層(Session) 兩層。

為什么會(huì)少了兩層呢?因特網(wǎng)回答如下:

it’s up to the application developer.

這交給開(kāi)發(fā)者處理。

5.2. Encapsulation(封裝)

封裝的意義:對(duì)于上一層傳來(lái)的數(shù)據(jù)信息,附加上當(dāng)前層的附加信息。

對(duì)于每一層的數(shù)據(jù)信息,具有兩種類型的字段:首部字段(當(dāng)前層信息)有效載荷字段(payload field, 來(lái)自上一層)

6. Networks Under Attack(面對(duì)攻擊網(wǎng)絡(luò))

  • 僵尸網(wǎng)絡(luò)(botnet),被黑客入侵設(shè)備組成的網(wǎng)絡(luò)。
  • 病毒(virus),一種需要某種形式的用戶交互來(lái)感染用戶設(shè)備的惡意軟件。
  • 蠕蟲(worm),一種無(wú)須任何明顯用戶交互就能進(jìn)入設(shè)備的惡意軟件。
  • DoS(denial-of-service attacks, 拒絕服務(wù)攻擊)
    • 弱點(diǎn)攻擊。攻擊目標(biāo)主機(jī)上運(yùn)行的應(yīng)用程序,從而使主機(jī)崩潰或者控制主機(jī)。這不是pwn嗎!
    • 帶寬洪泛。攻擊者向目標(biāo)主機(jī)發(fā)送大量分組,使其接入鏈路擁塞。
    • 連接洪泛。攻擊者在目標(biāo)主機(jī)中創(chuàng)建大量的半開(kāi)或全開(kāi)的TCP連接。
  • DDoS(distributed DoS, 分布式DoS),黑客利用受害主機(jī)組成的僵尸網(wǎng)絡(luò)對(duì)服務(wù)器進(jìn)行攻擊:
    12.png
  • 分組嗅探器(packet sniffer),記錄每個(gè)流經(jīng)的分組副本的被動(dòng)接收機(jī)。在無(wú)線傳輸設(shè)備的附近放置一臺(tái)被動(dòng)的接收機(jī),它就能得到傳輸?shù)拿總€(gè)分組的副本。分組嗅探軟件——Wireshark。

等等等等。

7. History of Computer Networking and the Internet

  • 1960s,電話網(wǎng)絡(luò)統(tǒng)治著通信網(wǎng)絡(luò),它主要采用電路交換的方式發(fā)送信息。
  • 1960s,MIT(麻省理工)的研究生Leonard Kleinrock、蘭德公司和NPL(英國(guó)國(guó)家物理實(shí)驗(yàn)室)分別研究并發(fā)明了分組交換技術(shù)。
  • 1967年左右,Lawrence Roberts(Leonard Kleinrock的同事)公布了一個(gè)ARPAnet(ARPA,美國(guó)高級(jí)研究計(jì)劃署)的總體計(jì)劃,它是第一個(gè)分組交換計(jì)算機(jī)網(wǎng)絡(luò),是因特網(wǎng)的祖先。
  • 1969年,第一個(gè)分組交換網(wǎng)絡(luò)ARPAnet落地,但只有4個(gè)節(jié)點(diǎn)。
  • 1972年,ARPAnet發(fā)展到15個(gè)節(jié)點(diǎn),并完成了第一個(gè)端到端協(xié)議——NCP。
  • 1970s早中期,其它分組交換網(wǎng)絡(luò)問(wèn)世,包括:ALOHAnet(無(wú)線電網(wǎng)絡(luò))、Telenet(BBN的商用分組交換網(wǎng)路)等,還有分時(shí)網(wǎng)絡(luò):Tymnet和GE信息服務(wù)網(wǎng)。
  • 1970s,將各網(wǎng)絡(luò)互聯(lián)的工作得到了DARPA(美國(guó)國(guó)防部高級(jí)研究計(jì)劃署)的支持。
  • 1976年, Metcalfe 和 Boggs 基于ALOHAnet中的多路訪問(wèn)協(xié)議,研制了以太網(wǎng)協(xié)議。
  • 1970s末,TCP、UDP、IP協(xié)議在概念上已經(jīng)完成。
  • 1983年1月1日,TCP/IP協(xié)議替代了NCP協(xié)議,成為ARPAnet新的標(biāo)準(zhǔn)主機(jī)協(xié)議。
  • 1980s初期,在ARPAnet發(fā)展的同時(shí),法國(guó)啟動(dòng)了Minitel項(xiàng)目,他的計(jì)劃是讓數(shù)據(jù)網(wǎng)絡(luò)進(jìn)入每個(gè)家庭。在1990s中期,Minitel提供了20000多種服務(wù),涵蓋了廣泛的范圍。Minitel在大量法國(guó)家庭中存在了10年后,大多數(shù)美國(guó)人才聽(tīng)說(shuō)因特網(wǎng)。
  • 1980s,BITNET為美國(guó)東北部的幾個(gè)大學(xué)之間提供電子郵件和文件傳輸。然后,建立了CSNET將沒(méi)有接入ARPAnet的大學(xué)研究人員連接到一起。1986年,又建立了NSFNET。
  • 1980s末期,連到公共因特網(wǎng)的主機(jī)數(shù)量達(dá)到1000000臺(tái)。
  • 1990s,ARPAnet已不復(fù)存在,NSFNET也于1995年退役,因特網(wǎng)步入商業(yè)化。
  • 1989~1991年間,Tim Berners-Lee發(fā)明了Web,并和他的同事研制了HTML、HTTP、Web服務(wù)器和瀏覽器,這是Web的4個(gè)關(guān)鍵部分。
  • 1995~2000,因特網(wǎng)飛速發(fā)展。
  • 2000~2001,因特網(wǎng)股票崩盤,許多因特網(wǎng)初創(chuàng)公司倒閉。
  • 2000至今,因特網(wǎng)家庭接入、速度越來(lái)越快、大公司部署專用網(wǎng)絡(luò)、“云”。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容