大二逃課總結(jié)的1.2w字的計(jì)算機(jī)網(wǎng)絡(luò)知識!掃盲!
本文是我在大二學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)期間整理, 大部分內(nèi)容都來自于謝希仁老師的《計(jì)算機(jī)網(wǎng)絡(luò)》這本書。為了內(nèi)容更容易理解,我對最初整理的內(nèi)容簡單進(jìn)行了一波重構(gòu),并配上了一些相關(guān)的示意圖便于理解。
另外,本文已經(jīng)收錄進(jìn)我的 JavaGuide :https://github.com/Snailclimb/JavaGuide (Github標(biāo)星90k的Java學(xué)習(xí)/面試指南)

1. 計(jì)算機(jī)網(wǎng)絡(luò)概述
1.1. 基本術(shù)語
1.2. 重要知識點(diǎn)總結(jié)
2. 物理層(Physical Layer)
2.1. 基本術(shù)語
2.2. 重要知識點(diǎn)總結(jié)
2.3. 補(bǔ)充
3. 數(shù)據(jù)鏈路層(Data Link Layer)
3.1. 基本術(shù)語
3.2. 重要知識點(diǎn)總結(jié)
3.3. 補(bǔ)充
4. 網(wǎng)絡(luò)層(Network Layer)
4.1. 基本術(shù)語
4.2. 重要知識點(diǎn)總結(jié)
5. 傳輸層(Transport Layer)
5.1. 基本術(shù)語
5.2. 重要知識點(diǎn)總結(jié)
5.3. 補(bǔ)充(重要)
6. 應(yīng)用層(Application Layer)
6.1. 基本術(shù)語
6.2. 重要知識點(diǎn)總結(jié)
6.3. 補(bǔ)充(重要)
1. 計(jì)算機(jī)網(wǎng)絡(luò)概述
1.1. 基本術(shù)語
結(jié)點(diǎn) (node) :網(wǎng)絡(luò)中的結(jié)點(diǎn)可以是計(jì)算機(jī),集線器,交換機(jī)或路由器等。 鏈路(link ) : 從一個(gè)結(jié)點(diǎn)到另一個(gè)結(jié)點(diǎn)的一段物理線路。中間沒有任何其他交點(diǎn)。 主機(jī)(host) :連接在因特網(wǎng)上的計(jì)算機(jī)。 ISP(Internet Service Provider) :因特網(wǎng)服務(wù)提供者(提供商)。

IXP(Internet eXchange Point) :互聯(lián)網(wǎng)交換點(diǎn) IXP 的主要作用就是允許兩個(gè)網(wǎng)絡(luò)直接相連并交換分組,而不需要再通過第三個(gè)網(wǎng)絡(luò)來轉(zhuǎn)發(fā)分組。

https://labs.ripe.net/Members/fergalc/ixp-traffic-during-stratos-skydive
RFC(Request For Comments) :意思是“請求評議”,包含了關(guān)于 Internet 幾乎所有的重要的文字資料。 廣域網(wǎng) WAN(Wide Area Network) :任務(wù)是通過長距離運(yùn)送主機(jī)發(fā)送的數(shù)據(jù)。 城域網(wǎng) MAN(Metropolitan Area Network):用來將多個(gè)局域網(wǎng)進(jìn)行互連。 局域網(wǎng) LAN(Local Area Network) :學(xué)?;蚱髽I(yè)大多擁有多個(gè)互連的局域網(wǎng)。

http://conexionesmanwman.blogspot.com/
個(gè)人區(qū)域網(wǎng) PAN(Personal Area Network) :在個(gè)人工作的地方把屬于個(gè)人使用的電子設(shè)備用無線技術(shù)連接起來的網(wǎng)絡(luò) 。

https://www.itrelease.com/2018/07/advantages-and-disadvantages-of-personal-area-network-pan/
分組(packet ) :因特網(wǎng)中傳送的數(shù)據(jù)單元。由首部 header 和數(shù)據(jù)段組成。分組又稱為包,首部可稱為包頭。 存儲轉(zhuǎn)發(fā)(store and forward ) :路由器收到一個(gè)分組,先檢查分組是否正確,并過濾掉沖突包錯(cuò)誤。確定包正確后,取出目的地址,通過查找表找到想要發(fā)送的輸出端口地址,然后將該包發(fā)送出去。

帶寬(bandwidth) :在計(jì)算機(jī)網(wǎng)絡(luò)中,表示在單位時(shí)間內(nèi)從網(wǎng)絡(luò)中的某一點(diǎn)到另一點(diǎn)所能通過的“最高數(shù)據(jù)率”。常用來表示網(wǎng)絡(luò)的通信線路所能傳送數(shù)據(jù)的能力。單位是“比特每秒”,記為 b/s。 吞吐量(throughput ) :表示在單位時(shí)間內(nèi)通過某個(gè)網(wǎng)絡(luò)(或信道、接口)的數(shù)據(jù)量。吞吐量更經(jīng)常地用于對現(xiàn)實(shí)世界中的網(wǎng)絡(luò)的一種測量,以便知道實(shí)際上到底有多少數(shù)據(jù)量能夠通過網(wǎng)絡(luò)。吞吐量受網(wǎng)絡(luò)的帶寬或網(wǎng)絡(luò)的額定速率的限制。
1.2. 重要知識點(diǎn)總結(jié)
計(jì)算機(jī)網(wǎng)絡(luò)(簡稱網(wǎng)絡(luò))把許多計(jì)算機(jī)連接在一起,而互聯(lián)網(wǎng)把許多網(wǎng)絡(luò)連接在一起,是網(wǎng)絡(luò)的網(wǎng)絡(luò)。 小寫字母 i 開頭的 internet(互聯(lián)網(wǎng))是通用名詞,它泛指由多個(gè)計(jì)算機(jī)網(wǎng)絡(luò)相互連接而成的網(wǎng)絡(luò)。在這些網(wǎng)絡(luò)之間的通信協(xié)議(即通信規(guī)則)可以是任意的。大寫字母 I 開頭的 Internet(互聯(lián)網(wǎng))是專用名詞,它指全球最大的,開放的,由眾多網(wǎng)絡(luò)相互連接而成的特定的互聯(lián)網(wǎng),并采用 TCP/IP 協(xié)議作為通信規(guī)則,其前身為 ARPANET。Internet 的推薦譯名為因特網(wǎng),現(xiàn)在一般流行稱為互聯(lián)網(wǎng)。 路由器是實(shí)現(xiàn)分組交換的關(guān)鍵構(gòu)件,其任務(wù)是轉(zhuǎn)發(fā)收到的分組,這是網(wǎng)絡(luò)核心部分最重要的功能。分組交換采用存儲轉(zhuǎn)發(fā)技術(shù),表示把一個(gè)報(bào)文(要發(fā)送的整塊數(shù)據(jù))分為幾個(gè)分組后再進(jìn)行傳送。在發(fā)送報(bào)文之前,先把較長的報(bào)文劃分成為一個(gè)個(gè)更小的等長數(shù)據(jù)段。在每個(gè)數(shù)據(jù)端的前面加上一些由必要的控制信息組成的首部后,就構(gòu)成了一個(gè)分組。分組又稱為包。分組是在互聯(lián)網(wǎng)中傳送的數(shù)據(jù)單元,正是由于分組的頭部包含了諸如目的地址和源地址等重要控制信息,每一個(gè)分組才能在互聯(lián)網(wǎng)中獨(dú)立的選擇傳輸路徑,并正確地交付到分組傳輸?shù)慕K點(diǎn)。 互聯(lián)網(wǎng)按工作方式可劃分為邊緣部分和核心部分。主機(jī)在網(wǎng)絡(luò)的邊緣部分,其作用是進(jìn)行信息處理。由大量網(wǎng)絡(luò)和連接這些網(wǎng)絡(luò)的路由器組成核心部分,其作用是提供連通性和交換。 計(jì)算機(jī)通信是計(jì)算機(jī)中進(jìn)程(即運(yùn)行著的程序)之間的通信。計(jì)算機(jī)網(wǎng)絡(luò)采用的通信方式是客戶-服務(wù)器方式(C/S 方式)和對等連接方式(P2P 方式)。 客戶和服務(wù)器都是指通信中所涉及的應(yīng)用進(jìn)程。客戶是服務(wù)請求方,服務(wù)器是服務(wù)提供方。 按照作用范圍的不同,計(jì)算機(jī)網(wǎng)絡(luò)分為廣域網(wǎng) WAN,城域網(wǎng) MAN,局域網(wǎng) LAN,個(gè)人區(qū)域網(wǎng) PAN。 計(jì)算機(jī)網(wǎng)絡(luò)最常用的性能指標(biāo)是:速率,帶寬,吞吐量,時(shí)延(發(fā)送時(shí)延,處理時(shí)延,排隊(duì)時(shí)延),時(shí)延帶寬積,往返時(shí)間和信道利用率。 網(wǎng)絡(luò)協(xié)議即協(xié)議,是為進(jìn)行網(wǎng)絡(luò)中的數(shù)據(jù)交換而建立的規(guī)則。計(jì)算機(jī)網(wǎng)絡(luò)的各層以及其協(xié)議集合,稱為網(wǎng)絡(luò)的體系結(jié)構(gòu)。 五層體系結(jié)構(gòu)由應(yīng)用層,運(yùn)輸層,網(wǎng)絡(luò)層(網(wǎng)際層),數(shù)據(jù)鏈路層,物理層組成。運(yùn)輸層最主要的協(xié)議是 TCP 和 UDP 協(xié)議,網(wǎng)絡(luò)層最重要的協(xié)議是 IP 協(xié)議。

