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

📄 rfc2236.txt

📁 xorp源码hg
💻 TXT
📖 第 1 页 / 共 4 页
字号:
Fenner                      Standards Track                     [Page 6]RFC 2236           Internet Group Management Protocol      November 1997        If a router is not explicitly configured to use IGMPv1 and hears        an IGMPv1 Query, it SHOULD log a warning.  These warnings MUST        be rate-limited.5.  Compatibility with IGMPv1 Hosts   An IGMPv2 host may be placed on a subnet where there are hosts that   have not yet been upgraded to IGMPv2.  The following requirement   applies:        The host MUST allow its Membership Report to be suppressed by        either a Version 1 Membership Report or a Version 2 Membership        Report.   An IGMPv2 router may be placed on a subnet where there are hosts that   have not yet been upgraded to IGMPv2.  The following requirements   apply:        If a router receives a Version 1 Membership Report, it MUST set        a timer to note that there are version 1 hosts present which are        members of the group for which it heard the report.  This timer        should be the same as the [Group Membership Interval].        If there are version 1 hosts present for a particular group, a        router MUST ignore any Leave Group messages that it receives for        that group.6.  Host State Diagram   Host behavior is more formally specified by the state transition   diagram below.  A host may be in one of three possible states with   respect to any single IP multicast group on any single network   interface:   - "Non-Member" state, when the host does not belong to the group on     the interface.  This is the initial state for all memberships on     all network interfaces; it requires no storage in the host.   - "Delaying Member" state, when the host belongs to the group on the     interface and has a report delay timer running for that membership.   - "Idle Member" state, when the host belongs to the group on the     interface and does not have a report delay timer running for that     membership.Fenner                      Standards Track                     [Page 7]RFC 2236           Internet Group Management Protocol      November 1997   There are five significant events that can cause IGMP state   transitions:   - "join group" occurs when the host decides to join the group on the     interface.  It may occur only in the Non-Member state.   - "leave group" occurs when the host decides to leave the group on     the interface.  It may occur only in the Delaying Member and Idle     Member states.   - "query received" occurs when the host receives either a valid     General Membership Query message, or a valid Group-Specific     Membership Query message.  To be valid, the Query message must be     at least 8 octets long, and have a correct IGMP checksum.  The     group address in the IGMP header must either be zero (a General     Query) or a valid multicast group address (a Group-Specific Query).     A General Query applies to all memberships on the interface from     which the Query is received.  A Group-Specific Query applies to     membership in a single group on the interface from which the Query     is received.  Queries are ignored for memberships in the Non-Member     state.   - "report received" occurs when the host receives a valid IGMP     Membership Report message (Version 1 or Version 2).  To be valid,     the Report message must be at least 8 octets long and have a     correct IGMP checksum.  A Membership Report applies only to the     membership in the group identified by the Membership Report, on the     interface from which the Membership Report is received.  It is     ignored for memberships in the Non-Member or Idle Member state.   - "timer expired" occurs when the report delay timer for the group on     the interface expires.  It may occur only in the Delaying Member     state.   All other events, such as receiving invalid IGMP messages, or IGMP   messages 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 group on the interface.  The type of report     is determined by the state of the interface.  The Report Message is     sent to the group being reported.Fenner                      Standards Track                     [Page 8]RFC 2236           Internet Group Management Protocol      November 1997   - "send leave" for the group on the interface.  If the interface     state says the Querier is running IGMPv1, this action SHOULD be     skipped.  If the flag saying we were the last host to report is     cleared, this action MAY be skipped.  The Leave Message is sent to     the ALL-ROUTERS group (224.0.0.2).   - "set flag" that we were the last host to send a report for this     group.   - "clear flag" since we were not the last host to send a report for     this group.   - "start timer" for the group on the interface, using a delay value     chosen uniformly from the interval (0, Max Response Time], where     Max Response time 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 group on the interface to a new value, using     a delay value chosen uniformly from the interval (0, Max Response     Time], as described in "start timer".   - "stop timer" for the group on the interface.   In all of the following state 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.Fenner                      Standards Track                     [Page 9]RFC 2236           Internet Group Management Protocol      November 1997                              ________________                             |                |                             |                |                             |                |                             |                |                   --------->|   Non-Member   |<---------                  |          |                |          |                  |          |                |          |                  |          |                |          |                  |          |________________|          |                  |                   |                  |                  | leave group       | join group       | leave group                  | (stop timer,      |(send report,     | (send leave                  |  send leave if    | set flag,        |  if flag set)                  |  flag set)        | start timer)     |          ________|________           |          ________|________         |                 |<---------          |                 |         |                 |                    |                 |         |                 |<-------------------|                 |         |                 |   query received   |                 |         | Delaying Member |    (start timer)   |   Idle Member   |    ---->|                 |------------------->|                 |   |     |                 |   report received  |                 |   |     |                 |    (stop timer,    |                 |   |     |                 |     clear flag)    |                 |   |     |_________________|------------------->|_________________|   | query received    |        timer expired   | (reset timer if   |        (send report,   |  Max Resp Time    |         set flag)   |  < current timer) |    -------------------   The all-systems group (address 224.0.0.1) is handled as a special   case.  The host starts in Idle Member state for that group on every   interface, never transitions to another state, and never sends a   report for that group.   In addition, a host may be in one of two possible states with respect   to any single network interface:   - "No IGMPv1 Router Present", when the host has not heard an IGMPv1     style query for the [Version 1 Router Present Timeout].  This is     the initial state.   - "IGMPv1 Router Present", when the host has heard an IGMPv1 style     query within the [Version 1 Router Present Timeout].Fenner                      Standards Track                    [Page 10]RFC 2236           Internet Group Management Protocol      November 1997   There are two events that can cause state transitions:   - "IGMPv1 query received", when the host receives a query with the     Max Response Time field set to 0.   - "timer expires", when the timer set to note the presence of an     IGMPv1 router expires.   And a single action that can be triggered by an event:   - "set timer", setting the timer to its maximum value [Version 1     Router Present Timeout] and (re)starting it.                              ________________                             |                |                             |                |                             |   No IGMPv1    |                             |     Router     |                             |    Present     |                             |                |                        ---->|                |----                       |     |                |    |                       |     |________________|    |         timer expires |                           | IGMPv1 query                       |      ________________     | received                       |     |                |    | (set timer)                       |     |                |    |                       |     |                |    |                        -----|     IGMPv1     |<---                             |     Router     |                             |    Present     |                             |                |                        ---->|                |----                       |     |________________|    |                       |                           |                       | IGMPv1 query received     |                       | (set timer)               |                        ---------------------------Fenner                      Standards Track                    [Page 11]RFC 2236           Internet Group Management Protocol      November 19977.  Router State 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 network:   - "Querier", when this router is designated to transmit IGMP     Membership Queries on this network.   - "Non-Querier", when there is another router designated to transmit     IGMP membership Queries on this network.   The following three events can cause the router to change states:   - "query timer expired" occurs when the timer set for query     transmission expires.   - "query received from a router with a lower IP address" occurs when     an IGMP Membership Query is received from a router on the same     network with a lower IP address.   - "other querier present timer expired" occurs when the timer set to     note the presence of another querier with a lower IP address on the     network expires.   There are three actions that may be taken in response to the above   events:   - "start general query timer" for the attached network.   - "start other querier present timer" for the attached network [Other     Querier Present Interval].   - "send general query" on the attached network.  The General Query is     sent to the all-systems group (224.0.0.1), and has a Max Response     Time of [Query Response Interval].Fenner                      Standards Track                    [Page 12]

⌨️ 快捷键说明

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