2021.11.16 我可以接受自己的平凡,却不能接受自己浑浑噩噩的过完这一生
2.3 IGMP Message
IGMP Message
分为两大类
:
Host
: Membership Report and Leave Message
Router
: Query Message (General & Specific)
Host Report Message
该消息用于组成员向最末跳路由器报告自身需要加入的组地址
包头中目的
IP
地址同样为自身想要加入的组地址
,
这样做是为了完成在本组内
Report Message
的
Suppress.
因为路由器
不关心这个组内有多少组成员
,
它只关心有或没有
,
因此所有组成员只要有一个发起报告就好
.
Report Message
产生的原因有两个
:
在组成员第一次加入该组时
,
或是在收到路由器发出的
Query Message
以后需要产生
响应
.
针对第一种可能
, RFC2236
建议在第一次加入该组时
,
以
10
秒为间隔发送
1-2
次
Report,
目的是为了保证组播路由器可以收
到该消息
.
此时不考虑
Suppress
的问题
.
针对第二种情况
, Report
会周期性的发送
,
发送频率取决于路由器
Query Message
的查询频率
.
此时会考虑
Suppress
的问
题
.
Host Leave Message
该消息用于组成员向最末跳路由器报告将要离开的组地址
.
IP
包头中目的地址设置为
224.0.0.2,
是为了让本广播域内所有路由器都可以收到
,
而本组内其它组成员则不需要接收该消息
.
该消息是针对路由器的
Specific Query Message
的一个触发消息
,
因为路由器不知道该组内一共有多少个组成员
,
所以每一个
组成员的离开
,
它都可能是最后一个组成员
,
所以路由器在收到
Leave Message
以后需要立刻单独查询该组中是否还有组成员
.
Router General Query
该消息用于最末跳路由器查询该接口下所有组成员的信息
,
无论属于组成员加入到了哪个组
,
都需要做出响应
.
每
60
秒做一次
查询
.
可以通过命令
ip igmp query-interval [seconds]
进行修改
.
IP
包头内目的地址设置为
224.0.0.1,
对应本广播域内所有设备,
包括路由器
,
这样做是为了在同一子网有多台叶路由器时
,
选
择查询者
,
而非查询者将停止发送所有查询消息
.