下面的內(nèi)容會介紹計(jì)算機(jī)網(wǎng)絡(luò)的五層體系結(jié)構(gòu):物理層+數(shù)據(jù)鏈路層+網(wǎng)絡(luò)層(網(wǎng)際層)+運(yùn)輸層+應(yīng)用層。
2. 物理層(Physical Layer)

2.1. 基本術(shù)語
數(shù)據(jù)(data) :運(yùn)送消息的實(shí)體。 信號(signal) :數(shù)據(jù)的電氣的或電磁的表現(xiàn)。或者說信號是適合在傳輸介質(zhì)上傳輸?shù)膶ο蟆?/section> 碼元( code) :在使用時(shí)間域(或簡稱為時(shí)域)的波形來表示數(shù)字信號時(shí),代表不同離散數(shù)值的基本波形。 單工(simplex ) : 只能有一個(gè)方向的通信而沒有反方向的交互。 半雙工(half duplex ) :通信的雙方都可以發(fā)送信息,但不能雙方同時(shí)發(fā)送(當(dāng)然也就不能同時(shí)接收)。 全雙工(full duplex) : 通信的雙方可以同時(shí)發(fā)送和接收信息。

失真:失去真實(shí)性,主要是指接受到的信號和發(fā)送的信號不同,有磨損和衰減。影響失真程度的因素:1.碼元傳輸速率 2.信號傳輸距離 3.噪聲干擾 4.傳輸媒體質(zhì)量

奈氏準(zhǔn)則 : 在任何信道中,碼元的傳輸?shù)男适怯猩舷薜?,傳輸速率超過此上限,就會出現(xiàn)嚴(yán)重的碼間串?dāng)_問題,使接收端對碼元的判決(即識別)成為不可能。 香農(nóng)定理 :在帶寬受限且有噪聲的信道中,為了不產(chǎn)生誤差,信息的數(shù)據(jù)傳輸速率有上限值。 基帶信號(baseband signal) : 來自信源的信號。指沒有經(jīng)過調(diào)制的數(shù)字信號或模擬信號。 帶通(頻帶)信號(bandpass signal) :把基帶信號經(jīng)過載波調(diào)制后,把信號的頻率范圍搬移到較高的頻段以便在信道中傳輸(即僅在一段頻率范圍內(nèi)能夠通過信道),這里調(diào)制過后的信號就是帶通信號。 調(diào)制(modulation ) : 對信號源的信息進(jìn)行處理后加到載波信號上,使其變?yōu)檫m合在信道傳輸?shù)男问降倪^程。 信噪比(signal-to-noise ratio ) : 指信號的平均功率和噪聲的平均功率之比,記為 S/N。信噪比(dB)=10*log10(S/N)。 信道復(fù)用(channel multiplexing ) :指多個(gè)用戶共享同一個(gè)信道。(并不一定是同時(shí))。

比特率(bit rate ) :單位時(shí)間(每秒)內(nèi)傳送的比特?cái)?shù)。 波特率(baud rate) :單位時(shí)間載波調(diào)制狀態(tài)改變的次數(shù)。針對數(shù)據(jù)信號對載波的調(diào)制速率。 復(fù)用(multiplexing) :共享信道的方法。 ADSL(Asymmetric Digital Subscriber Line ) :非對稱數(shù)字用戶線。 光纖同軸混合網(wǎng)(HFC 網(wǎng)) :在目前覆蓋范圍很廣的有線電視網(wǎng)的基礎(chǔ)上開發(fā)的一種居民寬帶接入網(wǎng)
2.2. 重要知識點(diǎn)總結(jié)
物理層的主要任務(wù)就是確定與傳輸媒體接口有關(guān)的一些特性,如機(jī)械特性,電氣特性,功能特性,過程特性。 一個(gè)數(shù)據(jù)通信系統(tǒng)可劃分為三大部分,即源系統(tǒng),傳輸系統(tǒng),目的系統(tǒng)。源系統(tǒng)包括源點(diǎn)(或源站,信源)和發(fā)送器,目的系統(tǒng)包括接收器和終點(diǎn)。 通信的目的是傳送消息。如話音,文字,圖像等都是消息,數(shù)據(jù)是運(yùn)送消息的實(shí)體。信號則是數(shù)據(jù)的電器或電磁的表現(xiàn)。 根據(jù)信號中代表消息的參數(shù)的取值方式不同,信號可分為模擬信號(或連續(xù)信號)和數(shù)字信號(或離散信號)。在使用時(shí)間域(簡稱時(shí)域)的波形表示數(shù)字信號時(shí),代表不同離散數(shù)值的基本波形稱為碼元。 根據(jù)雙方信息交互的方式,通信可劃分為單向通信(或單工通信),雙向交替通信(或半雙工通信),雙向同時(shí)通信(全雙工通信)。 來自信源的信號稱為基帶信號。信號要在信道上傳輸就要經(jīng)過調(diào)制。調(diào)制有基帶調(diào)制和帶通調(diào)制之分。最基本的帶通調(diào)制方法有調(diào)幅,調(diào)頻和調(diào)相。還有更復(fù)雜的調(diào)制方法,如正交振幅調(diào)制。 要提高數(shù)據(jù)在信道上的傳遞速率,可以使用更好的傳輸媒體,或使用先進(jìn)的調(diào)制技術(shù)。但數(shù)據(jù)傳輸速率不可能任意被提高。 傳輸媒體可分為兩大類,即導(dǎo)引型傳輸媒體(雙絞線,同軸電纜,光纖)和非導(dǎo)引型傳輸媒體(無線,紅外,大氣激光)。 了有效利用光纖資源,在光纖干線和用戶之間廣泛使用無源光網(wǎng)絡(luò) PON。無源光網(wǎng)絡(luò)無需配備電源,其長期運(yùn)營成本和管理成本都很低。最流行的無源光網(wǎng)絡(luò)是以太網(wǎng)無源光網(wǎng)絡(luò) EPON 和吉比特?zé)o源光網(wǎng)絡(luò) GPON。
2.3. 補(bǔ)充
2.3.1. 物理層主要做啥?
物理層主要做的事情就是 透明地傳送比特流。也可以將物理層的主要任務(wù)描述為確定與傳輸媒體的接口的一些特性,即:機(jī)械特性(接口所用接線器的一些物理屬性如形狀尺寸),電氣特性(接口電纜的各條線上出現(xiàn)的電壓的范圍),功能特性(某條線上出現(xiàn)的某一電平的電壓的意義),過程特性(對于不同功能能的各種可能事件的出現(xiàn)順序)。
物理層考慮的是怎樣才能在連接各種計(jì)算機(jī)的傳輸媒體上傳輸數(shù)據(jù)比特流,而不是指具體的傳輸媒體。 現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)中的硬件設(shè)備和傳輸媒體的種類非常繁多,而且通信手段也有許多不同的方式。物理層的作用正是盡可能地屏蔽掉這些傳輸媒體和通信手段的差異,使物理層上面的數(shù)據(jù)鏈路層感覺不到這些差異,這樣就可以使數(shù)據(jù)鏈路層只考慮完成本層的協(xié)議和服務(wù),而不必考慮網(wǎng)絡(luò)的具體傳輸媒體和通信手段是什么。
2.3.2. 幾種常用的信道復(fù)用技術(shù)
頻分復(fù)用(FDM) :所有用戶在同樣的時(shí)間占用不同的帶寬資源。 時(shí)分復(fù)用(TDM) :所有用戶在不同的時(shí)間占用同樣的頻帶寬度(分時(shí)不分頻)。 統(tǒng)計(jì)時(shí)分復(fù)用 (Statistic TDM) :改進(jìn)的時(shí)分復(fù)用,能夠明顯提高信道的利用率。 碼分復(fù)用(CDM) :用戶使用經(jīng)過特殊挑選的不同碼型,因此各用戶之間不會造成干擾。這種系統(tǒng)發(fā)送的信號有很強(qiáng)的抗干擾能力,其頻譜類似于白噪聲,不易被敵人發(fā)現(xiàn)。 波分復(fù)用( WDM) :波分復(fù)用就是光的頻分復(fù)用。
2.3.3. 幾種常用的寬帶接入技術(shù),主要是 ADSL 和 FTTx
用戶到互聯(lián)網(wǎng)的寬帶接入方法有非對稱數(shù)字用戶線 ADSL(用數(shù)字技術(shù)對現(xiàn)有的模擬電話線進(jìn)行改造,而不需要重新布線。ASDL 的快速版本是甚高速數(shù)字用戶線 VDSL。),光纖同軸混合網(wǎng) HFC(是在目前覆蓋范圍很廣的有線電視網(wǎng)的基礎(chǔ)上開發(fā)的一種居民寬帶接入網(wǎng))和 FTTx(即光纖到······)。
3. 數(shù)據(jù)鏈路層(Data Link Layer)

3.1. 基本術(shù)語
鏈路(link) :一個(gè)結(jié)點(diǎn)到相鄰結(jié)點(diǎn)的一段物理鏈路。 數(shù)據(jù)鏈路(data link) :把實(shí)現(xiàn)控制數(shù)據(jù)運(yùn)輸?shù)膮f(xié)議的硬件和軟件加到鏈路上就構(gòu)成了數(shù)據(jù)鏈路。 循環(huán)冗余檢驗(yàn) CRC(Cyclic Redundancy Check) :為了保證數(shù)據(jù)傳輸?shù)目煽啃?,CRC 是數(shù)據(jù)鏈路層廣泛使用的一種檢錯(cuò)技術(shù)。 幀(frame) :一個(gè)數(shù)據(jù)鏈路層的傳輸單元,由一個(gè)數(shù)據(jù)鏈路層首部和其攜帶的封包所組成協(xié)議數(shù)據(jù)單元。 MTU(Maximum Transfer Uint ) :最大傳送單元。幀的數(shù)據(jù)部分的的長度上限。 誤碼率 BER(Bit Error Rate ) :在一段時(shí)間內(nèi),傳輸錯(cuò)誤的比特占所傳輸比特總數(shù)的比率。 PPP(Point-to-Point Protocol ) :點(diǎn)對點(diǎn)協(xié)議。即用戶計(jì)算機(jī)和 ISP 進(jìn)行通信時(shí)所使用的數(shù)據(jù)鏈路層協(xié)議。以下是 PPP 幀的示意圖: 
MAC 地址(Media Access Control 或者 Medium Access Control) :意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡(luò)設(shè)備的位置。在 OSI 模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé) IP 地址,第二層數(shù)據(jù)鏈路層則負(fù)責(zé) MAC 地址。因此一個(gè)主機(jī)會有一個(gè) MAC 地址,而每個(gè)網(wǎng)絡(luò)位置會有一個(gè)專屬于它的 IP 地址 。地址是識別某個(gè)系統(tǒng)的重要標(biāo)識符,“名字指出我們所要尋找的資源,地址指出資源所在的地方,路由告訴我們?nèi)绾蔚竭_(dá)該處。

網(wǎng)橋(bridge) :一種用于數(shù)據(jù)鏈路層實(shí)現(xiàn)中繼,連接兩個(gè)或多個(gè)局域網(wǎng)的網(wǎng)絡(luò)互連設(shè)備。 交換機(jī)(switch ) :廣義的來說,交換機(jī)指的是一種通信系統(tǒng)中完成信息交換的設(shè)備。這里工作在數(shù)據(jù)鏈路層的交換機(jī)指的是交換式集線器,其實(shí)質(zhì)是一個(gè)多接口的網(wǎng)橋
3.2. 重要知識點(diǎn)總結(jié)
鏈路是從一個(gè)結(jié)點(diǎn)到相鄰節(jié)點(diǎn)的一段物理鏈路,數(shù)據(jù)鏈路則在鏈路的基礎(chǔ)上增加了一些必要的硬件(如網(wǎng)絡(luò)適配器)和軟件(如協(xié)議的實(shí)現(xiàn)) 數(shù)據(jù)鏈路層使用的主要是點(diǎn)對點(diǎn)信道和廣播信道兩種。 數(shù)據(jù)鏈路層傳輸?shù)膮f(xié)議數(shù)據(jù)單元是幀。數(shù)據(jù)鏈路層的三個(gè)基本問題是:封裝成幀,透明傳輸和差錯(cuò)檢測 循環(huán)冗余檢驗(yàn) CRC 是一種檢錯(cuò)方法,而幀檢驗(yàn)序列 FCS 是添加在數(shù)據(jù)后面的冗余碼 點(diǎn)對點(diǎn)協(xié)議 PPP 是數(shù)據(jù)鏈路層使用最多的一種協(xié)議,它的特點(diǎn)是:簡單,只檢測差錯(cuò)而不去糾正差錯(cuò),不使用序號,也不進(jìn)行流量控制,可同時(shí)支持多種網(wǎng)絡(luò)層協(xié)議 PPPoE 是為寬帶上網(wǎng)的主機(jī)使用的鏈路層協(xié)議 局域網(wǎng)的優(yōu)點(diǎn)是:具有廣播功能,從一個(gè)站點(diǎn)可方便地訪問全網(wǎng);便于系統(tǒng)的擴(kuò)展和逐漸演變;提高了系統(tǒng)的可靠性,可用性和生存性。 計(jì)算機(jī)與外接局域網(wǎng)通信需要通過通信適配器(或網(wǎng)絡(luò)適配器),它又稱為網(wǎng)絡(luò)接口卡或網(wǎng)卡。計(jì)算器的硬件地址就在適配器的 ROM 中。 以太網(wǎng)采用的無連接的工作方式,對發(fā)送的數(shù)據(jù)幀不進(jìn)行編號,也不要求對方發(fā)回確認(rèn)。目的站收到有差錯(cuò)幀就把它丟掉,其他什么也不做 以太網(wǎng)采用的協(xié)議是具有沖突檢測的載波監(jiān)聽多點(diǎn)接入 CSMA/CD。協(xié)議的特點(diǎn)是:發(fā)送前先監(jiān)聽,邊發(fā)送邊監(jiān)聽,一旦發(fā)現(xiàn)總線上出現(xiàn)了碰撞,就立即停止發(fā)送。然后按照退避算法等待一段隨機(jī)時(shí)間后再次發(fā)送。 因此,每一個(gè)站點(diǎn)在自己發(fā)送數(shù)據(jù)之后的一小段時(shí)間內(nèi),存在這遭遇碰撞的可能性。以太網(wǎng)上的各站點(diǎn)平等的爭用以太網(wǎng)信道 以太網(wǎng)的適配器具有過濾功能,它只接收單播幀,廣播幀和多播幀。 使用集線器可以在物理層擴(kuò)展以太網(wǎng)(擴(kuò)展后的以太網(wǎng)仍然是一個(gè)網(wǎng)絡(luò))
3.3. 補(bǔ)充
數(shù)據(jù)鏈路層的點(diǎn)對點(diǎn)信道和廣播信道的特點(diǎn),以及這兩種信道所使用的協(xié)議(PPP 協(xié)議以及 CSMA/CD 協(xié)議)的特點(diǎn) 數(shù)據(jù)鏈路層的三個(gè)基本問題:封裝成幀,透明傳輸,差錯(cuò)檢測 以太網(wǎng)的 MAC 層硬件地址 適配器,轉(zhuǎn)發(fā)器,集線器,網(wǎng)橋,以太網(wǎng)交換機(jī)的作用以及適用場合
4. 網(wǎng)絡(luò)層(Network Layer)

