RFC 3810 - Multicast Listener Discovery Version 2 (MLDv2) fo(5)

时间:2006-10-30 来源: 作者: 点击:
multicastaddress,fromthespecifiedsourceaddresses.Multicast AddressandSourceSpecificQueriesareonlysentinresponseto StateChangeRecordsandneverinresponsetoCurrentStateRecords. Section5.1.13describeseach
  
   multicast address, from the specified source addresses.  Multicast
   Address and Source Specific Queries are only sent in response to
   State Change Records and never in response to Current State Records.
   Section 5.1.13 describes each query in more detail.

7.2.  MLD State Maintained by Multicast Routers

   Multicast routers that implement the MLDv2 protocol keep state per
   multicast address per attached link.  This multicast address state
   consists of a filter mode, a list of sources, and various timers. For
   each attached link on which MLD runs, a multicast router records the
   listening state for that link.  That state conceptually consists of a
   set of records of the form:

      (IPv6 multicast address, Filter Timer,
       Router Filter Mode, (source records) )

   Each source record is of the form:

      (IPv6 source address, source timer)

   If all sources for a multicast address are listened to, an empty
   source record list is kept with the Router Filter Mode set to
   EXCLUDE.  This means that nodes on this link want all sources for
   this multicast address to be forwarded.  This is the MLDv2 equivalent
   of an MLDv1 listening state.

7.2.1.  Definition of Router Filter Mode

   To reduce internal state, MLDv2 routers keep a filter mode per
   multicast address per attached link.  This filter mode is used to
   summarize the total listening state of a multicast address to a
   minimum set such that all nodes’ listening states are respected.  The
   filter mode may change in response to the reception of particular
   types of Multicast Address Records or when certain timer conditions
   occur.  In the following sections, we use the term "Router Filter
   Mode" to refer to the filter mode of a particular multicast address
   within a router.  Section 7.4 describes the changes of the Router
   Filter Mode per Multicast Address Record received.

   A router is in INCLUDE mode for a specific multicast address on a
   given interface if all the listeners on the link interested in that
   address are in INCLUDE mode.  The router state is represented through
   the notation INCLUDE (A), where A is called the "Include List".  The
   Include List is the set of sources that one or more listeners on the
   link have requested to receive.  All the sources from the Include
   List will be forwarded by the router.  Any other source that is not
   in the Include List will be blocked by the router.

   A router is in EXCLUDE mode for a specific multicast address on a
   given interface if there is at least one listener in EXCLUDE mode
   interested in that address on the link.  Conceptually, when a
   Multicast Address Record is received, the Router Filter Mode for that

   multicast address is updated to cover all the requested sources using
   the least amount of state.  As a rule, once a Multicast Address
   Record with a filter mode of EXCLUDE is received, the Router Filter
   Mode for that multicast address will be set to EXCLUDE. Nevertheless,
   if all nodes with a multicast address record having filter mode set
   to EXCLUDE cease reporting, it is desirable for the Router Filter
   Mode for that multicast address to transition back to INCLUDE mode.
   This transition occurs when the Filter Timer expires, and is
   explained in detail in section 7.5.

   When the router is in EXCLUDE mode, the router state is represented
   through the notation EXCLUDE (X,Y), where X is called the "Requested
   List" and Y is called the "Exclude List".  All sources, except those
   from the Exclude List, will be forwarded by the router.  The
   Requested List has no effect on forwarding.  Nevertheless, it has to
   be maintained for several reasons, as explained in section 7.2.3.

   The exact handling of both the INCLUDE and EXCLUDE mode router state,
   according to the received reports, is presented in details in Tables
   7.4.1 and 7.4.2.

