Re: [Roll] [roll] #105: trickle-mcast: how to determine scope of MPL domain

Dario Tedeschi <dat@exegin.com> Fri, 02 November 2012 19:34 UTC

Return-Path: <dat@exegin.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E8F0811E80ED for <roll@ietfa.amsl.com>; Fri, 2 Nov 2012 12:34:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.082
X-Spam-Level:
X-Spam-Status: No, score=-3.082 tagged_above=-999 required=5 tests=[AWL=0.516, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2EHE7sOMUuV0 for <roll@ietfa.amsl.com>; Fri, 2 Nov 2012 12:34:09 -0700 (PDT)
Received: from mail-da0-f44.google.com (mail-da0-f44.google.com [209.85.210.44]) by ietfa.amsl.com (Postfix) with ESMTP id E314811E80D1 for <roll@ietf.org>; Fri, 2 Nov 2012 12:34:08 -0700 (PDT)
Received: by mail-da0-f44.google.com with SMTP id h15so1775539dan.31 for <roll@ietf.org>; Fri, 02 Nov 2012 12:34:08 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:x-gm-message-state; bh=R/GgrAKFxNjjct6cmZok3bIQszBSmYIVE9lSYdw7DTw=; b=hUJ3xDv1UMmZ44L2eoDEx4Nl9OnQimxvIC937dp9QDQe+c2JgcTeONn8a8JhCZE2du r36R2euHcYCPrutlUcswvcXfwj/CgV8voTtJwm9BOLKwkViY6mcFQYf9W0LQmZ6PL3+S B2nU7eeR5uzFcgcF1yLWfLxSnBTQ8ngs49j4iopqoAixZbo82wwniwZWL6+E5HhVYmHW h5QmLs6I7Hq8YCGhCHcxDoGazAxuSTK6nQmfVdS05FczG0ThD7v8E3G/VOqCRj+gDM2Q KnDpHNVXylrd84geAWqfVrNsfzeR3myIXXoFv1sJVlFCNqniGplDNZDeUH0KmdwJe8no xRQg==
Received: by 10.68.245.167 with SMTP id xp7mr9252739pbc.75.1351884848602; Fri, 02 Nov 2012 12:34:08 -0700 (PDT)
Received: from [172.16.1.52] ([184.71.143.130]) by mx.google.com with ESMTPS id nd6sm6174920pbc.68.2012.11.02.12.34.06 (version=SSLv3 cipher=OTHER); Fri, 02 Nov 2012 12:34:07 -0700 (PDT)
Message-ID: <5094202F.4010805@exegin.com>
Date: Fri, 02 Nov 2012 12:34:07 -0700
From: Dario Tedeschi <dat@exegin.com>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0) Gecko/20110922 Thunderbird/7.0
MIME-Version: 1.0
To: "Jonathan Hui (johui)" <johui@cisco.com>
References: <058.e817419e990e1afb26be9aa25d5cfc21@trac.tools.ietf.org> <B50D0F163D52B74DA572DD345D5044AF0F6EFA99@xmb-rcd-x04.cisco.com> <50932647.3050509@exegin.com> <B50D0F163D52B74DA572DD345D5044AF0F6F2837@xmb-rcd-x04.cisco.com>
In-Reply-To: <B50D0F163D52B74DA572DD345D5044AF0F6F2837@xmb-rcd-x04.cisco.com>
Content-Type: multipart/alternative; boundary="------------070201070909010107040001"
X-Gm-Message-State: ALoCoQkITwoMTwpNqgrKon0XYK/hlV04+K22yWydtmlEG2DUKMTL27P/yTDtIKfhtiM6MplW13Ii
Cc: "<roll@ietf.org>" <roll@ietf.org>, "<draft-ietf-roll-trickle-mcast@tools.ietf.org>" <draft-ietf-roll-trickle-mcast@tools.ietf.org>, "<mcr@sandelman.ca>" <mcr@sandelman.ca>
Subject: Re: [Roll] [roll] #105: trickle-mcast: how to determine scope of MPL domain
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/roll>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Nov 2012 19:34:10 -0000

On 01/11/2012 7:12 PM, Jonathan Hui (johui) wrote:
> On Nov 1, 2012, at 6:47 PM, Dario Tedeschi<dat@exegin.com>  wrote:
>
>> I don't understand what benefit is gained by allowing the use of non-link-local in the outer header, if encapsulation is required. Supporting both link-local and higher in the outer header just servers to complicate the forwarder.
> The purpose is to limit the extent to which MPL disseminates a packet to something smaller than the entire LLN (item 2).