4.1. 基本術(shù)語
虛電路(Virtual Circuit) : 在兩個(gè)終端設(shè)備的邏輯或物理端口之間,通過建立的雙向的透明傳輸通道。虛電路表示這只是一條邏輯上的連接,分組都沿著這條邏輯連接按照存儲轉(zhuǎn)發(fā)方式傳送,而并不是真正建立了一條物理連接。 IP(Internet Protocol ) : 網(wǎng)際協(xié)議 IP 是 TCP/IP 體系中兩個(gè)最主要的協(xié)議之一,是 TCP/IP 體系結(jié)構(gòu)網(wǎng)際層的核心。配套的有 ARP,RARP,ICMP,IGMP。 ARP(Address Resolution Protocol) : 地址解析協(xié)議。地址解析協(xié)議 ARP 把 IP 地址解析為硬件地址。 ICMP(Internet Control Message Protocol ) :網(wǎng)際控制報(bào)文協(xié)議 (ICMP 允許主機(jī)或路由器報(bào)告差錯(cuò)情況和提供有關(guān)異常情況的報(bào)告)。 子網(wǎng)掩碼(subnet mask ) :它是一種用來指明一個(gè) IP 地址的哪些位標(biāo)識的是主機(jī)所在的子網(wǎng)以及哪些位標(biāo)識的是主機(jī)的位掩碼。子網(wǎng)掩碼不能單獨(dú)存在,它必須結(jié)合 IP 地址一起使用。 **CIDR( Classless Inter-Domain Routing ) **:無分類域間路由選擇 (特點(diǎn)是消除了傳統(tǒng)的 A 類、B 類和 C 類地址以及劃分子網(wǎng)的概念,并使用各種長度的“網(wǎng)絡(luò)前綴”(network-prefix)來代替分類地址中的網(wǎng)絡(luò)號和子網(wǎng)號)。 默認(rèn)路由(default route) :當(dāng)在路由表中查不到能到達(dá)目的地址的路由時(shí),路由器選擇的路由。默認(rèn)路由還可以減小路由表所占用的空間和搜索路由表所用的時(shí)間。 路由選擇算法(Virtual Circuit) :路由選擇協(xié)議的核心部分。因特網(wǎng)采用自適應(yīng)的,分層次的路由選擇協(xié)議。
4.2. 重要知識點(diǎn)總結(jié)
TCP/IP 協(xié)議中的網(wǎng)絡(luò)層向上只提供簡單靈活的,無連接的,盡最大努力交付的數(shù)據(jù)報(bào)服務(wù)。網(wǎng)絡(luò)層不提供服務(wù)質(zhì)量的承諾,不保證分組交付的時(shí)限所傳送的分組可能出錯(cuò),丟失,重復(fù)和失序。進(jìn)程之間通信的可靠性由運(yùn)輸層負(fù)責(zé) 在互聯(lián)網(wǎng)的交付有兩種,一是在本網(wǎng)絡(luò)直接交付不用經(jīng)過路由器,另一種是和其他網(wǎng)絡(luò)的間接交付,至少經(jīng)過一個(gè)路由器,但最后一次一定是直接交付 分類的 IP 地址由網(wǎng)絡(luò)號字段(指明網(wǎng)絡(luò))和主機(jī)號字段(指明主機(jī))組成。網(wǎng)絡(luò)號字段最前面的類別指明 IP 地址的類別。IP 地址是一種分等級的地址結(jié)構(gòu)。IP 地址管理機(jī)構(gòu)分配 IP 地址時(shí)只分配網(wǎng)絡(luò)號,主機(jī)號由得到該網(wǎng)絡(luò)號的單位自行分配。路由器根據(jù)目的主機(jī)所連接的網(wǎng)絡(luò)號來轉(zhuǎn)發(fā)分組。一個(gè)路由器至少連接到兩個(gè)網(wǎng)絡(luò),所以一個(gè)路由器至少應(yīng)當(dāng)有兩個(gè)不同的 IP 地址 IP 數(shù)據(jù)報(bào)分為首部和數(shù)據(jù)兩部分。首部的前一部分是固定長度,共 20 字節(jié),是所有 IP 數(shù)據(jù)包必須具有的(源地址,目的地址,總長度等重要地段都固定在首部)。一些長度可變的可選字段固定在首部的后面。IP 首部中的生存時(shí)間給出了 IP 數(shù)據(jù)報(bào)在互聯(lián)網(wǎng)中所能經(jīng)過的最大路由器數(shù)??煞乐?IP 數(shù)據(jù)報(bào)在互聯(lián)網(wǎng)中無限制的兜圈子。 地址解析協(xié)議 ARP 把 IP 地址解析為硬件地址。ARP 的高速緩存可以大大減少網(wǎng)絡(luò)上的通信量。因?yàn)檫@樣可以使主機(jī)下次再與同樣地址的主機(jī)通信時(shí),可以直接從高速緩存中找到所需要的硬件地址而不需要再去廣播方式發(fā)送 ARP 請求分組 無分類域間路由選擇 CIDR 是解決目前 IP 地址緊缺的一個(gè)好辦法。CIDR 記法把 IP 地址后面加上斜線“/”,然后寫上前綴所所占的位數(shù)。前綴(或網(wǎng)絡(luò)前綴用來指明網(wǎng)絡(luò)),前綴后面的部分是后綴,用來指明主機(jī)。CIDR 把前綴都相同的連續(xù)的 IP 地址組成一個(gè)“CIDR 地址塊”,IP 地址分配都以 CIDR 地址塊為單位。 網(wǎng)際控制報(bào)文協(xié)議是 IP 層的協(xié)議。ICMP 報(bào)文作為 IP 數(shù)據(jù)報(bào)的數(shù)據(jù),加上首部后組成 IP 數(shù)據(jù)報(bào)發(fā)送出去。使用 ICMP 數(shù)據(jù)報(bào)并不是為了實(shí)現(xiàn)可靠傳輸。ICMP 允許主機(jī)或路由器報(bào)告差錯(cuò)情況和提供有關(guān)異常情況的報(bào)告。ICMP 報(bào)文的種類有兩種 ICMP 差錯(cuò)報(bào)告報(bào)文和 ICMP 詢問報(bào)文。 要解決 IP 地址耗盡的問題,最根本的辦法是采用具有更大地址空間的新版本 IP 協(xié)議-IPv6。 IPv6 所帶來的變化有 ① 更大的地址空間(采用 128 位地址)② 靈活的首部格式 ③ 改進(jìn)的選項(xiàng) ④ 支持即插即用 ⑤ 支持資源的預(yù)分配 ⑥IPv6 的首部改為 8 字節(jié)對齊。 虛擬專用網(wǎng)絡(luò) VPN 利用公用的互聯(lián)網(wǎng)作為本機(jī)構(gòu)專用網(wǎng)之間的通信載體。VPN 內(nèi)使用互聯(lián)網(wǎng)的專用地址。一個(gè) VPN 至少要有一個(gè)路由器具有合法的全球 IP 地址,這樣才能和本系統(tǒng)的另一個(gè) VPN 通過互聯(lián)網(wǎng)進(jìn)行通信。所有通過互聯(lián)網(wǎng)傳送的數(shù)據(jù)都需要加密。 MPLS 的特點(diǎn)是:① 支持面向連接的服務(wù)質(zhì)量 ② 支持流量工程,平衡網(wǎng)絡(luò)負(fù)載 ③ 有效的支持虛擬專用網(wǎng) VPN。MPLS 在入口節(jié)點(diǎn)給每一個(gè) IP 數(shù)據(jù)報(bào)打上固定長度的“標(biāo)記”,然后根據(jù)標(biāo)記在第二層(鏈路層)用硬件進(jìn)行轉(zhuǎn)發(fā)(在標(biāo)記交換路由器中進(jìn)行標(biāo)記交換),因而轉(zhuǎn)發(fā)速率大大加快。
5. 傳輸層(Transport Layer)

5.1. 基本術(shù)語
進(jìn)程(process) :指計(jì)算機(jī)中正在運(yùn)行的程序?qū)嶓w。 應(yīng)用進(jìn)程互相通信 :一臺主機(jī)的進(jìn)程和另一臺主機(jī)中的一個(gè)進(jìn)程交換數(shù)據(jù)的過程(另外注意通信真正的端點(diǎn)不是主機(jī)而是主機(jī)中的進(jìn)程,也就是說端到端的通信是應(yīng)用進(jìn)程之間的通信)。 傳輸層的復(fù)用與分用 :復(fù)用指發(fā)送方不同的進(jìn)程都可以通過統(tǒng)一個(gè)運(yùn)輸層協(xié)議傳送數(shù)據(jù)。分用指接收方的運(yùn)輸層在剝?nèi)?bào)文的首部后能把這些數(shù)據(jù)正確的交付到目的應(yīng)用進(jìn)程。 TCP(Transmission Control Protocol) :傳輸控制協(xié)議。 UDP(User Datagram Protocol) :用戶數(shù)據(jù)報(bào)協(xié)議。

