⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2710.txt

📁 xorp源码hg
💻 TXT
📖 第 1 页 / 共 4 页
字号:
   that address, thus suppressing duplicate reports on the link.   When a router receives a Report from a link, if the reported address   is not already present in the router's list of multicast address   having listeners on that link, the reported address is added to the   list, its timer is set to [Multicast Listener Interval], and its   appearance is made known to the router's multicast routing component.   If a Report is received for a multicast address that is already   present in the router's list, the timer for that address is reset to   [Multicast Listener Interval].  If an address's timer expires, it is   assumed that there are no longer any listeners for that address   present on the link, so it is deleted from the list and its   disappearance is made known to the multicast routing component.   When a node starts listening to a multicast address on an interface,   it should immediately transmit an unsolicited Report for that address   on that interface, in case it is the first listener on the link.  To   cover the possibility of the initial Report being lost or damaged, it   is recommended that it be repeated once or twice after short delays   [Unsolicited Report Interval].  (A simple way to accomplish this is   to send the initial Report and then act as if a Multicast-Address-   Specific Query was received for that address, and set a timer   appropriately).Deering, et al.             Standards Track                     [Page 6]RFC 2710         Multicast Listener Discovery for IPv6      October 1999   When a node ceases to listen to a multicast address on an interface,   it SHOULD send a single Done message to the link-scope all-routers   multicast address (FF02::2), carrying in its Multicast Address field   the address to which it is ceasing to listen.  If the node's most   recent Report message was suppressed by hearing another Report   message, it MAY send nothing, as it is highly likely that there is   another listener for that address still present on the same link.  If   this optimization is implemented, it MUST be able to be turned off   but SHOULD default to on.   When a router in Querier state receives a Done message from a link,   if the Multicast Address identified in the message is present in the   Querier's list of addresses having listeners on that link, the   Querier sends [Last Listener Query Count] Multicast-Address-Specific   Queries, one every [Last Listener Query Interval] to that multicast   address.  These Multicast-Address-Specific Queries have their Maximum   Response Delay set to [Last Listener Query Interval].  If no Reports   for the address are received from the link after the response delay   of the last query has passed, the routers on the link assume that the   address no longer has any listeners there; the address is therefore   deleted from the list and its disappearance is made known to the   multicast routing component.  This process is continued to its   resolution (i.e. until a Report is received or the last Multicast-   Address-Specific Query is sent with no response) despite any   transition from Querier to Non-Querier on this link.   Routers in Non-Querier state MUST ignore Done messages.   When a router in Non-Querier state receives a Multicast-Address-   Specific Query, if its timer value for the identified multicast   address is greater than [Last Listener Query Count] times the Maximum   Response Delay specified in the message, it sets the address's timer   to that latter value.5.  Node State Transition Diagram   Node behavior is more formally specified by the state transition   diagram below.  A node may be in one of three possible states with   respect to any single IPv6 multicast address on any single interface:   - "Non-Listener" state, when the node is not listening to the address      on the interface (i.e., no upper-layer protocol or application has      requested reception of packets to that multicast address).  This      is the initial state for all multicast addresses on all      interfaces; it requires no storage in the node.Deering, et al.             Standards Track                     [Page 7]RFC 2710         Multicast Listener Discovery for IPv6      October 1999   - "Delaying Listener" state, when the node is listening to the      address on the interface and has a report delay timer running for      that address.   - "Idle Listener" state, when the node is listening to the address on      the interface and does not have a report delay timer running for      that address.   There are five significant events that can cause MLD state   transitions:   - "start listening" occurs when the node starts listening to the      address on the interface.  It may occur only in the Non-Listener      state.   - "stop listening" occurs when the node stops listening to the      address on the interface.  It may occur only in the Delaying      Listener and Idle Listener states.   - "query received" occurs when the node receives either a valid      General Query message, or a valid Multicast-Address-Specific Query      message.  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.  The Multicast Address field in the MLD      message must contain either zero (a General Query) or a valid      multicast address (a Multicast- Address-Specific Query).  A      General Query applies to all multicast addresses on the interface      from which the Query is received.  A Multicast-Address-Specific      Query applies to a single multicast address on the interface from      which the Query is received.  Queries are ignored for addresses in      the Non-Listener state.   - "report received" occurs when the node receives a valid MLD Report      message.  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.  A Report applies only to the address      identified in the Multicast Address field of the Report, on the      interface from which the Report is received.  It is ignored in the      Non-Listener or Idle Listener state.   - "timer expired" occurs when the report delay timer for the address      on the interface expires.  It may occur only in the Delaying      Listener state.Deering, et al.             Standards Track                     [Page 8]RFC 2710         Multicast Listener Discovery for IPv6      October 1999   All other events, such as receiving invalid MLD messages or MLD   message types other than Query or Report, are ignored in all states.   There are seven possible actions that may be taken in response to the   above events:   - "send report" for the address on the interface.  The Report message      is sent to the address being reported.   - "send done" for the address on the interface.  If the flag saying      we were the last node to report is cleared, this action MAY be      skipped.  The Done message is sent to the link-scope all-routers      address (FF02::2).   - "set flag" that we were the last node to send a report for this      address.   - "clear flag" since we were not the last node to send a report for      this address.   - "start timer" for the address on the interface, using a delay value      chosen uniformly from the interval [0, Maximum Response Delay],      where Maximum Response Delay is specified in the Query.  If this      is an unsolicited Report, the timer is set to a delay value chosen      uniformly from the interval [0, [Unsolicited Report Interval] ].   - "reset timer" for the address on the interface to a new value,      using a delay value chosen uniformly from the interval [0, Maximum      Response Delay], as described in "start timer".   - "stop timer" for the address on the interface.   In all of the following state transition diagrams, each state   transition arc is labeled with the event that causes the transition,   and, in parentheses, any actions taken during the transition.  Note   that the transition is always triggered by the event; even if the   action is conditional, the transition still occurs.Deering, et al.             Standards Track                     [Page 9]RFC 2710         Multicast Listener Discovery for IPv6      October 1999                             ________________                            |                |                            |                |                            |                |                            |                |                  --------->|  Non-Listener  |<---------                 |          |                |          |                 |          |                |          |                 |          |                |          |                 |          |________________|          |                 |                   |                  |                 | stop listening    | start listening  | stop listening                 | (stop timer,      |(send report,     | (send done if                 |  send done if     | set flag,        |  flag set)                 |  flag set)        | start timer)     |         ________|________           |          ________|________        |                 |<---------          |                 |        |                 |                    |                 |        |                 |<-------------------|                 |        |                 |   query received   |                 |        |     Delaying    |    (start timer)   |      Idle       |   ---->|     Listener    |------------------->|     Listener    |  |     |                 |   report received  |                 |  |     |                 |    (stop timer,    |                 |  |     |                 |     clear flag)    |                 |  |     |_________________|------------------->|_________________|  | query received    |        timer expired  | (reset timer if   |        (send report,  |  Max Resp Delay   |         set flag)  |  < current timer) |   -------------------   The link-scope all-nodes address (FF02::1) is handled as a special   case.  The node starts in Idle Listener state for that address on   every interface, never transitions to another state, and never sends   a Report or Done for that address.   MLD messages are never sent for multicast addresses whose scope is 0   (reserved) or 1 (node-local).   MLD messages ARE sent for multicast addresses whose scope is 2   (link-local), including Solicited-Node multicast addresses [ADDR-   ARCH], except for the link-scope, all-nodes address (FF02::1).Deering, et al.             Standards Track                    [Page 10]RFC 2710         Multicast Listener Discovery for IPv6      October 19996.  Router State Transition Diagram   Router behavior is more formally specified by the state transition   diagrams below.   A router may be in one of two possible states with respect to any   single attached link:   - "Querier", when this router is designated to transmit MLD Queries      on this link.   - "Non-Querier", when there is another router designated to transmit      MLD Queries on this link.   The following three events can cause the router to change states:   - "query timer expired" occurs when the timer set for query      transmission expires.  This event is significant only when in the      Querier state.   - "query received from a router with a lower IP address" occurs when      a valid MLD Query is received from a router on the same link with      a lower IPv6 Source Address. 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.   - "other querier present timer expired" occurs when the timer set to      note the presence of another querier with a lower IP address on      the link expires.  This event is significant only when in the      Non-Querier state.   There are three actions that may be taken in response to the above   events:   - "start general query timer" for the attached link to [Query      Interval].   - "start other querier present timer" for the attached link to [Other      Querier Present Interval].   - "send general query" on the attached link.  The General Query is      sent to the link-scope all-nodes address (FF02::1), and has a      Maximum Response Delay of [Query Response Interval].Deering, et al.             Standards Track                    [Page 11]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -