[Anima-signaling] Session IDs in relayed messages (and the Initiator field)
Brian E Carpenter <brian.e.carpenter@gmail.com> Mon, 11 January 2016 19:44 UTC
Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: anima-signaling@ietfa.amsl.com
Delivered-To: anima-signaling@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id A9F981A894A
for <anima-signaling@ietfa.amsl.com>; Mon, 11 Jan 2016 11:44:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9,
DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44])
by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id tobdNOXnpKYb for <anima-signaling@ietfa.amsl.com>;
Mon, 11 Jan 2016 11:44:20 -0800 (PST)
Received: from mail-pf0-x22a.google.com (mail-pf0-x22a.google.com
[IPv6:2607:f8b0:400e:c00::22a])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 1A2241A893C
for <anima-signaling@ietf.org>; Mon, 11 Jan 2016 11:44:20 -0800 (PST)
Received: by mail-pf0-x22a.google.com with SMTP id q63so50828917pfb.1
for <anima-signaling@ietf.org>; Mon, 11 Jan 2016 11:44:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=subject:to:references:cc:from:organization:message-id:date
:user-agent:mime-version:in-reply-to:content-type
:content-transfer-encoding;
bh=d/OggoA6ifeEd8Pj/HPO+ptE2ALlH4k78zUkRXoLgAY=;
b=kg15wkadA1cDwimX8DoA+YVMf9NR9HpkFvgwJ1+xImfxXF7+Kujp0W0iDpl3kstN8C
+liyHmq+TMCYnZt21tSh2msBJMfRZfJSiOha7k5l4WH1nx1ISjwd1Rii3Awg0O9DGuvt
YOZrz2oGOFA3tBJ+xZJSiHPUxPLlISv3BYPREI/gyBMuVbBrOvFGqE2JO35xQNP/2MeQ
sswZ7SuEJfU/IyLGqn98wOYSgqOsBnbG8hVlaWgC9wNHnJa2/PpqDO90JFDptCkv3zEd
E822tMXO0fbe4a6EniDP9+D8aitwVBBU3brLoYCvNsPCydd68U/lnn2lOVFxoSyQxCoQ
xohA==
X-Received: by 10.98.75.139 with SMTP id d11mr28633016pfj.57.1452541459676;
Mon, 11 Jan 2016 11:44:19 -0800 (PST)
Received: from ?IPv6:2406:e007:59f5:1:28cc:dc4c:9703:6781?
([2406:e007:59f5:1:28cc:dc4c:9703:6781])
by smtp.gmail.com with ESMTPSA id q27sm25062767pfi.80.2016.01.11.11.44.17
(version=TLSv1/SSLv3 cipher=OTHER);
Mon, 11 Jan 2016 11:44:18 -0800 (PST)
To: "Liubing (Leo)" <leo.liubing@huawei.com>
References: <5668F8CA.2010205@gmail.com> <56698A77.5090003@tzi.org>
<5669911D.30306@tzi.org> <5669DC59.2090505@gmail.com>
<56925EBC.6010207@tzi.org> <5692A875.203@gmail.com>
<5692B32E.1050209@gmail.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <56940611.70202@gmail.com>
Date: Tue, 12 Jan 2016 08:44:17 +1300
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101
Thunderbird/38.5.0
MIME-Version: 1.0
In-Reply-To: <5692B32E.1050209@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima-signaling/zMspCyS1cqbCyFJ19crLOhSDDMg>
Cc: Anima signaling DT <anima-signaling@ietf.org>
Subject: [Anima-signaling] Session IDs in relayed messages (and the
Initiator field)
X-BeenThere: anima-signaling@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Mailing list for the signaling design team of the ANIMA WG
<anima-signaling.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima-signaling>,
<mailto:anima-signaling-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima-signaling/>
List-Post: <mailto:anima-signaling@ietf.org>
List-Help: <mailto:anima-signaling-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima-signaling>,
<mailto:anima-signaling-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2016 19:44:21 -0000
Bing, > 2. Section 3.3.5.1 Flooding >> If it receives a multicast Flood message on a given interface, it MUST relay it by re-issuing a Flood message on its other interfaces. The relayed message MAY have a different Session ID. > [Bing] Is there any concern that different Session IDs for the same flood message? > My rough idea is that the same Session ID might be beneficial to identify the flooded message. E.g., the interface could easily examine whether the message had been relayed once. That was what I thought until I started writing the code. It gets very complicated because of the "birthday paradox" risk of duplicate Session IDs. You have to track the pair (Session ID, initiator address). That's why I proposed adding an 'initiator' to several messages (see the discussion with Carsten attached below). The issue is just the same for flood and discovery. Relying on the loop count to terminate multicast loops is much simpler. There are only two ways to create a loop: a bad physical topology, which will create problems for everybody, not just GRASP, or a faulty GRASP implementation that relays multicasts back to the same interface, which will be detected during debugging. So I think the loop count is enough protection. If we accept that, then using a new Session ID each time a multicast is relayed to a new link is fine. We do lose the knowledge of which GRASP node originally generated the Discover or Flood. What do you think? There would be a few more changes to the text for this. I have two versions of the Python code already, with or without the 'initiator' field, and they both seem to work with identical results. Regards Brian On 11/01/2016 08:38, Brian E Carpenter wrote: > On 11/01/2016 07:52, Brian E Carpenter wrote: >> Hi Carsten, >> On 11/01/2016 02:38, Carsten Bormann wrote: > ... >>> More odd to me is that the session-id only makes sense in conjunction >>> with the initiator, but the latter is not always given. I can't quite >>> make rhyme and reason out of when it's there and when not. Maybe that >>> should be explained in the text (beyond what's in 3.6), including how >>> the initiator is implied when not present in the message (source IP >>> address of UDP packet?). >> >> The issue only arises at all because of the need to relay discovery >> and flood packets from one interface to another. In all other cases >> the source address of the packet is fine for disambiguating sessions. >> And in my implementation, the issue doesn't even arise for relayed >> discovery messages, because it proved easier to launch a new discovery >> session than to propagate the old one. >> >> You know, I'm going to look at my code again. If I can do the same trick >> for flood messages when they are relayed, we just wouldn't need the >> stupid initiator field at all. > > I had to add three lines of code to the relay function to do this. > So I now propose to remove the 'initiator' field from the messages where > I added it (and add the necessary clarifications about using the source > IP address). That will be a straightforward change to the -02D draft > that I sent yesterday, so co-authors, please let me know what you think > ASAP. > > Thanks Carsten, this helped a lot. > > Brian >
- [Anima-signaling] Two definite proposals for GRAS… Brian E Carpenter
- Re: [Anima-signaling] Two definite proposals for … Carsten Bormann
- Re: [Anima-signaling] Two definite proposals for … Carsten Bormann
- Re: [Anima-signaling] Two definite proposals for … Brian E Carpenter
- Re: [Anima-signaling] Two definite proposals for … Brian E Carpenter
- Re: [Anima-signaling] Two definite proposals for … Carsten Bormann
- Re: [Anima-signaling] Two definite proposals for … Brian E Carpenter
- [Anima-signaling] Initiator field [was Two defini… Brian E Carpenter
- Re: [Anima-signaling] Two definite proposals for … Carsten Bormann
- [Anima-signaling] Revised CDDL Brian E Carpenter
- [Anima-signaling] Session IDs in relayed messages… Brian E Carpenter
- Re: [Anima-signaling] Session IDs in relayed mess… Liubing (Leo)