**端口(port) ** :端口的目的是為了確認(rèn)對方機(jī)器是那個(gè)進(jìn)程在于自己進(jìn)行交互,比如 MSN 和 QQ 的端口不同,如果沒有端口就可能出現(xiàn) QQ 進(jìn)程和 MSN 交互錯(cuò)誤。端口又稱協(xié)議端口號。 停止等待協(xié)議(stop-and-wait) :指發(fā)送方每發(fā)送完一個(gè)分組就停止發(fā)送,等待對方確認(rèn),在收到確認(rèn)之后在發(fā)送下一個(gè)分組。 流量控制 : 就是讓發(fā)送方的發(fā)送速率不要太快,既要讓接收方來得及接收,也不要使網(wǎng)絡(luò)發(fā)生擁塞。 擁塞控制 :防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不致過載。擁塞控制所要做的都有一個(gè)前提,就是網(wǎng)絡(luò)能夠承受現(xiàn)有的網(wǎng)絡(luò)負(fù)荷。
5.2. 重要知識點(diǎn)總結(jié)
運(yùn)輸層提供應(yīng)用進(jìn)程之間的邏輯通信,也就是說,運(yùn)輸層之間的通信并不是真正在兩個(gè)運(yùn)輸層之間直接傳輸數(shù)據(jù)。運(yùn)輸層向應(yīng)用層屏蔽了下面網(wǎng)絡(luò)的細(xì)節(jié)(如網(wǎng)絡(luò)拓補(bǔ),所采用的路由選擇協(xié)議等),它使應(yīng)用進(jìn)程之間看起來好像兩個(gè)運(yùn)輸層實(shí)體之間有一條端到端的邏輯通信信道。 網(wǎng)絡(luò)層為主機(jī)提供邏輯通信,而運(yùn)輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信。 運(yùn)輸層的兩個(gè)重要協(xié)議是用戶數(shù)據(jù)報(bào)協(xié)議 UDP 和傳輸控制協(xié)議 TCP。按照 OSI 的術(shù)語,兩個(gè)對等運(yùn)輸實(shí)體在通信時(shí)傳送的數(shù)據(jù)單位叫做運(yùn)輸協(xié)議數(shù)據(jù)單元 TPDU(Transport Protocol Data Unit)。但在 TCP/IP 體系中,則根據(jù)所使用的協(xié)議是 TCP 或 UDP,分別稱之為 TCP 報(bào)文段或 UDP 用戶數(shù)據(jù)報(bào)。 UDP 在傳送數(shù)據(jù)之前不需要先建立連接,遠(yuǎn)地主機(jī)在收到 UDP 報(bào)文后,不需要給出任何確認(rèn)。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 確是一種最有效的工作方式。TCP 提供面向連接的服務(wù)。在傳送數(shù)據(jù)之前必須先建立連接,數(shù)據(jù)傳送結(jié)束后要釋放連接。TCP 不提供廣播或多播服務(wù)。由于 TCP 要提供可靠的,面向連接的傳輸服務(wù),這一難以避免增加了許多開銷,如確認(rèn),流量控制,計(jì)時(shí)器以及連接管理等。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多處理機(jī)資源。 硬件端口是不同硬件設(shè)備進(jìn)行交互的接口,而軟件端口是應(yīng)用層各種協(xié)議進(jìn)程與運(yùn)輸實(shí)體進(jìn)行層間交互的一種地址。UDP 和 TCP 的首部格式中都有源端口和目的端口這兩個(gè)重要字段。當(dāng)運(yùn)輸層收到 IP 層交上來的運(yùn)輸層報(bào)文時(shí),就能夠 根據(jù)其首部中的目的端口號把數(shù)據(jù)交付應(yīng)用層的目的應(yīng)用層。(兩個(gè)進(jìn)程之間進(jìn)行通信不光要知道對方 IP 地址而且要知道對方的端口號(為了找到對方計(jì)算機(jī)中的應(yīng)用進(jìn)程)) 運(yùn)輸層用一個(gè) 16 位端口號標(biāo)志一個(gè)端口。端口號只有本地意義,它只是為了標(biāo)志計(jì)算機(jī)應(yīng)用層中的各個(gè)進(jìn)程在和運(yùn)輸層交互時(shí)的層間接口。在互聯(lián)網(wǎng)的不同計(jì)算機(jī)中,相同的端口號是沒有關(guān)聯(lián)的。協(xié)議端口號簡稱端口。雖然通信的終點(diǎn)是應(yīng)用進(jìn)程,但只要把所發(fā)送的報(bào)文交到目的主機(jī)的某個(gè)合適端口,剩下的工作(最后交付目的進(jìn)程)就由 TCP 和 UDP 來完成。 運(yùn)輸層的端口號分為服務(wù)器端使用的端口號(0~1023 指派給熟知端口,1024~49151 是登記端口號)和客戶端暫時(shí)使用的端口號(49152~65535) UDP 的主要特點(diǎn)是 ① 無連接 ② 盡最大努力交付 ③ 面向報(bào)文 ④ 無擁塞控制 ⑤ 支持一對一,一對多,多對一和多對多的交互通信 ⑥ 首部開銷?。ㄖ挥兴膫€(gè)字段:源端口,目的端口,長度和檢驗(yàn)和) TCP 的主要特點(diǎn)是 ① 面向連接 ② 每一條 TCP 連接只能是一對一的 ③ 提供可靠交付 ④ 提供全雙工通信 ⑤ 面向字節(jié)流 TCP 用主機(jī)的 IP 地址加上主機(jī)上的端口號作為 TCP 連接的端點(diǎn)。這樣的端點(diǎn)就叫做套接字(socket)或插口。套接字用(IP 地址:端口號)來表示。每一條 TCP 連接唯一被通信兩端的兩個(gè)端點(diǎn)所確定。 停止等待協(xié)議是為了實(shí)現(xiàn)可靠傳輸?shù)?,它的基本原理就是每發(fā)完一個(gè)分組就停止發(fā)送,等待對方確認(rèn)。在收到確認(rèn)后再發(fā)下一個(gè)分組。 為了提高傳輸效率,發(fā)送方可以不使用低效率的停止等待協(xié)議,而是采用流水線傳輸。流水線傳輸就是發(fā)送方可連續(xù)發(fā)送多個(gè)分組,不必每發(fā)完一個(gè)分組就停下來等待對方確認(rèn)。這樣可使信道上一直有數(shù)據(jù)不間斷的在傳送。這種傳輸方式可以明顯提高信道利用率。 停止等待協(xié)議中超時(shí)重傳是指只要超過一段時(shí)間仍然沒有收到確認(rèn),就重傳前面發(fā)送過的分組(認(rèn)為剛才發(fā)送過的分組丟失了)。因此每發(fā)送完一個(gè)分組需要設(shè)置一個(gè)超時(shí)計(jì)時(shí)器,其重轉(zhuǎn)時(shí)間應(yīng)比數(shù)據(jù)在分組傳輸?shù)钠骄禃r(shí)間更長一些。這種自動(dòng)重傳方式常稱為自動(dòng)重傳請求 ARQ。另外在停止等待協(xié)議中若收到重復(fù)分組,就丟棄該分組,但同時(shí)還要發(fā)送確認(rèn)。連續(xù) ARQ 協(xié)議可提高信道利用率。發(fā)送維持一個(gè)發(fā)送窗口,凡位于發(fā)送窗口內(nèi)的分組可連續(xù)發(fā)送出去,而不需要等待對方確認(rèn)。接收方一般采用累積確認(rèn),對按序到達(dá)的最后一個(gè)分組發(fā)送確認(rèn),表明到這個(gè)分組位置的所有分組都已經(jīng)正確收到了。 TCP 報(bào)文段的前 20 個(gè)字節(jié)是固定的,后面有 4n 字節(jié)是根據(jù)需要增加的選項(xiàng)。因此,TCP 首部的最小長度是 20 字節(jié)。 TCP 使用滑動(dòng)窗口機(jī)制。發(fā)送窗口里面的序號表示允許發(fā)送的序號。發(fā)送窗口后沿的后面部分表示已發(fā)送且已收到確認(rèn),而發(fā)送窗口前沿的前面部分表示不允許發(fā)送。發(fā)送窗口后沿的變化情況有兩種可能,即不動(dòng)(沒有收到新的確認(rèn))和前移(收到了新的確認(rèn))。發(fā)送窗口的前沿通常是不斷向前移動(dòng)的。一般來說,我們總是希望數(shù)據(jù)傳輸更快一些。但如果發(fā)送方把數(shù)據(jù)發(fā)送的過快,接收方就可能來不及接收,這就會造成數(shù)據(jù)的丟失。所謂流量控制就是讓發(fā)送方的發(fā)送速率不要太快,要讓接收方來得及接收。 在某段時(shí)間,若對網(wǎng)絡(luò)中某一資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就要變壞。這種情況就叫擁塞。擁塞控制就是為了防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中,這樣就可以使網(wǎng)絡(luò)中的路由器或鏈路不致過載。擁塞控制所要做的都有一個(gè)前提,就是網(wǎng)絡(luò)能夠承受現(xiàn)有的網(wǎng)絡(luò)負(fù)荷。擁塞控制是一個(gè)全局性的過程,涉及到所有的主機(jī),所有的路由器,以及與降低網(wǎng)絡(luò)傳輸性能有關(guān)的所有因素。相反,流量控制往往是點(diǎn)對點(diǎn)通信量的控制,是個(gè)端到端的問題。流量控制所要做到的就是抑制發(fā)送端發(fā)送數(shù)據(jù)的速率,以便使接收端來得及接收。 為了進(jìn)行擁塞控制,TCP 發(fā)送方要維持一個(gè)擁塞窗口 cwnd 的狀態(tài)變量。擁塞控制窗口的大小取決于網(wǎng)絡(luò)的擁塞程度,并且動(dòng)態(tài)變化。發(fā)送方讓自己的發(fā)送窗口取為擁塞窗口和接收方的接受窗口中較小的一個(gè)。 TCP 的擁塞控制采用了四種算法,即慢開始,擁塞避免,快重傳和快恢復(fù)。在網(wǎng)絡(luò)層也可以使路由器采用適當(dāng)?shù)姆纸M丟棄策略(如主動(dòng)隊(duì)列管理 AQM),以減少網(wǎng)絡(luò)擁塞的發(fā)生。 運(yùn)輸連接的三個(gè)階段,即:連接建立,數(shù)據(jù)傳送和連接釋放。 主動(dòng)發(fā)起 TCP 連接建立的應(yīng)用進(jìn)程叫做客戶,而被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器。TCP 連接采用三報(bào)文握手機(jī)制。服務(wù)器要確認(rèn)用戶的連接請求,然后客戶要對服務(wù)器的確認(rèn)進(jìn)行確認(rèn)。 TCP 的連接釋放采用四報(bào)文握手機(jī)制。任何一方都可以在數(shù)據(jù)傳送結(jié)束后發(fā)出連接釋放的通知,待對方確認(rèn)后進(jìn)入半關(guān)閉狀態(tài)。當(dāng)另一方也沒有數(shù)據(jù)再發(fā)送時(shí),則發(fā)送連接釋放通知,對方確認(rèn)后就完全關(guān)閉了 TCP 連接
5.3. 補(bǔ)充(重要)
以下知識點(diǎn)需要重點(diǎn)關(guān)注:
端口和套接字的意義 UDP 和 TCP 的區(qū)別以及兩者的應(yīng)用場景 在不可靠的網(wǎng)絡(luò)上實(shí)現(xiàn)可靠傳輸?shù)墓ぷ髟?,停止等待協(xié)議和 ARQ 協(xié)議 TCP 的滑動(dòng)窗口,流量控制,擁塞控制和連接管理 TCP 的三次握手,四次揮手機(jī)制
6. 應(yīng)用層(Application Layer)

