組播協(xié)議路由表
1.1 IGMP組
路由器接口下會(huì)記錄網(wǎng)段上用戶主機(jī)所加入的組播組,, 當(dāng)路由器收到IGMP組加入報(bào)文之后, 接口維護(hù)IGMP組加入信息并通知組播路由協(xié)議創(chuàng)建相應(yīng)(*,G)表項(xiàng),只要設(shè)備接口使能了IGMP并收到組加入報(bào)文,就會(huì)為每個(gè)接口維護(hù)一個(gè)組加入信息表項(xiàng),組表項(xiàng)信息如下:

? 任何組播路由協(xié)議都會(huì)有組播路由協(xié)議路由表。
1.2 IGMP路由表
IGMP路由表是由IGMP協(xié)議維護(hù)的,但它只有在接口沒有使能PIM協(xié)議的時(shí)才存在,它的作用主要是用來在組播路由協(xié)議無法工作的接口上,使用IGMP擴(kuò)展組播路由表的出接口,組播數(shù)據(jù)可以根據(jù)IGMP路由表向非PIM接口轉(zhuǎn)發(fā),以下是組播路由表示例:

1.3 PIM 路由表
PIM 路由表是由PIM協(xié)議根據(jù)單播路由協(xié)議產(chǎn)生, 根據(jù)RPF計(jì)算得到的.
?

1.4 組播路由表

??


當(dāng)接收者所在的接口沒有啟用PIM時(shí),組播報(bào)文的轉(zhuǎn)發(fā)行為依據(jù)IGMP路由表而定,但如果接口PIM協(xié)議啟用,組播報(bào)文是否轉(zhuǎn)發(fā)到當(dāng)前接口,則參考PIM協(xié)議路由表,即PIM協(xié)議路由表優(yōu)先于IGMP協(xié)議路由表。
另外,僅當(dāng)路由器是IGMP Querier時(shí),才有IGMP路由表,并執(zhí)行IGMP路由轉(zhuǎn)發(fā)
驗(yàn)證過程:

?
如圖: 按照拓?fù)渫瓿蒊P地址配置, 在R2-3之間配置vrrp, 所有IGMP使用v2.主機(jī)加入組地址224.1.1.1。
配置完成后, 由于IGMP 查詢者是比較IP地址, 比小, 所以, 要在IP地址小這邊關(guān)閉PIM, 讓選舉成為查詢者的這邊不啟用PIM, 這樣, 我們才可以看到IGMP 路由表。
?

分析: 當(dāng)組播流量流到R3-4之間的交換機(jī)上的時(shí)候, 由于R3 是查詢者,未開啟PIM,因此可以根據(jù)IGMP路由表執(zhí)行路由, 而R2 是PIM路由器, 有PIM路由表, R2和R3 根據(jù)PIM和IGMP路由表分別轉(zhuǎn)發(fā)組播數(shù)據(jù), 所以會(huì)發(fā)生PC收到多份重復(fù)的數(shù)據(jù),由于PIM有斷言機(jī)制,R2會(huì)發(fā)assert 報(bào)文協(xié)商, 但是R3 沒有啟用PIM, 不能識(shí)別assert報(bào)文,所以協(xié)商不成功,R2 就一直發(fā)送assert報(bào)文。
解決方法:
1: R2 和R3兩者都啟用PIM, 讓assert 協(xié)商可以成功, 由assert Winner負(fù)責(zé)轉(zhuǎn)發(fā)組播數(shù)據(jù)
2: R2 和R3 都不啟用PIM, 都啟用IGMPv2, 由IGMP查詢者負(fù)責(zé)轉(zhuǎn)發(fā)組播數(shù)據(jù)
如此,可以解決終端收到重復(fù)的組播流量問題.
??igmp+PIM+組播路由表.zip