群播樹 - 寬頻網路實驗室
Download
Report
Transcript 群播樹 - 寬頻網路實驗室
教育部顧問室通訊科技教育改進計畫專案補助
第七章
群播路由協定標準
周立德
陳彥文
許獻聰
劉惠英
陳仁暉
賴源正
票選 LOGO
國立中央大學資訊工程學系
國立中央大學通訊工程研究所
淡江大學電機工程學系
輔仁大學電子工程學系
長庚大學資訊工程學系
國立台灣科技大學資訊管理學系
http://networklab.csie.ncu.edu.tw/books/router/
2003-2004 All rights reserved. No part of this publication and file may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or
otherwise, without prior written permission.
綱要
簡介
群播樹
群播傳送
群播路由協定
DVMRP
PIM
MOSPF
CBT
2
簡介
群播樹
來源端樹(最短路徑樹)
分享樹
群播傳送機制
反向路徑檢查(RPC)
群播路由的類別
稀疏模式
稠密模式
3
群播樹
來源端樹(Source Tree)
來源端1
符號: (S, G)
S = 來源端
G = 群組
來源端2
A
B
C
接收端1
F
D
E
接收端 2
4
群播散佈樹
來源端樹(Source Tree)
來源端1
符號: (S, G)
S = 來源端
G = 群組
來源端2
A
B
C
接收端1
D
F
E
接收端 2
5
群播散佈樹
分享樹(Shared Tree)
來源端1
符號: (*, G)
* = 所有來源端
G = 群組
來源端2
B
A
D (RP)
F
( PIM 集合點,RP )
分享樹
C
接收端1
E
來源端樹
接收端 2
6
群播樹
特性
來源端樹
• 使用記憶體為O(S*G),從來源端至所有接收端都為
最短路徑,延遲最小。
分享樹
• 使用記憶體為O(G),從來源端至所有接收端不為最短
路徑,會有額外延遲。
7
群播傳送機制
反向路徑檢查(Reverse Path Check, RPC)
發送者
逆向路徑檢查失敗,群播封
包抵達錯誤介面!
群播封包
接收者
8
群播路由協定
密集模式
使用”推”的方式
使用洪泛
當不需要時再修剪
稀疏模式
使用”拉”的方式
當需要時才發送要求訊息
使用加入動作
9
群播路由協定
建立群播樹的方式
DVMRP
• 使用DVMRP路由表加上”逆向毒害”機制
PIM
• 使用現存單播路由表加上”加入/修剪/接枝”機制
MOSPF
• 使用OSPF鏈結狀態再加以延伸
CBT
• 使用現存單播路由表加上”加入/修剪/接枝”機制
10
教育部顧問室通訊科技教育改進計畫專案補助
DVMRP (Distance Vector
票選 LOGO
Multicast Routing Protocol)
周立德
陳彥文
許獻聰
劉惠英
陳仁暉
賴源正
國立中央大學資訊工程學系
國立中央大學通訊工程研究所
淡江大學電機工程學系
輔仁大學電子工程學系
長庚大學資訊工程學系
國立台灣科技大學資訊管理學系
http://networklab.csie.ncu.edu.tw/books/router/
2003-2004 All rights reserved. No part of this publication and file may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or
otherwise, without prior written permission.
綱要
簡介
運作方式
發現鄰居路由器
建立DVMRP路由表
來源端樹(截斷廣播樹)
修剪及接技
群播傳送
通道
封包格式
結論
12
簡介
使用距離向量 (Distance Vector)
無窮大 = 32 跳躍(Hop)
建立DVMRP路由
群播樹為最短路徑樹
洪泛及逆向毒害建立廣播樹
修剪/接枝建立群播樹
傳送群播封包
使用DVMRP路由表做RPC檢查。
IGMP 封包擁有路由資訊
IP 協定 2 (IGMP)
IGMP 型態碼為 0X13 (DVMRP)
Internet-Draft: draft-ietf-idmr-dvmrp-v3-10
13
運作方式
使用下列封包
DVMRP 偵測(Probe)--發現其他DVMRP鄰居
DVMRP 路由報告(Route Report)--群播路由資訊的交
換
DVMRP 修剪(Prune)--修剪群播傳送樹
DVMRP 接枝(Graft)--接枝群播傳送樹
DVMRP 接枝回覆(Graft Ack)--回應接枝訊息
14
運作方式(發現鄰居)
192.168.0.22
DVMRP 路由器 B
2
從DVMRP路由器 A 接收
偵測封包
3
1
送出偵測封包
鄰居列表 =192.168.0.21
送出偵測封包
鄰居列表 = 空的
4
接收到偵測封包後
回覆偵測封包
鄰居列表 = 192.168.0.22
DVMRP 路由器 A
192.168.0.21
15
運作方式(發現鄰居)
(1)DVMRP路由器1群播一份”DVMRP偵測封
包”(所有DVMRP群播路由器位址為224.0.0.4),
其中包含空的鄰接列表。
(2)DVMRP路由器2接收到此份封包且加入路由器1的
位址到它內部的鄰接列表中。
(3)DVMRP路由器2群播本身的”DVMRP偵測封包”,
其中的鄰接列表包含路由器1的位址。
(4)DVMRP路由器1接收到此偵測封包,並加入路由
器2的位址到內部的DVMRP鄰接列表中,接著回
覆一份”DVMRP偵測封包”,其中的鄰接列表
包含路由器2的位址。
16
運作方式(建立路由表)
初始狀態
初始狀態:
路由器1和路由器2中的DVMRP
路由表的網路欄位中,有相同
的[140.123.0.1/16]的值,但
它們的權值卻不相同。
192.168.0.22
DVMRP 路由器 B
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
S0
3
201.9.22.0/24
S0
10
S0
E0
E0
初始狀態
S0
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
S0
6
192.23.34.0/24
S0
3
DVMRP 路由器 A
192.168.0.21
17
運作方式(建立路由表)
192.168.0.22
DVMRP 路由器 B
DVMRP 路由表
S0
1
送出路由報告
140.123.0.1/16, 權值=3
201.9.22.0/24, 權值=10
E0
網路
介面
權值
140.123.0.1/16
S0
3
201.9.22.0/24
S0
10
E0
DVMRP 路由表
更新
增加
網路
介面
權值
140.123.0.1/16
E0
4
192.23.34.0/24
S0
3
201.9.22.0/24
E0
11
2
接收路由報告和更新項目
S0
DVMRP 路由器 A
192.168.0.21
18
運作方式(建立路由表)
兩個路由器相連後
(1)路由器2送出一份”DVMRP路由報告”,其包含本身路由表
內所有項目:
• 140.123.0.1/16 權值 = 3
• 201.9.22.0/24 權值 = 10
(2)路由器1接收到”DVMRP路由報告”後把所接收到的權值加
1,然後:
• 如果路由器已有相同的網路且其權值大於所收到的權值,則更新介面
和權值,如圖中[140.123.0.1/16]更改介面為E0及更改權值為4。
• 如果路由器沒有相同的網路,則增加此網路及其介面及權值,如圖中
的[201.9.22.0/24]項目(包含介面和權值) 。
19
運作方式(建立路由表)
192.168.0.22
DVMRP 路由器 B
DVMRP 路由表
S0
140.123.0.1/16, 權值=36
192.23.34.0/24, 權值=3
201.9.22.0/24, 權值=43
逆向毒害
(Poison Reverse)
E0
網路
介面
權值
140.123.0.1/16
S0
3
201.9.22.0/24
S0
10
E0
DVMRP 路由表
對來源端而言逆向
毒害指出路由器 A
是路由器B的孩子
網路
介面
權值
140.123.0.1/16
E0
4
192.23.34.0/24
S0
3
201.9.22.0/24
E0
11
3
送出路由報告
S0
DVMRP 路由器 A
192.168.0.21
20
運作方式
接收路由報告和增加項目
4
DVMRP 路由表
192.168.0.22
DVMRP 路由器 B
S0
E0
網路
介面
權值
140.123.0.1/16
S0
3
201.9.22.0/24
S0
10
192.23.34.0/24
E0
4
增加
E0
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
E0
4
192.23.34.0/24
S0
3
201.9.22.0/24
E0
11
S0
DVMRP 路由器 A
192.168.0.21
21
運作方式(建立路由表)
(3)路由器1送出本身的”DVMRP路由報告”,其中包
含所有路由表項目給路由器2,然而在路由器1中路
由表的網路 [140.123.0.1/16]和[201.9.22.0/24]的介
面E0即為傳出的介面,所以會逆向毒害這兩項路由,
把其權值加上32。
(4)路由器2從路由器1接收到”DVMRP路由報告”,
且執行下列的步驟:
• 增加[192.23.34.0/24]的網路項目於路由器2的路由表
中,(在將權值加1之後)。
• 注意到路由器2從路由器1接收到關於網路項目
[140.123.0.1/16]和[201.9.22.0/24]的”逆向毒害”;這指
出路由器1期望經由路由器2收到來源端發出的群播資料
(故路由器2了解路由器1為其孩子)。
22
運作方式(建立路由表)
192.168.0.22
DVMRP 路由器 B
S0
E0
5
對來源端而言逆向
毒害指出路由器 B
是路由器 A的孩子
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
S0
3
201.9.22.0/24
S0
10
192.23.34.0/24
E0
4
送出路由報告
140.123.0.1/16, 權值=3
201.9.22.0/24, 權值=10
192.23.34.0/24, 權值=36
逆向毒害
E0
S0
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
E0
4
192.23.34.0/24
S0
3
201.9.22.0/24
E0
11
DVMRP 路由器 A
192.168.0.21
23
運作方式(建立路由表)
(5) 路由器2再次送出包含本身所有路由項目的DVMRP
路由報告給路由器1,路由器2中的路由表網路
[192.23.34.0/24]的介面即為輸出的介面,故會逆向
毒害此路由,即把權值加上32。這指出路由器2期望
經由路由器1收到來源端發出的群播資料(故路由器1
了解路由器2為其孩子)。
24
運作方式(來源端樹)
A
使用最佳的DVMRP權值回溯到
來源端網路來建立廣播樹
1
B
範例關係中是使用最小的 IP 位址
(注意 : IP位址大小 D < C < B < A)
C
33
1
33
1
X
2
2
E
D
34
3
35
Y
2
3
35
來自來源端網路的路由權值 “ n ”。
逆向毒害( 權值 + 無窮大[32] )送給上游的 ”父親 “路由器。
路由器是依靠”父親 ”接收來自來源端網路的資料。
產生來源端網路的截斷廣播樹。
25
運作方式(來源端樹)
DVMRP建立來源端廣播樹,
來源端網路(S1)的廣播樹,可表示成由網路(S1)為根到其他所有路由器的
最短路徑樹。
在所有DVMRP路由器之間,會週期性的交換更新DVMRP路由
資訊,然後在為每個來源端建立TBT,如同單播的RIPv2。不同
於RIPv2的為下游的 DVMRP路由器會逆向毒害上游路由器。
例子
對來源端網路”S1”來說,路由報告交換後,路由器A和B都會告知路由
器C和D其權值為1。
對路由器D而言,來自路由器B的路由是其到達來源端網路”S1”的最佳
(唯一)的路由,故路由器D會回送逆向毒害(PR)公告(權值=33)給路由器B,
這告訴路由器B說路由器D位於”S1”的廣播樹中。
對路由器C而言,它同時接收到路由器A和B相同權值公告,因為路由器B
的IP值小於路由器A的IP值,因此路由器C送出PR公告給路由器B。
路由器B現在有兩個廣播樹分支,一個是到路由器C,一個是到路由器D。
26
運作方式(來源端樹)
S1來源端廣播樹
A
來源端網路 S1
B
C
產生來源端網路 ”S1 ”的廣播樹
X
E
D
S1 廣播樹
Y
27
運作方式(來源端樹)
S2來源廣播樹廣播樹
A
B
C
每一個來源端網路有本身的廣播樹
X
E
注意 : IP 位址大小 D < C < B < A
S2 廣播樹
D
Y
來源端網路 “S2”
28
運作方式(來源端樹)
S1來源端廣播樹
網路“S1”的DVMRP廣播樹。
一旦DVMRP聚集所有朝來源端網路”S1”回送的PR公告,
則”S1”的廣播樹 被建立起來。
圖中顯示網路”S1”的廣播樹 從DVMRP路由更新交換後形
成的結果,此樹為以來源端網路”S1”為樹根的最小擴張樹。
如果某個群播來源端此時在網路”S1”中群播資料,則網路
中的 DVMRP路由器將傳送此資料到至”S1”的廣播樹上。
S2來源端廣播樹
每一來源端網路有本身的廣播樹
29
運作方式(來源端樹)
廣播樹的優點:
資料在DVMRP網路中傳送僅會由廣播樹的下游分支,
故能避免網路中平行路徑產生封包重覆的問題。
廣播樹的缺點:
要交換獨立的DVMRP路由資訊(其他群播協定,如PIM,
使用現存的單播路由表,故不需要額外交換群播路由資
料)。
因為DVMRP是以RIP模式為基礎,它也會有距離向量協
定的問題,如:保持(Holddown)、漸增至無窮大(Countto-infinity) 、更新週期(Periodic updates)。
30
運作方式(修剪)
來端端”S”開始傳送群
播資料到群組”G”。
最初資料(以實線箭頭表
示)會傳送到此來源端廣
播樹下所有路由器(由虛
線箭頭所指示),也會被
接收者1收到。
A
(S,G)群播封包開始往廣播樹下游傳送
來源端 S
B
C
X
E
D
接收者 1
(群組 “G”)
Y
以DVMRP路由權值為基礎的廣播樹
(S,G) 群播封包資料
31
運作方式(修剪)
路由器C是在廣播樹上
的葉子節點且其不需要
此資料,因此它送出一
份 (S,G)修剪訊息給廣
播樹上游的路由器B,
要求關閉此介面。
路由器B接收到(S,G)修
剪訊息,關閉到路由器
C的介面。
A
路由器 C 是葉子節點所以它送出一
份”(S,G) 修剪 ”訊息。
來源端 S
路由器 B 刪除介面。
B
C
修剪
X
E
D
接收者 1
(群組 “G”)
Y
以DVMRP路由權值為基礎的廣播樹
(S,G) 群播封包資料
32
運作方式(修剪)
路由器X和Y都是葉子節
點,不需要(S,G)群播資
料(因為在它們的網路上
沒有接收者),因此也會
送出(S,G)修剪訊息給廣
播樹上游的路由器E。
路由器E一旦接收到X和
Y的(S,G)修剪訊息,它
會關閉和路由器X和Y相
連的介面。
A
路由器 X 和 Y 也是葉子節點所以它們都送
出”(S,G) 修剪 ”訊息。
來源端 S
路由器 E 刪除介面。
B
C
X
E
修剪
D
Y
接收者 1
(群組 “G”)
以DVMRP路由權值為基礎的廣播樹
(S,G) 群播封包資料
修剪
33
運作方式(修剪)
當路由器E發覺在廣播
樹上的所有下游介面都
被刪除,則代表它也不 來源端 S
在需要任何(S,G)的群播
資料。因此它也送出一
份(S,G)修剪訊息給TBT
上游的路由器D。
當路由器D接收到此
(S,G)修剪訊息,它會刪
除此介面,因此以後就
不會再傳送(S,G)群播資
料給路由器E 。
A
路由器 E 現在是葉子節點,所以它送出一
份 ”(S,G) 修剪”訊息。
路由器 D 刪除介面。
B
C
X
修剪
D
接收者 1
(群組 “G”)
E
Y
以DVMRP路由權值為基礎的廣播樹
(S,G) 群播封包資料
34
運作方式(修剪)
圖中顯示最終的廣播樹修
剪後狀態。
DVMRP是廣播樹/修剪做
法,這些已修剪的分支將
會在一段時間後恢復(基本
上為2分鐘後),而(S,G)群
播資料將再次傳送到廣播
樹所有分支,然後再次觸
發傳送(S,G)修剪訊息給上
游端來修剪不需要的分支。
A
最終修剪後狀態
來源端 S
B
C
X
E
D
接收者 1
(群組 “G”)
Y
以DVMRP路由權值為基礎的廣播樹
(S,G) 群播封包資料
35
運作方式(接枝)
”接收者2”欲加入群
組”G”,它會送出一份
IGMP群組成員報告給
群組”G”中的路由器Y。
路由器Y發現其對(S,G)
的狀態是已被修剪過
(綠色虛線箭頭所示)狀
態,因此路由器Y送出
“接枝訊息”給它的上
游路由器E。
A
接受者 2 加入群組 ”G ”
路由器 Y 送出一份 ”接枝(S,G) ”訊息
來源端 S
B
C
X
E
接枝
D
接收者 1
(群組 “G”)
Y
接收者 2
(群組 “G”
以DVMRP路由表為基礎的來源樹 ”S ”
(S,G) 群播封包資料
36
運作方式(接枝)
路由器E接收來自路由
器Y的(S,G)接枝訊息,
先送出一份”接枝回覆
訊息”做回應,告知路
由器Y已收到其發送的
接枝訊息。
路由器E發現本身也是
已修剪的狀態,因此必
須送出一份(S,G)接枝
訊息給它的上游路由器
D。
A
路由器 E 回應一份”接枝回覆 ”
並送出本身的 ”接枝(S, G)”訊息
來源端 S
B
C
X
接枝
E
D
接收者 1
接枝-回覆
(群組 “G”)
Y
接收者 2
(群組 “G”
以DVMRP路由表為基礎的來源樹 ”S ”
(S,G) 群播封包資料
37
運作方式(接枝)
路由器D接收來自路由器
E的(S,G)接枝訊息,先
送出一份”接枝回覆訊
息”做回應,告知路由
器E已收到其發送的接枝
訊息。
路由器D沒有被修剪掉,
因此可以簡單的將傳向
路由器E的介面加入到其
(S,G)下游介面列表中;
以後(S,G)的群播資料會
重新傳送到接收者2。
A
路由器 D 回應一份 ”接枝-回覆 ”
開始傳送 (S, G)封包
來源端 S
B
C
X
接枝-回覆
D
接收者 1
(群組 “G”)
E
Y
接收者 2
(群組 “G”)
以DVMRP路由表為基礎的來源樹 ”S ”
(S,G) 群播封包資料
38
運作方式(群播傳送)
S0
X
群播封包來自
140.123.4.31
E1
S1
E0
逆向路徑檢查失敗!
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
E1
4
192.23.34.0/24
S0
3
201.9.22.0/24
E0
11
抵達的封包在
錯誤的介面上
39
運作方式(群播傳送)
如同在PIM中,進來的封包必須通過”逆向
路徑檢查”(RPC)才會被成功接收;但
DVMRP使用自身的DVMRP路由表來從事
RPC。
一群播封包來自[140.123.0.1/16]的來源端網
路,經由介面S0到 DVMRP路由器,但
DVMRP路由表所顯示的正確介面為E1,而
不是S0;所以封包經RPC檢查的結果失敗,
並丟棄封包。
40
運作方式(群播傳送)
群播封包來自
192.23.34.10
S0
E1
S1
E0
逆向路徑檢查成功!
DVMRP 路由表
網路
介面
權值
140.123.0.1/16
E1
4
192.23.34.0/24
S0
3
201.9.22.0/24
E0
11
41
抵達的封包在正確的介面上
運作方式(群播傳送)
來自[192.23.34.0/24]來源端網路的群播封包,經
由介面S0到 DVMRP路由器。
圖中DVMRP路由表顯示正確的介面為S0,所以封
包經RPC後成功,故會將封包送往來源端樹中所有
未被修剪的下游介面。
42
運作方式(群播傳送)
B & C都有到網路 X 的路由
B
為了避免重覆,只有一個路由器
能當做網路 X 的 ”指定傳送器”
1
A
網路 X
2
2
C
1
擁有最佳權值的路由器會被選為
”指定傳送器”
相同權值用最低的 IP 位址來判定
路由器 B 在此範例中勝出
(注意 : IP 位址大小 B < C)
n
網路 X 的路由公告權值 “n”
43
運作方式(群播傳送)
當兩個以上路由器分享一個能多方存取的網路(如
乙太網路),此時只有一個路由器會當作”指定傳
送器”來負責在網路上傳送的群播資料,否則會有
重覆封包產生。
”指定傳送器”是基於回送給來源端網路的最佳路
由權值來選出(相同權值時則使用最低的IP位址)。
在圖中,路由器B和C都與一個能多方存取的網路
相連,且都可到達網路X,由於對網路X具有相同
權值,故以最低的IP位址來決定(在本圖中為路由
器B)。
44
運作方式(通道)
DVMRP主要是使用”通道”
來穿越無群播能力的網路。
DVMRP通道所具備另一項
好處,是通過無群播網路時,
網路只認為一次跳躍,這對
設定32次跳躍就是無窮大
值的DVMRP來說非常重要
的,因此若網際網路需超過
32次跳躍時,就需利用
DVMRP通道。
群播骨幹
(MBONE)
無群播能力網路
隧道
直接相連
群播路由器
路由器
區域網路
45
運作方式(通道)
通道 DVMRP通道使用 ”IPin-IP”封裝方式,此方法是增
加一份協定號碼為4的IP包
裝標頭,而這IP包裝標頭是
使用通道兩端終點的IP位址
當作來源端位址和目的地端
位址
140.123.1.5
目的地 : 140.123.1.5
來源端 : 191.1.1.10
協定: 4
新的
IP標頭
目的地: 201.10.3.254
來源端:192.0.1.101
協定: xx
原始
IP標頭
群播資料
原始資料
隧道
直接相連
群播路由器
路由器
191.1.1.10
46
封包格式
DVMRP 偵測(Probe)
發現其他DVMRP鄰居
DVMRP 路由報告(Route Report)
群播路由資訊的交換
DVMRP 修剪(Prune)
修剪群播傳送樹
DVMRP 接枝(Graft)
接枝群播傳送樹
DVMRP 接枝回覆(Graft Ack)
回應接枝訊息
47
封包格式
7
DVMRP 偵測(Probe)
型態
(0x13)
15
編碼
(0x1)
23
31
檢查總合
次要值:
未使用
能力
次要值
次要碼版本#。
生成 ID
主要值:
鄰接 IP 位址 1
主要碼版本#。
鄰接 IP 位址 2
生成ID:
...
隨機非遞減#。
鄰接 IP 位址 N
鄰居IP位址:
所看到的其他DVMRP路由器IP位址。
能力:
位元 0:葉子
路由器是葉子節點。
位元 1:修剪
路由器了解修剪。
位元 2:生成 ID
路由器送出生成ID。
位元 3:群播追蹤 路由器處理群播追蹤要求。
位元 4:SNMP
路由器處理SNMP要求。
主要值
48
封包格式
DVMRP 路由報告(Route Report)
遮罩:
位元組 2 – 4 ;
位元組 1 = 0XFF (已預設)
Src網路:
依據遮罩長度作修改的
位元組長度
權值(跳躍):
1 – 31 = 有效的權值
32 = 無窮大 (無法到達)
33 – 63 = 逆向毒害 (PR)
7
15
型態
(0x13)
編碼
(0x2)
未使用
遮罩1
位元組2
遮罩1
位元組3
23
檢查總合
次要值
主要值
遮罩1
位元組4
Src
網路11
Src
網路12
遮罩2
位元組2
Src網路11(內容)...
權值11
Src網路12(內容)...
權值12
遮罩2
位元組3
遮罩2
位元組4
Src網路21(內容)...
遮罩3
位元組3
遮罩3
位元組4
31
Src網路21
遮罩3
位元組2
權值21
...
49
封包格式
7
型態
(0x13)
15
23
編碼
(0x7)
未使用
31
檢查總合
次要值
主要值
來源端主機位址
群組位址
刪除訊息有效時間
DVMRP 修剪(Prune)
來源端主機位址:
(S,G)修剪訊息中”S”的來源IP位址。
群組位址:
(S,G)修剪訊息中”G”的群播群組位址。
修剪訊息有效時間:
修剪訊息的有效時間(秒數)。
50
封包格式
DVMRP接枝(Graft)
來源端主機位址:
(S,G)接枝訊息中”S”的來
源IP位址。
群組位址:
(S,G)接枝訊息中”G”的群
播群組位址。
DVMRP接枝回覆(Graft Ack)
來源端主機位址:
(S,G)接枝訊息中”S”的來
源IP位址。
群組位址:
(S,G)接枝訊息中”G”的群
播群組位址。
7
型態
(0x13)
15
23
編碼
(0x8)
31
檢查總合
未使用
次要值
主要值
來源端主機位址
群組位址
7
型態
(0x13)
15
23
編碼
(0x9)
未使用
31
檢查總合
次要值
主要值
來源端主機位址
群組位址
51
結論
廣泛使用在Mbone上
嚴重的擴展性(scalability)問題
路由收歛速度慢(距離向量做法常見的問題)
路由器需儲存相當多的資料
不支援分享樹
跳躍數需小於32
不適合大型網路
廣播及修剪的做法
擴展性問題
52
教育部顧問室通訊科技教育改進計畫專案補助
PIM (Protocol Independent
票選 LOGO
Multicast)
周立德
陳彥文
許獻聰
劉惠英
陳仁暉
賴源正
國立中央大學資訊工程學系
國立中央大學通訊工程研究所
淡江大學電機工程學系
輔仁大學電子工程學系
長庚大學資訊工程學系
國立台灣科技大學資訊管理學系
http://networklab.csie.ncu.edu.tw/books/router/
2003-2004 All rights reserved. No part of this publication and file may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or
otherwise, without prior written permission.
綱要
簡介
PIM-稀疏模式(PIM-SM)
概述
運作方式
PIM-密集模式(PIM-DM)
概述
運作方式
封包格式
結論
54
簡介
架構於底層單播路由的群播協定
提供適用於稀疏和密集的群組
PIM-SM (稀疏模式)
PIM-DM (密集模式)
稀疏模式
明確加入模式
群組成員先加入一棵共享樹
依需求再切換至來源端樹
RFC 2362
密集模式
洪泛
刪除無用的分支
Internet-Draft
55
PIM-SM概述
明確加入模式
接受端的指定路由器會發送”加入”訊息到此群組的集合點。
建立一以集合點為中心,同群組所有發送端共享的群播樹。
來源端的指定路由器會以單播方式發送註冊訊息至集合點。
資料流程:來源端,集合點,接收端。
則接收者可加入一個來源端樹(最短路徑樹),且會離開之前
的共享樹。
RPC 檢查
對共享樹,使用集合點位址。
對來源端樹,使用來源端位址。
56
運作方式
三個階段
建立集合點樹(共享樹)
建立來源端至集合點樹
建立最短路徑樹
集合點的選定
指定路由器的選定
57
運作方式(集合點樹)
路由器
集合點
指定路由器
接收者
路由器
路由器
指定路由器
路由器
路由器
接收者
PIM加入訊息
成員指示
58
運作方式(集合點樹)
建立集合點樹
接收端所處的網路中的某個路由器會被選為指定路由器。
當接收端要傳送它欲成為群組的”成員指示”訊息。
指定路由器當收到接收者送出的”成員指示”時,會向
此群組的集合點送出(*,G)加入訊息,表示欲加入群組G
且非針對特定發送者。
此 (*,G) 加入訊息會到達集合點或是已收過(*,G)的路由
器。
59
運作方式(集合點樹)
當許多的接收者加入這個群組時,會形成一個以集合點為
樹根的群播樹。這個樹稱為集合點樹,其為一棵共享樹,
為此群組中所有發送端共用。
只要接收者仍在這個群組中時,加入訊息會定期地送往集
合點。
當某個葉子網路中所有接收者都離開特定群組時,負責的
指定路由器會向集合點送一個PIM (*,G) ”修剪” 訊息來刪
除此分支。
若此刪除訊息沒有被送到集合點,(*,G) 的狀態也會因逾時
而刪除。
60
運作方式(來源端至集合點樹)
路由器
集合點
指定路由器
接收者
路由器
路由器
指定路由器
發送者
路由器
路由器
接收者
註冊封包
資料
集合點樹
61
運作方式(來源端至集合點樹)
路由器
集合點
指定路由器
接收者
路由器
路由器
指定路由器
發送者
路由器
路由器
接收者
資料
集合點樹
62
運作方式(來源端至集合點樹)
路由器
集合點
指定路由器
接收者
路由器
(S,G)狀態
路由器
發送者 (S,G)狀態
指定路由器
路由器
路由器
接收者
(S,G)加入
集合點樹
63
運作方式(來源端至集合點樹)
註冊
來源端送出群播資料。
來源端指定路由器會將群播資料封裝至PIM註冊封包,
並以單播的方式送往集合點。
當集合點收到PIM註冊封包,先將它們解封,然後將內
含之群播資料沿著已建立的共享樹轉送到各接收者。
當集合點收到從群組G的來源端S送來的註冊封包時,它
會送一個(S,G)加入訊息到S。
此加入訊息會轉送到S,並使經過的每個路由器都建立
起(S,G) 的狀態,並建立出來源端至集合點樹。
64
運作方式(來源端至集合點樹)
註冊停止
當集合點已加入至(S,G)樹且仍收到封裝過的群播封包(即
註冊訊息)時,此時當若接收到註冊訊息即就會觸發送出註
冊停止訊息到發送端。
在收到集合點送出的註冊停止訊息後,發送端處的指定路
由器必須停止以註冊訊息封裝群播資料,而改以直接將群
播資料送出。
當S傳送資料時,就會沿著建立(S,G) 狀態的路由器將資料
送到集合點。由於(S, G)也包含原先 (*,G)的外送介面,故
若遇到集合點樹的節點也會直接利用集合點樹將資料送到
接收者處。
來源端至集合點樹和共享樹是交錯的,資料可能會從來源
端至集合點樹的某分枝直接送到共享樹,如此可避免資料
需傳送到集合點所產生繞道的現象。
65
運作方式(來源端至集合點樹)
路由器
集合點
指定路由器
接收者
路由器
(S,G)狀態
路由器
發送者 (S,G)狀態
指定路由器
路由器
路由器
接收者
資料
集合點樹
66
運作方式(最短路徑樹)
來源端至集合點樹的功能及缺點
• 移除封裝的負荷。
• 資料傳送的路徑距離降低。
• 仍會產生繞道現象,非最佳路徑。
建立最短路徑樹
• 接收者處的指定路由器從會從共享樹切換到來源端的
最短路徑樹。
67
運作方式(最短路徑樹)
路由器
集合點
指定路由器
接收者
路由器
(S,G)狀態
路由器
發送者 (S,G)狀態
指定路由器
路由器
路由器
接收者
(S,G)加入
集合點樹
68
運作方式(最短路徑樹)
每個接收端的指定路由器送出一個(S,G)”加入”訊息到
發送者S。
此加入訊息會到達S所在的網路或是已經是(S,G)狀態的
路由器。
發送者S所送出的資料便可沿著建立起(S,G)狀態的路由
器而以最短路徑送到接收端。
但此時接收者可能會收到兩份相同的資料,一份是從最
短路徑樹,而一份是從分享樹。
• 解法:當資料已從最短路徑樹送達時,接收端的指定路由器就
丟棄由分享樹收到得資料。
69
運作方式(最短路徑樹)
路由器
集合點
指定路由器
接收者
路由器
(S,G)狀態
路由器
發送者 (S,G)狀態
指定路由器
路由器
路由器
接收者
最短路徑樹
70
運作方式(最短路徑樹)
同時接收端的指定路由器也會向集合點送出一
個”(S,G)修剪”訊息。此修剪訊息會延著分享
樹往上游傳送,用以修剪分享樹的此分枝。
接收端會從最短路徑接收S送出的群播資料,不
會再收到兩份資料。
此時集合點仍然收到從S送出的群播資料,並仍
傳送給分享樹(但此時分享樹可能會空,會是仍
有一些尚未轉換成最短路徑的接收端之分枝)。
71
集合點的選定
使用帶頭路由器(Bootstrap Router, BSR)的機制
每個PIM區域中會選出一個路由器來成為帶頭路由器。
在此區域中所有被設定成集合點候選路由器會定期的以
單播的方式送出它們的候選資格到帶頭路由器。
帶頭路由器挑選出一個集合點的集合,定期的將這個集
合置於帶頭訊息中廣播至整個網路。
每個路由器會使用相同雜湊函數獲得集合點。
使用人工設定的機制
72
指定路由器的選定
利用Hello訊息
PIM-Hello訊息定期的由每個執行PIM協定的介面送出。
此Hello訊息可以讓路由器得知每個介面的鄰居PIM路由
器的資訊。
在Hello訊息中包含DR_Election_Priority,此欄位可讓網
路管理者給予某個特定的路由器較大的優先權,使其在
指定路由器的選擇中有較大的機會。
擁有較大的優先權者會被選為指定路由器。
73
PIM發現鄰居
PIMv2 Hellos 會週期性群播給
[224.0.0.13]群組位址上的” 全
部PIM路由器 ”。(預設值 = 30
秒)
PIM 路由器 1
192.68.0.1
PIM Hello
注意:PIMv1 群播PIM詢問訊息給 PIM Hello
[224.0.0.13]群組位址上的” 全部路
由器” 。
如果” DR ”終止,會選出新的”
DR ”。
“ DR ”會送出所有加入和修剪訊
息回應任何接收者或傳送者。
最高的IP位址會作為
"DR”(指定路由器)
PIM 路由器 2
192.68.0.2
74
PIM-密集模式
PIM-DM 和 PIM-SM 的差異:
DM無定期的加入訊息,其先採用洪泛,再使用分
支修剪的訊息。
無集合點的存在。
當網路不容許有個別節點的失效時,此特點就變得
很重要。
75
PIM-DM 細節
起始廣播
發送者
每個路由器仍在(S,G)狀態。
群播封包
接收者
76
PIM-DM 細節
起始廣播
發送者欲發送群播資料時,先使用洪泛的方式將
資料送到整個網路。
當每個路由器收到群資料時,它會再將之轉送到
所有的鄰居。
77
PIM-DM 細節
修剪無用的分支
發送者
群播封包
修剪訊息
接收者
78
PIM-DM 細節
修剪無用的分支
PIM分支修剪訊息是用來停止不需要的資料流。
當一個路由器沒有任何的下游節點需要多點傳輸
資料時,此路由器會將PIM分支修剪訊息送出,
以停止再收到資料。
79
PIM-DM 細節
分支修剪後結果
發送者
每個路由器仍在(S,G)狀態。
洪泛和修剪程序每三分鐘會
重複一次。
群播封包
接收者
80
PIM-DM 細節
分支修剪後結果
除了需要群播傳輸資料的節點外,其餘的連結都
被修剪。
在發送者和接收者間會建立一棵最短路徑樹。
81
PIM 封包格式
PIMv2封包標頭
PIM(v2)使用IGMP封包
型態:
型態
訊息
0
Hello
1
註冊 (限稀疏模式)
2
註冊停止 (限稀疏模式)
3
加入/修剪
4
Bootstrap (限稀疏模式)
5
Assert
6
接枝 (限密集模式)
7
接枝回覆 (限密集模式)
8
候選RP告示 (限稀疏模式)
7
3
版本
型態
31
15
未使用
檢查總合
版本:
PIM 版本 = 2
82
PIM 封包格式
問候(Hello)訊息
問候訊息用來建立及維持與鄰
居間的聯繫。此訊息會週期性
的送出,告知網路上其他 PIM
路由器得知其仍然存在。
3
7
版本 型態=0
15
未使用
檢查總合
選擇型態
選擇長度
選擇值
選擇型態:“ 選擇值 ”欄
位
所表示的型態。
選擇長度:說明”選擇值 ”
的長度(以位元組為單位)。
選擇值:不同型態所設定的
值,為一可變長度欄位的值。
31
...
選擇型態
選擇長度
選擇值
83
PIM 封包格式
註冊封包(限稀疏模式)
在稀疏模式中的指定路由器用來封
裝群播封包並送至集合點,如此解
封後可往共享樹傳送。裝載著封裝
群播封包的註冊訊息會持續由指定
路由器送到集合點,直到接收到由
集合點發出的註冊停止訊息。
邊界位元:(B)
起始路由器為DR且和來源端直接相
連,則此位元設為0。當來源端為
PIM群播邊界路由器(PIM
Multicast Border Router,
PMBR),則此位元設為1。
無註冊位元:(N)
在區域抑制註冊計時器計時完後會
將此位元設為1。
群播資料封包:
來源端送出的原始封包。
3
版本 型態=1
BN
7
15
未使用
31
檢查總合
未使用
群播資料封包
84
PIM 封包格式
註冊停止封包(限稀疏模式)
在稀疏模式下由集合點送出註
冊停止封包,用來通知指定路
由器停止送出註冊訊息。註冊
停止訊息會在集合點已加入來
源樹後才送出給指定路由器。
編碼群組位址:
註冊訊息內的群組位址。
編碼單播來源位址:
註冊訊息內群播資料的來源端
IP位址。
3
版本 型態=2
7
15
未使用
31
檢查總合
編碼群組位址
編碼單播來源位址
85
PIM 封包格式
加入/修剪封包
加入/修剪封包包含加入
列表和修剪列表,其中某
個列表可能為空,但不會
兩者皆為空。
編碼單播上游鄰居位址:
上游鄰居的IP位址。
群組個數:
群組列表中的群組個數。
保持時間:
此加入/修剪的有效時間。
3
版本
7
型態=3
15
未使用
31
檢查總合
編碼單播上游鄰居位址
未使用
群組個數
保持時間
86
群組列表
15
編碼群播群組位址 1
加入來源的個數
群組列表
編碼群播群組位址-n:群組IP位址。
加入的個數:
編碼群播群組位址-n 中加入的個數。
修剪的個數:
編碼群播群組位址-n 中加入的個數。
編碼來源位址-n:(加入/修剪)
包含位址家族: (下ㄧ張投影片)
31
修剪來源的個數
編碼加入來源位址 1
...
編碼加入來源位址 n
編碼修剪來源位址 1
...
編碼修剪來源位址 n
...
編碼群播群組位址 n
加入來源的個數
修剪來源的個數
編碼加入來源位址 1
...
編碼加入來源位址 n
編碼修剪來源位址 1
...
編碼修剪來源位址 n
87
群組列表中的位址家族
號碼
說明
0
Reserved
1
IP (IP version 4)
2
IPv6 (IP version 6)
3
NSAP
4
HDLC (8-bit multidrop)
5
BBN 1822
6
802 (includes all 802 media plus Ethernet "canonical format")
7
E.163
8
E.164 (SMDS, Frame Relay, ATM)
9
F.69 (Telex)
10
X.121 (X.25, Frame Relay)
11
IPX
12
Appletalk
13
Decnet IV
14
Banyan Vines
15
E.164 with NSAP format subaddress
88
群組列表中編碼的來源位址
編碼的型態:
在特定的位址家族中所使用的編碼
型態。
S、W、R 位元:
(1)S(稀疏模式位元):在最短
路徑樹上的路由器用來指示該群組
為稀疏模式,且便告知接收此加入
訊息的路由器其必需週期性的送出
加入訊息給來源端。
(2)W(萬用位元):指出加入/
修剪適用於(*.G)項目。如果此位
元清除,則加入/修剪適用於(*.G)
項目。當加入和修剪訊息送出到集
合點時,此位元會被設定。
(3)R(集合點位元):指出此加
入/修剪應送至分享樹中的集合點。
如果此位元被清除,則資訊會被送
至最短路徑樹中的來源端。
3
位址家族
7
15
編碼的型態
31
未使用
S W R
遮罩長度
來源位址
遮罩長度:遮罩長度佔了8位元。
89
PIM 封包格式
3
Bootstrap 封包
片段標記:將Bootstrap訊息分段,並給予標
記,同ㄧ個Bootstrap訊息,各個片段有相同
的標記,標記號碼是隨機產生的。
雜湊遮罩長度:使用雜湊函數後的遮罩長度。
BSR優先權: 利用0 ~ 255代表各候選BSR
的優先權,從候選BSR中選出優先權最高者
成為BSR。
編碼單播BSR位址:某範圍下BSR的位址。
編碼群組位址:在某ㄧ群播群組中的ㄧ個IP
位址。
RP 計數 1- n:在已知的群播群組中所包含的
候選RP數目。
片段RP計數 1- n:此片段中所包含的候選
RP數目。
編碼單播RP位址 1- m:候選RP的位址。
RP保持時間:BSR所能等待的時間,這期間
能接聽由候選RP所發出的候選RP公告訊息
(Candidate-RP-Advertisement)。
RP優先權:利用0 ~ 255作為選擇RP的演算
法,0的優先權最高。
版本
7
15
型態=4
31
未使用
檢查總合
片段標記
雜湊遮罩長度
BSR 優先權
編碼單播 BSR 位址
編碼群組位址 1
RP 計數 1
片段 RP 計數 1
未使用
編碼單播 RP 位址 1
RP 1 保持時間
RP 1 優先權
未使用
編碼單播 RP 位址 2
RP 2 保持時間
RP 2 優先權
未使用
...
編碼單播 RP 位址 m
RP m 保持時間
RP m 優先權
未使用
90
PIM 封包格式
Assert封包
編碼群組位址:
此封包的群播目的地IP位址。
編碼單播來源位址:
此封包的群播來源的IP位址。
權值優先權:
單播路由協定的參考值,提供
路由(路徑的選擇)給來源端。
權值:
在單播路由表中和來源路由相
關聯的權值。
3
版本 型態=5
7
15
未使用
31
檢查總合
編碼群組位址
編碼單播來源位址
權值優先權
權值
91
PIM 封包格式
接枝封包/接枝回覆封包
接枝/接枝回覆封包在密集模
式中用來接枝至樹上,其
格式雷同於加入/修剪封
包,型態欄位的值分別為6
/7。
3
版本
7
型態=6/7
15
未使用
31
檢查總合
編碼單播上游鄰居位址
未使用
群組個數
保持時間
92
PIM 封包格式
候選RP告示封包
前置計數:
此訊息中所包含的群播群組位址的
數目。
優先權:
利用0 ~ 255來表示候選RP的優先
權。
保持時間:
此訊息有效的時間。
編碼單播RP位址:
候選RP的位址。
編碼群組位址1- n:
各個群播群組中的起始者的位址,
且該起始者為候選RP。
3
版本
7
型態=8
前置計數
15
31
未使用
檢查總合
優先權
保持時間
編碼單播 RP 位址
編碼群組位址 1
…
編碼群組位址 n
93
結論
PIM-SM
明確的加入機制,避免洪泛
使用共享樹及最短路徑樹
與DVMRP可相容
PIM-DM
在小規模網路很有效率
簡單
與DVMRP可相容
不支援共享樹
94
教育部顧問室通訊科技教育改進計畫專案補助
MOSPF (Multicast
票選 LOGO
Extensions to OSPF)
周立德
陳彥文
許獻聰
劉惠英
陳仁暉
賴源正
國立中央大學資訊工程學系
國立中央大學通訊工程研究所
淡江大學電機工程學系
輔仁大學電子工程學系
長庚大學資訊工程學系
國立台灣科技大學資訊管理學系
http://networklab.csie.ncu.edu.tw/books/router/
2003-2004 All rights reserved. No part of this publication and file may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or
otherwise, without prior written permission.
綱要
簡介
運作方式
區域內群播樹
自治系統內跨區群播樹
跨自治系統群播樹
封包格式
結論
96
簡介
連接狀態的路由協定
由OSPF延伸,增加描述群組位址
群播樹為來源端樹。
區域內,自治系統內跨區,跨自治系統
使用”萬用”(wildcard)接收者
RFC 1584
97
N1
Mb
RT 1
3
Ma
Mb
N 12
8
8
1
N3
N 14
8
H4
1
N 13
6
8
RT 4
RT 2
8
7
RT 5
3
RT 3
1
Ma
6
8
6
2
RT 6
N2
H3
N4
H2
N 12
6
2
N 11
1
N 15
RT 7
Ma
RT 9
1
Ib
2
RT 11
H1
SLIP
1
3
N9
10
5
Ma
N6
RT 10
1
1
N8
RT 12
2
4
H5
N 10
N7
98
區域內建構最短路徑樹
每一個在群播資料路徑上的MOSPF路由器是以傳
送儲存器的內容作為它推送判斷的基礎。
每一儲存器項目指出必須接收到的資料來源的鄰近
節點(上游)和資料應該被推送出去的介面(下游)。
推送儲存器項目由兩部分組成:
區域群組資料庫(Local group database)
最短路徑樹(shortest path tree)
99
區域群組資料庫
Router
local group database
RT1
[Group B,N1]
RT2
[Group A,N2]
RT3
[Group B,N3]
RT4
None
[Group B,N2]
100
MOSPF資料庫
** 起點 **
RT2、N6及RT9:
A
RT1、RT2及N3:
B
RT1 RT2
RT9
N3 N6
RT3 RT4 RT5 RT6 RT7 RT8
RT10 RT11 RT12
N8 N9
(Ma,Mb)
(Mb)
(Ma)
(Mb) (Ma)
RT1(Mb)
0
RT2(Ma,Mb)
0
RT3
6
0
RT4
8
0
RT5
8
6
6
RT6
8
7
5
RT7
6
RT8
0
RT9(Ma)
0
RT10
7
0
RT11
0
0
*
RT12
0
0
*
N1
3
0
終
N2
3
點
N3(Mb)
1
1
1
1
*
N4
2
*
N6(Ma)
1
1
1
N7
4
N8
3
2
N9
1
1
1
N10
2
N11
3
N12
8
2
N13
8
N14
8
101
N15
9
H1
10
最短路徑樹(經修剪)
RT 3(N4,origin)
1
8
N 3(Mb)
RT 6
0
7
RT 10
3
RT 2(Ma,Mb)
1
N8
N 6(Ma)
0
RT 11
1
N9
0
102
RT 9(Ma)
N1
Mb
RT 1
3
Ma
Mb
N 12
8
8
1
N3
N 14
8
H4
1
N 13
6
8
RT 4
RT 2
8
7
RT 5
3
RT 3
1
Ma
6
8
6
2
RT 6
N2
H3
區域 1
H2
N4
N 12
6
2
N 11
1
N 15
RT 7
Ma
RT 9
1
Ib
2
RT 11
H1
SLIP
1
1
3
N9
10
5
Ma
N6
RT 10
Virtual link
1
N8
RT 12
2
4
H5
N 10
區域 3
區域 2
N7
103
自治系統內跨區群播樹
跨區群播傳送器
需摘要式的提供出在區域內的群組成員,並將此
資訊傳送至骨幹,亦即為這些群組傳送出groupmembership-LSA至骨幹區域,但這些資訊並不
會被重新再傳至其他的非骨幹區,同時骨幹的摘
要群組成員也不會送至非骨幹區。
萬用群播接收器
不管群播的目的地為何,都會傳送群播資料至此
萬用群播接收器
104
MOSPF資料庫(區域1)
RT1、RT2及N3:B,
RT1:A,
RT3及RT4:萬用
** 起點 **
RT1 RT2 RT3 RT4 RT5 RT7 N3
(Ma,Mb) (Mb) (W) (W)
(Mb)
RT1(Ma,Mb)
0
RT2(Mb)
0
RT3(W)
0
RT4(W)
0
RT5
14
8
RT6
20 14
RT7
*
N1
3
*
N2
3
終 N3(Mb)
1
1
1
1
N4
2
點
15 22
* Ia,Ib
N6
16 15
*
N7
20 19
N8
18 18
N9-N11,H1
19 16
N12
8
2
N13
8
N14
8
N15
9
105
MOSPF資料庫(骨幹)
RT3、RT4:A及B
RT7、RT10、RT11:A
** 起點 **
RT3 RT4 RT5 RT6 RT7 RT10 RT11
(Ma,Mb) (Ma,Mb)
(Ma) (Ma) (Ma)
RT3(Ma,Mb)
6
RT4(Ma,Mb)
8
RT5
8
6
6
RT6
8
7
5
RT7(Ma)
6
RT10(Ma)
7
2
RT11(Ma)
3
N1
4
4
*
N2
4
4
*
N3
1
1
終
N4
2
3
點
Ia
5
*
Ib
7
*
N6
1
1
3
N7
5
5
7
N8
4
3
2
N9-N11,H1
1
N12
8
2
N13
8
N14
8
N15
9
106
最短路徑樹(區域1)
RT 3 (W,origin = N4)
S: N4, D:A
需考慮萬用接收器
1
RT 3(Mb)
0
RT 2(Ma,Mb)
0
RT 4(W)
107
最短路徑樹(跨區)
RT 3(N4,origin)
S: N4, D: A
2
3
RT 3(Ma,Mb)
RT 4(Ma,Mb)
6
8
RT 5
RT 6
5
6
RT 10(Ma)
RT 7(Ma)
2
RT 11(Ma)
108
跨自治系統群播樹
方式雷同自治系統內跨區群播樹
跨自治系統群播傳送器
萬用群播接收器
109
封包格式
0
7
路由器-LSA
(link-state Advertisement)
Rtype: W=1
15
23
LG age
選項
31
1
鏈結狀態 ID
公告路由器
LS 序列號碼
萬用群播接收器
LS 檢查總合
Rtype
長度
0
#鏈結數
鏈結 ID
鏈結資料
型態
#TOS
TOS 0 權值
TOS
0
權值
...
TOS
Rtype
*
0
*
*
權值
*
W
V
E
B
110
封包格式
群組成員-LSA
頂點型態:1為路由器,2
為傳遞網路。只有設定為
路由器時,宣告的路由器
本身才有可能被包含在列
表內。
頂點號碼 : 此欄位是用來
指示路由器的OSPF路由
器號碼,若是傳遞網路的
話,此欄位指示出此網路
的指定路由器的IP位址。
7
15
LS 年齡
23
選項
31
6
鏈結狀態 ID = 目的地群組
公佈的路由器
LS 序列號碼
LS 檢查總合
長度
頂點型態
頂點 ID
111
結論
不需洪泛,使用LSA及鏈結狀態資料庫
只能使用在OSPF的網路
嚴重的擴展性問題
Dijkstra演算法需對每個群組配對執行
當群組成員改變時,需重執行Dijkstra演算法
不支援分享樹
不適用於群播來源端個數很多的情況
112
教育部顧問室通訊科技教育改進計畫專案補助
CBT (Core Based Tree)
周立德
陳彥文
許獻聰
劉惠英
陳仁暉
賴源正
票選 LOGO
國立中央大學資訊工程學系
國立中央大學通訊工程研究所
淡江大學電機工程學系
輔仁大學電子工程學系
長庚大學資訊工程學系
國立台灣科技大學資訊管理學系
http://networklab.csie.ncu.edu.tw/books/router/
2003-2004 All rights reserved. No part of this publication and file may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or
otherwise, without prior written permission.
綱要
簡介
運作方式
群播樹的建立
群播樹的維謢
群播資料的傳送
核心路由器的選定
封包格式
結論
114
簡介
CBT 為每個群組建立單一共享樹
並不針對每個發送端建立一棵最短路徑樹
優點:擴展性高
CBT 共享樹設計理念:
擴展性,強健性,簡單,互通性
RFC
2189, 2201
115
簡介
擴展性
CBT 的樹為 O(G)
其他方法的樹為O(S*G), S為來源端的個數,G為接收端
的個數。
強健性
一棵共享樹的核心路由器負責維護所有群組成員的連結,
故需有一機制能快速偵測核心路由器的錯誤,且快速完
成樹的重建。
簡單
相對於其它群播路由協定,CBT 協定較簡單。
互通性
CBT與DVMRP有完整的互通機制。
116
運作方式(群播樹的建立)
接收端首先利用IGMP表示它要加入群組。
CBT 路由器收到接收端的群組成員資訊後, 會朝此群組核
心路由器的方向送出加入要求(JOIN_REQUEST)訊息。
此加入訊息會由核心路由器或是已成為群組成員的路由器
予以回應( JOIN_ACK)。
這個加入訊息會在經過的路由器上設置暫時的加入狀態,
這個狀態包含 <群組, 進來的介面, 送出的介面>。
這個暫時的狀態若沒有被上游節點回覆的加入回應所確認,
則最後會因為超過時間而失效。
當這個加入回應到達原先送出加入要求訊息的路由器時,
接收者即可接收此特定群組的資料。
117
運作方式(群播樹的建立)
路由器 F
路由器 C
路由器 D
接收端
路由器 I
核心路由器
路由器 A
已加入
狀態
已加入
狀態
已加入
狀態
路由器 E
路由器 B
加入_回應
118
運作方式(群播樹的維護)
當每個CBT群播路由器有下游節點是接收者時,必
須負責維護自身與上游節點間的連結。
此樹的維護機制的運作方式是定期的送一個
“keepalive” 訊息(ECHO_REQUEST) 到它的上游
節點。當收到一個 keepalive 訊息時,路由器要立即
的回送一個回應 (ECHO_REPLY)。
當路由器發現下游介面(外送介面)已是NULL時,
就會發出一個離開通知(QUIT_NOTIFICATION)
訊息到上游節點來做群播樹修剪的工作,且送一個
沖刷樹(FLUSH_TREE)訊息到下游節點來要求關
閉群組的下游分枝。
119
運作方式(群播樹的維護)
路由器 F
路由器 C
路由器 D
路由器 I
核心路由器
路由器 A
接收端
路由器 E
路由器 B
共鳴要求
共鳴回應
120
運作方式(群播樹的修剪)
路由器 F
路由器 C
路由器 D
路由器 I
核心路由器
路由器 A
接收端
路由器 E
路由器 B
離開通知
沖刷樹
121
運作方式(群播資料的傳送)
來源端是群組成員時
使用建立出的群播樹之相反方向來傳送群播資料給
核心路由器,換言之,CBT所建立的共享群播樹為
雙向的(在PIM-SM中所建立的共享群播樹為單向
的),可利用此樹將群播資料由核心路由器循下游
方向送至接收端,亦可利用此樹將群播資料由來源
端循上游方向送至核心路由器。
若是來源端不是群組成員的情況時
使用隧道的作法將群播資料封裝後送至核心路由器。
122
運作方式(核心路由器的選定)
人工機制
優點:可得到較佳的樹。
缺點:擴展性較差。
bootstrap 機制
每個區域中會以一個簡單的選舉流程選出一個路由器來
成為Bootstrap Router (BSR)。
某些路由器會被設定為候選路由器。
每個候選路由器會使用”候選資格通知”定期的送出它
的候選資格到BSR。
123
運作方式(核心路由器的選定)
BSR 會收集這些候選資格並定期利
用”bootstrap”訊息的將這些候選資格的集合送
到每個路由器。
當一個路由器從它本地主機收到一個IGMP的主
機成員報告,此路由器會使用一個雜湊函數將要
求的群組位址對應到至特定的核心路由器。
當BSR 發現某核心路由器失去連繫時,它會將
這個核心路由器從下一個bootstrap訊息中的候
選資格集合刪除。並重新計算有影響的群組核心
路由器,並加入新的核心路由器。
124
封包格式
0
3
版本
7
形式
15
位址長度
23
31
偵錯
形式
型態0: HELLO
型態1: 加入要求(JOIN_REQUEST)
型態2: 加入(JOIN_ACK)
型態3: 離開通知(QUIT_NOTIFICATION)
型態4: 共鳴要求(ECHO_REQUEST)
型態5: 共鳴回應(ECHO_REPLY)
型態6: 沖刷樹(FLUSH_TREE)
型態7: 帶頭訊息(Bootstrap Message),此為選項
型態8: 候選核心宣傳(Candidate Core Advertisement),此為選項
125
結論
CBT 是一個區域內和區域間的群播路由協定。
CBT具備
簡單
擴展性
126
總結
DVMRP
CBT
密集模式
有效率
可於PIM共存
擴展性受限制
稀疏模式
效率有提昇
擴展性有改進
MOSPF
PIM DM & SM
密集模式
協定相依
較無效率
擴展性受限制
密集或稀疏模式
可擴展
有效率
非協定相依
127