6.1. 基本術(shù)語
域名系統(tǒng)(DNS) :域名系統(tǒng)(DNS,Domain Name System)將人類可讀的域名 (例如,www.baidu.com) 轉(zhuǎn)換為機(jī)器可讀的 IP 地址 (例如,220.181.38.148)。我們可以將其理解為專為互聯(lián)網(wǎng)設(shè)計(jì)的電話薄。

https://www.seobility.net/en/wiki/HTTP_headers
文件傳輸協(xié)議(FTP) :FTP 是 File TransferProtocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。用于 Internet 上的控制文件的雙向傳輸。同時(shí),它也是一個(gè)應(yīng)用程序(Application)。基于不同的操作系統(tǒng)有不同的 FTP 應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議以傳輸文件。在 FTP 的使用當(dāng)中,用戶經(jīng)常遇到兩個(gè)概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠(yuǎn)程主機(jī)拷貝文件至自己的計(jì)算機(jī)上;"上傳"文件就是將文件從自己的計(jì)算機(jī)中拷貝至遠(yuǎn)程主機(jī)上。用 Internet 語言來說,用戶可通過客戶機(jī)程序向(從)遠(yuǎn)程主機(jī)上傳(下載)文件。

簡單文件傳輸協(xié)議(TFTP) :TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是 TCP/IP 協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。端口號為 69。 遠(yuǎn)程終端協(xié)議(TELENET) :Telnet 協(xié)議是 TCP/IP 協(xié)議族中的一員,是 Internet 遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。在終端使用者的電腦上使用 telnet 程序,用它連接到服務(wù)器。終端使用者可以在 telnet 程序中輸入命令,這些命令會在服務(wù)器上運(yùn)行,就像直接在服務(wù)器的控制臺上輸入一樣??梢栽诒镜鼐湍芸刂品?wù)器。要開始一個(gè) telnet 會話,必須輸入用戶名和密碼來登錄服務(wù)器。Telnet 是常用的遠(yuǎn)程控制 Web 服務(wù)器的方法。 萬維網(wǎng)(WWW) :WWW 是環(huán)球信息網(wǎng)的縮寫,(亦作“Web”、“WWW”、“'W3'”,英文全稱為“World Wide Web”),中文名字為“萬維網(wǎng)”,"環(huán)球網(wǎng)"等,常簡稱為 Web。分為 Web 客戶端和 Web 服務(wù)器程序。WWW 可以讓 Web 客戶端(常用瀏覽器)訪問瀏覽 Web 服務(wù)器上的頁面。是一個(gè)由許多互相鏈接的超文本組成的系統(tǒng),通過互聯(lián)網(wǎng)訪問。在這個(gè)系統(tǒng)中,每個(gè)有用的事物,稱為一樣“資源”;并且由一個(gè)全局“統(tǒng)一資源標(biāo)識符”(URI)標(biāo)識;這些資源通過超文本傳輸協(xié)議(Hypertext Transfer Protocol)傳送給用戶,而后者通過點(diǎn)擊鏈接來獲得資源。萬維網(wǎng)聯(lián)盟(英語:World Wide Web Consortium,簡稱 W3C),又稱 W3C 理事會。1994 年 10 月在麻省理工學(xué)院(MIT)計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室成立。萬維網(wǎng)聯(lián)盟的創(chuàng)建者是萬維網(wǎng)的發(fā)明者蒂姆·伯納斯-李。萬維網(wǎng)并不等同互聯(lián)網(wǎng),萬維網(wǎng)只是互聯(lián)網(wǎng)所能提供的服務(wù)其中之一,是靠著互聯(lián)網(wǎng)運(yùn)行的一項(xiàng)服務(wù)。 萬維網(wǎng)的大致工作工程:

