IGMPv3/MLDv2: Resending of a state change report and a specific query
"K.Kawaguchi" <[email protected]> Fri, 30 Jan 2009 15:27:54 +0900
| Newsgroups | gmane.ietf.magma |
|---|---|
| Message-ID | <[email protected]> |
Hi all, there is nobody?
I investigated the archive mail in magma. And I have some questions.
Now, I would like to confirm about resending of a state change report
and a specific query.
http://www.ietf.org/mail-archive/web/magma/current/msg01139.html
When LLQT of a non-querier is smaller than a querier (it may be shorter
than the max response delay time of a query), a non-querier may delete
an entry before receiving a report.
How does this non-querier decide LLQT value? The non-querier needs to
decide LLQT to be a basis for the specific query of a querier.
Otherwise, LLQT periods may differ between routers.
http://www.ietf.org/mail-archive/web/magma/current/msg01141.html
There are the following issues in this method.
RV of a querier sets to three. When the non-querier has lost the 2nd
query and there is no report for 1st_query, the source lowered to
LMQI/LLQI in the 1st_query is deleted. Even if a non-querier receives
the 3rd query, there is already no source entry. The non-querier cannot
maintain an entry based on robustness.
I think that the figure shown below is in agreement with intention of RFC.
Timers Nodes & Messages RFC3810 & Interpretation
----------- ----------------- -------------------
Querier Non-Q Listener
| | |
| | |
| | |
(A)=MALI |<==================* Report IS_IN(A)
*---------------------------------*---------* | Sec.7.4.1 : INCLUDE (A) IS_IN (B) INCLUDE (A+B) (B)=MALI
| | | |
| | | |
| | | |
| Unsolicited Report Interval | | |
| *-------------------------------|<==================* Report BLOCK(A) (1st)
| | *---------* | Sec.7.4.2 : Router State Report Received New Router State Actions
| | | | | ------------ --------------- ---------------- -------
| | | | | INCLUDE (A) BLOCK (B) INCLUDE (A) Send Q(MA,A*B)
| | | | |
| | * | | Sec.7.6.3.2: When a table action "Send Q(MA,X)" is encountered by the Querier in
| | | | | the table in section 7.4.2, the following actions must be performed
| | | | | for each of the sources in X that send to multicast address MA, with
| | | | | source timer larger than LLQT:
| | | | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| | (A)=LLQT LLQI *==================>| Query(MA,A)
| | *----------*------------------*---------* | Sec.7.6.1 : Q(MA,A) Source Timers for sources in A are lowered to LLQT
| | | | | | |
| | | | | | |
| | | | | | |
| *-------------------------------|<==================* Report BLOCK(A) (2nd. Retransmission)
| | | *---------* | Sec.7.4.2 : Router State Report Received New Router State Actions
| | | | | | ------------ --------------- ---------------- -------
| | | | | | INCLUDE (A) BLOCK (B) INCLUDE (A) Send Q(MA,A*B)
| | | | | |
| | | * | | Sec.7.6.3.2: When a table action "Send Q(MA,X)" is encountered by the Querier in
| | | | | | the table in section 7.4.2, the following actions must be performed
| | | | | | for each of the sources in X that send to multicast address MA, with
| | | | | | source timer larger than LLQT:
| | | | | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| | | | | | ==> Querier must not send Q(MA,A) for 2nd Report BLOCK(A).
| | | | | |
| | | | | | Sec.7.6.3.2: The Querier must then immediately send a Multicast Address and Source
| | | | | | Specific Query as well as schedule [Last Listener Query Count -1]
| | | | | | query retransmissions to be sent every [Last Listener Query
| | | | | | Interval], over [Last Listener Query Time]. The contents of these
| | | | | | queries are calculated as follows.
| | | *==================>| Query(MA,A)
| | *------------------*---------* | Sec.7.6.1 : Q(MA,A) Source Timers for sources in A are lowered to LLQT
| | | | | ^^^^^^^^^^^^^^^^^^^
| | | | | ==> Since the timer is already lower than LLQT, it must not be higher.
| | | | |
~ ~ ~ ~ ~
| | | | |
| | | | |
| *-----------------------------*---------* | Sec.7.3 : Router
| | | | Filter Mode Source Timer Value Action
| | | | ----------- ------------------ ------
| | | | 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
| | | |
Is it right?
Best Regards
--
Kiyoaki Kawaguchi