基礎理論:
IGMP是因特網組管理協議,是用來管理組播接收者的, 執行在最後一跳路由器和接收者之間,只要有接收者存在的地方,都需要執行IGMP協議,
IGMP報文:
實驗環境:
實驗步驟:
1,配置IP地址
2,在R1 -2-3 上開啟組播功能和PIM , 使用PIM DM 模式,需要使用PIM的DR作為查詢器
3,在R 2 和R3 連線成員介面開啟IGMPv1
4,PC加入組播組,驗證R1 -23 的IGMP表項
5,驗證:透過命令檢視查詢器
配置:
1,根據拓撲配置IP地址,三臺路由器都執行OSPF 1 , 所有介面宣告進area 0
信源和接收者都加組224.1.1.1, 所有介面啟用PIM DM 模式, R2-3連線接收者的介面啟用IGMPv1
----------------------------------------------------------------------------------------------------------------
IGMPv1
R1 :介面配置IP地址並啟用PIM DM 模式
interface GigabitEthernet0/0/0
ip address 10.1.1.254 255.255.255.0
pim dm
#
interface GigabitEthernet0/0/1
ip address 192.168.1.254 255.255.255.0
pim dm
#
interface GigabitEthernet0/0/2
ip address 192.168.2.254 255.255.255.0
pim dm
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
ospf 1 router-id 1.1.1.1 -------------OSPF 部分全部宣告進OSPF 1 area 0
0 area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.1.254 0.0.0.0
network 192.168.1.254 0.0.0.0
network 192.168.2.254 0.0.0.0
-----------------------------------------------------------------------
R2:和R3 配置相同, 只有IP地址部分配置不一樣,
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
pim dm----------介面啟用PIM DM 模式
#
interface GigabitEthernet0/0/1
ip address 192.168.3.253 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.3.252---------配置vrrp
pim dm
igmp enable-----啟用IGMP
igmp version 1---啟用版本1
#
interface GigabitEthernet0/0/2
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
ospf 1 router-id 2.2.2.2 ---啟用OSPF
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 192.168.1.1 0.0.0.0
network 192.168.3.253 0.0.0.0
----------------------------------------------------------
R3:
interface GigabitEthernet0/0/0
ip address 192.168.2.1 255.255.255.0
pim dm
#
interface GigabitEthernet0/0/1
ip address 192.168.3.254 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.3.252
pim dm
igmp enable
igmp version 1
#
interface GigabitEthernet0/0/2
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 192.168.2.1 0.0.0.0
network 192.168.3.254 0.0.0.0
---------------------------------------------------------------
信源部分配置:
接收者部分配置, 接收者配置都是一樣的,
------------------------------------------------------------------------
--------------------------------------------------------------------------
檢視IGMP 介面資訊, 檢視查詢者
[R2]display igmp interface GigabitEthernet 0/0/1
Interface information of VPN-Instance: public net
GigabitEthernet0/0/1(192.168.3.253): -----------介面地址
IGMP is enabled--------介面已經啟用IGMP
Current IGMP version is 1 目前使用版本1
IGMP state: up
IGMP group policy: none
IGMP limit: -
Value of query interval for IGMP (negotiated): -
Value of query interval for IGMP (configured): 60 s--IGMP 查詢60S一次
Value of other querier timeout for IGMP: 0 s
Value of maximum query response time for IGMP: -
Querier for IGMP: 192.168.3.254 -------查詢者選舉, 比IP地址, 比大, R3是查詢者
Total 1 IGMP Group reported-----收到的加組資訊中, 只有一個組
---------------------------------------------------------------------------
[R2]display igmp group
Interface group report information of VPN-Instance: public net
GigabitEthernet0/0/1(192.168.3.253):
Total 1 IGMP Group reported
Group Address Last Reporter Uptime Expires
224.1.1.1 192.168.3.6 00:37:49 00:01:48
可以看到目前我們執行的是IGMP v1 , 也有last reporter,是PC6, 是使用PC6 的IP地址來標識的
----------------------------------------------------------------------------------------
檢視PIM 路由表項
[R2]display pim routing-table
VPN-Instance: public net
Total 1 (*, G) entry; 1 (S, G) entry
(*, 224.1.1.1)
Protocol: pim-dm, Flag: WC
UpTime: 00:31:57
Upstream interface: NULL
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: GigabitEthernet0/0/1
Protocol: igmp, UpTime: 00:31:57, Expires: never
(10.1.1.1, 224.1.1.1)-----------當前有一股資料流, 源是10.1.1.1, 組播組是224.1.1.1
Protocol: pim-dm, Flag: ACT ------執行的協議是PIM, 模式是DM, flag是ACT
UpTime: 00:00:14
Upstream interface: GigabitEthernet0/0/0
Upstream neighbor: 192.168.1.254----上游介面, 是連線上游的R1 的介面
RPF prime neighbor: 192.168.1.254----RPF 介面,
Downstream interface(s) information: None
---------------------------------------------------------------------
抓包檢視流量資訊
-------------------------------------------------------------------------------------------
檢視PIM 鄰居
[R2]display pim neighbor
VPN-Instance: public net
Total Number of Neighbors = 2
Neighbor Interface Uptime Expires Dr-Priority BFD-Session
192.168.1.254 GE0/0/0 01:34:48 00:01:27 1 N
192.168.3.254 GE0/0/1 01:34:10 00:01:35 1
修改pim DR優先順序, 目前R3 是查詢者, 我們修改R2 為查詢者,
介面DR優先順序預設是1 , 我們修改R2 G0/0/1 介面PIM DR優先順序為2
[R2-GigabitEthernet0/0/1]pim hello-option dr-priority 2
可以看到修改R2 的介面DR優先順序之後, IGMP查詢者修改為了R2, 之前是R3 的,
這裡驗證了IGMPv1 是使用PIM 的DR 作為查詢者的,PIM DR優先順序一致的情況下, 比較PIM路由器介面IP地址,比大, IP地址大的選舉為為DR, 作為查詢者,, 如果優先順序不一致, 優先順序比較DR優先順序, 預設值是1 ,比大,
---------------------------------------------------------------------------------------------
IGMPv2
接下來我們把IGMP 版本切換為版本2, 所有啟用IGMP的地方都切換為版本2
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]igmp version 2
透過抓包, 我們抓到了一個查詢和3個應答,
可以看到查詢的源地址是查詢者, 目的地址2層地址是組播MAC, 3層地址是要加入的這個組
離組報文源地址是接收者地址, 目的地址是離開的這個組播組地址
--------------------------------------------------------------------------------
現在我們驗證查詢者選舉情況
我們把PIM DR 優先順序改回預設值1, 發現 R2 是查詢者,這裡是比IP地址, 比小,
為了證明IGMPv2 不是使用PIM DR 做查詢器, 我們把R3的PIM DR優先順序改大
[R3-GigabitEthernet0/0/1]pim hello-option dr-priority 2
可以看到R3 PIM DR優先順序是2,比R2 PIM DR優先順序預設值1還大,如果是使用PIM DR做查詢者,那麼,查詢者就應該是R3, 但是R2 是查詢者, 說明這裡IGMPv2 不是使用PIM DR做查詢者,是使用IGMP自己的選舉機制, 選舉查詢者, 這裡是比較IP地址, 比小,驗證完畢。
-------------------------------------------------------------------------------------------
IGMP snooping
這個技術是應用在交換機上的,
[SW1]multicast routing-enable 啟用組播路由功能
[SW1]igmp-snooping enable 啟用igmp-snoop ing
[SW1-vlan1]igmp-snooping enable 在vlan內啟用
檢視這個vlan內的路由器介面
檢視關於IGMP-snoop ing的介面資訊
今天的分享就到這裡了!