7.2.2.  Definition of Filter Timers

   The Filter Timer is only used when the router is in EXCLUDE mode for
   a specific multicast address, and it represents the time for the
   Router Filter Mode of the multicast address to expire and switch to
   INCLUDE mode.  A Filter Timer is a decrementing timer with a lower
   bound of zero.  One Filter Timer exists per multicast address record.
   Filter Timers are updated according to the types of Multicast Address
   Records received.

   If a Filter Timer expires, with the Router Filter Mode for that
   multicast address being EXCLUDE, it means that there are no more
   listeners in EXCLUDE mode on the attached link.  At this point, the
   router transitions to INCLUDE filter mode.  Section 7.5 describes the
   actions taken when a Filter Timer expires while in EXCLUDE mode.

   The following table summarizes the role of the Filter Timer.  Section
   7.4 describes the details of setting the Filter Timer per type of
   Multicast Address Record received.

     Router               Filter
   Filter Mode          Timer Value          Actions/Comments
   -----------       -----------------       ----------------

     INCLUDE             Not Used            All listeners in
                                             INCLUDE mode.

     EXCLUDE             Timer > 0           At least one listener
                                             in EXCLUDE mode.

     EXCLUDE             Timer == 0          No more listeners in
                                             EXCLUDE mode for the
                                             multicast address.
                                             If the Requested List
                                             is empty, delete
                                             Multicast Address
                                             Record.  If not, switch
                                             to INCLUDE filter mode;
                                             the sources in the
                                             Requested List are
                                             moved to the Include
                                             List, and the Exclude
                                             List is deleted.

7.2.3.  Definition of Source Timers

   A Source Timer is a decrementing timer with a lower bound of zero.
   One Source Timer is kept per source record.  Source timers are
   updated according to the type and filter mode of the Multicast
   Address Record received.  Section 7.4 describes the setting of source
   timers per type of Multicast Address Records received.

   In the following, abbreviations are used for several variables (all
   of which are described in detail in section 9).  The variable MALI
   stands for the Multicast Address Listening Interval, which is the
   time in which multicast address listening state will time out.  The
   variable LLQT is the Last Listener Query Time, which is the total
   time the router should wait for a report, after the Querier has sent
   the first query.  During this time, the Querier should send [Last
   Member Query Count]-1 retransmissions of the query.  LLQT represents
   the "leave latency", or the difference between the transmission of a
   listener state change and the modification of the information passed
   to the routing protocol.

   If the router is in INCLUDE filter mode, a source can be added to the
   current Include List if a listener in INCLUDE mode sends a Current
   State or a State Change Report which includes that source.  Each
   source from the Include List is associated with a source timer that

   is updated whenever a listener in INCLUDE mode sends a report that
   confirms its interest in that specific source.  If the timer of a
   source from the Include List expires, the source is deleted from the
   Include List.  If there are no more source records left, the
   multicast address record is deleted from the router.

   Besides this "soft leave" mechanism, there is also a "fast leave"
   scheme in MLDv2; it is also based on the use of source timers.  When
   a node in INCLUDE mode expresses its desire to stop listening to a
   specific source, all the multicast routers on the link lower their
   timer for that source to a small interval of LLQT milliseconds.  The
   Querier then sends then a Multicast Address and Source Specific
   Query, to verify whether there are other listeners for that source on
   the link, or not.  If a corresponding report is received before the
   timer expires, all the multicast routers on the link update their
   source timer.  If not, the source is deleted from the Include List.
   The handling of the Include List, according to the received reports,
   is detailed in Tables 7.4.1 and 7.4.2.

   Source timers are treated differently when the Router Filter Mode for
   a multicast address is EXCLUDE.  For sources from the Requested List
   the source timers have running values; these sources are forwarded by
   the router.  For sources from the Exclude List the source timers are
   set to zero; these sources are blocked by the router.  If the timer
   of a source from the Requested List expires, the source is moved to
   the Exclude List.  The router informs then the routing protocol that
   there is no longer a listener on the link interested in traffic from
   this source.

   The router has to maintain the Requested List for two reasons:

   o  To keep track of sources that listeners in INCLUDE mode listen to.
      This is necessary in order to assure a seamless transition of the
      router to INCLUDE mode, when there will be no listener in EXCLUDE
      mode left.  This transition should not interrupt the flow of
      traffic to the listeners in INCLUDE mode still interested in that
      multicast address.  Therefore, at the moment of the transition,
      the Requested List should represent the set of sources that nodes
      in INCLUDE mode have explicitly requested.

      When the router switches to INCLUDE mode, the sources in the
      Requested List are moved to the Include List, and the Exclude List
      is deleted.  Before the switch, the Requested List can contain an
      inexact guess at the sources that listeners in INCLUDE mode listen
      to - might be too large or too small.  These inexactitudes are due
      to the fact that the Requested List is also used for fast blocking
      purposes, as described below.  If such a fast blocking is
      required, some sources may be deleted from the Requested List (as

      shown in Tables 7.4.1 and 7.4.2) in order to reduce router state.
      Nevertheless, in each such case the Filter Timer is updated as
      well.  Therefore, listeners in INCLUDE mode will have enough time,
      before an eventual switching, to reconfirm their interest in the
      eliminated source(s), and rebuild the Requested List accordingly.
      The protocol ensures that when a switch to INCLUDE mode occurs,
      the Requested List will be accurate.  Details about the transition
      of the router to INCLUDE mode are presented in Appendix A3.

   o  To allow a fast blocking of previously unblocked sources.  If the
      router receives a report that contains such a request, the
      concerned sources are added to the Requested List.  Their timers
      are set to a small interval of LLQT milliseconds, and a Multicast
      Address and Source Specific Query is sent by the Querier, to check
      whether there are nodes on the link still interested in those
      sources, or not.  If no node confirms its interest in receiving a
      specific source, the timer of that source expires.  Then, the
      source is moved from the Requested List to the Exclude List.  From
      then on, the source will be blocked by the router.

   The handling of the EXCLUDE mode router state, according to the
   received reports, is detailed in Tables 7.4.1 and 7.4.2.

   When the Router Filter Mode for a multicast address is EXCLUDE,
   source records are only deleted when the Filter Timer expires, or
   when newly received Multicast Address Records modify the source
   record list of the router.

