僅適用於計算機網絡第五版謝希仁
第一章
時延
傳播時延=傳輸距離/傳播速率=段數x每段傳播時延
發送時延=數據長度/發送速率
已知原點到終點有k段鏈路
第二章物理層
基本轉換:時鍾頻率(HZ)與數據傳輸速率(bit/s)兩者是相同的概念
1khz=1000hz,1B=8bit
1Gbit/s=10^3Mbit/s,
1Mbit/s=10^3Kbit/s,
1Kbit/s=10^3bit/s,
2.1奈式准則
奈氏公式:C = B * log2 N ( bps ),最高碼元傳輸速率B
例題:假定某信道受奈氏准則限制的最高碼元速率為20000碼元/秒.如果采用振幅調制,把碼元的振幅划分為16個不同等級來傳送,那么可以獲得多高的數據率?
分成16個等級,則用二進制表示16個不同的數需要4位,0000 到1111
log2(16)=4,表示一個碼元4bit;C=4*20000bit/s=80000bit/s
2.2香農公式
香農公式在數據通信中的意義是:只要信息傳輸速率低於信道極限傳輸信息速率,則可實現無差錯傳輸
- 信道的極限信息傳輸速率 C 可表達為:
其中:W 為信道的帶寬(以 Hz 為單位);
S 為信道內所傳信號的平均功率;
N 為信道內部的高斯噪聲功率。
碼頭傳輸速率受奈式准則限制,信息傳輸速率受香農公式限制
例題:已知帶寬W和最高信道傳輸速率C,求信噪比
解:S/N = 2*(C/W) - 1
第三章數據鏈路層
3.1CRC循環冗余檢驗的原理
- 在發送端,先把數據划分為組。假定每組 k 個比特。
- 假設待傳送的一組數據 M = 101001(現在 k = 6)。我們在 M 的后面再添加供差錯檢測用的 n 位冗余碼一起發送。
- 用二進制的模 2 運算
- 進行 2n 乘 M 的運算,這相當於在 M 后面添加 n 個 0得被除數。
- 被除數除以事先選定好的長度為 (n + 1) 位的除數 P,得出商是 Q 而余數是 R,余數 R 比除數 P 少 1 位,即 R 是 n 位。
- 將余數 R 作為冗余碼拼接在數據 M 后面發送出去。
- 接收端對收到的每一幀進行 CRC 檢驗
- 若得出的余數 R = 0,則判定這個幀沒有差錯,就接受 (accept)。
- 若余數 R != 0,則判定這個幀有差錯,就丟棄。
模二運算
只要第一位非0商就是1 ,只要第一位是0商就是0,
余數為對應位異或,如果位數比除數還小,不再繼續運算
3.2最短幀長計算
涉及知識
CSMA/CD協議
- 載波監聽多點接入 / 碰撞檢測
- “載波監聽”是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞
爭用期
-
最先發送數據幀的站,在發送數據幀后至多經過時間 2t(兩倍的端到端往返時延)就可知道發送的數據幀是否遭受了碰撞。
-
以太網的端到端往返時延 2t稱為爭用期,或碰撞窗口。
-
經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。
解題步驟
直接求最短幀長題
- 求單程傳播時間=網絡長度/傳播速率,爭用期=2 x 單程傳播時間
- 為按照CSMA/CD協議工作,最小幀發射時間>=爭用期
- 因此,爭用期內可發送比特數(最短幀長)=爭用期 x 數據率
3.3集線器和交換機分享帶寬
n個站點連接到一個帶寬M的以太網集線器/交換機上,站點帶寬多少?
解題步驟
- 集線器共享帶寬,每個站點平分集線器帶寬
- 交換機獨享帶寬,每個站點帶寬直接=交換機帶寬
3.4碰撞檢測
- 計算機邊發送數據邊檢測信道上的信號電壓大小。
- 當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認為總線上至少有兩個站同時在發送數據,表明產生了碰撞。
- 所謂“碰撞”就是發生了沖突。因此“碰撞檢測”也稱為“沖突檢測”
- 每一個正在發送數據的站,一旦發現總線上出現了碰撞,就要立即停止發送,免得繼續浪費網絡資源,然后等待一段隨機時間后再次發送。
第四章網絡層
4.1IP數據報分片
標志字段的最低位是 MF (More Fragment)。MF =1 表示后面“還有分片”。MF = 0 表示最后一個分片。
-
片偏移占13 位,指出:較長的分組在分片后某片在原分組中的相對位置。
-
片偏移以 8 個字節為偏移單位。
-
分片例子
- 一數據報的總長度為 3820 字節,其數據部分的長度為 3800 字節(使用固定首部),需要分片為長度不超過 1420 字節的數據報片。
- 因固定首部長度為 20 字節,因此每個數據報片的數據部分長度不能超過 1400 字節。
- 於是分為 3 個數據報片,其數據部分的長度分別為 1400、1400 和 1000 字節。
- 原始數據報首部被復制為各數據報片的首部,但必須修改有關字段的值。
4.2子網掩碼->網絡地址
(IP 地址) AND (子網掩碼) =網絡地址
經典例題
已知IP地址和子網掩碼,試求網絡地址
- 將IP地址第三個字節二進制
- 將子網掩碼二進制
- 二者相與再化成點分十進制,則為網絡地址
不同的子網掩碼得出相同的網絡地址,但不同的掩碼的效果是不同的。
4.3路由器轉發分組算法
- 從收到的分組的首部提取目的 IP 地址 D。
- 先用各網絡的子網掩碼和 D 逐位相“與”,看是否和相應的網絡地址匹配。若匹配,則將分組直接交付。否則就是間接交付,執行 (3)。
- 若路由表中有目的地址為 D 的特定主機路由,則將分組傳送給指明的下一跳路由器;否則,執行 (4)。
- 對路由表中的每一行,將子網掩碼和 D 逐位相“與”。若結果與該行的目的網絡地址匹配,則將分組傳送給該行指明的下一跳路由器;否則,執行 (5)。
- 若路由表中有一個默認路由,則將分組傳送給路由表中所指明的默認路由器;否則,執行 (6)。
- 報告轉發分組出錯。
解題步驟
-
提取發送的分組的目的 IP 地址:128.30.33.138
-
H1 首先檢查主機 128.30.33.138 是否連接在本網絡上
如果是,則直接交付;
否則,就送交路由器 R1,並逐項查找路由表。 -
主機 H1 首先將本子網的子網掩碼 255.255.255.128與分組的 IP 地址 128.30.33.138 逐比特相“與”(AND 操作),由於不等於H1網絡地址128.30.33.0,因此 H1 必須把分組傳送到路由器 R1然后逐項查找路由表
-
R1 收到分組后就把分組的 IP 地址 128.30.33.138 與路由表目的網絡地址的子網掩碼逐一AND操作,看結果是否等於目的網絡地址
- 255.255.255.128 AND 128.30.33.138 = 128.30.33.128
匹配子網2 - 255.255.255.0AND 128.30.33.138 = 128.30.33.0
不匹配! - 表明子網 2 就是收到的分組所要尋找的目的網絡,經接口1轉發
- 255.255.255.128 AND 128.30.33.138 = 128.30.33.128
相似例題:4-20
4.4路由聚合
有如下的4個/24地址塊,試進行最大可能性的聚會。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
212=(11010100)2,56=(00111000)2
132=(10000100)2,
133=(10000101)2
134=(10000110)2,
135=(10000111)2
所以共同的前綴有22位,即11010100 00111000 100001,聚合的CIDR地址塊是:212.56.132.0/22
4.5子網划分!!
CIDR 地址塊
-
CIDR 把網絡前綴都相同的連續的 IP 地址組成“CIDR 地址塊”
-
128.14.32.0/20 表示的地址塊共有 2^12 個地址(因為斜線后面的 20 是網絡前綴的位數,而總共32位,所以這個地址的主機號是 12 位)
-
128.14.32.0/20 地址塊的最小地址:128.14.32.0
128.14.32.0/20 地址塊的最大地址:128.14.47.255
最小到最大,12位主機號從全0遞增到全1,全 0 和全 1 的主機號地址一般不使用,可分配地址=總地址-2
-
CIDR 記法
-
10.0.0.0/10 可簡寫為 10/10,也就是把點分十進制中低位連續的 0 省略。
-
10.0.0.0/10 隱含地指出 IP 地址 10.0.0.0 的掩碼是 255.192.0.0。
-
網絡前綴的后面加一個星號 * 的表示方法,如 00001010 00*,在星號 * 之前是網絡前綴,而星號 * 表示 IP 地址中的主機號,可以是任意值。
CIDR 地址塊划分
- 地址數=2^(主機位數),主機位數32-斜線后面標記的網絡位數,如大學地址數1024 = 2^(32-22)
- 為了使1,2,3,4系區分,在新增位加了1
- 廣播地址是主機號全為1
4.6最長前綴匹配
-
在查找路由表時可能會得到不止一個匹配結果。
-
當不同掩碼都匹配時,用最長前綴匹配機制找匹配更多的,更具體
-
最長前綴匹配又稱為最長匹配或最佳匹配
-
選擇兩個匹配的地址中更具體的一個,即選擇最長前綴的地址,第二個項目。
第五章運輸層
擁塞控制
簡答題
集線器,交換機,路由器
動態主機配置協議 DHCP
- 在協議軟件中給這些參數賦值的動作叫做協議配置。
- 動態主機配置協議 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用連網 (plug-and-play networking) 的機制。
- 需要 IP 地址的主機在啟動時就向 DHCP 服務器廣播發送發現報文(DHCPDISCOVER),這時該主機就成為 DHCP 客戶。
- DHCP 服務器的回答報文叫做提供報文
- 並不是每個網絡上都有 DHCP 服務器,這樣會使 DHCP 服務器的數量太多。現在是每一個網絡至少有一個 DHCP 中繼代理,DHCP 中繼代理以單播方式轉發發現報文
- DHCP 服務器分配給 DHCP 客戶的 IP 地址的臨時的,DHCP 協議稱這段時間為租用期。
DHCP服務工作流程
- 尋找DHCP服務器
- 分配IP地址
- 接受IP地址
- IP地址分配確認
- 重新登錄
- 更新租約
內部網關協議OSPF
開放,最短路徑優先OSPF,采用分布式鏈路狀態協議
三個要點
- 向本自治系統中所有路由器發送信息,這里使用的方法是洪泛法
- 發送的信息就是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部分信息。
- 只有當鏈路狀態發生變化時,才向本自治系統中所有路由器發送信息
鏈路狀態數據庫
- 由於各路由器之間頻繁地交換鏈路狀態信息,因此所有的路由器最終都能建立一個鏈路狀態數據庫。
- 這個數據庫實際上就是全網的拓撲結構圖,它在全網范圍內是一致的,能較快地進行更新
划分區域
- 在一個區域內部的路由器只知道本區域的完整網絡拓撲,而不知道其他區域的網絡拓撲的情況,減少整個網絡上的通信量
- OSPF 使用層次結構的區域划分。在上層的區域叫做主干區域
- 主干區域的標識符規定為0.0.0.0。主干區域的作用是用來連通其他在下層的區域。
OSPF特點
- OSPF 不用 UDP 而是直接用 IP 數據報傳送
- OSPF 構成的數據報很短,可以不必將長的數據報分片傳送。但分片傳送的數據報只要丟失一個,就無法組裝成原來的數據報,而整個數據報就必須重傳
- OSPF 對於不同類型的業務可計算出不同的路由。
- 如果到同一個目的網絡有多條相同代價的路徑,那么可以將通信量分配給這幾條路徑。這叫做多路徑間的負載平衡
- 所有在 OSPF 路由器之間交換的分組都具有鑒別的功能。
- 支持可變長度的子網划分和無分類編址 CIDR
- 當互聯網規模很大時,OSPF 協議要比距離向量協議 RIP 好得多
- OSPF 沒有“壞消息傳播得慢”的問題
OSPF分組
- 問候 (Hello) 分組。
- 數據庫描述 (Database Description) 分組。
- 鏈路狀態請求 (Link State Request) 分組。
- 鏈路狀態更新 (Link State Update) 分組,用洪泛法對全網更新鏈路狀態。
- 鏈路狀態確認 (Link State Acknowledgment) 分組。