简介
本文档介绍任意源组播(ASM)模型的数据包流。
背景信息
本文提供本地组播数据包流的详细数据包流及其输出分析,介绍详细分析输出和控制平面和转发平面中的数据包流。
ASM是接收方不知道发送方的模型。这意味着它可以从任何源接收流量。接收方只知道发送方使用的组播组和互联网组管理协议(IGMP),以便订用以接收发往此地址的所有流量。
本文档将涵盖所有这些内容:
1.接收方处于活动状态时会发生什么情况。
2.当源处于活动状态时会发生什么情况。
3.在交汇点(RP)处接收寄存器时会发生什么情况。
4.(S,G)的形成方式。直到第一跳路由器(FHR)。
5.它为第一个组播流采用哪条路径。
6.当两个流在最后一跳路由器(LHR)接收时会发生什么情况。
7.如何在共享树上形成最短路径树(SPT)。确切地说,发生了什么以及发生切换的原因。
协议无关组播(PIM)用作源和接收方之间的组播路由协议来创建组播树。在ASM中,使用(*,G)组播条目,其中*表示任意源,G是组播组地址接收方,对接收流量感兴趣。
步骤1.当接收方处于活动状态时,它会发送IGMP报告消息
- 当接收方的意向表达被接收时,指定路由器(DR)随后向该组播组的RP发送PIM加入消息。
- 此加入消息称为(*,G)加入,因为它加入组G中所有源到该组。
- (*,G)加入逐跳传输到组的RP,并且在它经过的每台路由器中,组G的组播树状态被实例化。
LHR被视为最后一跳路由器,因为它在(*,G)条目中具有C标志,这意味着它有直连接的接收方(实际上,在本例中,它自己使用igmp join group命令)。
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-00.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-01.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-02.png)
步骤2.当源处于活动状态时
- 在DR发送注册消息之前,简而言之,它必须查询mroute表以确保它不是RP并且具有RP-Set信息,并且所有检查都要求在DR和RP路由器之间启用PIM。
- FHR和RP隧道都需要软件级隧道封装和解封。
- 注册消息提供信息源组和源的存在。
- 解压封装的组播数据包,RP检查目的地址是否存在(*,G)状态。
- 如果没有(*,G)状态,PIM注册停止会立即发回。
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-03.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-04.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-05.png)
步骤3.表单共享树
- 在DR发送注册消息之前,简而言之,它必须查询mroute表以确保它不是RP并且具有RP-Set信息,并且所有检查都要求在DR和RP路由器之间启用PIM
- FHR和RP隧道都需要软件级隧道封装和解封
- 注册消息提供源组和存在(如果源)信息。
- 解压封装的组播数据包,RP检查目的地址是否存在(*,G)状态。
- 如果没有(*,G)状态,PIM注册停止会立即发回。
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-06.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-07.png)
步骤4.(S,G)到达FHR的数据包
- 只有RP(S,G)PIM加入处存在注册消息才会传到FHR。创建转发状态。
- 在PIM JOIN后,它完成为组播流量创建硬件转发状态的过程。
- 如果有(*,G)侦听程序,RP将开始构建面向组播源IP地址的SPT。这是执行RPF检查以查找要向其发送PIM加入的上游接口的位置。
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-08.png)
步骤5.组播数据包的第一个流,通过共享树到达接收方
- 路由器仅在INC/RFP接口上收到组播流时才转发组播流。
- 根据单播RT检查组播数据包源地址。
- 确定在发送加入的源方向上的接口和下一跳组播路由器。
- RP正在加入S的源特定树,数据包将继续封装到RP。当来自S的数据包开始本地到达RP时,RP将接收每个数据包的两个副本。
- 此时,RP开始丢弃这些数据包的封装副本,并将REGISTER STOP 消息发回S的DR,以防止DR不必要地封装数据包。
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-09.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-10.png)
- 一旦RP通过源树接收源流量,硬件源路径已建立。设置“T”标志,并构建树。
- RP在收到源流量后发送REGISTER STOP以断开从FHR到RP的隧道。
- 要停止此注册过程,RP发送PIM注册停止消息
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-11.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-12.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-13.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-14.png)
步骤6. LHR从SPT接收流量并向共享树发送修剪消息
收到两个组播流量流后,LHR开始从SPT接收流量并向共享树发送修剪消息。
J标志表示各自(*,G)状态是通过枝叶路由器交换SPT。
LHR编号
(10.0.12.1、239.1.1.1)、00:00:38/00:02:21,标志:LJT
传入接口:FastEthernet0/0,RPF nbr 10.0.78.7
传出接口列表:
GigabitEthernet1/0,转发/稀疏,00:00:38/00:02:21
“F”标志通常针对在PIM DR路由器上创建的状态 — 它标示与向RP注册的流对应的转发状态。如果“F”标志仍然存在,则您的路由器很可能无法从RP接收PIM注册停止消息,因此有源尚未切换到SPT。
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-15.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-16.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-17.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-18.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-19.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-20.png)