7.3.  MLDv2 Source Specific Forwarding Rules

   When a multicast router receives a datagram from a source destined to
   a particular multicast address, a decision has to be made whether to
   forward the datagram on an attached link or not.  The multicast
   routing protocol in use is in charge of this decision, and should use
   the MLDv2 information to ensure that all sources/multicast addresses
   that have listeners on a link are forwarded to that link.  MLDv2
   information does not override multicast routing information; for
   example, if the MLDv2 filter mode for a multicast address is EXCLUDE,
   a router may still forward packets for excluded sources to a transit
   link.

   To summarize, the following table describes the forwarding
   suggestions made by MLDv2 to the routing protocol for traffic
   originating from a source destined to a multicast address.  It also
   summarizes the actions taken upon the expiration of a source timer
   based on the Router Filter Mode of the multicast address.

     Router
   Filter Mode      Source Timer Value           Action
   -----------      ------------------           ------

    INCLUDE            TIMER > 0         Suggest to forward traffic
                                         from source

    INCLUDE            TIMER == 0        Suggest to stop forwarding
                                         traffic from source and
                                         remove source record.  If
                                         there are no more source
                                         records, delete multicast
                                         address record

    EXCLUDE            TIMER > 0         Suggest to forward traffic
                                         from source

    EXCLUDE            TIMER == 0        Suggest to not forward
                                         traffic from source.  Move
                                         the source from the
                                         Requested List to the
                                         Exclude List (DO NOT remove
                                         source record)

    EXCLUDE         No Source Element    Suggest to forward traffic
                                         from all sources

7.4.  Action on Reception of Reports

   Upon reception of an MLD message that contains a Report, the router
   checks if the source address of the message is a valid link-local
   address, if the Hop Limit is set to 1, and if the Router Alert option
   is present in the Hop-By-Hop Options header of the IPv6 packet.  If
   any of these checks fails, the packet is dropped.  If the validity of
   the MLD message is verified, the router starts to process the Report.

7.4.1.  Reception of Current State Records

   When receiving Current State Records, a router updates both its
   Filter Timer and its source timers.  In some circumstances, the
   reception of a type of multicast address record will cause the Router
   Filter Mode for that multicast address to change.  The table below
   describes the actions, with respect to state and timers, that occur
   to a router’s state upon reception of Current State Records.

   If the router is in INCLUDE filter mode for a multicast address, we
   will use the notation INCLUDE (A), where A denotes the associated
   Include List.  If the router is in EXCLUDE filter mode for a
   multicast address, we will use the notation EXCLUDE (X,Y), where X
   and Y denote the associated Requested List and Exclude List
   respectively.

   Within the "Actions" section of the router state tables, we use the
   notation ’(A)=J’, which means that the set A of source records should
   have their source timers set to value J.  ’Delete (A)’ means that the
   set A of source records should be deleted.  ’Filter Timer = J’ means
   that the Filter Timer for the multicast address should be set to
   value J.

   Router State   Report Received  New Router State   Actions
   ------------   ---------------  ----------------   -------

   INCLUDE (A)       IS_IN (B)     INCLUDE (A+B)      (B)=MALI

   INCLUDE (A)       IS_EX (B)     EXCLUDE (A*B, B-A) (B-A)=0
                                                      Delete (A-B)
                                                      Filter Timer=MALI

   EXCLUDE (X,Y)     IS_IN (A)     EXCLUDE (X+A, Y-A) (A)=MALI

   EXCLUDE (X,Y)     IS_EX (A)     EXCLUDE (A-Y, Y*A) (A-X-Y)=MALI
                                                      Delete (X-A)
                                                      Delete (Y-A)
                                                      Filter Timer=MALI

