內(nèi)容僅供參考。如有錯(cuò)誤之處,敬請(qǐng)指正!
計(jì)算機(jī)網(wǎng)絡(luò)
大綱
第一章 概述
第二章 物理層
第三章 數(shù)據(jù)鏈路層
第四章 介質(zhì)訪問(wèn)子層
第五章 網(wǎng)絡(luò)層
第六章 傳輸層
第七章 應(yīng)用層
第一章 概述
1.基本概念
計(jì)算機(jī)網(wǎng)絡(luò)定義:
表示一組通過(guò)單一技術(shù)相互連接起來(lái)的自主計(jì)算機(jī)集合。
分布式系統(tǒng):
是建立在網(wǎng)絡(luò)上的軟件系統(tǒng),有高度的內(nèi)聚性(數(shù)據(jù)庫(kù)分布節(jié)點(diǎn)高度自治)和透明性(數(shù)據(jù)庫(kù)分布節(jié)點(diǎn)對(duì)用戶是透明的)。
Internet 是最著名的計(jì)算機(jī)網(wǎng)絡(luò),萬(wàn)維網(wǎng)是最著名的分布式系統(tǒng),萬(wàn)維網(wǎng)(軟件)運(yùn)行于 Internet(硬件)上。internet,泛泛,指互聯(lián)網(wǎng)絡(luò)(兩個(gè)或多個(gè)網(wǎng)絡(luò)的連接)。
VPN:虛擬專(zhuān)用網(wǎng)絡(luò)
一種可以將不同地點(diǎn)的單個(gè)網(wǎng)絡(luò)聯(lián)結(jié)成一個(gè)擴(kuò)展網(wǎng)絡(luò)的技術(shù)。
P2P與CS:
CS:由高性能計(jì)算機(jī)服務(wù)器和普通計(jì)算機(jī)客戶機(jī)組成,服務(wù)器負(fù)責(zé)存儲(chǔ)數(shù)據(jù)并處理客戶請(qǐng)求,而客戶機(jī)可遠(yuǎn)程訪問(wèn)服務(wù)器
P2P:對(duì)等模型(又稱(chēng)工作組),各臺(tái)計(jì)算機(jī)具有相同功能,一臺(tái)計(jì)算機(jī)可作為服務(wù)器設(shè)定共享資源供網(wǎng)絡(luò)中其他計(jì)算機(jī)使用,又可作為工作站。沒(méi)有專(zhuān)用的服務(wù)器或工作站。
2.網(wǎng)絡(luò)硬件
依據(jù)傳輸模式劃分網(wǎng)絡(luò):
單播(unicasting):只有一個(gè)發(fā)送方和一個(gè)接收方的點(diǎn)到點(diǎn)傳輸,也叫點(diǎn)到點(diǎn)鏈路(point-to-potint)
廣播(boradcasting):任何一臺(tái)機(jī)器發(fā)出的數(shù)據(jù)包能被其他人任何機(jī)器收到。每個(gè)數(shù)據(jù)包的地址字段指定了預(yù)期的接收方,只有預(yù)期的接收方會(huì)做出應(yīng)答,其他的機(jī)器會(huì)忽略這個(gè)數(shù)據(jù)包。
兩種廣播網(wǎng)絡(luò),bus總線型;ring令牌環(huán)網(wǎng)絡(luò)
多播/組播(mutilcasting):將數(shù)據(jù)包發(fā)給一組機(jī)器,即所有機(jī)器的一個(gè)子集。廣播可以看成是一種特殊的組播形式。
依據(jù)網(wǎng)絡(luò)尺度劃分網(wǎng)絡(luò):
PAN(個(gè)域網(wǎng)):允許設(shè)備圍繞一個(gè)人進(jìn)行通信。例子,計(jì)算機(jī)通過(guò)無(wú)線網(wǎng)絡(luò)與其外圍設(shè)備鏈接。突出技術(shù),藍(lán)牙。
LAN(局域網(wǎng)):一種局部地區(qū)的私有網(wǎng)絡(luò)。分為有線和無(wú)線兩種。
局域網(wǎng)特點(diǎn):①距離短;②傳輸速率高;③錯(cuò)誤率低。
無(wú)線LAN,代表技術(shù)WIFI。
有線LAN,大多使用銅線作為傳輸介質(zhì),也有一些使用光纖。
許多有線局域網(wǎng)的拓?fù)浣Y(jié)構(gòu)是以點(diǎn)到點(diǎn)鏈路為基礎(chǔ)的,俗稱(chēng)以太網(wǎng)的 IEEE 802.3 是迄今為止最常見(jiàn)的一種有線局域網(wǎng)。
有線局域網(wǎng)在性能的所有方面都超過(guò)了無(wú)線局域網(wǎng)。
MAN(城域網(wǎng)):范圍覆蓋一個(gè)城市。最著名的城域網(wǎng)例子是許多城市都有的有線電視網(wǎng)。
WAN(廣域網(wǎng)):范圍很大,它跨越很大的地理區(qū)域,通常是一個(gè)國(guó)家、地區(qū)或者一個(gè)大陸。
兩個(gè)不同的網(wǎng)絡(luò)用路由器連接,兩個(gè)相同的網(wǎng)絡(luò)用交換機(jī)連接。
internet(互聯(lián)網(wǎng)):一組相互連接起來(lái)的網(wǎng)絡(luò)。
Internet(因特網(wǎng)):是一個(gè)特殊的互聯(lián)網(wǎng)絡(luò)。
gateway(網(wǎng)關(guān)):將兩個(gè)或多個(gè)網(wǎng)絡(luò)連接起來(lái)并提供必要轉(zhuǎn)換的機(jī)器,其硬件和軟件方面的總稱(chēng)是網(wǎng)關(guān)。
packet switching(分組交換/包交換):在通信過(guò)程中,通信雙方以分組為單位、使用存儲(chǔ)-轉(zhuǎn)發(fā)機(jī)制實(shí)現(xiàn)數(shù)據(jù)交互的通信方式。
3.網(wǎng)絡(luò)軟件
協(xié)議(protocol):是指通信雙方就如何進(jìn)行通信的一種約定。
層次(layer):為降低網(wǎng)絡(luò)設(shè)計(jì)的復(fù)雜性,絕大多數(shù)網(wǎng)絡(luò)都組織成一個(gè)層次棧,每一層都建立在下一層的基礎(chǔ)之上。每一層都向上一層提供特定的服務(wù),而把如何實(shí)現(xiàn)這些服務(wù)的細(xì)節(jié)對(duì)上一層屏蔽。
接口(interface):在每一對(duì)相鄰層次之間。定義了下層向上層提供哪些原語(yǔ)操作和服務(wù)。
服務(wù)(service):是由一組原語(yǔ)(primitive)正式說(shuō)明,用戶可以通過(guò)這些原語(yǔ)來(lái)訪問(wèn)該服務(wù)。
錯(cuò)誤控制:從接收到的信息中發(fā)現(xiàn)錯(cuò)誤。一種機(jī)制,檢錯(cuò)編碼。
流量控制:在每一層會(huì)發(fā)生的分配問(wèn)題,如何保持快速發(fā)送方不會(huì)用數(shù)據(jù)把慢速接收方淹沒(méi)。(解決 從接收方到發(fā)送方的反饋機(jī)制)
面向連接和無(wú)連接的服務(wù):
面向連接:服務(wù)用戶首先必須建立一個(gè)連接,然后使用連接傳輸數(shù)據(jù),最后釋放連接。本質(zhì)上像一個(gè)管道。(電話系統(tǒng))
無(wú)連接:每一個(gè)報(bào)文都攜帶者完整的目的地址,每個(gè)報(bào)文都由系統(tǒng)中的中間節(jié)點(diǎn)路由,并且獨(dú)立于后續(xù)的報(bào)文。(郵政系統(tǒng))
區(qū)別:
a.面向連接的要求建立連接,因而沒(méi)有傳輸?shù)臄?shù)據(jù)沒(méi)有必要再標(biāo)明傳輸?shù)哪康牡刂?/strong>;
而無(wú)連接的則對(duì)每個(gè)報(bào)文都由獨(dú)立的目標(biāo)地址。
b.一般來(lái)說(shuō),面向連接的可靠性較高,協(xié)議相對(duì)復(fù)雜,傳輸?shù)臄?shù)據(jù)按照發(fā)送順序到達(dá);
而無(wú)連接的可靠性較差,協(xié)議相對(duì)簡(jiǎn)單,常出現(xiàn)亂序,重復(fù)和丟失現(xiàn)象。
可靠和不可靠的服務(wù):
可靠服務(wù):即從來(lái)不丟失數(shù)據(jù)的一種服務(wù)。一般情況下,可靠服務(wù)都要求接收方向發(fā)送方確認(rèn)收到的每個(gè)報(bào)文。
不可靠的服務(wù):不會(huì)給發(fā)送方反饋任何確認(rèn)消息,不保證數(shù)據(jù)不丟失。
可靠與不可靠服務(wù)同時(shí)存在的原因:
在給定的層次可靠通信并不總是可以使用的。為了提高可靠服務(wù)而導(dǎo)致的固有延遲可能是不可接受的。
面向連接的服務(wù)是可靠的嗎?
面向連接的服務(wù)只是在發(fā)送發(fā)和接收方之間建立連接,它并不能保證發(fā)送的數(shù)據(jù)流能準(zhǔn)確無(wú)誤的按序到達(dá)接收方。面向連接的服務(wù)同樣分為可靠的面向連接服務(wù)和不可靠的面向連接服務(wù)。其中,前者主要包括報(bào)文序列、字節(jié)流,后者如數(shù)字化語(yǔ)音。
服務(wù)與協(xié)議的關(guān)系:
服務(wù)(上下層之間的聯(lián)系)是指某一層向它上一層提供的一組原語(yǔ)操作,服務(wù)定義了該層打算代表其用戶執(zhí)行哪些操作,但是他不涉及如何實(shí)現(xiàn)這些操作。
協(xié)議(對(duì)等體之間的規(guī)范)是一組規(guī)則,用來(lái)規(guī)定同一層上的對(duì)等體之間所交換的消息或者分組的格式和含義。實(shí)體利用協(xié)議來(lái)實(shí)現(xiàn)他們的服務(wù)定義,可以自由的改變協(xié)議而不影響它提供給上層的服務(wù)。
4.參考模型
OSI模型:實(shí)力在于模型本身
開(kāi)放系統(tǒng)互連。七層,由低到高:物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,會(huì)話層,表示層,應(yīng)用層。
如物理層實(shí)現(xiàn)了點(diǎn)到點(diǎn)的傳輸,而鏈路層使此傳輸變得可靠;網(wǎng)絡(luò)層確定了傳輸路徑,而傳輸層使此傳輸變得可靠。
TCP/IP模型:實(shí)力在于協(xié)議
本書(shū)使用的模型,混合模型,包括五層:物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,應(yīng)用層。
模型的比較:
相同點(diǎn):兩者都是建立在協(xié)議棧概念上的,并且協(xié)議棧中的協(xié)議彼此相互獨(dú)立。同時(shí)兩個(gè)模型中各個(gè)層的功能也大致相似。
不同點(diǎn):OSI 模型的實(shí)力在于模型本身,TCP/IP 模型實(shí)力在于協(xié)議。
OSI 模型分為 7 層,明確區(qū)分了服務(wù)、接口和協(xié)議。這個(gè)模型是在協(xié)議之前產(chǎn)生的,網(wǎng)絡(luò)層同時(shí)支持無(wú)連接和面向連接的通信,但是傳輸層只支持面向連接的通信。
TCP/IP 模型分為 4 層,沒(méi)有明確區(qū)分服務(wù)、接口和協(xié)議。通用性差。TCP/IP 模型是先有的協(xié)議后有的模型,協(xié)議和模型切合度高。TCP/IP 模型的網(wǎng)絡(luò)層只支持無(wú)連接的通信,但是傳輸層同時(shí)支持兩種。
5.802和網(wǎng)絡(luò)標(biāo)準(zhǔn)化
802協(xié)議,致力于研究局域網(wǎng)和城域網(wǎng)的物理層和MAC層中定義的服務(wù)和協(xié)議,對(duì)應(yīng)OSI網(wǎng)絡(luò)參考模型的最低兩層(即物理層和數(shù)據(jù)鏈路層)。
第二章 物理層
1.數(shù)據(jù)通信的理論基礎(chǔ)
概念:
數(shù)據(jù):傳輸信息的實(shí)體,信息是數(shù)據(jù)的內(nèi)容或解釋。
信號(hào):數(shù)據(jù)的物理量編碼,數(shù)據(jù)以信號(hào)的形式傳播。
信道:傳送信息的線路。
比特率:數(shù)據(jù)傳輸速率,bps。每秒傳送的二進(jìn)制位數(shù)。
碼元:時(shí)間軸上的一個(gè)信號(hào)編碼單元。
波特率:信號(hào)傳送速率。信號(hào)每秒鐘變化的次數(shù),也稱(chēng)調(diào)制速率。
帶寬:信號(hào)或信道占據(jù)的頻率范圍。頻率越高,傳遞距離越短,易損壞。
編碼器:數(shù)據(jù)→適合傳輸?shù)男盘?hào)——便于識(shí)別、糾錯(cuò)
調(diào)制器:信號(hào)→適合傳輸?shù)男问?/strong>——按頻率、幅度、相位
(理解:信息到數(shù)據(jù),數(shù)據(jù)到信號(hào),信號(hào)需調(diào)制成適合傳輸?shù)男问剑?br>
通信的三個(gè)要素:信源、信宿和信道。
信息通過(guò)通信系統(tǒng)傳輸。信息和數(shù)據(jù)(0,1)不能直接在介質(zhì)上傳輸(轉(zhuǎn)換成物理信號(hào))。
模擬信號(hào)和數(shù)字信號(hào)
周期信號(hào)和非周期信號(hào)
數(shù)字通信的優(yōu)點(diǎn):
抗噪聲能力強(qiáng);可控制差錯(cuò),提高了傳輸質(zhì)量;便于計(jì)算機(jī)處理;易于加密;可以傳輸多種,語(yǔ)音數(shù)據(jù)影像
傳輸模式:
單工、半雙工、全雙工
數(shù)字?jǐn)?shù)據(jù)的傳輸方式:
基帶:不調(diào)制編碼后的數(shù)字脈沖信號(hào)直接傳輸
頻帶:調(diào)制成模擬信號(hào)再傳輸,需解調(diào)
數(shù)據(jù)同步方式:
位同步(使接收端接收的每一位信息都與發(fā)送端保持同步)、字符、幀
公式:
信道最大傳輸率:
尼奎斯特定理 Nyquist(信道無(wú)噪聲)
單位:bps
實(shí)際信道上的三類(lèi)損耗:衰減、延遲、噪聲
香農(nóng)定理 Shannon(信噪比是 S/N)
2.傳導(dǎo)性傳輸介質(zhì)(有導(dǎo)向的傳輸介質(zhì))
磁介質(zhì)(高帶寬、低費(fèi)用、高延時(shí))
金屬導(dǎo)體(雙絞線、同軸電纜)
光纖
無(wú)線介質(zhì)
雙絞線:
優(yōu)缺點(diǎn):成本低。密度高、節(jié)省空間。安裝容易(綜合布線系統(tǒng))。平衡傳輸(高速率)??垢蓴_性一般。連接距離較短
同軸電纜:
細(xì),優(yōu)缺點(diǎn):價(jià)格低。安裝方便。抗干擾能力強(qiáng)。距離短??煽啃圆?/p>
粗,優(yōu)缺點(diǎn):價(jià)格稍高。安裝方便??垢蓴_能力強(qiáng)。距離中等??煽啃院?/p>
光纖:依靠光波承載信息
優(yōu)缺點(diǎn):速率高,通信容量大。傳輸損耗小,適合長(zhǎng)距離傳輸??垢蓴_性能極好,保密性好。輕便
無(wú)線介質(zhì):電磁波或光波承載信息
優(yōu)缺點(diǎn):無(wú)需物理連接。適用于長(zhǎng)距離或不便布線的場(chǎng)合。易受干擾
不同類(lèi)型的信號(hào)在不同類(lèi)型的信道上傳輸有4種組合
3.三種數(shù)字編碼波形圖
不歸零制:連著兩個(gè)0不好區(qū)分,不具備自同步機(jī)制,帶寬效率低。
曼徹斯特:每個(gè)碼元中間發(fā)生跳變。高到低0低到高1。
差分:碼元開(kāi)始處有跳變表示0,無(wú)跳變表示1。(這樣的話,就可能有兩種相反的結(jié)果了)是設(shè)定一個(gè)初始電平(默認(rèn)為高電平)
4.PSTN電話系統(tǒng)
PSTN 是一種常用的舊式電話系統(tǒng),提供的是一個(gè)模擬的專(zhuān)用通道,通道之間經(jīng)由若干電環(huán)交換機(jī)連接而成,當(dāng)兩臺(tái)主機(jī)或路由器需通過(guò)PSTN 連接時(shí),必須在網(wǎng)絡(luò)接入側(cè)使用調(diào)制解調(diào)器實(shí)現(xiàn)信號(hào)的模數(shù)/數(shù)模轉(zhuǎn)換。
電話系統(tǒng)的組成:本地回路、干線上的(多路復(fù)用)和交換局的(交換機(jī)、交換技術(shù)如虛電路交換和分組交換等)
非對(duì)稱(chēng)數(shù)字用戶線(ADSL):一種數(shù)據(jù)傳輸方式,上行和下行帶寬不對(duì)稱(chēng)。采用 FDM(一種多路復(fù)用技術(shù))把普通的電話線分成電話、上行和下行三個(gè)相對(duì)獨(dú)立信道,從而避免相互之間的干擾。
三種常用的調(diào)制技術(shù):調(diào)幅、調(diào)頻、調(diào)相(分別表示是改變 A、f 和φ三個(gè)參數(shù)來(lái)區(qū)分不同信號(hào))
多路復(fù)用技術(shù):
使多個(gè)信號(hào)可以共享同一傳輸路線。(為何復(fù)用,線路成本)
分類(lèi):(1)頻分復(fù)用FDM
整個(gè)傳輸頻帶被劃分為若干個(gè)頻率通道,每個(gè)用戶占用一個(gè)頻率通道。頻率通道之間留有防護(hù)頻帶。
(2)波分復(fù)用WDM
整個(gè)波長(zhǎng)頻帶被劃分為若干個(gè)波長(zhǎng)范圍,每個(gè)用戶占用一個(gè)波長(zhǎng)范圍來(lái)進(jìn)行傳輸。
(3)時(shí)分復(fù)用TDM
把時(shí)間分割成小的時(shí)間片,每個(gè)時(shí)間片分為若干個(gè)通道(時(shí)隙) ,每個(gè)用戶占用一個(gè)通道傳輸數(shù)據(jù)。
TDM的缺點(diǎn):某用戶無(wú)數(shù)據(jù)發(fā)送,其他用戶也不能占用該通道,將會(huì)造成帶寬浪費(fèi)。
改進(jìn):統(tǒng)計(jì)時(shí)分多路復(fù)用(STDM),用戶不固定占用某個(gè)通道,有空槽就將數(shù)據(jù)放入。
交換技術(shù):
分為電路交換、分組交換。
電路交換:交換設(shè)備在通信雙方找出一條實(shí)際的物理線路的過(guò)程。
特點(diǎn):數(shù)據(jù)傳輸前需要建立一條端到端的通路。
優(yōu)缺點(diǎn):建立連接的時(shí)間長(zhǎng);一旦建立連接就獨(dú)占線路,線路利用率低;無(wú)糾錯(cuò)機(jī)制;建立連接后,傳輸延遲小。
電路交換的三個(gè)階段:⑴建立連接⑵通信⑶釋放連接
分組交換:將報(bào)文劃分為若干個(gè)大小相等的分組(Packet)進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)。
特點(diǎn):數(shù)據(jù)傳輸前不需要建立一條端到端的通路。有強(qiáng)大的糾錯(cuò)機(jī)制、流量控制和路由選擇功能。
優(yōu)點(diǎn):存儲(chǔ)量要求較小,可以用內(nèi)存來(lái)緩沖分組——速度快;轉(zhuǎn)發(fā)延時(shí)小——適用于交互式通信;某個(gè)分組出錯(cuò)僅重發(fā)該分組——效率高;各分組可通過(guò)不同路徑傳輸,可靠性高。
第三章 數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層是基于物理層不可靠的傳輸向上層提供可靠的傳輸,它提供的是相鄰兩個(gè)節(jié)點(diǎn)之間可靠的數(shù)據(jù)傳輸。
1.數(shù)據(jù)鏈路層的設(shè)計(jì)問(wèn)題
數(shù)據(jù)鏈路層使用物理層提供的服務(wù)在通信信道上發(fā)送和接受比特。完成一些功能:
(1)向網(wǎng)絡(luò)層提供一個(gè)定義良好的服務(wù)接口。
(2)處理傳輸錯(cuò)誤。
(3)調(diào)節(jié)數(shù)據(jù)流,保證慢速的接收方不會(huì)被快速的發(fā)送方淹沒(méi)。
為實(shí)現(xiàn)這些目標(biāo):數(shù)據(jù)鏈路層從網(wǎng)絡(luò)層獲得數(shù)據(jù)包,并將之包裝成包含:
幀頭 + 有效載荷(存放數(shù)據(jù)包)+ 幀尾 的幀(frame)
數(shù)據(jù)鏈路層的工作核心就是幀的管理。
(源機(jī)器的網(wǎng)路層有一個(gè)實(shí)體-稱(chēng)為進(jìn)程,它將一些比特交給數(shù)據(jù)鏈路層,要求傳輸?shù)侥繕?biāo)機(jī)器。數(shù)據(jù)鏈路層的任務(wù)就是將這些比特傳輸給目標(biāo)機(jī)器,然后再進(jìn)一步交付給網(wǎng)絡(luò)層。)
一般情況下,提供三種服務(wù):
(1)無(wú)確認(rèn)的無(wú)連接服務(wù)。
源機(jī)器向目標(biāo)機(jī)器發(fā)送獨(dú)立的幀,目標(biāo)機(jī)器不對(duì)這些幀進(jìn)行確認(rèn)。不需建立邏輯連接。適用于錯(cuò)誤率低或者實(shí)時(shí)通信(語(yǔ)音傳輸)的情況。以太網(wǎng)是一個(gè)極好實(shí)例。
(2)有確認(rèn)的無(wú)連接服務(wù)。
源機(jī)器向目標(biāo)機(jī)器發(fā)送獨(dú)立的幀,目標(biāo)機(jī)器會(huì)對(duì)這些幀進(jìn)行確認(rèn)。不需建立邏輯連接。適用于不可靠的信道(無(wú)線系統(tǒng),WiFi)。
(3)有確認(rèn)的有連接服務(wù)。
源機(jī)器和目標(biāo)機(jī)器在傳輸任何一個(gè)數(shù)據(jù)之前要建立一個(gè)連接,保證目標(biāo)機(jī)器按照正確的順序接受每一個(gè)幀。適用于長(zhǎng)距離且不可靠的鏈路(衛(wèi)星信道,長(zhǎng)途電話)。
成幀:
數(shù)據(jù)鏈路層使用物理層提供給它的服務(wù)。數(shù)據(jù)鏈路層接收到的比特流不能保證沒(méi)有錯(cuò)誤。為檢測(cè)錯(cuò)誤和糾正錯(cuò)誤,數(shù)據(jù)鏈路層將比特流拆分成多個(gè)離散的幀,為每個(gè)幀計(jì)算一個(gè)稱(chēng)為校驗(yàn)和的短令牌,并將該校驗(yàn)和放在幀中一起傳輸。
拆分比特流注意:(1)如何識(shí)別幀的邊界(2)如果幀的數(shù)據(jù)出現(xiàn)與邊界一樣的flag,如何防止數(shù)據(jù)被識(shí)別為邊界。
4種方法。
(1)字節(jié)計(jì)數(shù)法
用頭部的一個(gè)字段來(lái)標(biāo)識(shí)該幀中的字符數(shù):
問(wèn)題:因?yàn)橐粋€(gè)傳輸錯(cuò)誤,就會(huì)全弄混。很少被使用。
(2)字節(jié)填充的標(biāo)志字節(jié)法
發(fā)送方使用標(biāo)志字節(jié)(FLAG)作為開(kāi)始和結(jié)束;使用轉(zhuǎn)義字節(jié)(ESC)表示其后的字節(jié)為數(shù)據(jù)字節(jié)而不是標(biāo)志字節(jié)或轉(zhuǎn)義字節(jié)。接收方將收到的數(shù)據(jù)中的轉(zhuǎn)義字節(jié)刪除后再傳遞給網(wǎng)絡(luò)層。
(3)比特填充的標(biāo)志比特法(位填充)
使用“01111110”表示幀的開(kāi)始和結(jié)束。每當(dāng)發(fā)送方的數(shù)據(jù)鏈路層在數(shù)據(jù)中遇到連續(xù)5個(gè)1(不做處理若下一個(gè)還是1就會(huì)被識(shí)別為邊界),就自動(dòng)在輸出的比特流中填入一個(gè)0。
(4)物理層編碼違禁法
使用“不會(huì)出現(xiàn)在常規(guī)數(shù)據(jù)中”的冗余比特作為邊界。
差錯(cuò)控制:引入計(jì)時(shí)器;序號(hào)(后續(xù)細(xì)講)
流量控制:發(fā)送方發(fā)送幀的速度超過(guò)了接收方能夠接收這些幀的速度,而導(dǎo)致丟幀。
解決方法:
基于反饋的流量控制(鏈路層)。
基于速率的流量控制(網(wǎng)絡(luò)層)。
2.差錯(cuò)檢測(cè)和糾正
傳輸出錯(cuò)的原因:一是信道的加性噪聲;二是由于傳輸總特性(包括收、發(fā)濾波器和信道的特性)不理想引起的碼間串?dāng)_。
主要的反饋重傳方式:(一種差錯(cuò)控制方式)
–發(fā)送-等待ARQ(?!葏f(xié)議)
–連續(xù)發(fā)送ARQ(滑動(dòng)窗口協(xié)議)
–選擇重傳ARQ
奇偶校驗(yàn)碼(通過(guò)增加冗余位使得碼字中"1"的個(gè)數(shù)恒為奇數(shù)或偶數(shù)的編碼方法,可分為垂直奇偶校驗(yàn)、水平奇偶校驗(yàn)和水平垂直奇偶校驗(yàn)等幾種。)
循環(huán)冗余碼CRC:
信息碼/信息代碼f(x);生成多項(xiàng)式G(x),它的最高次為r。
過(guò)程:發(fā)送方發(fā)送信息字段和校驗(yàn)字段
接收方接收到以后根據(jù)數(shù)據(jù)重新計(jì)算R(x),相等則接收正確。
**計(jì)算步驟:**得到f(x)*x^r作為被除數(shù),除數(shù)為G(x)對(duì)應(yīng)的碼字。模2運(yùn)算得到商Q(x),位數(shù)同信息碼。余數(shù)為R(x),位數(shù)為r。
計(jì)算原則:無(wú)進(jìn)位與退位,被除數(shù)首位為1則商取1,為0則商取0。
3.基本數(shù)據(jù)鏈路協(xié)議
組成幀的四個(gè)字段:kind、seq、ack 和 info。
格式:
(1)一個(gè)烏托邦式的單工協(xié)議(協(xié)議 1)
不需考慮任何錯(cuò)誤情況:數(shù)據(jù)單向傳輸,雙方總是就緒,數(shù)據(jù)處理時(shí)間不計(jì),緩存空間無(wú)限大,通信信道永不丟幀。
發(fā)送過(guò)程是一個(gè)無(wú)限的 while 循環(huán),它盡可能快速地把數(shù)據(jù)放到線路上。無(wú)差錯(cuò)控制或者流量控制方面的限制。接受過(guò)程一直等待一個(gè)未損壞的幀到達(dá)。(發(fā)送速率和接收速率必須一樣快)
(2)無(wú)錯(cuò)信道上的單工停-等式協(xié)議(協(xié)議 2)
單向數(shù)據(jù)傳輸,發(fā)送方網(wǎng)絡(luò)層一直有無(wú)限的數(shù)據(jù)要發(fā)送, 信道不會(huì)出錯(cuò),從不損壞或丟失幀,發(fā)送方需等待接收方確認(rèn)幀返回后才發(fā)送下一幀。如果接收方不反饋應(yīng)答信號(hào),則發(fā)送方必須一直等待,然后就陷入等待接收方確認(rèn)信息的過(guò)程中,因而傳輸效率低。
(3)有錯(cuò)信道上的單工停-等式協(xié)議(協(xié)議 3)
信道存在噪音。需要計(jì)時(shí)器與序號(hào)配合,需要超時(shí)重傳機(jī)制。
4.滑動(dòng)窗口協(xié)議
滑動(dòng)窗口(sliding window):為了便于理解,可以認(rèn)為數(shù)據(jù)是一條傳送帶,而滑動(dòng)窗口中的數(shù)據(jù)是當(dāng)前準(zhǔn)備處理的數(shù)據(jù)。
捎帶確認(rèn)(piggybacking):暫時(shí)延緩確認(rèn)以便將確認(rèn)信息搭載在下一個(gè)待發(fā)數(shù)據(jù)幀上的技術(shù)。捎帶確認(rèn)通常與累計(jì)確認(rèn)一同使用,更好的利用了信道的可用帶寬。
期望確認(rèn):收到數(shù)據(jù)幀以后向發(fā)送方發(fā)送期望對(duì)方發(fā)送的下一幀的序號(hào)。
累計(jì)確認(rèn)(cumulative acknowledgement):當(dāng) n 號(hào)幀的確認(rèn)到達(dá),n-1 號(hào)幀、n-2號(hào)幀等都會(huì)自動(dòng)被確認(rèn)。
否定確認(rèn)(NAK):接收方檢測(cè)到錯(cuò)誤時(shí)發(fā)送的否定確認(rèn),實(shí)際是一個(gè)重傳請(qǐng)求,在 NAK中指定了要重傳的幀。
發(fā)送窗口(sending window):發(fā)送端始終保持一個(gè)已發(fā)送但尚未確認(rèn)的幀的序號(hào)表,稱(chēng)為發(fā)送窗口。發(fā)送窗口的上界表示要發(fā)送的下一個(gè)幀的序號(hào),下界表示未得到確認(rèn)的幀的最小編號(hào)。發(fā)送窗口大小 = 上界 - 下界,大小可變;
接收窗口(receiving window):接收方維持著的一個(gè)窗口對(duì)應(yīng)于一組允許它接受的幀。接收窗口的上界表示已接收的序號(hào)最大的幀,下界表示希望接收的幀
(1) 1 位滑動(dòng)窗口協(xié)議(協(xié)議 4)
(發(fā)送窗口大小=1,接收窗口大小=1)
當(dāng)接收窗口大小為 1 時(shí),可保證幀的有序接收,但效率較低。能保證無(wú)差錯(cuò)傳輸,但是基于停等方式;若雙方同時(shí)開(kāi)始發(fā)送,則會(huì)有一半重復(fù)幀。
(2)回退 N 協(xié)議(協(xié)議 5)
(發(fā)送窗口大小>1,接收窗口大小=1)
如果發(fā)生超時(shí)重傳事件,發(fā)送方重傳所有的已發(fā)送但未收到確認(rèn)的幀。
對(duì)于接收方,如果中間第n號(hào)幀丟失了,接收方就會(huì)一直等待,這時(shí)再次收到后邊的幀會(huì)直接丟棄,只想等著丟失的幀到來(lái),(發(fā)送方超時(shí)會(huì)重新發(fā)送)接收方會(huì)返回一個(gè)n的確認(rèn)幀,代表n以及n之前的都已經(jīng)收到了,這時(shí)發(fā)送方會(huì)從 n+1 號(hào)幀開(kāi)始在發(fā)送一遍后邊所有的幀(很專(zhuān)一)。
一般使用累計(jì)確認(rèn)。
(3)選擇重傳協(xié)議(協(xié)議 6)
(發(fā)送窗口大小>1,接收窗口大小>1)
先暫存出錯(cuò)幀的后繼幀。
發(fā)送方按照窗口的順序依次發(fā)送幀給接收方,而接收方檢查該幀是否可以落在接收窗口內(nèi),即以前沒(méi)有接收過(guò)且該序號(hào)在窗口可接收的范圍內(nèi),如果可以那么不管這一幀是否為網(wǎng)絡(luò)層所期望的下一個(gè)數(shù)據(jù)包都接收該幀并暫存于緩沖區(qū)內(nèi)。
每個(gè)幀都有自己的定時(shí)器,一個(gè)超時(shí)事件發(fā)生后只重傳一個(gè)幀。
接收方將確認(rèn)一個(gè)正確接收的幀而不管其是否按序。失序的幀將被緩存,并返回給發(fā)送方一個(gè)該幀的確認(rèn)幀【收到誰(shuí)確認(rèn)誰(shuí)】,直到所有幀(即序號(hào)更小的幀)皆被收到為止,這時(shí)才可以將一批幀按序交付給上層網(wǎng)絡(luò)層,然后向前移動(dòng)滑動(dòng)窗口。
對(duì)數(shù)據(jù)幀逐一確認(rèn),收一個(gè)確認(rèn)一個(gè);
只重傳出錯(cuò)幀;
接收方有緩存;
第四章 介質(zhì)訪問(wèn)控制子層
屬于數(shù)據(jù)鏈路層底層。
用來(lái)確定多路訪問(wèn)信道下一個(gè)使用者的協(xié)議屬于數(shù)據(jù)鏈路層的一個(gè)子層,稱(chēng)為介質(zhì)訪問(wèn)控制(MAC)子層。多路訪問(wèn)信道與LAN緊密相關(guān)。
1.靜態(tài)和動(dòng)態(tài)信道分配
靜態(tài):把信道容量拆開(kāi)分給多個(gè)用戶使用(頻分多路復(fù)用)?;蛎總€(gè)用戶擁有固定的信道傳送時(shí)槽(時(shí)分多路復(fù)用)。流量呈突發(fā)性,大量寶貴的頻譜將被浪費(fèi)。靜態(tài)不適應(yīng)突發(fā)性的流量。
動(dòng)態(tài)信道分配的假設(shè)
2.多路訪問(wèn)協(xié)議
定義:控制多個(gè)用戶共用一條信道的協(xié)議
ALOHA協(xié)議:
分為純ALOHA協(xié)議和分槽ALOHA協(xié)議。
純ALOHA:
基本思想:用戶有數(shù)據(jù)要發(fā)送時(shí),可以直接發(fā)至信道;然后監(jiān)聽(tīng)信道看是否產(chǎn)生沖突,若產(chǎn)生沖突,則等待一段隨機(jī)的時(shí)間重發(fā);(以太網(wǎng)間隔,51.2μs。
很大可能幀被破壞(只要兩個(gè)幀試圖在相同時(shí)間占用信道,沖突就會(huì)發(fā)生。)信道利用率最高只有18.4%。
分槽ALOHA協(xié)議:
基本思想:把信道時(shí)間分成離散的時(shí)間槽,槽長(zhǎng)為一個(gè)幀所需的發(fā)送時(shí)間。**每個(gè)站點(diǎn)只能在時(shí)槽開(kāi)始時(shí)才允許發(fā)送。**其他過(guò)程與純ALOHA協(xié)議相同。
本法要求用戶遵守統(tǒng)一的時(shí)間槽邊界。這將易受沖突期減小了一半。信道利用率最高為36.8%。
載波監(jiān)聽(tīng)多路訪問(wèn)協(xié)議(CSMA):
站點(diǎn)在為發(fā)送幀而訪問(wèn)傳輸信道之前,首先監(jiān)聽(tīng)信道有無(wú)載波,若有載波,說(shuō)明已有用戶在使用信道,則不發(fā)送幀以避免沖突
分為1-堅(jiān)持型、非堅(jiān)持型、p-堅(jiān)持型。
1-堅(jiān)持型:若站點(diǎn)有數(shù)據(jù)發(fā)送,先監(jiān)聽(tīng)信道;若站點(diǎn)發(fā)現(xiàn)信道空閑,則發(fā)送;若信道忙,則繼續(xù)監(jiān)聽(tīng)直至發(fā)現(xiàn)信道空閑,然后完成發(fā)送;若產(chǎn)生沖突,等待一隨機(jī)時(shí)間,然后重新開(kāi)始發(fā)送過(guò)程。
減少了信道空閑時(shí)間,增加了發(fā)生沖突的概率。
非堅(jiān)持型:若信道忙,等待一隨機(jī)時(shí)間,然后重新開(kāi)始發(fā)送過(guò)程;若產(chǎn)生沖突,等待一隨機(jī)時(shí)間,然后重新開(kāi)始發(fā)送過(guò)程。
減少了沖突發(fā)生的概率。增加了信道空閑時(shí)間
p-堅(jiān)持型:若站點(diǎn)發(fā)現(xiàn)信道空閑,則以概率p發(fā)送數(shù)據(jù),以概率q =1- p 延遲至下一個(gè)時(shí)槽發(fā)送。若下一個(gè)時(shí)槽仍空閑,重復(fù)此過(guò)程,直至數(shù)據(jù)發(fā)出或時(shí)槽被其他站點(diǎn)所占用;若信道忙,則等待下一個(gè)時(shí)槽,重新開(kāi)始發(fā)送;若產(chǎn)生沖突,等待一隨機(jī)時(shí)間,然后重新開(kāi)始發(fā)送
帶沖突檢測(cè)的載波監(jiān)聽(tīng)多路訪問(wèn)協(xié)議CSMA/CD:
站點(diǎn)使用CSMA協(xié)議進(jìn)行數(shù)據(jù)發(fā)送;在發(fā)送期間如果檢測(cè)到?jīng)_突,立即終止發(fā)送,并發(fā)出一個(gè)瞬間干擾信號(hào),使所有的站點(diǎn)都知道發(fā)生了沖突;在發(fā)出干擾信號(hào)后,等待一段隨機(jī)時(shí)間,再重復(fù)上述過(guò)程。
一個(gè)站點(diǎn)確定發(fā)生沖突要花多少時(shí)間?最壞情況下,2倍電纜傳輸時(shí)間
二進(jìn)制指數(shù)后退算法:
最小幀長(zhǎng):避免幀的第一個(gè)比特到達(dá)電纜的遠(yuǎn)端前幀已經(jīng)發(fā)完,幀發(fā)送時(shí)間應(yīng)該大于 2t。10Mbps LAN,最大沖突檢測(cè)時(shí)間為51.2微秒,最短幀長(zhǎng)為64字節(jié);
MACAW:
沖突避免多路訪問(wèn)(MACA):
無(wú)線的沖突避免多路訪問(wèn)。發(fā)送方刺激接收方輸出一個(gè)短幀,以便其附近的站能檢測(cè)到該次傳輸,從而避免在接下去進(jìn)行的較大數(shù)據(jù)幀傳輸中也發(fā)送數(shù)據(jù)。
解決的方案就是發(fā)送方先發(fā) RTS,之后接收方回 CTS 信號(hào),并從這個(gè)信號(hào)中包含這次傳輸?shù)某掷m(xù)時(shí)長(zhǎng)信息保證讓此時(shí)長(zhǎng)內(nèi)接收方附近站點(diǎn)主動(dòng)靜默,從而不會(huì)使其受到干擾。
MACAW:
無(wú)線的沖突避免多路訪問(wèn)。在此基礎(chǔ)上增加了三個(gè)檢驗(yàn)分組。ACK、DS、RRTS。
3.以太網(wǎng)
802.3幀格式:
前導(dǎo)碼不被計(jì)算進(jìn)幀長(zhǎng)中。
SOF,指start of frame delimiter
4.WLAN
隱藏終端問(wèn)題:由于站點(diǎn)距離競(jìng)爭(zhēng)者太遠(yuǎn),從而不能發(fā)現(xiàn)潛在介質(zhì)競(jìng)爭(zhēng)者的問(wèn)題稱(chēng)為隱藏站點(diǎn)問(wèn)題。eg,A向B發(fā)送數(shù)據(jù)的過(guò)程中,C由于收不到A的數(shù)據(jù),也可以向B發(fā)送數(shù)據(jù),導(dǎo)致B接收發(fā)生沖突。
暴露終端問(wèn)題:由于非競(jìng)爭(zhēng)者距離發(fā)送站點(diǎn)太近,從而導(dǎo)致介質(zhì)非競(jìng)爭(zhēng)者不能發(fā)送數(shù)據(jù)的問(wèn)題稱(chēng)為暴露站點(diǎn)問(wèn)題。eg,B向A發(fā)送數(shù)據(jù),被C監(jiān)聽(tīng)到,導(dǎo)致C不能向D發(fā)送數(shù)據(jù)。
一個(gè)點(diǎn)如果只聽(tīng)到 RTS,沒(méi)有聽(tīng)到 CTS,說(shuō)明它在發(fā)送方的發(fā)送范圍內(nèi),卻不在接收方的發(fā)送范圍內(nèi),則它只要不干擾發(fā)送方收 CTS,即可隨便發(fā)送。解決了暴露終端問(wèn)題。
一個(gè)點(diǎn)如果只要聽(tīng)到 CTS 說(shuō)明它就在接收方發(fā)送范圍內(nèi),此時(shí)它要保持靜默到持續(xù)時(shí)長(zhǎng),直到此次傳輸結(jié)束它再進(jìn)行發(fā)送,否則會(huì)干擾接收方接收。解決了隱藏終端問(wèn)題。
傳統(tǒng)的CSMA協(xié)議不適合于無(wú)線局域網(wǎng),需要特殊的MAC子層協(xié)議。
CSMA/CA:
帶有沖突避免的 CSMA
它是 802.11 MAC 子層協(xié)議的核心協(xié)議,與之前的 MACA 相比,它引入了短確認(rèn)確保每一幀的發(fā)送成功,即數(shù)據(jù)發(fā)送后站啟動(dòng)確認(rèn)計(jì)時(shí)器,如果計(jì)時(shí)器時(shí)間到但沒(méi)有收到接收方回復(fù)的收到的確認(rèn),則試圖重新發(fā)送。但在 RTS 和 CTS 方面并沒(méi)有考慮暴露終端問(wèn)題。
二進(jìn)制指數(shù)后退的 CSMA/CA P220,P234
偵聽(tīng)很短的一段時(shí)間后發(fā)現(xiàn)沒(méi)有信號(hào),則隨機(jī)選擇 0-15 個(gè)時(shí)間槽進(jìn)行倒計(jì)時(shí)倒數(shù),當(dāng)聽(tīng)到有幀發(fā)送時(shí)暫停倒計(jì)時(shí),空閑時(shí)計(jì)數(shù),到 0 時(shí)就發(fā)送,如果發(fā)送成功則目標(biāo)站會(huì)發(fā)送一個(gè)短確認(rèn),如果沒(méi)收到確認(rèn),則發(fā)送方加倍自己選擇的時(shí)間槽數(shù),重新試圖發(fā)送。如此反復(fù),直到成功發(fā)送幀或達(dá)到最大重傳次數(shù)。
詳細(xì):智庫(kù)p25
802.11 MAC子層協(xié)議:
與以太網(wǎng)有很大的不同,這種本質(zhì)上的差異性來(lái)自于無(wú)線通信的兩大因素:無(wú)線電幾乎總是半雙工的,這意味著它們不能在一個(gè)頻率上傳輸?shù)耐瑫r(shí)偵聽(tīng)該頻率的突發(fā)噪聲;不同站的傳輸范圍可能有所不同。
blog計(jì)算機(jī)網(wǎng)絡(luò)整理——介質(zhì)訪問(wèn)控制子層_銜蟬君的博客-CSDN博客
4.數(shù)據(jù)鏈路層交換
網(wǎng)橋:
是工作在數(shù)據(jù)鏈路層的一種網(wǎng)絡(luò)互連設(shè)備,它在互連的LAN之間實(shí)現(xiàn)幀的存儲(chǔ)和轉(zhuǎn)發(fā)。
工作原理:
網(wǎng)橋工作在混雜(promiscuous)方式,接收所有的幀;
網(wǎng)橋接收到一幀后,通過(guò)查詢地址/端口對(duì)應(yīng)表來(lái)確定是丟棄還是轉(zhuǎn)發(fā);(散列表/哈希表)
網(wǎng)橋剛啟動(dòng)時(shí),地址/端口對(duì)應(yīng)表為空,采用洪泛(flooding)方法轉(zhuǎn)發(fā)幀;
在轉(zhuǎn)發(fā)過(guò)程中采用逆向?qū)W習(xí)(backward learning)算法收集MAC地址。網(wǎng)橋通過(guò)分析幀的源MAC地址得到MAC地址與端口的對(duì)應(yīng)關(guān)系,并寫(xiě)入地址/端口對(duì)應(yīng)表;
網(wǎng)橋軟件對(duì)地址/端口對(duì)應(yīng)表進(jìn)行不斷的更新,并定時(shí)檢查,刪除在一段時(shí)間內(nèi)沒(méi)有更新的地址/端口項(xiàng);
幀的路由過(guò)程/具體的轉(zhuǎn)發(fā)過(guò)程:
(1)目的LAN與源LAN相同,則丟棄幀;
(2)目的LAN與源LAN不同,則轉(zhuǎn)發(fā)幀;
(3)目的LAN未知,則洪泛幀,并逆向?qū)W習(xí)
泛洪算法:對(duì)于每個(gè)發(fā)向未知目的地址的入境幀,網(wǎng)橋?qū)⑺敵龅剿械亩丝?,但它?lái)的那個(gè)輸入端口除外。隨著時(shí)間的推移,網(wǎng)橋?qū)?huì)學(xué)習(xí)到每個(gè)目標(biāo)地址在哪里。一旦知道了一個(gè)目標(biāo)地址,以后發(fā)給該地址的幀只被放到正確的端口,而不再被泛洪到所有端口。
后向?qū)W習(xí)法:網(wǎng)橋工作在混雜模式下,所以,它們可以看得到每個(gè)端口上發(fā)送的所有幀。通過(guò)檢查這些幀的源地址,網(wǎng)橋就可獲知通過(guò)哪個(gè)端口能訪問(wèn)到哪些機(jī)器。
動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)變化:當(dāng)打開(kāi)、關(guān)閉或者移動(dòng)機(jī)器和網(wǎng)橋時(shí),網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)會(huì)發(fā)生變化。為了處理這種動(dòng)態(tài)的拓?fù)浣Y(jié)構(gòu),一旦構(gòu)造出一個(gè)散列表項(xiàng)后,幀的到達(dá)時(shí)間也被記錄在相應(yīng)的表項(xiàng)中。當(dāng)一幀到達(dá)時(shí),如果它的源地址已經(jīng)在表中,那么對(duì)應(yīng)表項(xiàng)中的時(shí)間值被更新為當(dāng)前時(shí)間。因此,與每個(gè)表項(xiàng)相關(guān)聯(lián)的時(shí)間值反映了網(wǎng)橋最后看到該機(jī)器發(fā)出一幀的時(shí)間。在網(wǎng)橋中有一個(gè)進(jìn)程定期掃描散列表,并將那些時(shí)間值在幾分鐘以前的表項(xiàng)都清除掉。
其他概念:
生成樹(shù)網(wǎng)橋:通過(guò)去掉一些鏈路,由網(wǎng)橋之間的連接組成的圖即被簡(jiǎn)化為一棵生成樹(shù)。在這棵樹(shù)上,從每個(gè)站到每個(gè)其他站恰好只有一條路徑。一旦網(wǎng)橋同意這棵生成樹(shù),則站之間的所有轉(zhuǎn)發(fā)都將沿著這棵樹(shù)進(jìn)行。由于從每個(gè)源到每個(gè)目標(biāo)都只有唯一一條路徑可走,所以不可能產(chǎn)生回路。
中繼器:物理層,模擬設(shè)備,用于連接兩根電纜段,放大信號(hào)。
集線器:物理層,有許多輸入線路,它將這些輸入線路連接起來(lái),在任何一條線路上到達(dá)的幀都被發(fā)送到其他線路上。
交換機(jī):數(shù)據(jù)鏈路層,多端口的網(wǎng)橋。根據(jù)幀的目的地址轉(zhuǎn)發(fā),常被用來(lái)連接獨(dú)立計(jì)算機(jī)。
路由器:網(wǎng)絡(luò)層。檢查數(shù)據(jù)包的地址,并基于這些地址路由數(shù)據(jù)包。(當(dāng)一個(gè)分組進(jìn)入到一個(gè)路由器中的時(shí)候,幀頭和幀尾被剝掉,位于幀的 IP 分組被傳遞給路由軟件,路由軟件利用分組的頭信息來(lái)選擇一條輸出線路。)
網(wǎng)關(guān):用于兩個(gè)高層協(xié)議不同的網(wǎng)絡(luò)互連。傳輸層,應(yīng)用層。
第五章 網(wǎng)絡(luò)層
數(shù)據(jù)鏈路層保證了數(shù)據(jù)在相鄰節(jié)點(diǎn)的可靠傳輸,網(wǎng)絡(luò)層關(guān)注的是如何將源端數(shù)據(jù)包經(jīng)過(guò)網(wǎng)絡(luò)上的節(jié)點(diǎn)一路送到接收方。為了實(shí)現(xiàn)這個(gè)目標(biāo),網(wǎng)絡(luò)層必須知道網(wǎng)絡(luò)拓補(bǔ)結(jié)構(gòu),并從中選出適當(dāng)?shù)穆窂健?/p>
1.網(wǎng)絡(luò)層設(shè)計(jì)要點(diǎn)
(1)無(wú)連接的服務(wù)——數(shù)據(jù)報(bào)網(wǎng)絡(luò)
每個(gè)數(shù)據(jù)包獨(dú)立路由,無(wú)需提前建立任何設(shè)置。IP協(xié)議是無(wú)連接網(wǎng)絡(luò)服務(wù)的重要范例。每個(gè)數(shù)據(jù)包攜帶一個(gè)目標(biāo)IP地址,路由器使用該地址來(lái)單獨(dú)轉(zhuǎn)發(fā)每一個(gè)數(shù)據(jù)包。
(2)面向連接的服務(wù)——虛電路網(wǎng)絡(luò)
需要首先建立一條從源路由器到目標(biāo)路由器之間的路徑。當(dāng)建立連接時(shí),路徑就被確定下來(lái),并保存在這些中間路由器的表中。一種面向連接的網(wǎng)絡(luò)服務(wù)例子是多協(xié)議標(biāo)簽交換(MPLS)。
小節(jié):
2.路由算法
路由算法(routing algorithm):網(wǎng)絡(luò)層軟件的一部分,它負(fù)責(zé)確定一個(gè)入境數(shù)據(jù)包應(yīng)該被發(fā)送到哪一條輸出線路上。
最優(yōu)化原則:最優(yōu)路徑的子路徑還是最優(yōu)路徑。(如果路由器 J 在從路由器 I 到路由器 K 的最優(yōu)路徑上,那么從 J 到 K 的最優(yōu)路徑也必定遵循同樣的路由。)
匯集樹(shù)(sink tree):作為最優(yōu)化原則的一個(gè)直接結(jié)果,從所有的源到一個(gè)指定目標(biāo)的最優(yōu)路徑的集合構(gòu)成了一棵以目標(biāo)節(jié)點(diǎn)為根的樹(shù)。
所有路由算法的目標(biāo)是為所有路由器找到這樣的匯集樹(shù),并根據(jù)匯集樹(shù)來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包。
最短路徑路由算法:(屬于靜態(tài)路由算法)
每一個(gè)節(jié)點(diǎn)都標(biāo)出了從源節(jié)點(diǎn)沿著已知的最佳路徑到達(dá)本節(jié)點(diǎn)的距離。初始時(shí),所有的路徑都不知道,因此所有節(jié)點(diǎn)都被標(biāo)記為無(wú)限遠(yuǎn)。隨著算法的不斷進(jìn)行,陸續(xù)有一些路徑被找到,于是節(jié)點(diǎn)的標(biāo)記可能發(fā)生變化,以便反映出更好的路徑。
Dijkstra算法:(單源最短路徑算法)選擇一個(gè)起始點(diǎn),標(biāo)記出它到鄰居的最短距離(初始化)。選擇距離起始點(diǎn)最小的點(diǎn),用它的鄰居更新最短距離。剔除掉已選擇的點(diǎn),在剩余點(diǎn)中選擇距離起始點(diǎn)最近的點(diǎn),更新距離。直到能夠算出起始點(diǎn)到終點(diǎn)的最短距離。
洪泛算法:(屬于靜態(tài)路由算法)把收到的每一個(gè)包,向除了該包到來(lái)的線路外的所有輸出線路發(fā)送。
距離矢量路由:(屬于動(dòng)態(tài)路由算法)
每個(gè)路由器維護(hù)一張表(即一個(gè)矢量),表中列出了當(dāng)前已知的到每個(gè)目標(biāo)的最佳距離,以及所使用的鏈路。這些表通過(guò)鄰居之間相互交換信息而不斷被更新,最終每個(gè)路由器都了解到達(dá)每個(gè)目的地的最佳鏈路。
得到距離表:公式:
注意式子第二項(xiàng):是Z到Y(jié)的距離(前面應(yīng)該更新過(guò))與權(quán)重比較選最小。
當(dāng)前點(diǎn)與所有鄰居節(jié)點(diǎn)交換的路由表:看懂例子。
無(wú)窮計(jì)數(shù)問(wèn)題:
“壞消息”傳播得慢。“好消息”傳播的快。
摘自blog
鏈路狀態(tài)路由:每個(gè)節(jié)點(diǎn)都將自己的鄰居信息表傳給所有節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都保存所有節(jié)點(diǎn)的鄰居信息表,并使用 Dijkstra 計(jì)算出本節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最短路。
因?yàn)榫嚯x矢量算法每個(gè)節(jié)點(diǎn)只與鄰居節(jié)點(diǎn)交換信息,在面臨路由器失效時(shí)會(huì)出現(xiàn)無(wú)窮計(jì)數(shù)問(wèn)題。鏈路狀態(tài)算法用泛洪的方式分發(fā)鏈路狀態(tài)包,所以每個(gè)節(jié)點(diǎn)都知道完整的網(wǎng)絡(luò)加權(quán)拓補(bǔ)圖。實(shí)際上,算法將完整的拓?fù)浣Y(jié)構(gòu)分發(fā)給了每一個(gè)路由器,然后每個(gè)路由器運(yùn)行Dijkstra算法就可以找出從本地到每一個(gè)其他路由器的最短路徑。
基本思想:洪泛鏈路狀態(tài)包,為控制洪泛,每個(gè)包包含一個(gè)序號(hào),每次發(fā)送新包時(shí)加1。路由器記錄信息對(duì)(源路由器,序號(hào)),當(dāng)一個(gè)鏈路狀態(tài)包到達(dá)時(shí),若是新的,則分發(fā);若是重復(fù)的,則丟棄;若序號(hào)比路由器記錄中的最大序號(hào)小,則認(rèn)為過(guò)時(shí)而丟棄。序號(hào)循環(huán)使用會(huì)混淆,解決辦法:使用32位序號(hào)。
過(guò)程:發(fā)現(xiàn)鄰居(在每一條點(diǎn)到點(diǎn)線路上發(fā)送hello數(shù)據(jù)包)(LAN復(fù)雜引入人造節(jié)點(diǎn)代替);設(shè)置鏈路成本(確定延遲的方法,發(fā)送echo數(shù)據(jù)包,要求對(duì)方立即返回,測(cè)量時(shí)間/2);構(gòu)造鏈路狀態(tài)包(內(nèi)容:發(fā)送方的標(biāo)識(shí)符、seq、age、鄰居列表,列表包括延遲信息即距離);分發(fā)鏈路狀態(tài)包(泛洪法,通過(guò)序號(hào)判斷新來(lái)的數(shù)據(jù)包是新的并轉(zhuǎn)發(fā)還是舊的需丟棄,age每秒減一,數(shù)據(jù)包不會(huì)無(wú)限生存);計(jì)算新路由(Dijkstra)。
距離矢量路由DV和鏈路狀態(tài)路由LS的比較:
LS:路由信息全網(wǎng)發(fā)送 DV:信息只與鄰居交換
LS:使用最短路徑優(yōu)先算法,復(fù)雜度O(n^2);可能存在路由振蕩 DV:收斂時(shí)間問(wèn)題,路由循環(huán)和無(wú)限計(jì)數(shù)問(wèn)題。
LS:(路由器故障)可以通告不正確的鏈接成本,每個(gè)節(jié)點(diǎn)只計(jì)算自己的表 DV:其他節(jié)點(diǎn)使用每個(gè)節(jié)點(diǎn)的表,錯(cuò)誤通過(guò)網(wǎng)絡(luò)傳播
層次/分級(jí)路由:路由器被劃分成區(qū)域,每個(gè)路由器知道如何將數(shù)據(jù)包路由到自己所在區(qū)域內(nèi)的目標(biāo)地址,但是對(duì)于其他區(qū)域的內(nèi)部結(jié)構(gòu)毫不知情。
廣播路由:同時(shí)給全部目標(biāo)地址發(fā)送一個(gè)數(shù)據(jù)包。
移動(dòng)主機(jī)路由:為了能夠?qū)?shù)據(jù)包轉(zhuǎn)發(fā)給移動(dòng)主機(jī),網(wǎng)絡(luò)必須首先要找到移動(dòng)的主機(jī)。
3.擁塞控制
主要RED協(xié)議。完整的流量控制應(yīng)該是網(wǎng)絡(luò)層(RED 協(xié)議)和傳輸層(TCP 慢啟動(dòng))配合的任務(wù)。
擁塞:網(wǎng)絡(luò)上有太多的包時(shí),性能會(huì)下降,這種情況稱(chēng)為擁塞
擁塞原因:多個(gè)輸入對(duì)應(yīng)一個(gè)輸出;慢速處理器;低帶寬線路
RED(隨機(jī)早期檢測(cè)):
在所有緩沖空間都精疲力竭之前丟棄數(shù)據(jù)包。
為了確定何時(shí)開(kāi)始丟棄數(shù)據(jù)包,路由器要維護(hù)一個(gè)運(yùn)行隊(duì)列長(zhǎng)度的平均值。當(dāng)某條鏈路上的平均隊(duì)列長(zhǎng)度超過(guò)某個(gè)閾值時(shí),該鏈路就被認(rèn)為即將擁塞,因此路由器隨機(jī)丟棄一小部分?jǐn)?shù)據(jù)包。丟失的數(shù)據(jù)包起到了傳遞抑制包的作用,是隱含的。
4.服務(wù)質(zhì)量
資源預(yù)留協(xié)議(RSVP):主要功能是預(yù)留資源。建立虛電路時(shí),主機(jī)與子網(wǎng)達(dá)成協(xié)議,子網(wǎng)根據(jù)協(xié)議在虛電路上為此連接預(yù)留資源。
緩沖:當(dāng)一個(gè)數(shù)據(jù)包抵達(dá)時(shí),它通常被保留在路由器的緩沖區(qū)直到可以從選擇的輸出線路上發(fā)送出去。
抖動(dòng)(jitter):網(wǎng)絡(luò)延遲的變化率。(延遲的變化(即標(biāo)準(zhǔn)方差)或者數(shù)據(jù)包到達(dá)時(shí)間的變化。)
漏桶算法:將用戶發(fā)出的不平滑的數(shù)據(jù)包流轉(zhuǎn)變成網(wǎng)絡(luò)中平滑的數(shù)據(jù)包流。無(wú)論注入桶內(nèi)的速率是大是小,出桶的速率總是恒定的。
令牌桶:漏桶存放令牌,每ΔT秒產(chǎn)生一個(gè)令牌,令牌累積到超過(guò)漏桶上界時(shí)就不再增加。發(fā)送數(shù)據(jù)時(shí)取出令牌,流量大小受限于積累的令牌數(shù)量。一般令牌桶下面會(huì)有一個(gè)漏桶用于平滑發(fā)送速率。(包傳輸之前必須獲得一個(gè)令牌,傳輸之后刪除該令牌。)
漏桶算法與令牌桶算法的區(qū)別:
流量整形策略不同:漏桶算法不允許空閑主機(jī)積累發(fā)送權(quán),以便以后發(fā)送大的突發(fā)數(shù)據(jù);令牌桶算法允許,最大為桶的大小。
漏桶中存放的是數(shù)據(jù)包,桶滿了丟棄數(shù)據(jù)包;令牌桶中存放的是令牌,桶滿了丟棄令牌,不丟棄數(shù)據(jù)包。
5.網(wǎng)絡(luò)互連
隧道技術(shù)應(yīng)用場(chǎng)景:源主機(jī)和目標(biāo)主機(jī)所在網(wǎng)絡(luò)的類(lèi)型完全相同,但它們中間卻隔著一個(gè)不同類(lèi)型的網(wǎng)絡(luò)。
隧道技術(shù):是一種通過(guò)使用互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)設(shè)施在不同網(wǎng)絡(luò)之間傳遞數(shù)據(jù)的方式。
理解:ipv6,外部封裝一層ipv4,即可在不同的網(wǎng)絡(luò)環(huán)境中傳輸,拆掉后即可得到原來(lái)的ipv6。
6.Internet的網(wǎng)絡(luò)層
IPv4協(xié)議:
層與層之間數(shù)據(jù)的傳遞:上層整段消息內(nèi)容是對(duì)下一層透明的數(shù)據(jù)。
上層信息封裝到下層數(shù)據(jù)。IP 協(xié)議 Internet Protocol 提供盡最大努力的數(shù)據(jù)傳輸,不保證可靠。
IP頭格式:
IP 數(shù)據(jù)報(bào)由頭和正文組成,正文是有效凈荷,攜帶數(shù)據(jù)**;頭由 20 字節(jié)定長(zhǎng)及一個(gè)可選變長(zhǎng)組成**,攜帶此數(shù)據(jù)報(bào)的解釋信息。
版本:記錄數(shù)據(jù)報(bào)屬于什么版本,Ipv4 Ipv6
IHL:IP 頭長(zhǎng),單位為 4 字節(jié)(32-bit),因?yàn)轭^部至少 20 字節(jié)定長(zhǎng),所以值域 5~15。
服務(wù)類(lèi)型
總長(zhǎng)度:數(shù)字報(bào)總長(zhǎng)度,單位是 1 字節(jié)(8 bit),包括頭和數(shù)據(jù),最大長(zhǎng)度 2^16字節(jié)
生存期 TTL:計(jì)數(shù)單位為跳數(shù),每經(jīng)過(guò)一跳減一,遞減到 0 的時(shí)候數(shù)據(jù)包被丟棄并由路由器給源地址發(fā)送一個(gè)報(bào)警包。
協(xié)議:記錄 IP 分組攜帶數(shù)據(jù)的協(xié)議類(lèi)型,即傳輸層協(xié)議的編號(hào),如 TCP、UDP 等
頭校驗(yàn)和:對(duì) IP 頭信息進(jìn)行校驗(yàn),檢測(cè)數(shù)據(jù)包穿過(guò)網(wǎng)絡(luò)時(shí)是否發(fā)生錯(cuò)誤。但是由于只校驗(yàn)了頭,所以 IP 數(shù)據(jù)報(bào)整體依舊不可靠
源地址和目的地址:源地址可以用于丟包時(shí)給源地址發(fā)消息;目的地址用于尋找路徑時(shí)查路由表
選項(xiàng):可給出對(duì)尋址過(guò)程中要求必須經(jīng)過(guò)的路由器
DF:Don’t Fragment;MF:More Fragments
分段處理:不同網(wǎng)絡(luò)的最大幀長(zhǎng)的要求可能不同,從而大數(shù)據(jù)進(jìn)入小網(wǎng)絡(luò)需要對(duì)大的數(shù)據(jù)進(jìn)行分段。DF 表示是否允許分段,DF=1 表示該數(shù)據(jù)報(bào)不允許分段,到達(dá)需要分段的地方就丟包返回消息;MF 表示所屬于的數(shù)據(jù)報(bào)是否還有更多的段。MF=0 表示當(dāng)前分段是該數(shù)據(jù)報(bào)的最后一段;分段偏移量表示該分段在整個(gè)數(shù)據(jù)包中的位置,以 8 字節(jié)為單位。
頭后面加上數(shù)據(jù),是更高層協(xié)議封裝起來(lái)的內(nèi)容。
IP地址:
地址組成:網(wǎng)絡(luò)號(hào) + 主機(jī)號(hào)
全0:表示本網(wǎng)絡(luò)或本主機(jī);全1:表示廣播地址;路由器默認(rèn)廣播消息通過(guò)。
IP 地址被分為五類(lèi)。(65536=2^16)
A類(lèi):0開(kāi)頭,有2^7個(gè)網(wǎng)絡(luò)。前八位是網(wǎng)絡(luò)地址。后24為host。
B類(lèi):10開(kāi)頭,有2^14個(gè)網(wǎng)絡(luò)。前十六位是網(wǎng)絡(luò)地址。后16為host,即65536個(gè)。
C類(lèi):110開(kāi)頭,21+8
D類(lèi):1110開(kāi)頭,E類(lèi)
現(xiàn)使用無(wú)類(lèi)別IP地址+子網(wǎng)掩碼(用于區(qū)分網(wǎng)絡(luò)或主機(jī))
子網(wǎng):分而治之:為了便于管理和使用,可以將網(wǎng)絡(luò)分成若干供內(nèi)部使用的部分,稱(chēng)為子網(wǎng)。對(duì)外界,該網(wǎng)絡(luò)還是一個(gè)單獨(dú)的網(wǎng)絡(luò)。
不論劃出幾位,都要寫(xiě)八位。
子網(wǎng)(第二章):分隔一個(gè)大型網(wǎng)絡(luò)得到的一系列結(jié)果網(wǎng)絡(luò),比如以太網(wǎng)
子網(wǎng)劃分 subnetting:在內(nèi)部將一個(gè)網(wǎng)絡(luò)塊分成幾個(gè)部分供多個(gè)內(nèi)部網(wǎng)絡(luò)使用,但對(duì)外部世界仍然像是單個(gè)網(wǎng)絡(luò)一樣。
子網(wǎng)掩碼:因?yàn)榍熬Y長(zhǎng)度僅從 IP 地址無(wú)法推斷出來(lái),路由協(xié)議必須把前綴攜帶給路由器。前綴長(zhǎng)度相當(dāng)于網(wǎng)絡(luò)部分中 1 的二進(jìn)制掩碼,它可以與一個(gè) IP 地址進(jìn)行 AND 操作,以便提取出該 IP 地址的網(wǎng)絡(luò)部分。
無(wú)類(lèi)域間路由:CIDR
在變長(zhǎng)子網(wǎng)掩碼的基礎(chǔ)上提出的一種消除 ABCDE 類(lèi)網(wǎng)絡(luò)劃分。為解決 IP 路由表爆炸、IP 地址耗盡。
地址分配的原則是:一個(gè)網(wǎng)路只能有一個(gè)網(wǎng)絡(luò)號(hào),進(jìn)行 IP 地址分配時(shí)盡可能連續(xù)分配。以牛津大學(xué)為例,盡管前面余下 2 10 個(gè)空白,但是依舊選擇向后
路由/地址聚合:
為了減小路由表長(zhǎng)度,將多個(gè)小前綴地址塊合并為一個(gè)大前綴地址塊,如上面的三個(gè)地址就可以聚合成一個(gè)地址,方法是將三者網(wǎng)絡(luò)號(hào)最大公共部分聚合為新網(wǎng)絡(luò)號(hào)
最長(zhǎng)匹配原則:在沒(méi)有聚合時(shí),查路由只需要找到匹配的一項(xiàng)就可以跳到下一跳,但是有聚合以后,需要尋找路由表項(xiàng)中的最長(zhǎng)匹配。
路由器的轉(zhuǎn)發(fā)過(guò)程完善如下:當(dāng)新的消息進(jìn)入路由器時(shí),首先進(jìn)入等待隊(duì)列,通過(guò)一定的調(diào)度策略進(jìn)行調(diào)度。調(diào)度到這個(gè)消息時(shí),獲取其目的地址,將目的地址分別與路由表中的每一項(xiàng)網(wǎng)絡(luò)號(hào)的子網(wǎng)掩碼進(jìn)行比對(duì),選取最長(zhǎng)匹配的網(wǎng)絡(luò)表項(xiàng)進(jìn)行轉(zhuǎn)發(fā)。當(dāng)然,沒(méi)有查詢到匹配的時(shí)候,轉(zhuǎn)發(fā)到缺省表項(xiàng),也就是給上一層路由,繼續(xù)尋找。
NAT:網(wǎng)絡(luò)地址轉(zhuǎn)換
思想:設(shè)定兩套 IP 地址,內(nèi)網(wǎng)相對(duì)于外網(wǎng)來(lái)說(shuō)共用一個(gè) public 地址,而在內(nèi)網(wǎng)中,每臺(tái)機(jī)器對(duì)應(yīng)一個(gè) private 地址。內(nèi)網(wǎng)之間的通信使用 private 地址,當(dāng)想要向外網(wǎng)發(fā)送消息時(shí),只需將源地址替換為內(nèi)網(wǎng)共用的 public 地址。當(dāng)外網(wǎng)向內(nèi)網(wǎng)發(fā)送消息時(shí),因無(wú)法區(qū)分內(nèi)網(wǎng)的主機(jī),所以引入了 port。將私有 IP與端口號(hào)影射成新的 port,當(dāng)與這個(gè)端口號(hào)交互時(shí),根據(jù)影射算法可以知道私有 IP。
IP 地址短缺問(wèn)題解決策略:
①動(dòng)態(tài)分配 IP ②遷移到 IPv6 ③多臺(tái)共用一個(gè) IP
7.Internet控制協(xié)議
ICMP:控制消息協(xié)議
為了提高 IP 數(shù)據(jù)報(bào)交付成功的機(jī)會(huì),在網(wǎng)絡(luò)層使用了網(wǎng)絡(luò)控制報(bào)文協(xié)議來(lái)允許主機(jī)或者路由器來(lái)報(bào)告差錯(cuò)和異常情況。當(dāng)路由器在處理一個(gè)數(shù)據(jù)包的過(guò)程中發(fā)生了意外,可通過(guò)該協(xié)議向數(shù)據(jù)包的源端報(bào)告有關(guān)事件。ICMP 是通過(guò)向數(shù)據(jù)包的源地址報(bào)告有關(guān)事件使網(wǎng)絡(luò)運(yùn)行正常。
ARP:地址解析協(xié)議
網(wǎng)絡(luò)層負(fù)責(zé)尋找路徑,而真正實(shí)現(xiàn)消息傳遞的是鏈路層,所以要實(shí)現(xiàn)兩層地址之間的映射。(IP地址——以太網(wǎng)地址MAC)
解決統(tǒng)一局域網(wǎng)上的主機(jī)路由器的IP地址和硬件地址的映射問(wèn)題。
已知源 IP、源 MAC 和目的 IP 的情況下怎樣獲取目的 MAC:
本網(wǎng)(1)首先,每個(gè)主機(jī)都會(huì)在自己的 ARP 緩沖區(qū)中建立一個(gè) ARP 列表,以表示 IP 地址和 MAC 地址之間的對(duì)應(yīng)關(guān)系。
(2)當(dāng)源主機(jī)要發(fā)送數(shù)據(jù)時(shí),首先檢查 ARP 列表中是否有對(duì)應(yīng) IP 地址的目的主機(jī)的 MAC 地址,如果有,則直接發(fā)送數(shù)據(jù),如果沒(méi)有,就向本網(wǎng)段的所有主機(jī)發(fā)送 ARP 數(shù)據(jù)包,該數(shù)據(jù)包包括的內(nèi)容有:源主機(jī)的 IP 地址、源主機(jī) MAC 地址、目的主機(jī) IP 地址。
(3)當(dāng)本網(wǎng)絡(luò)的所有主機(jī)收到該 ARP 數(shù)據(jù)包時(shí),首先檢查數(shù)據(jù)包中的 IP 地址是否是自己的 IP 地址,如果不是,則忽略該數(shù)據(jù)包,如果是,則首先從數(shù)據(jù)包中取出源主機(jī)的 IP 和 MAC 地址寫(xiě)入到 ARP 列表中,如果已經(jīng)存在,則覆蓋,然后將自己的 MAC 地址寫(xiě)入 ARP 響應(yīng)包中,告訴源主機(jī)自己是它想要找的 MAC 地址。
(4)源主機(jī)收到 ARP 響應(yīng)包后,將目的主機(jī)的 IP 和 MAC 地址寫(xiě)入 ARP 列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機(jī)一直沒(méi)有收到 ARP 響應(yīng)數(shù)據(jù)包,表示 ARP 查詢失敗。
不在本網(wǎng),則發(fā)給默認(rèn)網(wǎng)關(guān)。若目的主機(jī)在同一子網(wǎng)內(nèi),用目的IP地址在ARP表中查找,否則用缺省網(wǎng)關(guān)的IP地址在ARP表中查找。若未找到,則發(fā)送廣播包,目的主機(jī)收到后給出應(yīng)答,ARP表增加一項(xiàng)
動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP):每個(gè)網(wǎng)絡(luò)必須有一個(gè) DHCP 服務(wù)器負(fù)責(zé)地址配置。當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),它有一個(gè)嵌入在 NIC 中的內(nèi)置以太網(wǎng)地址或其他鏈路層地址,但沒(méi)有 IP 地址。像 ARP 一樣,該計(jì)算機(jī)在自己的網(wǎng)絡(luò)上廣播一個(gè)報(bào)文,請(qǐng)求 IP 地址。當(dāng) DHCP 服務(wù)器收到請(qǐng)求,它就為該主機(jī)分配一個(gè)空閑的 IP 地址并為它指定一段固定的時(shí)間。在時(shí)間到達(dá)前,主機(jī)必須請(qǐng)求 DHCP 續(xù)訂,如果沒(méi)有提出續(xù)訂請(qǐng)求或請(qǐng)求被拒絕,主機(jī)或許不能使用以前分配給它的 IP 地址。
最短路徑開(kāi)放優(yōu)先(OSPF):一種內(nèi)部網(wǎng)關(guān)路由協(xié)議,用一個(gè)圖來(lái)表示實(shí)際的網(wǎng)絡(luò),然后每個(gè)路由器使用鏈路狀態(tài)方法計(jì)算從自身出發(fā)到所有其他節(jié)點(diǎn)的最短路徑。有可能協(xié)議會(huì)發(fā)現(xiàn)多個(gè)同樣短的路徑,在這種情況下,OSPF 記住最短路徑集合,并在報(bào)文轉(zhuǎn)發(fā)期間把流量分?jǐn)偟竭@些路徑上。
外部網(wǎng)關(guān)路由協(xié)議(BGP):是一個(gè)在自治系統(tǒng)網(wǎng)絡(luò)中兩個(gè)鄰近的網(wǎng)關(guān)主機(jī)間交換路由信息的協(xié)議。(考慮政治等因素)
IPv4與IPv6比較,,通訊:
雙協(xié)議棧(邊界路由器進(jìn)行轉(zhuǎn)化,但會(huì)丟失一部分v6信息,有損)、隧道技術(shù)。
第六章 傳輸層
這一層實(shí)現(xiàn)的是端到端的可靠的傳輸,是基于不可靠的網(wǎng)絡(luò)層之上的。
1.傳輸協(xié)議的要素
尋址:方法:定義傳輸服務(wù)訪問(wèn)點(diǎn)TSAP(Transport Service Access Point),將應(yīng)用進(jìn)程與這些TSAP相連。在Internet中,TSAP為(IP address, local port)。
其他人如何知道你的端口號(hào):有一些常見(jiàn)的端口地址;從名字服務(wù)器/目錄服務(wù)器獲得TSAP。
建立連接:
三次握手:
(1)A 發(fā)出序號(hào)為X的CR TPDU;
(2)B 發(fā)出序號(hào)為Y的CR TPDU并確認(rèn)A的序號(hào)為X的CR TPDU;
(3)A 發(fā)出序號(hào)為X+1的第一個(gè)數(shù)據(jù)TPDU,并確認(rèn)B的序號(hào)為Y的CR TPDU。
三次握手方案解決了由于網(wǎng)絡(luò)層會(huì)丟失、存儲(chǔ)和重復(fù)包帶來(lái)的問(wèn)題。
釋放連接:
對(duì)稱(chēng)式和非對(duì)稱(chēng)式。
非對(duì)稱(chēng)式:一方釋放連接,整個(gè)連接斷開(kāi),存在丟失數(shù)據(jù)的危險(xiǎn)
對(duì)稱(chēng)式:由于兩軍問(wèn)題的存在,可以證明不存在安全的通過(guò)N次握手實(shí)現(xiàn)對(duì)稱(chēng)式連接釋放的方法
但是在實(shí)際的通信過(guò)程中,使用三次握手 + 定時(shí)器的方法釋放連接在絕大多數(shù)情況下是成功的。
a,正常的三次握手釋放
b,最后主機(jī) 1 發(fā)出的 ack 丟失的情況,這時(shí)候,當(dāng)主機(jī) 2 的計(jì)時(shí)器超時(shí)后,主機(jī) 2 就會(huì)釋放連接。
c,主機(jī) 2 給主機(jī) 1 的 DR的應(yīng)答丟失了,這種情況下,當(dāng)主機(jī) 1 的計(jì)時(shí)器超時(shí)后,主機(jī) 1 會(huì)重新發(fā)送 DR。
d,是主機(jī) 2 給主機(jī) 1 的 DR的應(yīng)答和主機(jī) 1后續(xù)的 DR 都丟失了,這種情況下,主機(jī) 1 經(jīng)過(guò) N 次重傳之后,就會(huì)放棄,并且釋放連接;而主機(jī) 2 在計(jì)時(shí)器超時(shí)之后也會(huì)釋放連接。
流控:
傳輸層利用可變滑動(dòng)窗口協(xié)議來(lái)實(shí)現(xiàn)流控??勺兓瑒?dòng)窗口協(xié)議,是指發(fā)送方的發(fā)送窗口大小是由接收方根據(jù)自己的實(shí)際緩存情況給出的。
緩存:
由于網(wǎng)絡(luò)層服務(wù)是不可靠的,傳輸層實(shí)體必須緩存所有連接發(fā)出的TPDU,而且為每個(gè)連接單獨(dú)做緩存,以便用于錯(cuò)誤情況下的重傳。
2.UDP
UDP(User Datagram Protocol),用戶數(shù)據(jù)報(bào)協(xié)議。
特點(diǎn):(1)UDP 是無(wú)連接的,不可靠的;(2)分組頭部開(kāi)銷(xiāo)小。TCP 有 20 字節(jié)的頭部開(kāi)銷(xiāo),UDP 只有 8 字節(jié)。
布局:
(3)UDP 尤其適用的一個(gè)領(lǐng)域是在客戶-服務(wù)器的情形下。
(4)UDP 的一個(gè)應(yīng)用是 DNS<程序與 DNS 服務(wù)器之間>。
(5)UDP 不考慮流控制、錯(cuò)誤控制,在收到一個(gè)壞的數(shù)據(jù)段之后它也不重傳。所有這些工作都留給用戶進(jìn)程。
3.TCP
TCP服務(wù)模型:
TCP服務(wù)由發(fā)送端和接收端創(chuàng)建一種稱(chēng)為套接字的端點(diǎn)獲得。(套接字:IP地址+端口)
一個(gè)TCP連接就是一個(gè)字節(jié)流,而不是消息流。
TCP協(xié)議:
頭部:
TCP連接建立:
通常在第三次發(fā)送消息的時(shí)候,TCP 數(shù)據(jù)段里已經(jīng)攜帶了數(shù)據(jù),故將 SYN 位置為了 0。
若兩個(gè)主機(jī)同時(shí)試圖建立彼此間的連接,則只能建立一條連接。
TCP連接斷開(kāi):
單向連接的釋放:釋放連接時(shí),發(fā)出FIN位置1的TCP段并啟動(dòng)定時(shí)器,在收到確認(rèn)后關(guān)閉連接。若無(wú)確認(rèn)并且超時(shí),也關(guān)閉連接。
三次握手釋放:
TCP滑動(dòng)窗口協(xié)議:
延遲確認(rèn):將確認(rèn)和窗口更新延遲50毫秒,希望能夠獲得一些數(shù)據(jù)免費(fèi)大在過(guò)去。
Nagle算法:當(dāng)數(shù)據(jù)每次以很少量方式進(jìn)入發(fā)送端時(shí),發(fā)送端只是發(fā)送第一次到達(dá)的數(shù)據(jù)字節(jié),然后將其余后面到達(dá)的字節(jié)緩沖起來(lái),直到發(fā)送出去的那個(gè)數(shù)據(jù)包被確認(rèn)。然后將所有緩沖字節(jié)放在一個(gè)TCP段中發(fā)送出去,并繼續(xù)緩沖字節(jié),直到下一個(gè)段被確認(rèn)。(任何時(shí)候只有第一個(gè)發(fā)送的數(shù)據(jù)包是小數(shù)據(jù)包)
低能/愚笨窗口綜合癥:Clark。另一個(gè)降低TCP性能的問(wèn)題。
Clark的解決方案,禁止接收端發(fā)送只有1個(gè)字節(jié)的窗口更新段。
TCP擁塞控制:
擁塞控制的本質(zhì)是降低發(fā)送方的發(fā)送速率。擁塞控制實(shí)際上是由網(wǎng)絡(luò)層(RED)和傳輸層(TCP 慢啟動(dòng))共同完成的。
丟棄數(shù)據(jù)包是判斷發(fā)生擁塞的重要依據(jù)。
擁塞窗口CW:描述網(wǎng)絡(luò)的傳輸能力
流量控制窗口FW:描述對(duì)方的接收能力
慢啟動(dòng)
一開(kāi)始通過(guò)成倍增加(指數(shù)級(jí))擁塞窗口的大小不斷試探網(wǎng)絡(luò)連接情況,當(dāng)?shù)竭_(dá)閾值的時(shí)候,開(kāi)始線性地增長(zhǎng)擁塞窗口的大小。當(dāng)一次超時(shí)發(fā)生的時(shí)候,將閾值設(shè)置成為當(dāng)前擁塞窗口的一半,而擁塞窗口被重置為初始的值。
網(wǎng)絡(luò)層和傳輸層是如何合作完成擁塞控制:
當(dāng)網(wǎng)絡(luò)中路由器的被使用緩沖區(qū)的大小到達(dá)路由器的閾值的時(shí)候,路由器開(kāi)始執(zhí)行 RED協(xié)議,隨意丟棄某些分組,被丟棄的分組的發(fā)送方因此會(huì)超時(shí),這時(shí)通過(guò) TCP 慢啟動(dòng)會(huì)降低發(fā)送方速率。
第七章 應(yīng)用層
域名系統(tǒng)(Domain Name System):一種層次的,基于域的將主機(jī)名(域名)映射成 IP的命名方案。
頂級(jí)域名主要包括通用的(edu,gov,com)和國(guó)家或地區(qū)的(cn,uk)。
HTTP:應(yīng)用層常見(jiàn)協(xié)議。超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。
習(xí)題
計(jì)算機(jī)網(wǎng)絡(luò)各層網(wǎng)絡(luò)設(shè)備(中繼器、集線器、網(wǎng)橋、交換機(jī)、路由器、網(wǎng)關(guān))總結(jié)
CSMA/CA 協(xié)議 ( 載波監(jiān)聽(tīng)多點(diǎn)接入 / 碰撞避免 協(xié)議 | CSMA/CA 協(xié)議工作原理 | CSMA/CD 協(xié)議 與 CSMA/CA 協(xié)議對(duì)比 )
14-15
概念性(非名詞解釋?zhuān)?/strong>:
1.NAT:
網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議。在網(wǎng)絡(luò)內(nèi)部使用私有地址(private),在網(wǎng)絡(luò)外部使用公用地址。使用源端口號(hào)+私有IP地址映射為新的源端口號(hào),私有IP轉(zhuǎn)換為公用IP。解決IP地址短缺問(wèn)題的手段。
2.ADSL:
非對(duì)稱(chēng)用戶數(shù)字線路。將線路帶寬劃分為多個(gè)信道,其中一大部分用于下行數(shù)據(jù),一小部分用于上行數(shù)據(jù),保留單獨(dú)的語(yǔ)音信道,并使用幾個(gè)信道隔離數(shù)據(jù)信道和語(yǔ)音信道。
3.隧道技術(shù):
當(dāng)兩端網(wǎng)絡(luò)屬于同一種網(wǎng)絡(luò)時(shí),中間網(wǎng)絡(luò)采用的一種封裝技術(shù)。在中間網(wǎng)絡(luò)使用新的協(xié)議頭驅(qū)動(dòng),在兩端網(wǎng)絡(luò)使用原有協(xié)議頭驅(qū)動(dòng)。
4.帶寬:
單位時(shí)間可以傳遞的數(shù)據(jù)位數(shù);或?qū)橘|(zhì)而言沒(méi)有明顯衰減的一段頻率范圍。
5.協(xié)議:
通信雙方為了正常通信所進(jìn)行的一組規(guī)則或約定的集合。
選擇填空知識(shí)點(diǎn):
1.計(jì)算機(jī)網(wǎng)絡(luò)的目的是實(shí)現(xiàn)資源共享。
2.傳遞分組時(shí),每一個(gè)中間路由器都會(huì)完整地接收、保存,等到線路空閑時(shí)再轉(zhuǎn)發(fā)出去的技術(shù)稱(chēng)為存儲(chǔ)-轉(zhuǎn)發(fā)。
3.TCP連接是面向字節(jié)流的。
4.以太網(wǎng)卡(MAC)地址的長(zhǎng)度是48位。
5.屬于第三層(網(wǎng)絡(luò)層)的網(wǎng)絡(luò)設(shè)備是路由器。
物理層:中繼器、集線器
數(shù)據(jù)鏈路層:網(wǎng)橋、交換機(jī)(定義,數(shù)據(jù)鏈路層,多端口的網(wǎng)橋。根據(jù)幀的目的地址轉(zhuǎn)發(fā),常被用來(lái)連接獨(dú)立計(jì)算機(jī)。)
網(wǎng)絡(luò)層:路由器(定義,檢查數(shù)據(jù)包的地址,并基于這些地址路由數(shù)據(jù)包。)
應(yīng)用層(七層模型的最后一層):網(wǎng)關(guān)
6.將一個(gè)分組發(fā)給所有機(jī)器的操作模式稱(chēng)為廣播。
7.電子郵件常用到的協(xié)議:SMTP、POP。
8.IP提供的服務(wù)是盡最大努力傳遞。(IP在網(wǎng)絡(luò)層,不保證可靠)
9.網(wǎng)絡(luò)中,用于報(bào)告錯(cuò)誤和測(cè)試的協(xié)議為ICMP。(控制消息協(xié)議)
10.網(wǎng)絡(luò)按照覆蓋范圍,分為局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)。
11.服務(wù)質(zhì)量用來(lái)描述網(wǎng)絡(luò)能夠提供的服務(wù)能力或網(wǎng)絡(luò)應(yīng)用的要求,網(wǎng)絡(luò)中經(jīng)常使用的服務(wù)質(zhì)量參數(shù)有帶寬、延遲、延遲抖動(dòng)、丟失率。
12.無(wú)線局域網(wǎng)對(duì)應(yīng)的IEEE標(biāo)準(zhǔn)為IEEE802.11,寬帶無(wú)線網(wǎng)絡(luò)對(duì)應(yīng)的IEEE標(biāo)準(zhǔn)為IEEE802.16。
13.網(wǎng)絡(luò)中常見(jiàn)的調(diào)制方式調(diào)頻、調(diào)幅、調(diào)相。
14.TCP協(xié)議中校驗(yàn)和校驗(yàn)的范圍包括TCP頭、數(shù)據(jù)、偽TCP頭。
15.在以太網(wǎng)中發(fā)生沖突后,經(jīng)常采用二進(jìn)制指數(shù)后退算法來(lái)解決沖突。
16.IP協(xié)議中有一個(gè)TTL字段,用于限制分組在網(wǎng)絡(luò)上的存活時(shí)間,避免分組無(wú)休止的在網(wǎng)絡(luò)上循環(huán)。
計(jì)算簡(jiǎn)答:
1.CRC校驗(yàn)
生成式是除數(shù)。發(fā)送數(shù)據(jù)是要增加位數(shù)的。校驗(yàn)和即最后的余數(shù)。
2.漏桶和令牌桶的工作原理:
漏桶:需發(fā)送的數(shù)據(jù)放到一個(gè)稱(chēng)為漏桶的緩沖區(qū),以給定速率往外發(fā)送。溢出時(shí)丟失數(shù)據(jù)。
令牌桶:保存的是發(fā)送數(shù)據(jù)的權(quán)利,可以支持高速傳輸。發(fā)送時(shí)消耗令牌,溢出時(shí)丟失令牌。
3.介質(zhì)訪問(wèn)控制:
(1)什么是介質(zhì)訪問(wèn)控制問(wèn)題
介質(zhì)訪問(wèn)控制簡(jiǎn)稱(chēng)MAC。 是解決共用信道的使用產(chǎn)生競(jìng)爭(zhēng)時(shí),如何分配信道的使用權(quán)問(wèn)題。
(2)以太網(wǎng)中采用的介質(zhì)訪問(wèn)控制協(xié)議
CSMA/CD。
工作原理:概括為1先聽(tīng)后說(shuō),邊聽(tīng)邊說(shuō);2一旦沖突,立即停說(shuō);3等待時(shí)機(jī),然后再說(shuō)。
在發(fā)送數(shù)據(jù)前,先監(jiān)聽(tīng)信道是否空閑,若信道忙,則等待;若信道空閑,則把準(zhǔn)備好的數(shù)據(jù)發(fā)送到信道上。在發(fā)送數(shù)據(jù)的過(guò)程中,工作站邊發(fā)送邊監(jiān)聽(tīng)信道,看是否自己發(fā)送的數(shù)據(jù)有沖突。若無(wú)沖突,則繼續(xù)發(fā)送直到全部數(shù)據(jù)傳完為止;若有沖突,則立即停止發(fā)送數(shù)據(jù),但是要發(fā)送一個(gè)加強(qiáng)沖突信號(hào),以便使網(wǎng)絡(luò)上所有工作站都知道網(wǎng)上發(fā)生了沖突,然后,等待一個(gè)預(yù)定的隨機(jī)時(shí)間,且在信道為空閑時(shí),再重新發(fā)送未發(fā)完的數(shù)據(jù)。
(可能是特點(diǎn):滿足最小幀長(zhǎng) 沖突時(shí)使用二進(jìn)制指數(shù)后退算法)
(3)無(wú)線局域網(wǎng)中采用的介質(zhì)訪問(wèn)控制協(xié)議
CSMA/CA。
工作原理:
① 檢測(cè)信道 : 發(fā)送數(shù)據(jù)前 , 檢測(cè)信道是否空閑 ;
② 信道空閑 : 發(fā)出 RTS ( Request To Send ) , RTS 包括發(fā)射端地址 , 接收端地址 , 發(fā)送持續(xù)時(shí)間等信息 ;
③ 信道忙 : 等待 ;
④ 接收端收到 RTS : 發(fā)送 CTS ( Clear To Send ) 響應(yīng) ;
⑤ 發(fā)送端收到 CTS : 同時(shí)執(zhí)行以下兩個(gè)操作 ;
發(fā)送數(shù)據(jù) : 開(kāi)始發(fā)送數(shù)據(jù)幀 ;
預(yù)約信道 : 告知其它站點(diǎn) , 自己要傳輸數(shù)據(jù) , 并給出傳輸時(shí)間 ;
⑥ 接收方接收到數(shù)據(jù)后 , 使用 CRC 循環(huán)冗余校驗(yàn)碼校驗(yàn)數(shù)據(jù)是否正確 , 如果數(shù)據(jù)正確 , 返回 ACK 確認(rèn)幀 ;
⑦ 發(fā)送方接收到 ACK 確認(rèn)幀 后 , 才進(jìn)行下一幀的發(fā)送 , 如果沒(méi)有收到 , 則一直重傳 , 直到16次失敗為止 ; ( 二進(jìn)制指數(shù)退避算法 )
4.鏈路狀態(tài)路由協(xié)議
(1)工作原理:
每臺(tái)路由器周期或觸發(fā)地將自己的鄰接信息發(fā)送給網(wǎng)絡(luò)上所有其他路由器。每臺(tái)路由器根據(jù)來(lái)自所有節(jié)點(diǎn)的鄰接信息形成一張完整的網(wǎng)絡(luò)拓?fù)鋱D,求取自己到所有結(jié)點(diǎn)的最短路徑,完成自己的路由表。
(2)采用了什么方法來(lái)提供較少代價(jià)、可靠的信息擴(kuò)散
接受方發(fā)送反饋信息來(lái)確??煽?;引入計(jì)時(shí)器防止丟失某一幀導(dǎo)致發(fā)送方持續(xù)等待;通過(guò)序號(hào)保證每一幀順序和防止重復(fù)接收。
論述題:
1.滑動(dòng)窗口協(xié)議是數(shù)據(jù)鏈路層的一個(gè)重要協(xié)議,提供在一條不可靠的線路上可靠的數(shù)據(jù)遞交。
(1)發(fā)送窗口和接收窗口的含義
發(fā)送窗口:已經(jīng)發(fā)送,沒(méi)有收到確認(rèn)的幀的集合
接收窗口:可以接受的幀的集合
(2)滑動(dòng)窗口如何提供流量控制
發(fā)送方可以一直發(fā)送直到發(fā)送緩沖區(qū)滿,此時(shí)發(fā)送方必須停止發(fā)送,只有發(fā)送緩沖區(qū)的一部分為空時(shí)才能繼續(xù)發(fā)送。而緩沖區(qū)的清空依賴于接收方發(fā)回的確認(rèn)。接收方可以通過(guò)控制發(fā)送確認(rèn)的速率來(lái)實(shí)際控制發(fā)送方的發(fā)送速率,從而避免被過(guò)快的發(fā)送方淹沒(méi)達(dá)到流量控制的目的。
(3)滑動(dòng)窗口如何實(shí)現(xiàn)差錯(cuò)控制
接受方發(fā)送反饋信息來(lái)確??煽?;引入計(jì)時(shí)器防止丟失某一幀導(dǎo)致發(fā)送方持續(xù)等待;通過(guò)序號(hào)保證每一幀順序和防止重復(fù)接收。
(4)一種滑動(dòng)窗口協(xié)議的工作過(guò)程
發(fā)送窗口大小為1,接收窗口大小也為1。兩個(gè)數(shù)據(jù)鏈路層一個(gè)先開(kāi)始,發(fā)送第一幀。當(dāng)這一幀到達(dá)時(shí),接收方的數(shù)據(jù)鏈路層檢查該幀,看它是否為重復(fù)幀。如果它正是所期望的那一幀,就將它傳遞給網(wǎng)絡(luò)層。然后接收窗口向前滑動(dòng),并發(fā)送一個(gè)確認(rèn)幀, 確認(rèn)域包含了最后收到的無(wú)錯(cuò)誤的幀序列號(hào),如果該序列號(hào)和正在發(fā)送的幀序列號(hào)一致, 則發(fā)送方知道存儲(chǔ)在buffer中的幀已經(jīng)處理完畢。于是它從網(wǎng)絡(luò)層獲取下一幀。無(wú)論什么時(shí)候,只要發(fā)出一幀就要返回一幀。
2.擁塞控制
(1)RED協(xié)議的工作原理
當(dāng)某條鏈路上的平均隊(duì)列長(zhǎng)度超過(guò)某個(gè)閾值時(shí),該鏈路就被認(rèn)為即將擁塞,因此路由器隨機(jī)丟棄一小部分?jǐn)?shù)據(jù)包。
(2)TCP慢啟動(dòng)協(xié)議的工作原理
首先發(fā)送一個(gè)分組,確認(rèn)及時(shí)回來(lái)則加倍發(fā)送數(shù)據(jù),一直重復(fù)直到確認(rèn)不能按時(shí)回來(lái)。取一半作為閾值,從一個(gè)分組開(kāi)始,在達(dá)到閾值之前,按照指數(shù)增加;達(dá)到閾值,按照線性增加。
(3)為什么兩者的配合能夠在一定程度上解決擁塞
當(dāng)網(wǎng)絡(luò)中路由器的被使用緩沖區(qū)的大小到達(dá)路由器的閾值的時(shí)候,路由器開(kāi)始執(zhí)行RED協(xié)議,隨意丟棄某些分組,被丟棄的分組的發(fā)送方因此會(huì)超時(shí),這時(shí)通過(guò) TCP 慢啟動(dòng)會(huì)降低發(fā)送方速率。
3.路由/地址聚合技術(shù)(無(wú)類(lèi)域間路由)
(1)CIDR 地址塊中的地址數(shù)一定是 2 的整數(shù)次冪
(2)路由器的轉(zhuǎn)發(fā)過(guò)程完善如下:當(dāng)新的消息進(jìn)入路由器時(shí),首先進(jìn)入等待隊(duì)列,通過(guò)一定的調(diào)度策略進(jìn)行調(diào)度。調(diào)度到這個(gè)消息時(shí),獲取其目的地址,將目的地址分別與路由表中的每一項(xiàng)網(wǎng)絡(luò)號(hào)的子網(wǎng)掩碼進(jìn)行比對(duì),選取最長(zhǎng)匹配的網(wǎng)絡(luò)表項(xiàng)進(jìn)行轉(zhuǎn)發(fā)。當(dāng)然,沒(méi)有查詢到匹配的時(shí)候,轉(zhuǎn)發(fā)到缺省表項(xiàng),也就是給上一層路由,繼續(xù)尋找。
4.ARP協(xié)議
(1)目的:地址轉(zhuǎn)換協(xié)議,完成從IP地址到MAC地址的轉(zhuǎn)換。
(2)ARP協(xié)議的工作內(nèi)容
發(fā)送方發(fā)送一個(gè)ARP廣播幀,傳遞到網(wǎng)絡(luò)上所有節(jié)點(diǎn),詢問(wèn)IP地址對(duì)應(yīng)的MAC地址。
如果接收方在同一個(gè)網(wǎng)絡(luò)內(nèi),則接收方回一個(gè)ARP應(yīng)答幀;
如果網(wǎng)絡(luò)連接的路由器端口通過(guò)發(fā)送方和接收方的IP地址判斷接收方不在同一個(gè)網(wǎng)絡(luò),則使用自己的MAC地址應(yīng)答,作為接收方的代理。
(3)工作內(nèi)容詳細(xì)描述
··主機(jī)A廣播,該廣播包攜帶B的IP地址,一旦B發(fā)現(xiàn)自己的IP地址與其一致,它就會(huì)用自己的MAC地址作為應(yīng)答,使A得到自己的MAC地址。
··主機(jī)A廣播,但是發(fā)現(xiàn)目的IP地址和自己不在一個(gè)子網(wǎng)。于是它轉(zhuǎn)而請(qǐng)求路由器的MAC地址,把數(shù)據(jù)傳送過(guò)去,再由路由器與子網(wǎng)外的主機(jī)進(jìn)行交互。在路由表找到對(duì)方所屬的子網(wǎng)后,在該子網(wǎng)內(nèi)廣播找到B的MAC地址。
隱藏站點(diǎn)和暴露站點(diǎn)問(wèn)題。由于每個(gè)設(shè)備的信號(hào)不能保證 覆蓋所有網(wǎng)絡(luò)節(jié)點(diǎn)。
綜合題:
1.IP包TCP包
首先明確,結(jié)構(gòu):數(shù)據(jù)幀 { IP頭 { TCP/UDP頭 { Data } } }
IP頭和TCP頭均為20字節(jié)
包中內(nèi)容十六進(jìn)制,對(duì)應(yīng)的源IP地址是第四個(gè)四字節(jié),目標(biāo)IP是第五個(gè)四字節(jié)
將十六進(jìn)制的8個(gè)數(shù)字/字母轉(zhuǎn)換為二進(jìn)制,一個(gè)數(shù)字對(duì)應(yīng)4位,從而對(duì)應(yīng)到十進(jìn)制表示的IP
總長(zhǎng)度在
題目中給出包結(jié)構(gòu),可以看bit
IP包頭的長(zhǎng)度:
計(jì)算時(shí),5*4=20字節(jié)
TCP包頭的長(zhǎng)度:
判斷那個(gè)分組TCP段攜帶了數(shù)據(jù):
根據(jù)IP包頭可以計(jì)算出總長(zhǎng)度,減去IP包頭和TCP包頭的長(zhǎng)度,若有剩余,則攜帶了數(shù)據(jù)。
判斷IP分組在以太網(wǎng)傳輸過(guò)程中哪些需要填充:
以太網(wǎng)幀的數(shù)據(jù)部分長(zhǎng)度范圍為46~1500字節(jié),總長(zhǎng)度小于46字節(jié)的IP分組在二層封裝時(shí)需要填充。計(jì)算IP頭中的總長(zhǎng)度判斷是否小于46即可。
判斷哪個(gè)分組完成了主機(jī)和服務(wù)器的TCP建立過(guò)程:
根據(jù)TCP報(bào)頭中的SYN位和ACK位是否置1可以判斷TCP連接的建立過(guò)程。建立過(guò)程即三次握手。需要主機(jī)發(fā)出的SYN(位置為1)(Seq為A的序列號(hào)x),服務(wù)器響應(yīng)SYN+ACK(SYN位置為1,ACK位置為1)(Seq為B的序列號(hào)y,ack值為x+1),主機(jī)響應(yīng)的ACK(SYN置為0,ACK位置為1)(Seq為x+1,ack值為y+1)。
(SYN置為1,就表示這是一個(gè)連接請(qǐng)求和連接接收?qǐng)?bào)文)
(FIN=1時(shí),表明此報(bào)文段的發(fā)送方的數(shù)據(jù)已發(fā)送完畢)
判斷發(fā)送的數(shù)據(jù)的編號(hào)范圍:
即找到開(kāi)始發(fā)送數(shù)據(jù)的包(三次握手后),此時(shí)的Seq為編號(hào)開(kāi)頭,截至是下一個(gè)確認(rèn)包ack值減一。ack為期望對(duì)方下一個(gè)發(fā)送的序列號(hào)。
主機(jī)H發(fā)送給服務(wù)器S的數(shù)據(jù)都被接收了嗎:
都接收了,因?yàn)榇_認(rèn)值(ack)為。。。,為接到的最后數(shù)據(jù)編號(hào)加1。
主機(jī)H和服務(wù)器S為本次TCP連接預(yù)留的資源各是多少
題目說(shuō)明了,就是window size,在TCP包頭中。表示格式為:0X4380
TTL:
不嚴(yán)謹(jǐn)。
轉(zhuǎn)為十進(jìn)制,相減得到跳數(shù)。
18-19
概念性:
1.匯集樹(shù):
sink tree,所有節(jié)點(diǎn)到某個(gè)給定節(jié)點(diǎn)的最短路徑的并稱(chēng)為此節(jié)點(diǎn)的匯集樹(shù)。
2.DNS:
一種分布式存儲(chǔ)和訪問(wèn)的域名系統(tǒng)。支持將域名映射為相應(yīng)IP地址的系統(tǒng)。
3.TTL:
規(guī)定一個(gè)分組在網(wǎng)絡(luò)上的生存時(shí)間,避免分組在網(wǎng)絡(luò)上無(wú)休止的循環(huán)。
選擇填空知識(shí)點(diǎn):
最大傳輸速率
回退N如何重傳
一些協(xié)議里面選某個(gè)層的協(xié)議(RIP,PPP,…)
RIP:路由信息協(xié)議,網(wǎng)絡(luò)層。
PPP:點(diǎn)對(duì)點(diǎn)協(xié)議,數(shù)據(jù)鏈路層。
SLIP:串行線路網(wǎng)際協(xié)議,網(wǎng)絡(luò)層
簡(jiǎn)答題:
1.路由轉(zhuǎn)發(fā)問(wèn)題
使用子網(wǎng)掩碼與分組攜帶的目標(biāo)地址“按位與”,若與掩碼相匹配,且子網(wǎng)掩碼位數(shù)最長(zhǎng),則使用該表項(xiàng)的下一跳轉(zhuǎn)發(fā)。
(根據(jù)路由表中掩碼,如22,即前22位均為1。寫(xiě)出二進(jìn)制表示,將目標(biāo)地址寫(xiě)成二進(jìn)制表示,兩者按位相與。若運(yùn)算后,化成十進(jìn)制,與路由表項(xiàng)某一個(gè)相同,則使用改表項(xiàng)的下一跳。若有多個(gè)相同,選擇子網(wǎng)掩碼位數(shù)大的。即最長(zhǎng)前綴優(yōu)先匹配。)
2.電路交換和分組交換
(虛)電路交換:首先建立一個(gè)連接(一條虛電路),在所建立的連接上傳遞數(shù)據(jù),數(shù)據(jù)傳輸完畢后拆除連接。是一種面向連接的技術(shù)。
(包)分組交換:每個(gè)分組攜帶完整的目的地址,獨(dú)自選擇路徑。
比較:電路交換收費(fèi)按分鐘計(jì),分組交換按包計(jì);電路交換需要建立連接,分組交換不需要建立連接。
3.1位滑動(dòng)窗口的過(guò)程(有圖)
時(shí)刻a,初始化,發(fā)送方準(zhǔn)備發(fā)送第0幀,接收方準(zhǔn)備接收第0幀;
時(shí)刻b,發(fā)送方發(fā)送第0幀并等待其確認(rèn),接收方準(zhǔn)備接收第0幀;
時(shí)刻c,發(fā)送方等待第0幀的確認(rèn),接收方正確接收第0幀,發(fā)回第0幀的確認(rèn),準(zhǔn)備接收第1幀;
時(shí)刻d,發(fā)送方收到第0幀的確認(rèn),準(zhǔn)備發(fā)送第1幀,接收方準(zhǔn)備接收第1幀。
4.網(wǎng)橋的工作過(guò)程,如何建立MAC表(ARP)
(交換機(jī),數(shù)據(jù)鏈路層,多端口的網(wǎng)橋。)
網(wǎng)橋工作在數(shù)據(jù)鏈路層,將多個(gè)LAN連接起來(lái),通過(guò)檢查數(shù)據(jù)鏈路層地址轉(zhuǎn)發(fā)幀。
網(wǎng)橋內(nèi)部配備著一個(gè)大的表,這個(gè)表列出了所有的可能目的地址和它隸屬的輸出端口。當(dāng)一幀到達(dá)時(shí),網(wǎng)橋?qū)δ康牡刂愤M(jìn)行查詢,如果目的地址端口和源端口相同,則丟棄該幀;如果不同,就轉(zhuǎn)發(fā)該幀到目的端口;如果目的端口未知,則使用洪泛算法將幀發(fā)送到所有的端口,除了它入境的那個(gè)。
只問(wèn)網(wǎng)橋/交換機(jī)的工作過(guò)程:
交換機(jī)內(nèi)存儲(chǔ)著節(jié)點(diǎn)MAC地址與端口的映射關(guān)系。當(dāng)一個(gè)幀到來(lái)時(shí),查找相應(yīng)的端口轉(zhuǎn)發(fā)。映射表通過(guò)自學(xué)習(xí)建立,通過(guò)不斷刷新維護(hù)。
5.NAT工作過(guò)程
(網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議)
當(dāng)一個(gè)節(jié)點(diǎn)需要向外網(wǎng)發(fā)送數(shù)據(jù)時(shí),將內(nèi)網(wǎng)的私有IP地址轉(zhuǎn)換為公有IP地址,并將私有IP地址、傳輸層端口號(hào)映射為新的傳輸層端口號(hào)。當(dāng)接收一個(gè)數(shù)據(jù)時(shí),通過(guò)映射關(guān)系查找對(duì)應(yīng)的私有IP地址及傳輸層端口號(hào),重新封裝傳遞。
論述題:
1.距離矢量路由和無(wú)窮計(jì)算
距離矢量路由:每臺(tái)路由器周期性的將自己的距離矢量發(fā)送給所有鄰居。每臺(tái)路由器根據(jù)鄰居的距離矢量計(jì)算出自己新的路由表。
無(wú)窮計(jì)算:好消息傳播得快,壞消息傳播得慢。
。。
2.TCP
(1)TCP建立連接的機(jī)制,說(shuō)明這種機(jī)制如何避免重復(fù)連接
TCP使用三步握手協(xié)議建立連接:連接請(qǐng)求方選擇一個(gè)合法的序列號(hào),連接應(yīng)答方選擇一個(gè)合法的序列號(hào)并確認(rèn)連接請(qǐng)求方得序列號(hào),連接請(qǐng)求方確認(rèn)應(yīng)答方的序列號(hào)。根據(jù)序列號(hào)、確認(rèn)號(hào)等判斷重復(fù)分組。
(2)TCP流量如何控制,從網(wǎng)絡(luò)狀態(tài)和接受者緩存兩個(gè)角度(就是擁塞窗口和流量窗口兩個(gè)角度)
流量控制包括兩個(gè)窗口:反映接收方接受能力的window size,以及反映網(wǎng)絡(luò)傳輸能力的擁塞窗口,依據(jù)慢啟動(dòng)等方法賦值。最終發(fā)送的最大速率取兩個(gè)窗口值得最小值。
15-16
概念性:
1.廣播:
任何一臺(tái)機(jī)器發(fā)出的數(shù)據(jù)包能被其他人任何機(jī)器收到。每個(gè)數(shù)據(jù)包的地址字段指定了預(yù)期的接收方,只有預(yù)期的接收方會(huì)做出應(yīng)答,其他的機(jī)器會(huì)忽略這個(gè)數(shù)據(jù)包。
2.組播:
將數(shù)據(jù)包發(fā)給一組機(jī)器,即所有機(jī)器的一個(gè)子集。
3.多路復(fù)用:
使多個(gè)信號(hào)可以共享同一傳輸路線,分為頻分復(fù)用、波分復(fù)用、時(shí)分復(fù)用。
計(jì)算題:
1.子網(wǎng)掩碼、主機(jī)范圍
IP地址=網(wǎng)絡(luò)號(hào)+主機(jī)號(hào),子網(wǎng)掩碼標(biāo)識(shí)了哪幾位為網(wǎng)絡(luò)號(hào)。前幾位為1,則網(wǎng)絡(luò)號(hào)為幾位。將題給IP地址與子網(wǎng)掩碼按位相與,得到的就是這個(gè)IP地址的網(wǎng)絡(luò)號(hào)。主機(jī)范圍:該網(wǎng)絡(luò)號(hào)+1~主機(jī)號(hào)全置為1-1(排除‘主機(jī)號(hào)’全0全1的)
2.信道數(shù)據(jù)傳輸速率
eg,采樣率為2400/s,如果采用16種相位、8種振幅、8種頻率的信號(hào)調(diào)制技術(shù),計(jì)算在這個(gè)信道的假定一個(gè)信道的數(shù)據(jù)傳輸速率。
首先,使用奈奎斯特定理(無(wú)噪聲)最大速率=2Blog2V,香農(nóng)定理(有噪聲)最大速率=Blog2(1+S/N)。
B表示帶寬。速率單位bps。
V一般指離散級(jí)數(shù),即可識(shí)別的信號(hào)個(gè)數(shù),幾種碼元。題中相位、振幅等相乘,為V。
采樣率與帶寬的關(guān)系:
帶寬,信號(hào)的最高頻率與最低頻率的差值。
采樣率,采樣頻率必須大于被采樣信號(hào)帶寬的兩倍,
所以本題,最大帶寬1200。
簡(jiǎn)答題:
1.滑動(dòng)窗口協(xié)議
分為一位滑動(dòng)窗口協(xié)議、回退N協(xié)議(GBN)、選擇重傳協(xié)議。
GBN:發(fā)生了超時(shí)現(xiàn)象,若發(fā)送方只收到0、2、3號(hào)幀的確認(rèn),則發(fā)送方需要重發(fā)的幀數(shù)為4。
需要重傳最后一個(gè)確認(rèn)的幀以后的所有幀。盡管沒(méi)有1號(hào)幀的確認(rèn),但3號(hào)收到了就說(shuō)明1號(hào)收到了,只是確認(rèn)包丟失了。
2.DNS工作原理
應(yīng)用程序調(diào)用名為解析器的庫(kù)程序,將名字作為參數(shù)傳遞給此程序。解析器向本地DNS服務(wù)器發(fā)送一個(gè)包含該名字的請(qǐng)求報(bào)文;本地DNS服務(wù)器查詢?cè)撁?,并且返回一個(gè)包含該名字對(duì)應(yīng)IP地址的響應(yīng)報(bào)文給解析器。查詢報(bào)文和響應(yīng)報(bào)文都作為UDP數(shù)據(jù)包發(fā)送。
3.路由協(xié)議
(1)說(shuō)明一個(gè)IP分組到達(dá)一臺(tái)路由器后,其主要的轉(zhuǎn)發(fā)過(guò)程
當(dāng)新的消息進(jìn)入路由器時(shí),首先進(jìn)入等待隊(duì)列,通過(guò)一定的調(diào)度策略進(jìn)行調(diào)度。調(diào)度到這個(gè)消息時(shí),獲取其目的地址,將目的地址分別與路由表中的每一項(xiàng)網(wǎng)絡(luò)號(hào)的子網(wǎng)掩碼進(jìn)行比對(duì),選取最長(zhǎng)匹配的網(wǎng)絡(luò)表項(xiàng)進(jìn)行轉(zhuǎn)發(fā)。當(dāng)然,沒(méi)有查詢到匹配的時(shí)候,轉(zhuǎn)發(fā)到缺省表項(xiàng),也就是上一層路由,繼續(xù)尋找。
(2)分布于路由器的路由表中可能存在環(huán)路,IP協(xié)議是如何應(yīng)對(duì)這一問(wèn)題的?
設(shè)置一個(gè)最大跳數(shù),使得跳數(shù)減為0時(shí),數(shù)據(jù)包丟棄,防止陷入環(huán)路。
4.TCP協(xié)議實(shí)現(xiàn)端到端的可靠的數(shù)據(jù)傳輸,其數(shù)據(jù)發(fā)送速率取決于兩個(gè)方面:網(wǎng)絡(luò)傳輸能力,通信雙方的處理和緩存能力。這兩種能力分別使用擁塞窗口、流量控制窗口來(lái)描述。
(1)流量控制窗口大小的取值是如何實(shí)現(xiàn)的?
接收端可以緩沖的字節(jié)數(shù)
(2)擁塞窗口大小的取值是如何實(shí)現(xiàn)的
發(fā)送端可以往網(wǎng)絡(luò)發(fā)送的字節(jié)數(shù)
(3)如何使用這兩個(gè)窗口的取值來(lái)確定當(dāng)前數(shù)據(jù)的發(fā)送速率的
取兩者之間的最小值然后除連接往返時(shí)間
13-14
概念性
1.P2P:
對(duì)等通信,指兩個(gè)主機(jī)在通信時(shí)并不區(qū)分哪–個(gè)是服務(wù)請(qǐng)求方還是服務(wù)提供方,只有兩個(gè)主機(jī)都運(yùn)行了對(duì)等鏈接連接,他們就可以進(jìn)行平等的對(duì)等連接通信。
計(jì)算題
1.曼徹斯特編碼等
簡(jiǎn)答題
1.發(fā)生沖突后,二進(jìn)制指數(shù)后退算法
2.TCP
(1)建立連接
TCP使用三步握手協(xié)議建立連接:連接請(qǐng)求方選擇一個(gè)合法的序列號(hào),連接應(yīng)答方選擇一個(gè)合法的序列號(hào)并確認(rèn)連接請(qǐng)求方得序列號(hào),連接請(qǐng)求方確認(rèn)應(yīng)答方的序列號(hào)。
(2)釋放連接
單向連接的釋放:釋放連接時(shí),發(fā)出FIN位置1的TCP段并啟動(dòng)定時(shí)器,在收到確認(rèn)后關(guān)閉連接。若無(wú)確認(rèn)并且超時(shí),也關(guān)閉連接。
四次揮手釋放:首先主動(dòng)釋放的一方發(fā)送連接釋放請(qǐng)求;然后被動(dòng)釋放的一方收到主動(dòng)釋放發(fā)送的請(qǐng)求后,發(fā)送確認(rèn)報(bào)文;接著被動(dòng)釋放方再次發(fā)送連接釋放請(qǐng)求報(bào)文;最后主動(dòng)釋放方收到被動(dòng)釋放方的釋放請(qǐng)求后發(fā)送確認(rèn)報(bào)文即可。
3.回退 N協(xié)議和選擇性重發(fā)協(xié)議在兩個(gè)窗口上有何異同
回退:發(fā)送窗口大小>1,接收窗口大小=1
選擇性重發(fā):發(fā)送窗口大小>1,接收窗口大小>1
4.電話系統(tǒng)
1)本地回路使用到的主要技術(shù)是什么?有哪些實(shí)現(xiàn)方式?
2)主干線使用到的主要技術(shù)是什么?有哪些實(shí)現(xiàn)方式?
3)交換局使用到的主要技術(shù)是什么?有哪些實(shí)現(xiàn)方式?
4)電話系統(tǒng)為什么不使用平面系統(tǒng),而是使用分層系統(tǒng)?
1)數(shù)字信號(hào):不歸零、不歸零逆轉(zhuǎn)、曼徹斯特編碼、差分曼徹斯特編碼。模擬信號(hào):幅移鍵控、頻移鍵控、相移鍵控、相對(duì)調(diào)相。
2)多路復(fù)用:時(shí)分復(fù)用、頻分復(fù)用、波分復(fù)用。
3)交換局:電路交換、包交換。
4)因?yàn)閷⒚颗_(tái)電話和其他所有電話都連接起來(lái)的模式是不現(xiàn)實(shí)的,使用平面系統(tǒng),電話難以管理,浪費(fèi)人力物力。
綜合題
在山大校園網(wǎng)輸入xxx來(lái)訪問(wèn)劍橋大學(xué)計(jì)算機(jī)系的網(wǎng)站。
(1)指出通信過(guò)程中各個(gè)層次使用到的幾個(gè)重要的地址,以及這些地址之間的轉(zhuǎn)換
(2)根據(jù)網(wǎng)絡(luò)參考模型,描述數(shù)據(jù)在各個(gè)層次的封裝過(guò)程
(3)指出通信過(guò)程中各個(gè)層次使用到的主要網(wǎng)絡(luò)協(xié)議,解釋這些協(xié)議在通信中完成的功能
應(yīng)用層:HTTP:WWW訪問(wèn)協(xié)議,DNS:域名解析服務(wù)
傳輸層:TCP:HTTP提供可靠的數(shù)據(jù)傳輸,UDP:DNS使用UDP傳輸
網(wǎng)絡(luò)層:IP:IP包傳輸和路由選擇,ICMP:提供網(wǎng)絡(luò)傳輸中的差錯(cuò)檢測(cè),ARP:將本機(jī)的默認(rèn)網(wǎng)關(guān)IP地址映射城物理MAC地址
在瀏覽器輸入xxx,DNS獲取iP地址,在應(yīng)用層將要發(fā)送的數(shù)據(jù)內(nèi)容形成了應(yīng)用層的報(bào)文data,發(fā)送到傳輸層。
傳輸層,,,然后待發(fā)送的數(shù)據(jù)段發(fā)送到網(wǎng)絡(luò)層。
網(wǎng)絡(luò)層開(kāi)始負(fù)責(zé)將這樣的數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸,如何穿過(guò)路由器,最終到達(dá)目的地址。在這里,根據(jù)目的ip地址,就需要查找下一跳路由的地址。首先在本機(jī),要查找本機(jī)的路由表。如果是在局域網(wǎng)中,每臺(tái)電腦都有自己的私網(wǎng)IP,在對(duì)外傳輸?shù)臅r(shí)候,會(huì)經(jīng)過(guò)NAT轉(zhuǎn)換,改成路由器的公網(wǎng)IP。
數(shù)據(jù)鏈路層,MAC尋址。
斷開(kāi)連接。
15-16
簡(jiǎn)答題
1.數(shù)據(jù)鏈路層協(xié)議實(shí)現(xiàn)相鄰節(jié)點(diǎn)之間可靠的數(shù)據(jù)傳輸。根據(jù)所學(xué)任何一種數(shù)據(jù)鏈路層協(xié)議, 簡(jiǎn)述實(shí)現(xiàn)可靠傳輸?shù)倪^(guò)程。
滑動(dòng)窗口協(xié)議。
過(guò)程見(jiàn)上。
2.CAMA/CD
(1)CSMA工作原理
當(dāng)有一個(gè)站想發(fā)送數(shù)據(jù)時(shí),先偵聽(tīng)信道上是否有其他站正在傳遞數(shù)據(jù),如果沒(méi)有,它就發(fā)送數(shù)據(jù),如果有,就等到信道變成空閑,然后發(fā)送一幀,如果發(fā)生沖突,就隨機(jī)等待一段時(shí)間再重復(fù)上述過(guò)程。
(2)CD協(xié)議
不僅在發(fā)送前偵聽(tīng)信道,在發(fā)送過(guò)程中也偵聽(tīng)信道,一旦檢測(cè)到?jīng)_突就立即停止傳輸信息,等待一段時(shí)間再發(fā)送。
(3)CSMA/CD 協(xié)議可以直接應(yīng)用到無(wú)線局域網(wǎng)嗎?為什么?
不能。無(wú)線通信系統(tǒng)通常不能檢測(cè)出正在發(fā)生的沖突。無(wú)線電傳輸范圍有限,無(wú)線局域網(wǎng)中的站無(wú)法給其他所有站發(fā)送幀,也無(wú)法接收到來(lái)自所有站的幀。
綜合題文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-772923.html
(3)外部網(wǎng)關(guān)路由協(xié)議(BGP),它的報(bào)文被封裝到TCP協(xié)議段中進(jìn)行運(yùn)輸。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-772923.html
到了這里,關(guān)于山東大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)期末的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!