計算機網路自頂向下方法 習題參考答案 第四章
複習題
R1.
網路層分組叫做資料報。路由器處於第三層的,鏈路交換機是第二層
R2.
資料報網路中兩個最重要的功能是:轉發和路由,虛電路網路中增加了一項:連線建立
R3.
轉發是指在路由器內部將輸入埠的分組轉移到正確的輸出埠;而路由是指路由器決定從源到目的地的路徑
R4.
是的
R5.
略
R6.
IP電話等
R7.
有了影子副本,就可以在每個輸入埠本地進行轉發決策,而無需基於每個資料包呼叫集中式路由處理器,從而避免集中處理瓶頸。
R8.
分別是記憶體交換,匯流排交換和縱橫結構。只有縱橫結構可以並行轉發。
R9.
如果分組到達的速率大於交換結構的速率,那麼就會造成排隊,最終佇列越來越長,導致分組丟失。解決方法就是提升交換結構的速率至 n 倍的輸入線路速率,n 是埠數
R10.
假設輸入速率和輸出速率一致,當分組到達單個輸出埠的速率大於線路速率時,就會造成排隊,最終佇列越來越長,導致分組丟失。增加交換結構的速率對減緩排隊現象沒有任何幫助。
R11.
HOL:head-of-the-line
HOL阻塞的意思是,佇列最前端的分組由於某種原因被阻塞,它後面的分組即使可以被轉發結構轉發,也需要等到最前端被轉發之後才可以被轉發。
它出現在輸入埠。
R12.
路由器有 IP 地址,每一個介面都有一個 IP
R13.
11011111.00000001.00000011.00011011
R14.
略
R15.
8、3
R16.
20+20/20+20+40 = 50%
50% 的開銷
R17.
IP 頭部中“協議”欄位,可以用來判斷是 TCP 或 UDP 或其他。
R18.
無線路由器內建 DHCP 伺服器,使用 DHCP 分發 IP 地址等。當然了,路由器也使用 NAT,因為只有一個公網 IP 要分配個五臺 PC。
R19.
略
R20.
同意,因為 IPv6 的資料報被封裝在 IPv4 的資料報中
R21.
鏈路狀態路由協議是層次式的,網路中的路由器並不向鄰居傳遞“路由項”,而是通告給鄰居一些鏈路狀態。與距離向量路由協議相比,鏈路狀態協議對路由的計算方法有本質的差別。距離向量協議是平面式的,所有的路由學習完全依靠鄰居,交換的是路由項。鏈路狀態協議只是通告給鄰居一些鏈路狀態。執行該路由協議的路由器不是簡單地從相鄰的路由器學習路由,而是把路由器分成區域,收集區域的所有的路由器的鏈路狀態資訊,根據狀態資訊生成網路拓撲結構,每一個路由器再根據拓撲結構計算出路由。
R22.
路由器被組織成 AS,在一個 AS 中,所有路由器執行相同的AS內部協議,在跨越 AS 時需要使用AS間協議。
R23.
沒有必要
R24.
不會改變,因為初始表中通過 B 到 z 跳數是 7,然而來自 A 的通告到 z 需要 11 跳,因此表不會改變。
R25.
RIP 路由選擇更新資訊在鄰居間通過使用一種 RIP 響應報文來交換,大約 30 秒交換一次。
而 OSPF 向 AS 內部所有其他路由廣播路由選擇資訊,不僅僅是鄰居,每當一條鏈路的狀態發生變化時,路由器就會廣播鏈路狀態資訊,即使未發生變化,它也週期性地廣播鏈路狀態。
R26.
路徑上的 AS 序列
R27.
請看課本 P268
R28.
略
R29.
子網是較大型網路的一部分,不包含路由器,其邊界定義為路由器和主機的介面。
字首是 CDIR 地址的網路部分。
帶有 屬性 的 字首 叫做一條 BGP 路由。
R30.
路由器使用 AS-PATH 來檢測和防止迴圈通告,也使用它在多條路徑中選擇相同字首。
NEXT-HOP 指示沿給定字首的通告路徑(位於接收通告的 AS 之外)的第一路由器的IP地址。
R31.
舉個例子,ISP B 不想傳輸從 ISP A 和 C 之間的流量,它就可以不向 A 和 C 通告這條路由路徑。
R32.
使用單播模擬廣播,效率低,它可能會在同一條鏈路上多次傳送相同的資料包;而且定址困難,源必須知道所有接收方的地址
R33.
a. 無控制洪泛和受控洪泛都可能接收到同一個分組的多個副本
b. 無控制洪泛可能通過相同的出鏈路轉發多個分組的副本
R34.
不需要
R35.
IGMP 為主機提供了一種方式,讓它通知第一跳路由器,本機上的一個應用程式想要加入一個特定的多播組。 IGMP 協議只執行在主機和它的第一跳多播路由器之間。然後由多播路由器與其他多播路由器協同工作,即執行多播路由選擇協議,以確保加入主機的多播組的資料被路由到適當的最後一跳路由器,並從那裡路由到主機。
R36.
組共享的樹:所有的傳送方都在同一條路由樹上傳送多播流量
基於源的樹:每個源都有自己的一顆多播路由選擇樹
習題
P1.
a.
資料報體系更好,使用虛電路當出現無法工作的路由器時,需要重新建立連線。而資料報體系更加“靈活”,路由表可以通過距離向量演算法或鏈路狀態演算法更新。
b.
虛電路體系更好,虛電路是面向連線的,路由器維持連線狀態資訊,可以為源到目的的會話提供固定容量。
c.
資料報將有更多的流量控制開銷,這是由資料報中各種資料包報頭造成的
P2.
a. 2^8 = 256
b. 中文版翻譯看不懂什麼意思,較為清晰的翻譯應該是:在連線建立時由某個中央結點決定路徑和 VC 號。按照題意,中央結點只需在 [0, 2^8-1] 之間選擇一個未被使用的即可。這種虛電路中的 VC 號不可能比(a)中確定的少
c. 每條鏈路都能獨立分配 VC 號,路由器將這些對應的 VC 號寫入轉發表,當特定 VC 號的分組到達後,將其 VC 號替換為對應的 VC 號並轉發
P3.
入介面、入VC號、出介面、出VC號
目的地址範圍、輸入介面
P4.
a.
目的地址 | 輸出介面 |
---|---|
H3 的 IP | 3 |
b.
轉發只能基於目的地址,因此無法實現。實際上英文版上是“trick question”。
c.
A | 入介面 | 入VC號 | 出介面 | 出VC號 |
---|---|---|---|---|
1 | 16 | 3 | 27 | |
2 | 3 | 4 | 58 |
d.
B | 入介面 | 入VC號 | 出介面 | 出VC號 |
---|---|---|---|---|
1 | 27 | 2 | 52 |
C | 入介面 | 入VC號 | 出介面 | 出VC號 |
---|---|---|---|---|
1 | 58 | 3 | 22 |
D | 入介面 | 入VC號 | 出介面 | 出VC號 |
---|---|---|---|---|
1 | 52 | 3 | 19 | |
2 | 22 | 3 | 30 |
P5.
P6.
connection-oriented service & connection service
在虛電路中,每個路徑上的路由器都維持連線狀態資訊。
而在面向連線的運輸層服務中,由端系統維持連線狀態資訊。運輸層服務通過無連線的網路層傳輸,例如 TCP 通過 IP 傳輸,中間路由器並不知道自己在維持連線。
P7.
a. 不能
b. 可能
c. 不能
P8.
書上有誤,應該是“n個分組到達n個輸入埠”,把“出”改成“入”。
(n-1)D、(n-1)D、0
D 為輸入(輸出)時延,記憶體、匯流排的時延是一致的,有 n 個分組在排隊,即使是發往不同的輸出埠。
P9.
中文版的字母看不清,從上到下、從左到右依次是 X X Y Z Y
需要三個時隙,例如時隙 1 傳送最上面的 X 和中間的 Y,時隙 2 傳送中間的 X 和下面的 Y,時隙 3 傳送下面的 Z。
最壞也需要三個時隙,時隙 1 傳送上面的 X 和中間或下面的 Y,時隙 2 也能傳送兩個,時隙 3 傳送最後剩餘的 1 個。
P10.
a.
難點在介面 2 的寫法
字首匹配 | 鏈路介面 |
---|---|
11100000 00 | 0 |
11100000 01000000 | 1 |
1110000 | 2 |
11100001 1 | 3 |
其他 | 3 |
b.
第一個為其他,選擇了介面 3;第二個選擇 2;第三個選了 3
P11.
介面 0:從 00000000 到 00111111,共 2^6=64
介面 1:從 01000000 到 01011111,共 2^5=32
介面 2:從 01100000 到 01111111,從 10000000 到 10111111,共 2^5 + 2^6 = 96
介面 3:從 11000000 到 11111111,共 2^6 = 64
P12.
與上題類似,略
P13.
子網 1:223.1.17.192/26
子網 2:223.1.17.0/25
子網 3:223.1.17.128/28
可以多種不同分配方案
P14.
與下題類似,略
P15.
目的地址 | 介面 |
---|---|
224.0/10 | 0 |
224.64/16 | 1 |
224/7 | 2 |
225.128/9 | 3 |
其他 | 3 |
P16.
地址範圍為 128.119.40.128~128.119.40.191,任意給出一個即可
2^6=64 64/4=16 即每個子網有16個IP
子網 1:128.119.40.64/28
子網 2:128.119.40.80/28
子網 3:128.119.40.96/28
子網 4:128.119.40.112/28
P17.
略
P18.
whois 不能用來確定某個特定 IP 地址的確定位置。但是可以使用 www.maxmind.com。
P19.
因此需要 4 個分片。每個 IP 資料報都有相同的標識號 422;4個數據報的偏移分別是 0、85、170、255;等等。
P20.
與上題類似,略
P21.
a.
可以隨意分配
主機 192.168.1.1 192.168.1.2 192.168.1.3,路由器介面地址 192.168.1.4
b.
NAT 轉換表:
WAN端 | LAN端 |
---|---|
24.34.112.235 5001 | 192.168.1.1 3345 |
24.34.112.235 5002 | 192.168.1.1 3346 |
24.34.112.235 5003 | 192.168.1.2 3345 |
24.34.112.235 5004 | 192.168.1.2 3346 |
24.34.112.235 5005 | 192.168.1.3 3345 |
24.34.112.235 5006 | 192.168.1.3 3346 |
P22.
a.
既然我們可以捕獲所有分組,那麼只需統計 IP 分組的標識號即可
b.
不能正常工作
P23.
Arwold 和 Bernard 都位於 NAT 之後,任一方都不能與對方建立連線
P24.
略
P25.
略
P26.
步驟 | N’ | y 花費、路徑 | z 花費、路徑 | v 花費、路徑 | w 花費、路徑 | u 花費、路徑 | t 花費、路徑 |
---|---|---|---|---|---|---|---|
0 | x | 6,xy | 8,xz | 3,xv | 6,xw | ∞ | ∞ |
1 | xv | 6,xy | 8,xz | 6,xw | 6,xvu | 7,xvt | |
2 | xvy | 8,xz | 6,xw | 6,xvu | 7,xvt | ||
3 | xvyw | 8,xz | 6,xvu | 7,xvt | |||
4 | xvywu | 8,xz | 7,xvt | ||||
5 | xvywut | 8,xz | |||||
6 | xvywutz |
P27.
略
P28.
從…到…的費用 | u | v | x | y | z |
---|---|---|---|---|---|
v | ∞ | ∞ | ∞ | ∞ | ∞ |
x | ∞ | ∞ | ∞ | ∞ | ∞ |
z | ∞ | 6 | 2 | ∞ | ∞ |
第一次迭代:
從…到…的費用 | u | v | x | y | z |
---|---|---|---|---|---|
v | 1 | 0 | 3 | ∞ | 6 |
x | ∞ | 3 | 0 | 3 | 2 |
z | 7 | 5 | 2 | 5 | 0 |
第二次迭代:
從…到…的費用 | u | v | x | y | z |
---|---|---|---|---|---|
v | 1 | 0 | 3 | 3 | 5 |
x | 4 | 3 | 0 | 3 | 2 |
z | 6 | 5 | 2 | 5 | 0 |
第三次迭代:
從…到…的費用 | u | v | x | y | z |
---|---|---|---|---|---|
v | 1 | 0 | 3 | 3 | 5 |
x | 4 | 3 | 0 | 3 | 2 |
z | 6 | 5 | 2 | 5 | 0 |
P29.
演算法收斂於 最長的無環路的距離減一 次迭代
P30.
略
P31.
略
P32.
減少費用不會出現無窮計數,因為不會造成路由選擇環路。
連線兩個結點相當於將無窮的費用減少為鏈路的費用。
P33.
每一次結點距離向量的更新都是基於 Bellman-Ford 公式,只會不斷減少它們的距離向量。如果距離向量不再減少,即不再更新,在有限步內它們就會穩定下來。
P34.
a題翻譯有誤,應為 w、y、z 向彼此告知它們到 x 的距離。
a.
z | 到 x 的距離 |
---|---|
告訴 w | ∞ |
告訴 y | 6 |
y | 到 x 的距離 |
---|---|
告訴 w | 4 |
告訴 z | 4 |
w | 到 x 的距離 |
---|---|
告訴 y | ∞ |
告訴 z | 5 |
b.
存在無窮計數問題。
y 計算它到 x 的距離 Dy(x) = min{ c(y,x)+Dx(x), c(y,z)+Dz(x)} = min{60, 6+3} = 9
然而這個值是錯誤的,將導致一個路由選擇環路。
c.
將 y 和 z 切斷
P35.
通過 AS-PATH
P36.
課本上有介紹,首先選擇的是本地偏好值中的路由,然後才是最短 AS 路徑
P37.
a. eBGP
b. iBGP
c. eBGP
d. iBGP
P38.
a. I1,因為 I1 離 1c 近
b. I2,雖然跨越的 AS 的數量相同,但是 I2 離 NEXT-HOP 路由器更近
c. I1,因為經 I1 的話 AS-PATH 更小
P39.
略
P40.
x 的檢視:
y 的檢視:
P41.
比如 BitTorrent 或其他 P2P 應用
P42.
A 向 B 通告兩個路由:AS-PATH 為 A-W 和 A-V
A 向 C 通告一個路由: A-V
C 收到的 AS-PATH 為:B-A-W,B-A-V,A-V
P43.
Z 想傳送來自 Y 的流量,因此 Z 向 Y 傳送路由通告,但是 Z 無法阻止 Y 向 X 通告此路徑,最終 X 也將向 Z 傳送流量
P44.
可以用 Kruskal 或 Prim 演算法 計算最小生成樹
P45.
如果路由器二叉樹是一個滿二叉樹:
向一個接收方傳送一個分組的費用是 5,因此單播模擬的總費用是 5*32=160
網路層廣播將報文複製併發送其副本,因此費用為 2+4+8+16+32 = 62
當拓撲的形狀是一條直線時,所有接收方都連在距離傳送方最遠的結點上,費用相差最大
P46.
可能有多種畫法。
設加粗的路徑是 A 的最小生成樹。 這時 B 將收到來自 A、C、D 的廣播報文。
P47.
略
P48.
略
P49.
P50.
略
P51.
例如:
對於 Dijkstra(源為A):
對於最小生成樹:
P52.
3*2^(t-1)
P53.
協議必須建立在應用層才行,舉例來說,應用程式可以在應用層報文中週期性地向其他組成員多播它的身份。
P54.
一個最簡單的應用層協議設計,就是所有成員都向所有其他成員多播自己得身份,在帶內傳送報文即可。
P55.
D類地址得第一個位元組以“1110”開始,因此可用位為32-4=28,空間為 N=2^28
兩個不同組選擇相同地址的概率=1/N=2^-28
1000個組不衝突的概率=N(N-1)(N-2)…(N-999)/N^1000
衝突概率=1-N(N-1)(N-2)…(N-999)/N^1000