📄 rfc2710.txt
字号:
RFC 2710 Multicast Listener Discovery for IPv6 October 1999 -------------------------------- _______|________ gen. query timer | --------- | | expired || Initial |---------------->| | (send general query, | --------- (send gen. q., | | start gen. q. timer) | start initial gen. q. | |<---------------------- timer) | Querier | | | -----| |<--- | | | | | |________________| |query received from a | | other querierrouter with a lower | | present timerIP address | | expired(start other querier | ________________ | (send gen. query, present timer) | | | | start gen. q. timer) | | | | | | | | ---->| Non |---- | Querier | | | | | ---->| |---- | |________________| | | query received from a | | router with a lower IP | | address | | (start other querier | | present timer) | --------------------------- A router starts in the Initial state on all attached links, and immediately transitions to Querier state. In addition, to keep track of which multicast addresses have listeners, a router may be in one of three possible states with respect to any single IPv6 multicast address on any single attached link: - "No Listeners Present" state, when there are no nodes on the link that have sent a Report for this multicast address. This is the initial state for all multicast addresses on the router; it requires no storage in the router. - "Listeners Present" state, when there is a node on the link that has sent a Report for this multicast address.Deering, et al. Standards Track [Page 12]RFC 2710 Multicast Listener Discovery for IPv6 October 1999 - "Checking Listeners" state, when the router has received a Done message but has not yet heard a Report for the identified address. There are five significant events that can cause router state transitions: - "report received" occurs when the router receives a Report for the address from the link. To be valid, the Report message MUST come from a link-local IPv6 Source Address, be at least 24 octets long, and have a correct MLD checksum. - "done received" occurs when the router receives a Done message for the address from the link. To be valid, the Done message MUST come from a link-local IPv6 Source Address, be at least 24 octets long, and have a correct MLD checksum. This event is significant only in the "Listerners Present" state and when the router is a Querier. - "multicast-address-specific query received" occurs when a router receives a Multicast-Address-Specific Query for the address from the link. To be valid, the Query message MUST come from a link- local IPv6 Source Address, be at least 24 octets long, and have a correct MLD checksum. This event is significant only in the "Listeners Present" state and when the router is a Non-Querier. - "timer expired" occurs when the timer set for a multicast address expires. This event is significant only in the "Listeners Present" or "Checking Listeners" state. - "retransmit timer expired" occurs when the timer set to retransmit a Multicast-Address-Specific Query expires. This event is significant only in the "Checking Listeners" state. There are seven possible actions that may be taken in response to the above events: - "start timer" for the address on the link - also resets the timer to its initial value [Multicast Listener Interval] if the timer is currently running. - "start timer*" for the address on the link - this alternate action sets the timer to the minimum of its current value and either [Last Listener Query Interval] * [Last Listener Query Count] if this router is a Querier, or the Maximum Response Delay in the Query message * [Last Listener Query Count] if this router is a non-Querier.Deering, et al. Standards Track [Page 13]RFC 2710 Multicast Listener Discovery for IPv6 October 1999 - "start retransmit timer" for the address on the link [Last Listener Query Interval]. - "clear retransmit timer" for the address on the link. - "send multicast-address-specific query" for the address on the link. The Multicast-Address-Specific Query is sent to the address being queried, and has a Maximum Response Delay of [Last Listener Query Interval]. - "notify routing +" internally notify the multicast routing protocol that there are listeners to this address on this link. - "notify routing -" internally notify the multicast routing protocol that there are no longer any listeners to this address on this link. The following state diagrams apply per group per link. There are two diagrams; one for routers in Querier state and one for routers in Non-Querier state. The transition between Querier and Non-Querier state on a link is handled specially. All groups on that link in "No Listeners Present" or "Listeners Present" states switch state transition diagrams when the Querier/Non-Querier state transition occurs. However, any groups in "Checking Listeners" state continue with the same state transition diagram until the "Checking Listeners" state is exited. E.g. a router that starts as a Querier, receives a Done message for a group and then receives a Query from a router with a lower address (causing a transition to the Non-Querier state) continues to send multicast-address-specific queries for the group in question until it either receives a Report or its timer expires, at which time it starts performing the actions of a Non-Querier for this group.Deering, et al. Standards Track [Page 14]RFC 2710 Multicast Listener Discovery for IPv6 October 1999 The state transition diagram for a router in Querier state follows: ________________ | | | |timer expired timer expired| |(notify routing -, (notify routing -)| No Listeners |clear rxmt tmr) ------->| Present |<--------- | | | | | | | | | |________________| | --------------- | | | | rexmt timer | | report received| | | expired | | (notify routing +,| | | (send m-a-s | | start timer)| | | query, | __________|______ | ________|_|______ st rxmt | | |<------------ | | tmr) | | | | |<------- | | report received | | | | (start timer, | | | | clear rxmt tmr) | | | Listeners |<-------------------| Checking | | Present | done received | Listeners | | | (start timer*, | | | | start rxmt timer, | | | | send m-a-s query) | | --->| |------------------->| || |_________________| |_________________|| report received || (start timer) | -----------------Deering, et al. Standards Track [Page 15]RFC 2710 Multicast Listener Discovery for IPv6 October 1999 The state transition 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. ________________ | | | | timer expired| |timer expired (notify routing -)| No Listeners |(notify routing -) --------->| Present |<--------- | | | | | | | | | | | | | |________________| | | | | | |report received | | |(notify routing +,| | | start timer) | ________|________ | ________|________ | |<--------- | | | | report received | | | | (start timer) | | | Listeners |<-------------------| Checking | | Present | m-a-s query rec'd | Listeners | | | (start timer*) | | ---->| |------------------->| | | |_________________| |_________________| | report received | | (start timer) | -----------------7. 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.7.1. Robustness Variable The Robustness Variable allows tuning for the expected packet loss on a link. If a link is expected to be lossy, the Robustness Variable may be increased. MLD is robust to (Robustness Variable - 1) packet losses. The Robustness Variable MUST NOT be zero, and SHOULD NOT be one. Default: 2Deering, et al. Standards Track [Page 16]RFC 2710 Multicast Listener Discovery for IPv6 October 19997.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 MLD messages on the link; larger values cause MLD Queries to be sent less often.7.3. Query Response Interval The Maximum Response Delay inserted into the periodic General Queries. Default: 10000 (10 seconds) By varying the [Query Response Interval], an administrator may tune the burstiness of MLD messages on the link; larger values make the traffic less bursty, as node 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].7.4. Multicast Listener Interval The Multicast Listener Interval is the amount of time that must pass before a router decides there are no more listeners for an address on a link. This value MUST be ((the Robustness Variable) times (the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -