Re: Question about IGMPv3 state machine

Indranil Bhattacharya <[email protected]> Mon, 30 Mar 2009 12:31:07 +0530
Newsgroups gmane.ietf.magma
Message-ID <[email protected]>
Hi Liu,

         Excellent explanation. I agree with you. To summarise, when router
filter mode is EXCLUDE then we forward data for all the sources which are
not in list B where EXCLUDE(A, B). Excerpt from "A.3 Switching Router Filter
Modes from EXCLUDE to INCLUDE" of RFC 3376:

"If there exist hosts in both EXCLUDE and INCLUDE modes for a single
   multicast group in a network, the router must be in EXCLUDE mode as
   well (see section 6.2.1).  *In EXCLUDE mode, a router forwards traffic
   from all sources unless that source exists in the exclusion source
   list >>>> which is B of EXCLUDE(A,B)*.  If all hosts in EXCLUDE mode
cease to exist, it would be
   desirable for the router to switch back to INCLUDE mode seamlessly
   without interrupting the flow of traffic to existing receivers.

   One of the ways to accomplish this is for routers to keep track of
   all sources desired by hosts that are in INCLUDE mode even though the
   router itself is in EXCLUDE mode.  If the group timer now expires in
   EXCLUDE mode, it implies that there are no hosts in EXCLUDE mode on
   the network (otherwise a membership report from that host would have
   refreshed the group timer).  The router can then switch to INCLUDE
   mode seamlessly with the list of sources currently being forwarded in
   its source list."
        Shall one ask what is the reason to maintain a source list A when
mode is EXCLUDE, the second stanza of the above excerpt should answer that
too

Thanks,
Indranil

2009/3/25 Liu Hui <[email protected]>

> Hi,
>
> What Bharat said is correct.   The following complement is my personnal
> understanding:
>
> In the first item please note that if A=1,2,3 and B=2, then A*B=2 and
> A-B=1,
> 3
>
> TO_EX(B) means "change to receive from sources except B", because A-B=1,3
> are not in the set B that are to be "excluded",  then traffic from 1 and 3
> will be received. Delete (A-B) means A-B should not be kept in the source
> list under exclude mode, because traffic from them will be forwarded, the
> same as all other sources except B.
>
> The host sending this report at present does not what to receive from B,
> but
> the router does not know  whether there is other host on the same network
> is
> interested in  A*B, then it keeps the source list for it (i.e. EXLUDE(A*B,
> ...) ) and send a query to make the confirmation (Send Q(G,A*B)).
>
> (B-A) are sources that should not be forwarded, their source timers will be
> set to 0, corresponding to EXCLUDE (..., B-A).  In this case B-A is 0 then
> non-forwarding list should be empty.
>
> And similarly for  the second item:
>
> Only traffic from Y*A=4 is not forwarded, traffic from X-A=1,2 will be
> forwarded because X-A are not in the non-forwarding source-list. And
> because
> they are forwarded normally they need not be kept in the source-list, thus
> they should be delete.
>
> Formerly Y-A=5,6 are requested not to be forwarded so kept in
> EXCLUDE(...,Y),but a new request of TO_EX(A) only exclude Y*A=4, then
> traffic from 5 and 6 should be forwarded, thus they should not be kept in
> the non-forwarding list, and they are deleted as the "Delete (Y-A)"
> operation indicates.
>
> As a summary for the above two cases:
>
> 1) the first source list in EXLUDE() stores the  sources that are formerly
> requested to be forwarded but currently requested not to be forwarded.
> Because these request may come from different host, the router keeps them
> in
> case there is requester for the sources. The traffic from them will
> currently be forwarded.
>
> 2) The second source list in EXCLUDE stores the sources that are to be
> excluded (i.e.not forwarded). The traffic from them will not be forwarded.
>
> 3)The traffic from all other sources not listed in these two list will be
> forwarded (as this is in EXCLUDE mode).
>
>
> Best Regards,
>
> Liu Hui
>
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]]
> > On Behalf Of Bharat Joshi
> > Sent: 2009年3月25日 9:31
> > To: Kunal Shah
> > Cc: [email protected]
> > Subject: Re: [magma] Question about IGMPv3 state machine
> >
> > Hi Kunal,
> >
> >     In section 6.4, RFC 3376 has defined the meaning of roles
> > the two source list in EXCLUDE( A, B) plays. Sources
> > available in A are those sources for which a host has asked
> > for data to be forwarded and sources in B has been explicitly
> > asked to be excluded.
> >
> >     In section 6.3, RFC 3376 has defined the forwarding
> > rules. Now if its exclude mode, and source timer is running
> > [i.e. the sources in list 'A'], it should forward the data
> > and if it is not in exclude list [i.e. it is not in source
> > list B], it should forward the traffic.
> >
> >     In the first example, source '2' exist in list of sources
> > whose source timer will be running and so will get forwarded
> > and now (B-A) in this case will be 0 and so sources 1 and 3
> > will get forwarded.
> >
> >     Similarly in the second example, source '3' will get
> > forwarded as its source timer will be running and all sources
> > except source 4 will get forwarded as only source 4 needs to
> > be excluded.
> >
> >     I hope this helps.
> >
> > Thanks,
> > Bharat
> > ________________________________________
> > From: [email protected] [[email protected]] On
> > Behalf Of Kunal Shah [[email protected]]
> > Sent: Wednesday, March 25, 2009 4:27 AM
> > To: [email protected]
> > Subject: [magma] Question about IGMPv3 state machine
> >
> > Hi,
> >
> > This is Kunal. I am trying to understand IGMPv3 router side
> > functionality and have the following questions about the RFC 3776:
> >
> > In section 6.4.1
> >
> > INCLUDE (A)    TO_EX (B)    EXCLUDE (A*B,B-A)       (B-A)=0
> >                                                     Delete (A-B)
> >                                                     Send Q(G,A*B)
> >                                                     Group Timer=GMI
> >
> > If A=1,2,3 and B=2, A*B=2. How does the host that has
> > requested sources 1 and 3 still get them?? And If we delete
> > A-B=2 in this case, how does the host interested in 2 get
> > traffic from it??
> >
> > And similarly for
> >
> > EXCLUDE (X,Y)  TO_EX (A)    EXCLUDE (A-Y,Y*A)
> > (A-X-Y)=Group Timer
> >
> >                                                     Delete (X-A)
> >
> >                                                     Delete (Y-A)
> >
> >                                                     Send Q(G,A-Y)
> >
> >                                                     Group Timer=GMI
> >
> > If X=1,2,3, Y=4,5,6, and A=3,4 the A-Y=3 and Y*A=4 What about
> > hosts that want 1,2 sources. If X-A=1,2 is deleted how will
> > the hosts get traffic from 1,2 .
> >
> > I will really appreciate if you can answer these two
> > questions. I have contacted a lot of people to get these two
> > questions answered but have not heard from any one yet.
> >
> > Thanks
> > Kunal
> >
> >
> > **************** CAUTION - Disclaimer ***************** This
> > e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION
> > intended solely for the use of the addressee(s). If you are
> > not the intended recipient, please notify the sender by
> > e-mail and delete the original message. Further, you are not
> > to copy, disclose, or distribute this e-mail or its contents
> > to any other person and any such actions are unlawful. This
> > e-mail may contain viruses. Infosys has taken every
> > reasonable precaution to minimize this risk, but is not
> > liable for any damage you may sustain as a result of any
> > virus in this e-mail. You should carry out your own virus
> > checks before opening the e-mail or attachment. Infosys
> > reserves the right to monitor and review the content of all
> > messages sent to or from this e-mail address. Messages sent
> > to or from this e-mail address may be stored on the Infosys
> > e-mail system.
> > ***INFOSYS******** End of Disclaimer ********INFOSYS***
> > _______________________________________________
> > magma mailing list
> > [email protected]
> > https://www.ietf.org/mailman/listinfo/magma
>
> _______________________________________________
> magma mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/magma
>

_______________________________________________
magma mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/magma