📄 rfc2236.txt
字号:
RFC 2236 Internet Group Management Protocol November 1997 -------------------------------- _______|________ 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) | --------------------------- A router should start in the Initial state on all attached networks, and immediately move to Querier state. In addition, to keep track of which groups have members, a router may be in one of four possible states with respect to any single IP multicast group on any single attached network: - "No Members Present" state, when there are no hosts on the network which have sent reports for this multicast group. This is the initial state for all groups on the router; it requires no storage in the router. - "Members Present" state, when there is a host on the network which has sent a Membership Report for this multicast group.Fenner Standards Track [Page 13]RFC 2236 Internet Group Management Protocol November 1997 - "Version 1 Members Present" state, when there is an IGMPv1 host on the network which has sent a Version 1 Membership Report for this multicast group. - "Checking Membership" state, when the router has received a Leave Group message but has not yet heard a Membership Report for the multicast group. There are six significant events that can cause router state transitions: - "v2 report received" occurs when the router receives a Version 2 Membership Report for the group on the interface. To be valid, the Report message must be at least 8 octets long and must have a correct IGMP checksum. - "v1 report received" occurs when the router receives a Version 1 Membership report for the group on the interface. The same validity requirements apply. - "leave received" occurs when the router receives an IGMP Group Leave message for the group on the interface. To be valid, the Leave message must be at least 8 octets long and must have a correct IGMP checksum. - "timer expired" occurs when the timer set for a group membership expires. - "retransmit timer expired" occurs when the timer set to retransmit a group-specific Membership Query expires. - "v1 host timer expired" occurs when the timer set to note the presence of version 1 hosts as group members expires. There are six possible actions that may be taken in response to the above events: - "start timer" for the group membership on the interface - also resets the timer to its initial value [Group Membership Interval] if the timer is currently running. - "start timer*" for the group membership on the interface - this alternate action sets the timer to [Last Member Query Interval] * [Last Member Query Count] if this router is a Querier, or the [Max Response Time] in the packet * [Last Member Query Count] if this router is a non-Querier.Fenner Standards Track [Page 14]RFC 2236 Internet Group Management Protocol November 1997 - "start retransmit timer" for the group membership on the interface [Last Member Query Interval]. - "start v1 host timer" for the group membership on the interface, also resets the timer to its initial value [Group Membership Interval] if the timer is currently running. - "send group-specific query" for the group on the attached network. The Group-Specific Query is sent to the group being queried, and has a Max Response Time of [Last Member Query Interval]. - "notify routing +" notify the routing protocol that there are members of this group on this connected network. - "notify routing -" notify the routing protocol that there are no longer any members of this group on this connected network. The state diagram for a router in Querier state follows:Fenner Standards Track [Page 15]RFC 2236 Internet Group Management Protocol November 1997 ________________ ----------------------------| |<-----------------------| | |timer expired || timer expired| |(notify routing -, || (notify routing -)| No Members |clear rxmt tmr) || ------->| Present |<------- || | | | | ||v1 report rec'd | | | | ------------ ||(notify routing +, | |________________| | | rexmt timer| || start timer, | | | | expired | || start v1 host | v2 report received| | | (send g-s | || timer) | (notify routing +,| | | query, | || | start timer)| | | st rxmt | || __________|______ | _____|_|______ tmr)| || | |<------------ | | | || | | | |<----- || | | v2 report received | | || | | (start timer) | | || | Members Present |<-------------------| Checking | || ----->| | leave received | Membership | || | | | (start timer*, | | || | | | start rexmt timer,| | || | | | send g-s query) | | || | --->| |------------------->| | || | | |_________________| |______________| || | |v2 report rec'd | | | || | |(start timer) | |v1 report rec'd |v1 report rec'd || | ---------------- |(start timer, |(start timer, || |v1 host | start v1 host timer) | start v1 host || |tmr ______________V__ | timer) || |exp'd | |<---------------------- || ------| | || | Version 1 |timer expired || | Members Present |(notify routing -) | ------->| |------------------------------------------- | |<-------------------- ------->|_________________| v1 report rec'd || v2 report rec'd | | (start timer, || (start timer) | | start v1 host timer) | ----------------- --------------------------Fenner Standards Track [Page 16]RFC 2236 Internet Group Management Protocol November 1997 The state diagram for a router in Non-Querier state is similar, but non-Queriers do not send any messages and are only driven by message reception.Note that non-Queriers do not care whether a Membership Report message is Version 1 or Version 2. ________________ | | | | timer expired| |timer expired (notify routing -)| No Members |(notify routing -) --------->| Present |<--------- | | | | | | | | | | | | | |________________| | | | | | |report received | | |(notify routing +,| | | start timer) | ________|________ | ________|________ | |<--------- | | | | report received | | | | (start timer) | | | Members Present |<-------------------| Checking | | | g-s query rec'd | Membership | | | (start timer*) | | ---->| |------------------->| | | |_________________| |_________________| | report received | | (start timer) | -----------------8. List of timers and default values Most of these timers are configurable. If non-default settings are used, they MUST be consistent among all routers on a single link. Note that parentheses are used to group expressions to make the algebra clear.8.1. Robustness Variable The Robustness Variable allows tuning for the expected packet loss on a subnet. If a subnet is expected to be lossy, the Robustness Variable may be increased. IGMP is robust to (Robustness Variable-1) packet losses. The Robustness Variable MUST NOT be zero, and SHOULD NOT be one. Default: 2Fenner Standards Track [Page 17]RFC 2236 Internet Group Management Protocol November 19978.2. Query Interval The Query Interval is the interval between General Queries sent by the Querier. Default: 125 seconds. By varying the [Query Interval], an administrator may tune the number of IGMP messages on the subnet; larger values cause IGMP Queries to be sent less often.8.3. Query Response Interval The Max Response Time inserted into the periodic General Queries. Default: 100 (10 seconds) By varying the [Query Response Interval], an administrator may tune the burstiness of IGMP messages on the subnet; larger values make the traffic less bursty, as host responses are spread out over a larger interval. The number of seconds represented by the [Query Response Interval] must be less than the [Query Interval].8.4. Group Membership Interval The Group Membership Interval is the amount of time that must pass before a multicast router decides there are no more members of a group on a network. This value MUST be ((the Robustness Variable) times (the Query Interval)) plus (one Query Response Interval).8.5. Other Querier Present Interval The Other Querier Present Interval is the length of time that must pass before a multicast router decides that there is no longer another multicast router which should be the querier. This value MUST be ((the Robustness Variable) times (the Query Interval)) plus (one half of one Query Response Interval).8.6. Startup Query Interval The Startup Query Interval is the interval between General Queries sent by a Querier on startup. Default: 1/4 the Query Interval.8.7. Startup Query Count The Startup Query Count is the number of Queries sent out on startup, separated by the Startup Query Interval. Default: the Robustness Variable.Fenner Standards Track [Page 18]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -