- 本文為 計(jì)算機(jī)網(wǎng)絡(luò) 第五版 的知識(shí)點(diǎn)總結(jié)
- 較為零散,可差缺補(bǔ)漏式的看看
引言
- 廣域網(wǎng)使用router將多個(gè)局域網(wǎng)連接起來
- 廣域網(wǎng)中通信是點(diǎn)對(duì)點(diǎn)
- 報(bào)文流有邊界,字節(jié)流無邊界
- 低三層(物理、數(shù)據(jù)鏈路、網(wǎng)絡(luò))被稱為 通信子網(wǎng)
- data link是點(diǎn)到點(diǎn)(host主機(jī)到host主機(jī)),transfer是端到端(進(jìn)程到進(jìn)程)
- OSI模型的網(wǎng)絡(luò)層可以是面向連接或無連接的,TCP/IP的網(wǎng)絡(luò)層只能是無連接的(因?yàn)槭褂玫腎P協(xié)議無連接)
- 各個(gè)硬件設(shè)備:
- Hub物理層。不能隔離沖突域和廣播域
- Switch、Bridge數(shù)據(jù)鏈路層。可以隔離沖突域,不可隔離廣播域
- Router網(wǎng)絡(luò)層??梢愿綦x沖突域和廣播域
物理層
基帶傳輸,直接傳輸0,1電壓
物理層需要做寬帶調(diào)制和頻分復(fù)用
-
Nyquist(奈式)定理,決定了傳播信號(hào)速率上限
其中W為采樣率,單位是Hz;V是進(jìn)制數(shù)
-
Shannon(香農(nóng))定理,決定了有噪聲情況下的最大傳播速率
其中W單位Hz,S/N為信噪比。(db轉(zhuǎn)換為10lg(S/N))
各個(gè)信號(hào)編碼模式
-
分組交換有兩種:
- 數(shù)據(jù)報(bào)
- 虛電路:先在邏輯上建立一條虛電路,之后類似電路交換
數(shù)據(jù)鏈路層
-
data link要做:
- 流量控制:控制發(fā)送速度
- 停等協(xié)議(即Wt=Wr=1的滑動(dòng)窗口)
- 滑動(dòng)窗口協(xié)議:Wt發(fā)送窗口,表示還可以發(fā)送多少,收到ACK向前滑;Wr接受窗口,收到就前滑并返回ACK
- 后退N協(xié)議:按序發(fā)送N個(gè)幀后,發(fā)現(xiàn)N前的那個(gè)未收到ACK,就將其和其之后的全部重傳。此外,連續(xù)正確才發(fā)送ACK,即第N幀的ACK表示N和N以前的都正確。發(fā)送窗口需要小于2^n-1,否則無法分辨新舊幀
- SR選擇重傳協(xié)議:和GBN類似,但在發(fā)現(xiàn)差錯(cuò)后會(huì)緩存收到的正確幀,不必全部重傳。此外,發(fā)現(xiàn)懷疑有錯(cuò),需要發(fā)送NAK來表示懷疑。其Wt=Wr
- 差錯(cuò)控制:
- CRC冗余校驗(yàn),一
- 海明碼可以糾錯(cuò)
- ARQ重傳,F(xiàn)EC前向糾錯(cuò)
- 成幀:即定界并打包。
- 比特填充:例如HDLC,F(xiàn)(011111110)作為界。中間5個(gè)1填1個(gè)0
- 字節(jié)填充:例如PPP
- 流量控制:控制發(fā)送速度
以太網(wǎng)是無確認(rèn)無連接,無線是有確認(rèn)無連接
-
信道利用率的計(jì)算:
其中L為發(fā)送的比特?cái)?shù),C為傳輸率,T為發(fā)送周期,R為單播時(shí)間。此外,如果是滑動(dòng)窗口協(xié)議,則為:
吞吐量=利用率*發(fā)送速率
注意ACK幀是額外發(fā)送的
介質(zhì)訪問控制子層(MAC)
- 是data link的底部。使得兩結(jié)點(diǎn)之間相互通信,不會(huì)互相干擾
- 多路復(fù)用:1條鏈路,多個(gè)信道
- FDM頻分復(fù)用:可以保護(hù)頻帶
- TDM時(shí)分:時(shí)間片,輪流來
- WDM波分
- CDM碼分:用不同的編碼方式來區(qū)分。一種方法,設(shè)置碼片使得任意兩個(gè)碼片正交。如果要發(fā)送1,則發(fā)送該碼片;如果發(fā)送0則發(fā)送反碼片(全部取反)。之后將存在的各個(gè)結(jié)果累加。將信號(hào)分到各個(gè)編碼,只需要將總信號(hào)和碼片點(diǎn)積即可
- 隨機(jī)訪問介質(zhì):解決不同用戶訪問同一個(gè)信道的問題
-
純ALOHA,自由,用戶占全部速率,碰撞則重傳。其吞吐量為:
其中G為負(fù)載。在G為0.5時(shí),S為0.184,為最大吞吐量
-
時(shí)隙ALOHA,將時(shí)間分為多個(gè)時(shí)隙,而非連續(xù)的時(shí)間。其吞吐量為:
在G為1時(shí),S為0.368,為最大吞吐量
-
CSMA (Carrier Sense Multiple Access),載波偵聽。其思想為不斷檢測信道是否被占用,直到發(fā)現(xiàn)信道空閑之后再發(fā)送。其可分為以下幾種:
- 1-persistent CSMA。1堅(jiān)持的含義是,監(jiān)聽如果發(fā)現(xiàn)信道空閑,發(fā)送的概率是1。如果監(jiān)聽忙,等待;如果發(fā)現(xiàn)沖突,隨機(jī)等待
- non-persistent CSMA。如果忙,隨機(jī)等待一段時(shí)間,然后再繼續(xù)監(jiān)聽
- p-persistent CSMA。如果空閑,以p的概率發(fā)送
- CSMA/CD (Collision Detection)。802.3(以太網(wǎng))就采用此,是一種半雙工。其思維是監(jiān)聽碰撞,且邊聽邊發(fā)。
- 注意,假設(shè)總線傳播時(shí)延為τ,則需要2τ時(shí)間知道是否沖突。所以,最小幀長=2τ*傳輸速率。
- 以太網(wǎng)2τ=51.2μs,其傳輸速率為10Mb/s。故其最小幀長為512b = 64B
- 一旦發(fā)生了沖突,則使用二進(jìn)制指數(shù)退避來避免,其退避時(shí)間為2rτ
- CSMA/CA (Collision Avoidance)。802.11a(wifi)使用此。其思維為,盡力避免沖突,不等待檢測沖突。具體為先等待,再進(jìn)入沖突窗口,計(jì)算退避時(shí)長。
- 輪詢/令牌
-
- NIC網(wǎng)卡是計(jì)算機(jī)與傳輸介質(zhì)之間的接口
網(wǎng)絡(luò)層
- 路由器作用:路由選擇、分組轉(zhuǎn)發(fā)
- 動(dòng)態(tài)路由:
- 距離向量,RIP
- 鏈路狀態(tài),OSPF
- 層次路由:IGP(域內(nèi)),EGP(域間,BGP)
- 路由表的構(gòu)成:目標(biāo)IP,子網(wǎng)掩碼,下一跳IP,接口號(hào)
- IPv4,注意首部長度、總長度、片偏移分別為4B、1B、8B。注意DF、MF值和分片的關(guān)系等。
- 通常下,IPv4地址可以分為網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),網(wǎng)絡(luò)只分配網(wǎng)絡(luò)號(hào)。
- 網(wǎng)絡(luò)號(hào)根據(jù)其數(shù)值,可以分為ABC類網(wǎng)絡(luò)
- 主機(jī)號(hào)全零表示本機(jī),全1表示廣播
- 注意:計(jì)算IP地址分配問題,可以支持多少主機(jī)
- 而如果有子網(wǎng)掩碼的話,則變?yōu)榱巳?jí)IP,{網(wǎng)絡(luò)號(hào), 子網(wǎng), 主機(jī)號(hào)}。子網(wǎng)掩碼和IP逐位與得到結(jié)果
- ARP是地址解析協(xié)議,從IP到MAC
- DHCP是動(dòng)態(tài)分配IP的協(xié)議(是個(gè)應(yīng)用層協(xié)議,使用UDP)
- ICMP用于報(bào)告差錯(cuò)和異常(網(wǎng)絡(luò)層協(xié)議)
- IPv6的首部是8B的整倍數(shù),其地址是128位
- 注意,IPv6中,連續(xù)的0可以省略,直接寫作::。但是一個(gè)地址中只能有一個(gè)雙冒號(hào)。(因?yàn)槎鄠€(gè)雙冒號(hào)則無法推斷0的個(gè)數(shù))
傳輸層
- UDP:
- 8B首部
- 計(jì)算校驗(yàn)和時(shí),以2B為一組,求和后其反碼為校驗(yàn)和(要加上偽首部)
- TCP:
- 20B首部
- 計(jì)算校驗(yàn)和時(shí),以4B為一組算
- 面向字節(jié)流
- 其頭部有幾個(gè)特殊的字段:
- 確認(rèn)號(hào):希望得到下一個(gè)TCP包的序號(hào)
- ACK(acknowledge):其值為1時(shí),確認(rèn)號(hào)才有用
- SYN(synchronize):在建立連接時(shí)有用
- FIN:終止符
- 建立連接的過程,三次握手:
- 請(qǐng)求,去
- 同意,回
- 確認(rèn),去
- 斷開連接的過程,四次揮手:
- 發(fā)起斷開,去
- 同意并開始最后一次傳輸,回
- 傳輸完成,回
- 確認(rèn)斷開,去。需要等待2MSL之后才能確認(rèn)關(guān)閉了
- 過程中如果收到了超時(shí)或者冗余的ACK,都會(huì)重傳
- 流量控制:利用滑動(dòng)窗口來控制發(fā)送速率
- 擁塞控制:其思想是有接受窗口rwnd和擁塞窗口cwnd,可發(fā)送的數(shù)目為他們的最小值。rwnd固定,而cwnd不斷增長,其增長方式有以下兩種:
- Tahoe慢開始+擁塞避免。cwnd從1開始,每過一個(gè)時(shí)間單位翻倍;如果到達(dá)了thresh,則變?yōu)槊看渭?。如果過程中發(fā)生了擁塞,則thresh減半,cwnd重新置為1
- Reno快重傳+快恢復(fù)。與Tahoe類似,但發(fā)生擁塞之后thresh減半,cwnd從減半后的thresh開始加1