概述
在組播樹中,被記錄為(*,G)的組條目表示對于一個特定的組G,任何主機都可以向該組發(fā)起組播流量,也就是說,一個組可以擁有多個組播源,任何組播源都可以發(fā)送組播流量,這樣的組播被稱為任意源組播Any Source Multicast (ASM)。
因為一個組一般表示一個應(yīng)用,如果網(wǎng)絡(luò)中兩個應(yīng)用使用了同一個組地址,這樣就會造成組成員將兩個不同應(yīng)用的流量誤當作同一個應(yīng)用來處理,就會造成數(shù)據(jù)的混亂或錯誤,所以當兩個應(yīng)用不小心使用了同一個組地址,這樣會給應(yīng)用帶來問題。
如果一個組成員想要接收某個組的組播流量,可以通過IGMP向路由器報告,例如IGMP ver1,IGMP ver2,報告中指出了組成員想要接受的組地址,當路由器收到IGMP報告之后,就會將發(fā)往相應(yīng)組地址的流量轉(zhuǎn)發(fā)到組成員。
正因為路由器會將任何組播源發(fā)到同一個組的流量轉(zhuǎn)發(fā)給相同組成員,所以可能會造成多個應(yīng)用使用同一個組地址時,不能只將組成員想要接收的流量發(fā)到組成員。如果要實現(xiàn)只將特定組播源發(fā)來的流量轉(zhuǎn)發(fā)給相應(yīng)的組成員,那么這樣的組播機制,被稱為特定源組播Source Specific Multicast(SSM)。
因為特定源組播(SSM)只將特定的組播源發(fā)來的流量,而不是任何源發(fā)來的流量轉(zhuǎn)發(fā)給組成員,所以組成員在向路由器報告自己想要接受的組播流量時,除了明確指出組地址之外,還必須指出組播源地址,而這樣的IGMP報告,需要IGMP ver3來支持。
并且可以想象,如果多個應(yīng)用程序在同一個源,那么就要多個組,但如果多個應(yīng)用在不同源,那么組地址就可以相同,也可以不同,因為SSM可以根據(jù)源地址區(qū)分出不同的應(yīng)用程序。
在運行SSM時,需要兩個組件
- Protocol Independent Multicast source-specific mode (PIM-SSM)
- Internet Group Management Protocol Version 3 (IGMPv3)
其中IGMP ver3可以代替ver 1和ver 2的功能,但是與ver 1和ver 2不同之處在于,IGMP ver 3支持對源地址的過濾,IGMP ver 3 在報告中,會明確指出想要接收的組播源地址。
SSM基于(S, G) 傳輸, 但SSM也可以和其它組播樹共存,只要配好自己的組地址范圍即可,為SSM保留地址范圍是:
232.0.0.0 - 232.255.255.255 (232.0.0.0/8)但思科IOS可任意配地址范圍。
雖然如此,要先有PIM SM,才能有SSM,但SSM也可以獨立存在。
如果已經(jīng)有了PIM-SM,那么只有最后一跳路由器需要開啟SSM即可,也就是說只需要直接連接著組成員,直接接收組成員IGMP數(shù)據(jù)包的路由器需要開啟SSM。
注:SSM不需要RP,當最后一跳路由器開啟SSM后,正常的PIM-SM就失去意義了。
配置SSM
只在直接連接著組成員,直接接收組成員IGMP數(shù)據(jù)包的路由器 上開啟SSM
1.全局開啟組播
- 全局開啟組播路由功能
Router(config)#ip multicast-routing
2.配置SSM組地址范圍
- 配置默認的SSM組地址范圍
Router(config)#ip pim ssm default
說明:配置此命令后,默認的SSM組地址范圍為:232.0.0.0 - 232.255.255.255
- 配置SSM組地址為232.1.1.1
Router(config)#access-list 1 permit 232.1.1.1
Router(config)#ip pim ssm range 1
說明:ACL 1所匹配的地址即為SSM的組地址范圍。
3.在接口開啟SSM
- 在接口開啟PIM
Router(config-if)#ip pim sparse-mode
說明:必須在接口開啟sparse-mode或sparse-dense-mode
- 在接口開啟IGMP ver 3
Router(config-if)#ip igmp version 3
說明:默認為IGMP ver 2.
- SSM查看命令
Router# show ip igmp groups
Router# show ip mroute