7.4.2.  Reception of Filter Mode Change and Source List Change Records

   When a change in the global state of a multicast address occurs in a
   node, the node sends either a Source List Change Record or a Filter
   Mode Change Record for that multicast address.  As with Current State
   Records, routers must act upon these records and possibly change
   their own state to reflect the new listening state of the link.

   The Querier must query sources or multicast addresses that are
   requested to be no longer forwarded.  When a router queries or
   receives a query for a specific set of sources, it lowers its source
   timers for those sources to a small interval of Last Listener Query
   Time milliseconds.  If multicast address records are received in
   response to the queries which express interest in listening the
   queried sources, the corresponding timers are updated.

   Multicast Address Specific queries can also be used in order to
   enable a fast transition of a router from EXCLUDE to INCLUDE mode, in
   case a received Multicast Address Record motivates this action.  The
   Filter Timer for that multicast address is lowered to a small
   interval of Last Listener Query Time milliseconds.  If any multicast
   address records that express EXCLUDE mode interest in the multicast
   address are received within this interval, the Filter Timer is
   updated and the suggestion to the routing protocol to forward the
   multicast address stands without any interruption.  If not, the
   router will switch to INCLUDE filter mode for that multicast address.

   During the query period (i.e., Last Listener Query Time milliseconds)
   the MLD component in the router continues to suggest to the routing
   protocol to forward traffic from the multicast addresses or sources
   that are queried.  It is not until after Last Listener Query Time
   milliseconds without receiving a record that expresses interest in
   the queried multicast address or sources that the router may prune
   the multicast address or sources from the link.

   The following table describes the changes in multicast address state
   and the action(s) taken when receiving either Filter Mode Change or
   Source List Change Records.  This table also describes the queries
   which are sent by the Querier when a particular report is received.

   We use the following notation for describing the queries that are
   sent.  We use the notation ’Q(MA)’ to describe a Multicast Address
   Specific Query to the MA multicast address.  We use the notation
   ’Q(MA,A)’ to describe a Multicast Address and Source Specific Query
   to the MA multicast address with source list A.  If source list A is
   null as a result of the action (e.g. A*B), then no query is sent as a
   result of the operation.

   In order to maintain protocol robustness, queries defined in the
   Actions column of the table below need to be transmitted [Last
   Listener Query Count] times, once every [Last Listener Query
   Interval] period.

   If while scheduling new queries, there are already pending queries to
   be retransmitted for the same multicast address, the new and pending
   queries have to be merged.  In addition, received host reports for a
   multicast address with pending queries may affect the contents of
   those queries.  Section 7.6.3. describes the process of building and
   maintaining the state of pending queries.

   Router State  Report Received  New Router State     Actions
   ------------  ---------------  ----------------     -------
   INCLUDE (A)     ALLOW (B)      INCLUDE (A+B)        (B)=MALI

   INCLUDE (A)     BLOCK (B)      INCLUDE (A)          Send Q(MA,A*B)

   INCLUDE (A)     TO_EX (B)      EXCLUDE (A*B,B-A)    (B-A)=0
                                                       Delete (A-B)
                                                       Send Q(MA,A*B)
                                                       Filter Timer=MALI

   INCLUDE (A)     TO_IN (B)      INCLUDE (A+B)        (B)=MALI
                                                       Send Q(MA,A-B)

   EXCLUDE (X,Y)   ALLOW (A)      EXCLUDE (X+A,Y-A)    (A)=MALI

   EXCLUDE (X,Y)   BLOCK (A)      EXCLUDE (X+(A-Y),Y)  (A-X-Y) =
                                                            Filter Timer
------分隔线----------------------------
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容