Isn't that what multicast groups and/or unicast-prefix-based multicasts 
are for? That is to say, to reach a defined set of devices.


>
>> Is item 2 a requirement that a subset of devices in the LLN participate in MPL forwarding and others don't, or is it that there are two MPL domains, or is it that one subset of devices are listening on multicast address A while others are listening on multicast address B? In any case, I don't see how the use of link-local scope in the *outer* header would not work.
> As mentioned above, the purpose is to limit the physical extent of MPL forwarders that disseminate a message.  If we use a link-local destination address in the outer header, how do you propose to limit the region?

The destination in the inner header determines if the packet needs to be 
forwarded or not, or forwarded on a different interface.


>
>> As for encapsulation, using an MPL multicast address of the from FF02::00XX, in the outer header, would only add three bytes to the packet after 6lowpan compression.
> I agree.
>
> Maybe you could describe a concrete example of how using link-local addresses in the outer header would address Peter's scenario that he posted to the list?

Example: Two border routers (BR1 and BR2) each forming a network:

--- Network 1 (BR1) ---
Unicast prefix: FD01::/64
Unicast-prefix-based multicast address prefix: FF35:0040:FD01::/96

--- Network 2 (BR2) ---
Unicast prefix: FD02::/64
Unicast-prefix-based multicast address prefix: FF35:0040:FD02::/96

 1. A non-MPL aware node in network 1 wishes to send a multicast to all
    nodes in network 1.
 2. It sends to multicast address FF35:0040:FD01::1, un-encapsulated.
 3. The packet is received by a MPL router in network 2 (N2R1).
 4. N2R1 finds no higher layer listening to FF35:0040:FD01::1 and,
    therefore, does not pass the packet up.
 5. N2R1 finds no matching routing information for FF35:0040:FD01::1 and
    does not forward the packet. The packet is, therefore, discarded.
 6. The packet is also received by a MPL router in network 1 (N1R1).
 7. N1R1 finds a higher layer listening to FF35:0040:FD01::1 and passes
    a copy of the packet up. Note: This would depend on whether or not
    any higher layers were actually interested in the mc group. Also,
    this step is not a prerequisite for the next step to occur.
 8. N1R1 finds matching routing information for FF35:0040:FD01::1,
    because it is a member of network FD01::/64
 9. N1R1 encapsulates the packet with a MPL HbH option such that the
    outer and inner destination addresses appear as:
    [FF02::MPL][FF35:0040:FD01::1], respectively.
10. N1R1 transmits the new resulting packet.
11. The packet is received by another MPL router in network 1 (N1R2).
12. Seeing that the destination address is FF02::MPL, N1R2 decapsulates
    the packet (i.e. the original packet exits the tunnel).
13. N1R2 finds a higher layer listening to FF35:0040:FD01::1 and passes
    a copy of the inner packet up. Note: This step is not a prerequisite
    for the next step to occur.
14. N1R2 also finds matching routing information for FF35:0040:FD01::1,
    because it is a member of network FD01::/64.
15. N1R2 re-encapsulates the packet with the *original* MPL HbH option
    such that the outer and inner destination addresses appear as:
    [FF02::MPL][FF35:0040:FD01::1], respectively.
16. N1R2 transmits the resulting packet.
17. The packet is received by yet another MPL router in network 2 (N2R2).
18. Seeing that the destination address is FF02::MPL, N2R2 decapsulates
    the packet (i.e. the original packet exits the tunnel).
19. N2R2 finds no matching routing information or listener for
    FF35:0040:FD01::1 and, therefore, discards the packet.


Note:
I chose a non-MPL aware originator of a multicast packet, because I 
wanted to be more thorough. I could have chosen an example where the 
originator of the packet *was* a MPL aware device. In such a case, it 
would have encapsulated with its own MPL HbH option as if it were 
forwarding the packet (i.e. outer and inner destinations would have been 
[FF02::MPL][FF35:0040:FD01::1]). One complication of non-MPL aware 
devices sending non-link-local multicasts is the problem of fan-out: If 
such a device multicasts/broadcasts at the link-layer for IPv6 
multicasts, then many MPL routers may hear the packet and try forward it 
with their own seeds. Although this wouldn't cause a real packet-storm, 
it would cause something close to it, depending on how many routers were 
in earshot of the originator. However, this is a general problem that 
has nothing to do with MPL's address scope.

Secondly, notice that FF02::MPL can be viewed as a well defined address 
for a "tunnel exit point". It just so happens that it actually 
identifies multiple physical "exit points".

- Dario