跳到主要内容

7. Router State Diagram (路由器状态图)

7. 路由器状态图 (Router State Diagram)

路由器行为由下面的状态转换图更正式地指定。

对于任何单个连接的网络, 路由器可能处于两种可能状态之一:

  • "查询者 (Querier)": 当此路由器被指定在此网络上传输 IGMP 成员资格查询时。

  • "非查询者 (Non-Querier)": 当有另一个路由器被指定在此网络上传输 IGMP 成员资格查询时。

以下三个事件可以导致路由器改变状态:

  • "查询计时器到期 (query timer expired)": 当为查询传输设置的计时器到期时发生。

  • "收到来自 IP 地址较低的路由器的查询 (query received from a router with a lower IP address)": 当从同一网络上 IP 地址较低的路由器收到 IGMP 成员资格查询时发生。

  • "其他查询者存在计时器到期 (other querier present timer expired)": 当为注意网络上另一个 IP 地址较低的查询者的存在而设置的计时器到期时发生。

                                      --------------------------------
_______|________ gen. query timer |
--------- | | expired |
| Initial |---------------->| | (send general query, |
--------- (send gen. q., | | set gen. q. timer) |
set initial gen. q. | |<----------------------
timer) | Querier |
| |
-----| |<---
| | | |
| |________________| |
query received from a | | other querier
router with a lower | | present timer
IP address | | expired
(set other querier | ________________ | (send general
present timer) | | | | query,set gen.
| | | | q. timer)
| | | |
---->| Non |----
| Querier |
| |
| |
---->| |----
| |________________| |
| query received from a |
| router with a lower IP |
| address |
| (set other querier |
| present timer) |
---------------------------

路由器应该在所有连接的网络上以初始状态启动, 并立即移动到查询者状态。

此外, 为了跟踪哪些组有成员, 路由器对于任何单个连接网络上的任何单个 IP 组播组可能处于四种可能状态之一:

  • "无成员存在 (No Members Present)": 当网络上没有主机为此组播组发送报告时。这是路由器上所有组的初始状态。

  • "成员存在 (Members Present)": 当网络上有主机为此组播组发送了成员资格报告时。

  • "第 1 版成员存在 (Version 1 Members Present)": 当网络上有 IGMPv1 主机为此组播组发送了第 1 版成员资格报告时。

  • "检查成员资格 (Checking Membership)": 当路由器收到离开组消息但尚未听到该组播组的成员资格报告时。