21-01-05前言:為了考試開始計算機網(wǎng)絡(luò)的復(fù)習(xí),,剛好系統(tǒng)的梳理一遍計算機網(wǎng)絡(luò)的重點。目前先根據(jù)老師的考點進行總結(jié),,過了期末周再全面地進行梳理,。參考博客阮一峰老師yyds
一.協(xié)議的概念
協(xié)議規(guī)定了通信實體之間所交換的消息的格式、意義、順序以及針對收到信息或發(fā)生的事件所采取的“動作”,。
它的三要素是:
- 語法 即數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式
- 語義 需要發(fā)出何種控制信息,,完成何種動作以及做出何種響應(yīng)
- 時序 即事件實現(xiàn)順序的詳細說明
二.因特網(wǎng)的構(gòu)成
從因特網(wǎng)的工作方式上來看,可以劃分為:
- 邊緣部分
由所有連接在因特網(wǎng)的主機組成,,這部分用戶可以直接使用,,主要是供用戶主機之間進行通信和資源共享 (傳送數(shù)據(jù)、音頻等)
- 核心部分
由大量網(wǎng)絡(luò)與連接網(wǎng)絡(luò)的路由器組成,。作用是供邊緣系統(tǒng)提供服務(wù)(提供連通性和交換)
1.邊緣部分
將與因特網(wǎng)相連的計算機與其他設(shè)備稱為端系統(tǒng),,也叫做主機。
在端系統(tǒng)之間的通信方式有兩種:
-
客戶端/服務(wù)器(c/s方式)
所描述的是進程之間服務(wù)和被服務(wù)的關(guān)系,,客戶是服務(wù)的請求方,,服務(wù)器是服務(wù)的提供方,客戶發(fā)送請求,,接收服務(wù)器響應(yīng),。
-
P2P
兩個主機在通信時并不區(qū)分哪一個是服務(wù)請求方還是服務(wù)提供方,通信在對等實體之間直接進行(如QQ)
2.核心部分
網(wǎng)絡(luò)核心部分是互聯(lián)網(wǎng)中最復(fù)雜的部分,,因為網(wǎng)絡(luò)中的核心部分要向網(wǎng)絡(luò)邊緣中的大量主機提供連通性,,使邊緣部分中的任何一臺主機都能向其他主機通信。
核心部分最重要的是路由器,,路由器是實現(xiàn)分組交換的關(guān)鍵構(gòu)建,,其任務(wù)是轉(zhuǎn)發(fā)收到的分組。
三.數(shù)據(jù)交換的方式
分為電路交換,、分組交換與報文交換,,其中計算機采用的方式是分組交換。本次詳細介紹電路交換與分組交換 因為要考這兩個(老實人)
電路交換
電路交換技術(shù)是應(yīng)用于傳統(tǒng)的電話通訊網(wǎng),,在互聯(lián)網(wǎng)中被丟棄,。該網(wǎng)絡(luò)必須在發(fā)送方和接收方之間建立一條鏈接(電路),并且一旦連接建立了后,,兩個用戶會一直占用端到端的通信資源,,導(dǎo)致線路利用率很低。
電路交換的三個階段:
- 1.建立連接(呼叫/電路建立)
- 2.通信
- 3.釋放連接(拆除電路)
電路交換適合于數(shù)據(jù)量很大的實時性傳輸,,核心路由器之間可以使用電路交換
分組交換
分組交換技術(shù)是采用存儲轉(zhuǎn)發(fā)技術(shù),,按需分配傳輸線路資源。
通常端系統(tǒng)筆記交換報文,,報文可以執(zhí)行一種控制功能,,也可以包含數(shù)據(jù)。為了從源端系統(tǒng)向目的端系統(tǒng)發(fā)送一個報文,,源將報分分成一個個較小的等長數(shù)據(jù)段,,并在美個數(shù)據(jù)段前面加上必要的控制信息組成的首部(包含源地址和目的地址),,稱之為分組。
分組交換網(wǎng)中路由器收到一個分組,,先暫時存儲,,根據(jù)收到的分組的首部中的地址信息找到合適的接口轉(zhuǎn)發(fā)出去,再把分組交給下一個路由器,。交換過程中每一個分組單獨地選擇路徑,,這些路徑可以同時被多個計算機來使用,不占線,,不需要建立連接,。
優(yōu)點 |
|
高效 |
動態(tài)分配傳輸帶寬,對通信鏈路是逐段占用 |
靈活 |
以分組為傳送單位和查找路由,,為每一個分組獨立地選擇最合適的轉(zhuǎn)發(fā)路由 |
迅速 |
不必先建立連接就能向其他主機發(fā)送分組 |
可靠 |
保證可靠性的網(wǎng)絡(luò)協(xié)議,;分布式的路由選擇協(xié)議使網(wǎng)絡(luò)有很好的生存性 |
缺點 |
|
時延 |
分組在各結(jié)點存儲轉(zhuǎn)發(fā)時需要排隊,這會造成一定的時延或丟失,,不適合實時服務(wù),,需要協(xié)議處理可靠數(shù)據(jù)傳輸和擁塞控制。 |
開銷 |
分組交換需要報文的拆分與重組,,必須攜帶首部 |
四.網(wǎng)絡(luò)性能指標(biāo)
速率
速率即數(shù)據(jù)率(data rate),,或稱數(shù)據(jù)傳輸速率、比特率(bit rate),,是網(wǎng)絡(luò)中最重要的性能指標(biāo)
單位時間(秒),傳輸信息(比特)量 (b/s(或bps)、kb/s,、Mb/s,、Gb/s)
當(dāng)提到網(wǎng)絡(luò)的速率時,速率往往是指額定速率或標(biāo)稱速率,,而并非網(wǎng)絡(luò)實際上運行的速率,。
帶寬
原本指信號具有的頻帶寬度, 即最高頻率與最低頻率之差,,單位是赫茲(Hz),。網(wǎng)絡(luò)的“帶寬”通常是數(shù)字信道(鏈路)所能傳送的“最高數(shù)據(jù)率”,單位:b/s (bps)
吞吐量
吞吐量表示在單位時間內(nèi)通過某個網(wǎng)絡(luò)的實際數(shù)據(jù)量,。
時延
- 處理時延
主機或路由器在收到分組時需要花費一定時間進行處理,,例如分析分組的首部,從分組中提取數(shù)據(jù)部分,、進行差錯檢驗或查找合適的輸出鏈路等,。
- 排隊時延
指分組等待在鏈路傳輸中輸入輸出列隊里的排隊等待轉(zhuǎn)發(fā)的時間。排隊時延的長短取決于網(wǎng)絡(luò)當(dāng)時的通信量,,當(dāng)網(wǎng)絡(luò)的通信量很大時會發(fā)生隊列溢出,,使分組丟失,。
- 傳輸時延(發(fā)送時延)
指將分組的所有比特推(傳)向鏈路所需要的時間,也就是從發(fā)送數(shù)據(jù)幀的第一個比特算起,,到該幀的最后一個比特發(fā)送完畢所需的時間,。
計算公式:傳輸時延= L / R【R = 鏈路的傳輸速率 (bps), L = 分組長度 (比特)】
- 傳播時延
一個比特從鏈路的起點到下一節(jié)點(路由器)傳播所需要的時間,。其速度以鏈路的傳播速率傳播,。
傳播時延發(fā)生在機器外部的傳輸信道媒體上,而與信道的發(fā)送速率無關(guān),。信號傳送的距離越遠,,傳播時延就越大。
時延帶寬積
鏈路的時延帶寬積又稱為以比特為單位的鏈路長度,。
計算公式: 時延帶寬積=傳播時延*帶寬 = dprop * R (bits)
丟包率
由于隊列緩存容量有限,,因此分組到達已滿隊列將被丟棄 (即丟包)。丟棄分組可能由前序結(jié)點或源重發(fā)(也可能不重發(fā))
計算公式:丟包率=丟包數(shù)/已發(fā)分組總數(shù)
五.網(wǎng)絡(luò)體系結(jié)構(gòu)
網(wǎng)絡(luò)體系結(jié)構(gòu)是從功能上描述計算機網(wǎng)絡(luò)結(jié)構(gòu),是分層結(jié)構(gòu),每層遵循某個/些網(wǎng)絡(luò)協(xié)議完成本層功能,。計算機網(wǎng)絡(luò)體系結(jié)構(gòu)是計算機網(wǎng)絡(luò)的各層及其協(xié)議的集合,,是一個計算機網(wǎng)絡(luò)的功能層次及其關(guān)系的定義,是抽象的,。
TCP/IP模型,、OSI/RM模型,、五層原理模型之間的關(guān)系:
- 層與協(xié)議:每一層都是為了完成一種功能,為了完成這些功能,,需要遵循一些規(guī)則,,這些規(guī)則就是協(xié)議,每一層都定義了一些協(xié)議,。
- 對等層:在網(wǎng)絡(luò)體系結(jié)構(gòu)中,,將數(shù)據(jù)(即數(shù)據(jù)單元加上控制信息)直接傳遞給對方的任何兩個同樣的層次。(如OSI運輸層與TCP/IP運輸層)
- 服務(wù)訪問點SAP:在同一系統(tǒng)中相鄰兩層的實體進行交互(即交換信息)的地方,,實際上就是一個邏輯接口
由于OSI體系結(jié)構(gòu)太復(fù)雜,,在實際應(yīng)用中TCP/IP的四層體系結(jié)構(gòu)得到廣泛應(yīng)用,且在1225日的春招計劃中也介紹過了TCP/IP四層結(jié)構(gòu),,作為折中此次介紹五層協(xié)議體系結(jié)構(gòu),。
應(yīng)用層
應(yīng)用層的作用就是規(guī)定應(yīng)用程序的數(shù)據(jù)格式。
它是網(wǎng)絡(luò)應(yīng)用程序以及他們的應(yīng)用層協(xié)議存留的地方,。應(yīng)用層包括了許多協(xié)議(HTTP,、SMTP、FTP等),,應(yīng)用層協(xié)議分布在多個端系統(tǒng)上,,而一個端系統(tǒng)中的應(yīng)用程序使用協(xié)議與另一個端系統(tǒng)中的應(yīng)用程序交換信息分組,,并把這種信息分組稱為報文。
這一層是計算機網(wǎng)絡(luò)中的最高層,,也是我們作為一般用戶經(jīng)常直接接觸的一層,。
傳輸層
由于一個主機可同時運行多個進程,因此傳輸層有復(fù)用和分用的功能,。復(fù)用就是多個應(yīng)用進程可同時使用運輸層的服務(wù),,分用是運輸層把收到的信息分別交付給上面的應(yīng)用層的相應(yīng)進程。
而所謂端口,則代表每一個使用網(wǎng)卡的程序的編號,。每個數(shù)據(jù)包都發(fā)到主機的特定端口,,因此不同的程序就能取到自己所需要的數(shù)據(jù)。
端口一般是0到65535之間的一個整數(shù),,正好16個二進制位,。0到1023的端口被系統(tǒng)占用,用戶只能選用大于1023的端口,。實際應(yīng)用中應(yīng)用程序會隨機選用一個端口,,并與服務(wù)器的相應(yīng)端口聯(lián)系。
傳輸層的功能,,就是建立"端口到端口"的通信,,進行“進程-進程”的數(shù)據(jù)傳輸。
在這一層主要使用兩種運輸協(xié)議,,即 TCP-面向連接的
和 UDP-無連接的
,,將在第三章進行詳細講解。
網(wǎng)絡(luò)層
"網(wǎng)絡(luò)層"的功能是建立"主機到主機"的通信,。只要確定主機和端口,,我們就能實現(xiàn)程序之間的交流。
網(wǎng)絡(luò)層的作用是引進一套新的地址,,使得我們能夠區(qū)分不同的計算機是否屬于同一個子網(wǎng)絡(luò)。這套地址就叫做 "網(wǎng)絡(luò)地址" ,,簡稱"網(wǎng)址",。它負責(zé)源主機到目的主機的數(shù)據(jù)分組路由與轉(zhuǎn)發(fā)。
網(wǎng)絡(luò)層協(xié)議通常包括: Internet協(xié)議(IP協(xié)議),、Internet控制信息協(xié)議(ICMP),、地址解析協(xié)議(ARP)、反向地址解析協(xié)議(RARP),。
規(guī)定網(wǎng)絡(luò)地址的協(xié)議叫IP協(xié)議,,所定義的地址叫IP地址,由32個二進制位組成,,從0.0.0.0一直到255.255.255.255,。IP地址分為兩個部分,,前面一部分代表網(wǎng)絡(luò),后一部分代表主機,。處于同一個子網(wǎng)的IP地址,,其網(wǎng)絡(luò)部分與子網(wǎng)掩碼必定是相同的。
同一個子網(wǎng)絡(luò),,就采用廣播方式發(fā)送,,否則就采用”路由”方式發(fā)送。IP協(xié)議作用主要是為分配IP地址和判斷那些IP在同一個網(wǎng)絡(luò),。
后面我們將單獨介紹可變長度掩碼的ip子網(wǎng)劃分方法,。
數(shù)據(jù)鏈路層
網(wǎng)絡(luò)層必須依靠鏈路層的服務(wù),在鏈路層中,,將網(wǎng)絡(luò)層傳下來的IP數(shù)據(jù)報組轉(zhuǎn)成幀,,在連個相鄰節(jié)點透明的傳送幀中的數(shù)據(jù)。每幀中包含必要的控制信息(如同步信息,、地址信息,、差錯控制等)。其作用是 規(guī)定了相鄰節(jié)點(主機和路由器之間或兩個路由器之間)數(shù)據(jù)傳輸
- 以太網(wǎng)協(xié)議:
規(guī)定一組電信號組成幀,,幀由 標(biāo)頭(Head)和 數(shù)據(jù)(Data)組成,。"標(biāo)頭"包含數(shù)據(jù)包的一些說明項,如發(fā)送者與接受者的地址(MAC地址),、數(shù)據(jù)類型等等,;"數(shù)據(jù)"則是數(shù)據(jù)包的具體內(nèi)容。
- MAC地址:
每塊網(wǎng)卡出廠的時候,,都有一個全世界獨一無二的MAC地址,,長度是48個二進制位,通常用12個十六進制數(shù)表示,。前6個十六進制數(shù)是廠商編號,,后6個是該廠商的網(wǎng)卡流水號。
- 廣播:
通過ARP協(xié)議可以知道本網(wǎng)絡(luò)內(nèi)的所有機器的MAC地址,,以太網(wǎng)通過廣播的方式把數(shù)據(jù)發(fā)送到本網(wǎng)絡(luò)內(nèi)的所有機器上,,讓其根據(jù)MAC地址自己判斷是否接受數(shù)據(jù)。
而不在同一個子網(wǎng)絡(luò),,便把數(shù)據(jù)包傳送到兩個子網(wǎng)絡(luò)連接處的網(wǎng)關(guān)(gateway),,讓網(wǎng)關(guān)去處理。
物理層
物理層的主要任務(wù)就是規(guī)定各種傳輸介質(zhì)和接口與傳輸信號相關(guān)的一些特性(網(wǎng)絡(luò)的一些電氣特性),,將幀的一個個比特從一個節(jié)點移動到下一個節(jié)點(負責(zé)傳送0和1的電信號),。
在這一層,數(shù)據(jù)還沒有組織,僅作為原始的比特流提交給上層——數(shù)據(jù)鏈路層,。這一層的協(xié)議仍然是鏈路相關(guān)的,,并且進一步地與該鏈路(雙絞銅線、光纖)的實際傳輸媒體相關(guān),。