組播(multicast)
概括:
單播(Unicast)是在一臺(tái)源IP主機(jī)和一臺(tái)目的IP主機(jī)之間進(jìn)行俯渤。
廣播(Broadcast)是在一臺(tái)源IP主機(jī)和網(wǎng)絡(luò)中所有其它的IP主機(jī)之間進(jìn)行
組播(Multicast)是在一臺(tái)源IP主機(jī)和多臺(tái)(一組)IP主機(jī)之間進(jìn)行挣磨,中間的交換機(jī)和路由器根據(jù)接收者的需要,有選擇性地對(duì)數(shù)據(jù)進(jìn)行復(fù)制和轉(zhuǎn)發(fā)杂抽。
ASM 全稱為 Any-Source Multicast廓八,譯為任意源組播
SSM 全稱為 Source-Specific Multicast寂呛,譯為指定源組播坯汤。
私有 IP 地址
A 類 1.0.0.1-126.255.255.254
B 類 128.1.0.1-191.255.255.254
C 類 192.0.1.1-223.255.255.254
224.0.0.1 地址(表示同一網(wǎng)段內(nèi)所有主機(jī)和路由器)
224.0.0.2 地址(本地網(wǎng)段內(nèi)的所有組播路由器)
224.0.0.13 地址( PIM 路由器)
組播ip地址:
組播MAC地址,第一個(gè)字節(jié)的最后一位為1善延。
單播MAC地址,第一個(gè)字節(jié)的最后一位為0彼妻。
組播IP轉(zhuǎn)換為組播MAC地址時(shí)侨歉,會(huì)有5個(gè)bit的數(shù)據(jù)丟失幽邓,一共32個(gè)ip地址牵舵。
組播基本架構(gòu):
組播源到路由器:組播源生成組播數(shù)據(jù)畸颅,完成數(shù)據(jù)封裝并發(fā)送給網(wǎng)關(guān)路由器没炒。
路由器到路由器:路由器根據(jù)接收者的分布情況有選擇地對(duì)數(shù)據(jù)進(jìn)行復(fù)制和轉(zhuǎn)發(fā)送火。
路由器到接收端:路由器收到組播數(shù)據(jù)并發(fā)送給相應(yīng)的接收者漾脂。
IGMP:(Internet Group Management Protocol,因特網(wǎng)組管理協(xié)議)
運(yùn)行于主機(jī)與組播路由器之間
IGMPv1 :主要基于查詢和響應(yīng)機(jī)制來(lái)完成組播組的管理胚鸯。路由器周期(60s)發(fā)送普遍組查詢報(bào)文(224.0.0.1),主機(jī)聽到后發(fā)送Report坦冠,加入組播組哥桥,主機(jī)離開組播時(shí)不發(fā)送離開報(bào)文,離開后再收到路由器發(fā)送的查詢消息時(shí)不反饋 report 消息判呕,待維護(hù)組成員關(guān)系的定時(shí)器超時(shí)后(130s)送滞,路由器會(huì)自動(dòng)刪除該主機(jī)的成員記錄犁嗅。
IGMPv1主查詢器選舉:依賴于PIM協(xié)議
1.優(yōu)先級(jí):默認(rèn)為1褂微,越大越優(yōu)先
2.ip地址:越大越優(yōu)先
缺點(diǎn):靜默離開宠蚂,查詢器依賴于pim DR優(yōu)先級(jí)和ip地址
IGMPv2:
1.具有某些報(bào)文抑制機(jī)制求厕,可以減少不必要的 IGMP 重復(fù)報(bào)文,從而節(jié)省網(wǎng)絡(luò)帶寬資源
2.主機(jī)離開組播組時(shí),會(huì)主動(dòng)向路由器發(fā)送離開報(bào)文腾节。
3.主查詢器選舉依靠自身ip地址
主機(jī)離開:主機(jī)發(fā)送離開組信息荤牍,路由器收到后發(fā)送特定組查詢報(bào)文(224.1.1.1),檢查主機(jī)是否離開康吵,發(fā)送兩次
IGMPv2主查詢器選舉:只比較ip地址劈榨,越小越優(yōu)先
IGMPv3:在IGMPv2的基礎(chǔ)上添加指定源晦嵌、組的功能,能夠選擇特定的組播源惭载。
multicast routing-enable 開啟路由器組播功能
int g0/0/0
pim dm
int g0/0/1
pim dm
igmp enable 在接口開啟igmp協(xié)議旱函,連接主機(jī)的接口
igmp version 1
display igmp interface 查詢igmp接口信息
display igmp group 查詢igmp組信息
IGMP Snooping:在交換機(jī)上配置實(shí)現(xiàn)描滔,解決二層組播泛洪的問(wèn)題棒妨。通過(guò)0號(hào)端口(CPU)監(jiān)聽路由器發(fā)送的普遍組查詢報(bào)文,建立二層組播轉(zhuǎn)發(fā)表含长,實(shí)現(xiàn)組播數(shù)據(jù)幀在數(shù)據(jù)鏈路層的轉(zhuǎn)發(fā)和控制。
multicast routing-enable 開啟組播功能
igmp-snooping enable 開啟全局igmp-snooping
vlan 1
igmp-snooping enable 開啟vlan igmp-snooping
display igmp-snooping port-info 查詢二層組播轉(zhuǎn)發(fā)表
PIM
Protocol Independent Multicast 協(xié)議無(wú)關(guān)組播。目前常用版本是PIMv2田弥,PIM 報(bào)文封裝在 IP 報(bào)文中
1.協(xié)議號(hào)為 103
2.PIMv2 組播地址為224.0.0.13商叹。
3.hello周期30s
4.holdtime 105s
DR選舉:
1.優(yōu)先級(jí)只泼,默認(rèn)為1,越大越優(yōu)先
2.ip地址过蹂,越大越優(yōu)先
int g0/0/0
pim hello-option dr-priority 10 修改DR優(yōu)先級(jí)
pim hello-option holdtime 105 在接口視圖下配置Hello消息超時(shí)時(shí)間值。
pim timer hello 30 在接口視圖下配置發(fā)送 Hello 消息的時(shí)間間隔聚至。
兩個(gè)常見的組播路由協(xié)議:
PIM-DM ( Protocol Independent Multicast Dense Mode)
PIM-SM ( Protocol Independent Multicast Sparse Mode)
RPF(Reverse Path Forwarding酷勺,逆向路徑轉(zhuǎn)發(fā))。
組播分發(fā)樹是指從組播源到接收者之間形成的一個(gè)單向無(wú)環(huán)數(shù)據(jù)傳輸路徑扳躬。組播分發(fā)樹有兩類:SPT和RPT脆诉。
PIM-DM:采用“推(Push)模式”轉(zhuǎn)發(fā)組播報(bào)文。
關(guān)鍵任務(wù):建立SPT(最短路徑樹)
工作機(jī)制:鄰居發(fā)現(xiàn)贷币,擴(kuò)散與剪枝击胜,狀態(tài)刷新(60s),嫁接(graft)役纹,斷言(assert)偶摔。
display pim neighbor
display pim interface verbose
display pim routing-table
PIM-DM假設(shè)網(wǎng)絡(luò)中的組成員分布非常稠密,每個(gè)網(wǎng)段都可能存在組成員促脉。
缺點(diǎn):在組播成員分布較為稀疏的網(wǎng)絡(luò)中辰斋,組播流量的周期性擴(kuò)散會(huì)給網(wǎng)絡(luò)帶來(lái)較大負(fù)擔(dān)。
其設(shè)計(jì)思想是:
首先將組播數(shù)據(jù)報(bào)文擴(kuò)散到各個(gè)網(wǎng)段嘲叔。然后再裁剪掉不存在組成員的網(wǎng)段亡呵。
通過(guò)周期性的“擴(kuò)散—剪枝”抽活,構(gòu)建并維護(hù)一棵連接組播源和組成員的單向無(wú)環(huán)SPT硫戈。
PIM-DM的關(guān)鍵工作機(jī)制包括鄰居發(fā)現(xiàn)、擴(kuò)散與剪枝下硕、狀態(tài)刷新丁逝、嫁接和斷言。
在PIM-DM網(wǎng)絡(luò)中梭姓,路由器周期性發(fā)送Hello消息來(lái)發(fā)現(xiàn)霜幼、建立并維護(hù)鄰居關(guān)系。
DR充當(dāng)IGMPv1的查詢器誉尖。 接口 DR 優(yōu)先級(jí)大的路由器將成為該 MA 網(wǎng)絡(luò)的 DR罪既,在優(yōu)先級(jí)相同的情況下,接口IP地址大的路由器將成為DR铡恕。
Assert競(jìng)選規(guī)則如下:
1.到組播源的單播路由協(xié)議優(yōu)先級(jí)較小者獲勝琢感。
2.如果優(yōu)先級(jí)相同,則到組播源的路由協(xié)議開銷較小者獲勝探熔。
3.如果以上都相同驹针,則連接到接受者M(jìn)A網(wǎng)絡(luò)接口IP地址最大者獲勝。
PIM-SM:使用“拉(Pull)模式”轉(zhuǎn)發(fā)組播報(bào)文诀艰。
multicast routing-enable 開啟路由器組播功能
int g0/0/0
pim sm
pim
static-rp 3.3.3.3 指定RP匯聚點(diǎn)
display pim rp-info 查詢RP的信息
PIM-SM假設(shè)網(wǎng)絡(luò)中的組成員分布非常稀疏柬甥,幾乎所有網(wǎng)段均不存在組成員饮六,直到某網(wǎng)段出現(xiàn)組成員時(shí),才構(gòu)建組播路由苛蒲,向該網(wǎng)段轉(zhuǎn)發(fā)組播數(shù)據(jù)卤橄。一般應(yīng)用于組播組成員規(guī)模相對(duì)較大、相對(duì)稀疏的網(wǎng)絡(luò)臂外。
PIM-SM 的關(guān)鍵機(jī)制:鄰居建立虽风、DR 競(jìng)選、RP 發(fā)現(xiàn)寄月、RPT 構(gòu)建辜膝、組播源注冊(cè)、SPT切換漾肮、Assert
匯聚點(diǎn)RP(Rendezvous Point)
RP的作用:
1.RP是PIM-SM域中的核心路由器厂抖,擔(dān)當(dāng)RPT樹根節(jié)點(diǎn)。
2.共享樹里所有組播流量都要經(jīng)過(guò)RP轉(zhuǎn)發(fā)給接收者克懊。
組播接收者側(cè) DR:與組播組成員相連的 DR忱辅,負(fù)責(zé)向 RP 發(fā)送(*,G)的 Join加入消息谭溉。
組播源側(cè)DR:與組播源相連的DR墙懂,負(fù)責(zé)向RP發(fā)送單播的Register消息。
Switchover機(jī)制
從組播源到接收者的路徑不一定是最優(yōu)的扮念,并且 RP 的工作負(fù)擔(dān)非常大损搬。為此,我們可以啟用RPT向SPT進(jìn)行的切換機(jī)制柜与。 通過(guò) RPT 樹到 SPT 樹的切換巧勤,PIM-SM 能夠以比 PIM-DM 更精確的方式建立SPT轉(zhuǎn)發(fā)樹。
使用配置命令來(lái)禁止切換
pim
spt-switch-threshold infinity 禁止切換
PIM-SM 的 RP
作用:負(fù)責(zé)這些組播組的注冊(cè)消息的處理弄匕、加入消息的處理以及組播數(shù)據(jù)的轉(zhuǎn)發(fā)颅悉,RP 是 PIM-SM 網(wǎng)絡(luò)的核心,網(wǎng)絡(luò)中的路由器必須知道 RP 的地址迁匠。
特點(diǎn):
1.一個(gè)PIM-SM 網(wǎng)絡(luò)中可以存在一個(gè)或多個(gè)RP
2.一個(gè)RP 可以對(duì)應(yīng)多個(gè)組播組
3.一個(gè)組播組只能對(duì)應(yīng)一個(gè)RP
RP 有兩種形式:靜態(tài)RP 和動(dòng)態(tài) RP剩瓶。
靜態(tài) RP
靜態(tài) RP 是由人工選定的,PIM 網(wǎng)絡(luò)中的所有 PIM 路由器上都需要逐一進(jìn)行配置城丧。通過(guò)配置延曙,每臺(tái)路由便知道了靜態(tài) RP 的地址。
pim
static-rp 11.11.11.11 每臺(tái)設(shè)備都要配置
動(dòng)態(tài)RP
選舉BSR:BSR 動(dòng)態(tài)映射組播組與RP的關(guān)系
1.選舉過(guò)程:C-BSR組播發(fā)送Bootstrap報(bào)文芙贫,比較Bootstrap報(bào)文選舉BSR
2.比較參數(shù):ip地址搂鲫,越大越優(yōu)先
選舉RP:
1.選舉過(guò)程
(1).C-RP向BSR單播發(fā)送Advertisement報(bào)文
(2).BSR將信息匯總為RP-Set,封裝在Bootstrap報(bào)文中磺平,發(fā)布給全網(wǎng)的每一臺(tái)PIM-SM路由器
(3).全網(wǎng)PIM-SM路由器根據(jù)Bootstrap報(bào)文包含的信息選舉RP
2.比較參數(shù):
(1)優(yōu)先級(jí)(越小越優(yōu)先魂仍,默認(rèn)為0)拐辽;
(2)Hash數(shù)值越大越優(yōu)先,(算法參數(shù):組地址擦酌、掩碼長(zhǎng)度俱诸、C-RP 地址)
(3)ip地址,越大越優(yōu)先
int LoopBack 0
pim sm
pim
c-rp LoopBack 0 環(huán)回端口0參與c-rp選舉
c-rp priority 10 修改c-rp優(yōu)先級(jí)
c-bsr LoopBack 0 環(huán)回端口0參與c-bsr選舉
c-bsr priority 10 修改c-bsr優(yōu)先級(jí)
display pim rp-info 查詢r(jià)p信息
display pim bsr-info 查詢bsr信息
Anycast:
為了能夠在網(wǎng)絡(luò)中配置多個(gè)RP既能實(shí)現(xiàn)備份功能赊舶,又能讓所有RP同時(shí)工作實(shí)現(xiàn)流量負(fù)載功能睁搭,Anycast RP是一個(gè)很好的選擇。AnycastRP采用了一種很新穎的思路來(lái)實(shí)現(xiàn)多個(gè)RP的負(fù)載與冗余笼平,它通過(guò)在組播網(wǎng)絡(luò)中將2個(gè)或者2個(gè)以上的RP配置成相同的RP地址來(lái)實(shí)現(xiàn)冗余和備份功能园骆,每個(gè)RP路由器上都創(chuàng)建一個(gè)loopback接口來(lái)充當(dāng)RP,并且該接口地址的掩碼必須是/32位的寓调,然后將該地址通過(guò)動(dòng)態(tài)路由協(xié)議發(fā)布到網(wǎng)絡(luò)中锌唾,因?yàn)樗蠷P的這個(gè)loopback接口地址全部是一樣的,所以能夠?qū)崿F(xiàn)冗余功能夺英,當(dāng)其中某一臺(tái)RP出現(xiàn)故障后晌涕,流量可以很平滑地被轉(zhuǎn)移到另一臺(tái)RP上,這都是因?yàn)樗蠷P的地址是同一個(gè)地址痛悯。
1.在pim視圖下余黎,所有RP都配置同一個(gè)RP地址
2.用loopback接口充當(dāng)本地地址,掩碼為32位
pim
anycast-rp 1.1.1.1 rp地址
local-address 11.11.11.11 本地地址
peer 6.6.6.6 實(shí)現(xiàn)負(fù)載分擔(dān)鄰居地址
pim
anycast 1.1.1.1
local-address 6.6.6.6
peer 11.11.11.11