統(tǒng)一資源定位符(URL) :統(tǒng)一資源定位符是對可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址?;ヂ?lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的 URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。 超文本傳輸協(xié)議(HTTP) :超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的 WWW 文件都必須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì) HTTP 最初的目的是為了提供一種發(fā)布和接收 HTML 頁面的方法。1960 年美國人 Ted Nelson 構(gòu)思了一種通過計(jì)算機(jī)處理文本信息的方法,并稱之為超文本(hypertext),這成為了 HTTP 超文本傳輸協(xié)議標(biāo)準(zhǔn)架構(gòu)的發(fā)展根基。
HTTP 協(xié)議的本質(zhì)就是一種瀏覽器與服務(wù)器之間約定好的通信格式。HTTP 的原理如下圖所示:

代理服務(wù)器(Proxy Server) :代理服務(wù)器(Proxy Server)是一種網(wǎng)絡(luò)實(shí)體,它又稱為萬維網(wǎng)高速緩存。代理服務(wù)器把最近的一些請求和響應(yīng)暫存在本地磁盤中。當(dāng)新請求到達(dá)時(shí),若代理服務(wù)器發(fā)現(xiàn)這個(gè)請求與暫時(shí)存放的的請求相同,就返回暫存的響應(yīng),而不需要按 URL 的地址再次去互聯(lián)網(wǎng)訪問該資源。代理服務(wù)器可在客戶端或服務(wù)器工作,也可以在中間系統(tǒng)工作。 簡單郵件傳輸協(xié)議(SMTP) : SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。SMTP 協(xié)議屬于 TCP/IP 協(xié)議簇,它幫助每臺計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。通過 SMTP 協(xié)議所指定的服務(wù)器,就可以把 E-mail 寄到收信人的服務(wù)器上了,整個(gè)過程只要幾分鐘。SMTP 服務(wù)器則是遵循 SMTP 協(xié)議的發(fā)送郵件服務(wù)器,用來發(fā)送或中轉(zhuǎn)發(fā)出的電子郵件。

https://www.campaignmonitor.com/resources/knowledge-base/what-is-the-code-that-makes-bcc-or-cc-operate-in-an-email/
搜索引擎 :搜索引擎(Search Engine)是指根據(jù)一定的策略、運(yùn)用特定的計(jì)算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng)。搜索引擎包括全文索引、目錄索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、門戶搜索引擎與免費(fèi)鏈接列表等。

垂直搜索引擎 :垂直搜索引擎是針對某一個(gè)行業(yè)的專業(yè)搜索引擎,是搜索引擎的細(xì)分和延伸,是對網(wǎng)頁庫中的某類專門的信息進(jìn)行一次整合,定向分字段抽取出需要的數(shù)據(jù)進(jìn)行處理后再以某種形式返回給用戶。垂直搜索是相對通用搜索引擎的信息量大、查詢不準(zhǔn)確、深度不夠等提出來的新的搜索引擎服務(wù)模式,通過針對某一特定領(lǐng)域、某一特定人群或某一特定需求提供的有一定價(jià)值的信息和相關(guān)服務(wù)。其特點(diǎn)就是“專、精、深”,且具有行業(yè)色彩,相比較通用搜索引擎的海量信息無序化,垂直搜索引擎則顯得更加專注、具體和深入。 全文索引 :全文索引技術(shù)是目前搜索引擎的關(guān)鍵技術(shù)。試想在 1M 大小的文件中搜索一個(gè)詞,可能需要幾秒,在 100M 的文件中可能需要幾十秒,如果在更大的文件中搜索那么就需要更大的系統(tǒng)開銷,這樣的開銷是不現(xiàn)實(shí)的。所以在這樣的矛盾下出現(xiàn)了全文索引技術(shù),有時(shí)候有人叫倒排文檔技術(shù)。 目錄索引 :目錄索引( search index/directory),顧名思義就是將網(wǎng)站分門別類地存放在相應(yīng)的目錄中,因此用戶在查詢信息時(shí),可選擇關(guān)鍵詞搜索,也可按分類目錄逐層查找。
6.2. 重要知識點(diǎn)總結(jié)
文件傳輸協(xié)議(FTP)使用 TCP 可靠的運(yùn)輸服務(wù)。FTP 使用客戶服務(wù)器方式。一個(gè) FTP 服務(wù)器進(jìn)程可以同時(shí)為多個(gè)用戶提供服務(wù)。在進(jìn)進(jìn)行文件傳輸時(shí),F(xiàn)TP 的客戶和服務(wù)器之間要先建立兩個(gè)并行的 TCP 連接:控制連接和數(shù)據(jù)連接。實(shí)際用于傳輸文件的是數(shù)據(jù)連接。 萬維網(wǎng)客戶程序與服務(wù)器之間進(jìn)行交互使用的協(xié)議是超文本傳輸協(xié)議 HTTP。HTTP 使用 TCP 連接進(jìn)行可靠傳輸。但 HTTP 本身是無連接、無狀態(tài)的。HTTP/1.1 協(xié)議使用了持續(xù)連接(分為非流水線方式和流水線方式) 電子郵件把郵件發(fā)送到收件人使用的郵件服務(wù)器,并放在其中的收件人郵箱中,收件人可隨時(shí)上網(wǎng)到自己使用的郵件服務(wù)器讀取,相當(dāng)于電子郵箱。 一個(gè)電子郵件系統(tǒng)有三個(gè)重要組成構(gòu)件:用戶代理、郵件服務(wù)器、郵件協(xié)議(包括郵件發(fā)送協(xié)議,如 SMTP,和郵件讀取協(xié)議,如 POP3 和 IMAP)。用戶代理和郵件服務(wù)器都要運(yùn)行這些協(xié)議。
6.3. 補(bǔ)充(重要)
以下知識點(diǎn)需要重點(diǎn)關(guān)注:
應(yīng)用層的常見協(xié)議(重點(diǎn)關(guān)注 HTTP 協(xié)議) 域名系統(tǒng)-從域名解析出 IP 地址 訪問一個(gè)網(wǎng)站大致的過程 系統(tǒng)調(diào)用和應(yīng)用編程接口概念
后記
最近寫的一些干貨,每篇都很用心,歡迎各位小伙伴閱讀/點(diǎn)贊/分享:
我是Guide哥,Java后端開發(fā),會一點(diǎn)前端知識,喜歡烹飪,自由的少年。一個(gè)三觀比主角還正的技術(shù)人。我們下期再見!
