Re: [MBONED] mboned: UDP port conflict mtrace/traceroute

"Bidgoli, Hooman (Nokia - CA/Ottawa)" <hooman.bidgoli@nokia.com> Tue, 17 September 2019 16:48 UTC

Return-Path: <hooman.bidgoli@nokia.com>
X-Original-To: mboned@ietfa.amsl.com
Delivered-To: mboned@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E5E7120A88 for <mboned@ietfa.amsl.com>; Tue, 17 Sep 2019 09:48:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 T5AwfK-kUfub for <mboned@ietfa.amsl.com>; Tue, 17 Sep 2019 09:48:23 -0700 (PDT)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03on0729.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe09::729]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 11C85120A94 for <mboned@ietf.org>; Tue, 17 Sep 2019 09:48:23 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FjDwBa2Y4a0WgD3Juzo+e8uijL7zL23OQiqE1udxlukX3mtECfJns4mqYWyG+q6zP1vzxwrVJIvdjC5vbgwwa4Kc/MumeNreqw6XbeZ+3Xd6AdgaCenNc7BLDHTJB/7eUaNPXpW4m1Enq6lfaAjfwabpjLXG9kl8RxmuBVZJ4VRkk0Xzah/8oxtg7jXU9lvDGYBPLFIkcK9bekrmaMwwprd04oYFfKyQzqG585nYG3GvMHxRYH8z3jGLTRqujrgZ27sY+vvQ1JTJmFuswxrKpfwOS4nn/wx9+NN458+pdUDyJvK8WTWlPaQLdTvP4VU5G54PaCmnYkqxX2YDLPFXXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kG1zxwoyP6oZSyRihKTx3EdiBec5L61CafWFZ+JrjEU=; b=UZIPEWUueOnAts+wCzqw+xWvjCdq2DJRXIcCv++Pj14Eq+QMG6SrEe16FsczPJI4zxx8P/CjuCKT9Nf72iyiHDVt/mJiUv/qQWso7WLgKVbJ/wf8lopZotobYOvJ3Dw4VPGDr+yy7TzI3vGltYhoM0uZempZhoUwKlJxGvC+2JFv5JpHXrsrG00DCuOJNG3R78cYF33BL6tIWDFselnYKe4V6mfkiD1dlJ3zpOEFQVN+I7GybE3xNqQsFa4y4GxDaV//UVua6hR3dFztR1l8npwT0Y69oRh/eExeCrvScia3OlbtwUHmSUxYfIY7fNW/9fX9H6eTP5N47IPg4KVt5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kG1zxwoyP6oZSyRihKTx3EdiBec5L61CafWFZ+JrjEU=; b=QBb1MSacHT3FIxNPx74xJLUf2Bkep0Lj2iqpx9JrwpZzn2omqwRTyvuRTAimfDB7xQ3snnKO52erCPRFJ7GhJFjxyGbdIWd2O+TbMFMqxgFYhaZoMoydYe0i61fokSVf75cywwyoTIOj+RWm2sNXk8Ccsu706TCsiRbxi3zAvF0=
Received: from DB7PR07MB4745.eurprd07.prod.outlook.com (52.135.133.27) by DB7PR07MB4956.eurprd07.prod.outlook.com (20.178.43.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.10; Tue, 17 Sep 2019 16:48:20 +0000
Received: from DB7PR07MB4745.eurprd07.prod.outlook.com ([fe80::c91d:d318:b23c:e640]) by DB7PR07MB4745.eurprd07.prod.outlook.com ([fe80::c91d:d318:b23c:e640%5]) with mapi id 15.20.2284.009; Tue, 17 Sep 2019 16:48:20 +0000
From: "Bidgoli, Hooman (Nokia - CA/Ottawa)" <hooman.bidgoli@nokia.com>
To: Hitoshi Asaeda <asaeda@ieee.org>, Warren Kumari <warren@kumari.net>, "Boone, Larry (Nokia - CA/Ottawa)" <larry.boone@nokia.com>, "Mcconnochie, William (Nokia - CA/Ottawa)" <william.mcconnochie@nokia.com>
CC: Joe Touch <touch@strayalpha.com>, "James A. (Jim) Stevens" <james.a.stevens=40collins.com@dmarc.ietf.org>, MBONED WG <mboned@ietf.org>
Thread-Topic: [MBONED] mboned: UDP port conflict mtrace/traceroute
Thread-Index: AQHVQ+YHF6QhMAaUXEqS8koc6to52abdWPQAgAR/+wCAAAdpAIBFAraAgAARLYCAAc6DgIABlMWAgAUNwwCAAPEXsA==
Date: Tue, 17 Sep 2019 16:48:20 +0000
Message-ID: <DB7PR07MB4745C1F40ADB032D985628EF918F0@DB7PR07MB4745.eurprd07.prod.outlook.com>
References: <CAH8Jh6DSMMyjtzTn5yKqWdsio40nMjkreUMyMkc8mJGAFdYK4Q@mail.gmail.com> <BA0AA020-AE9D-441A-9AF2-DF847F1D9597@strayalpha.com> <CAHw9_iJCk6ym_CoXca8zgSsN7qCx-iAzsTg2-hV+SWHRz2D17g@mail.gmail.com> <2ba7bbf42e6d007b83d024ef11c24070@strayalpha.com> <CAHw9_iJsHGyttCw6UCQYzc2gEy4Rf+v=dTa9OyKOTaoZxEFtPQ@mail.gmail.com> <aec642641abccd91e5bd39deba049e39@strayalpha.com> <CAHw9_iKf25RTQuESdyW9a1U1n3EnR54yOo42+0nbW922Yxj8-g@mail.gmail.com> <CAHw9_i+oy36uDoBLSn5uF4UKkTpcZ9Up_ziDW6pfwwmkEG41jg@mail.gmail.com> <85BF58BB-3CAE-4B48-BD98-014FBEAFBCD5@ieee.org>
In-Reply-To: <85BF58BB-3CAE-4B48-BD98-014FBEAFBCD5@ieee.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=hooman.bidgoli@nokia.com;
x-originating-ip: [135.245.20.28]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8776ed16-ff40-4189-3c29-08d73b8ed8f5
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DB7PR07MB4956;
x-ms-traffictypediagnostic: DB7PR07MB4956:
x-ms-exchange-purlcount: 1
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DB7PR07MB49565B0ED65C8C61D935FCEC918F0@DB7PR07MB4956.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 01630974C0
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(189003)(199004)(13464003)(229853002)(54906003)(110136005)(256004)(53546011)(2906002)(66574012)(6246003)(5660300002)(6116002)(3846002)(6436002)(11346002)(476003)(186003)(81156014)(81166006)(446003)(8936002)(8676002)(486006)(99286004)(26005)(316002)(76176011)(6306002)(55016002)(102836004)(9686003)(33656002)(14454004)(14444005)(6506007)(7696005)(64756008)(66066001)(478600001)(86362001)(66476007)(66446008)(71200400001)(66556008)(76116006)(6636002)(74316002)(52536014)(7736002)(305945005)(4326008)(25786009)(66946007)(71190400001)(966005); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR07MB4956; H:DB7PR07MB4745.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: T4keA0rcB6LWW5R5kDE4tO7PGdBDgvVwjlMMMdtS3vGNNyJnk1Q3B2CUwy6BtG8CE1WEWFpDZFl0THJmQc6TN/vxN6E3A1kjbLqkYvn2N9OiwM/H5N8gY+c24D/263tOVokjWc6BANH2dKLgF+afB8E83UMVYUzK5u1cUwjGDftef6oKEA/X1ZNfCA3tr/4EpOZagYOM6ca07rly+UVk0QaK6LgAvnnNVm7cziNHMZ8EaEnOPm9SqKougMOvdN9X4V9Sc02e96JhkyIXhGTYaTlSUBgCCD8OvcwL/NZo+eLjMeR8h5uMnwBnMYCDfm8WWJtaPGiXYTAe19JMtyvPI6x92Gl6poH2XCMQPsNZhNb0qlcMTV0MgauMtT9gNzClWNWiL80J9TzPIkPzLD0pRTOpqPqtAThF48uFbroPa6Y=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8776ed16-ff40-4189-3c29-08d73b8ed8f5
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Sep 2019 16:48:20.3901 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Ar5LJtKfWYNKT99cTiuIKnKxyl2gnTkHswsDoazvqBoQOsfSE4Vla20jAK2Ie6CVXRmTEnCB+6vKl/BMnDP3+JPzL14GLBxUnQyGfTOlPf0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR07MB4956
Archived-At: <https://mailarchive.ietf.org/arch/msg/mboned/M_eOzqVPhmaYXuxQuK5_DsF2ywo>
Subject: Re: [MBONED] mboned: UDP port conflict mtrace/traceroute
X-BeenThere: mboned@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Mail List for the Mboned Working Group <mboned.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mboned>, <mailto:mboned-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mboned/>
List-Post: <mailto:mboned@ietf.org>
List-Help: <mailto:mboned-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mboned>, <mailto:mboned-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Sep 2019 16:48:34 -0000

Hi Hitoshi

Sorry for delay. Adding two of the Nokia engineers.

So I think you are seeing what we are pointing out, a packet to the port 33435 is lost. Even that this is a single packet still it would create confusion.

Larry and William from Nokia can comment in more details

Regards

Hooman



-----Original Message-----
From: Hitoshi Asaeda <asaeda@ieee.org> 
Sent: Monday, September 16, 2019 9:24 PM
To: Warren Kumari <warren@kumari.net>; Bidgoli, Hooman (Nokia - CA/Ottawa) <hooman.bidgoli@nokia.com>
Cc: Joe Touch <touch@strayalpha.com>; James A. (Jim) Stevens <james.a.stevens=40collins.com@dmarc.ietf.org>; MBONED WG <mboned@ietf.org>
Subject: Re: [MBONED] mboned: UDP port conflict mtrace/traceroute

Hooman,

Could you follow up this Warren's discussion?
Thanks.

Regards,

Hitoshi



> On Sep 14, 2019, at 5:13, Warren Kumari <warren@kumari.net> wrote:
> 
> [ TOP-POST]
> 
> 
> Aaaaarggh! As Leonard pointed out (offlist, to save me the 
> embarrassment of being an idiot) I have a typo throughout this -- the 
> Dst is 10.0.4.1, not 10.0.5.1 (I'd initially had 2 and hosts, and 4 
> routers, but that was overly verbose, and so I removed the last 
> router, and forgot to renumber). Also, in Step 4, the TTL should 
> clearly be 4, not 43.
> That'll larn me to try type long emails on a phone...
> 
> w
> 
> On Thu, Sep 12, 2019 at 4:04 PM Warren Kumari <warren@kumari.net> wrote:
>> 
>> Hitoshi / MBONED,
>> 
>> Can you please explain in baby words (small enough that even I can
>> understand!) how the failures actually occur.
>> 
>> I keep going through it step by step, and it all makes sense... and 
>> then suddenly I confuse myself and it all escapes... <insert confused 
>> baby meme here>
>> 
>> Let's use this as the scenario (I'm using RFC1918 space because the 
>> documentation prefix isn't really big enough for this).
>> 
>> I'm 10.0.0.1, and I'm running traceroute (from Linux / BSD box) to a 
>> destination machine of 10.0.4.1. There are routers numbered 10.0.1.1,
>> 10.0.2.1 and 10.0.3.1
>> 
>> Step 1: I send 3 packets with TTL=1, Dst 10.0.5.1, ports 33435,33436,33437.
>> The first hop router, 10.0.1.1 decrements the TTL, realizes that the 
>> packet has now expired, and sends me back (Src 10.0.1.1, Dst 
>> 10.0.0.1)
>> 3 ICMP TTL expired messages.
>> Traceroute draws:
>> traceroute to 10.0.4.1, 64 hops max, 52 byte packets
>> 1  10.0.1.1 (10.0.1.1)  2 ms  1 ms  0.8 ms
>> 
>> 2: I now send 3 packets, with TTL=2,  Dst 10.0.5.1, ports 33438,33439,33440.
>> Router1 decrements the TTL and forwards it to Router2, which 
>> decrements the TTL and sends back  (Src 10.0.2.1, Dst 10.0.0.1) 3 
>> ICMP TTL expired messages.
>> I see:
>> traceroute to 10.0.4.1, 64 hops max, 52 byte packets
>> 1  10.0.1.1 (10.0.1.1)  2 ms  1 ms  0.8 ms
>> 2  10.0.2.1 (10.0.2.1)  3ms  2 ms 5ms
>> 
>> 3: I send 3 packets with TTL3, Dst 10.0.5.1, ports 33441,33442,33443
>> Router1 and router2 forward the packet, router3 expires it, I get a 
>> TTL expired from 10.0.3.1, and now I see:
>> traceroute to 10.0.4.1, 64 hops max, 52 byte packets
>> 1  10.0.1.1 (10.0.1.1)  2 ms  1 ms  0.8 ms
>> 2  10.0.2.1 (10.0.2.1)  3ms  2 ms 5ms
>> 3  10.0.3.1 (10.0.3.1)  4 ms 5ms 3ms.
>> 
>> 4: I send 3 packets with TTL=43, Dst 10.0.5.1, ports 33444,33445,33446.
>> The TTL is now high enough that it makes it to the end host. There is 
>> nothing listening on the end host on ports 33444, 33445, 33446, and 
>> so I get back (from 10.0.4.1) ICMP port unreachables for 33444, 
>> 33445, 33446. I know I've reached my destination, and I'm happy.
>> traceroute to 10.0.4.1, 64 hops max, 52 byte packets
>> 1  10.0.1.1 (10.0.1.1)  2 ms  1 ms  0.8 ms
>> 2  10.0.2.1 (10.0.2.1)  3ms  2 ms 5ms
>> 3  10.0.3.1 (10.0.3.1)  4 ms 5ms 3ms
>> 4  10.0.4.1 (10.0.4.1) 5ms 3ms 4ms
>> 
>> 
>> 
>> In all of the above steps the destination address of the traceroute 
>> packet is the target of the traceroute.
>> A transit router decrements the TTL, and if is cannot forward the 
>> packet it generates an ICMP unreachable -- but it doesn't care about 
>> the destination port or IP. When the TTL is high enough that it 
>> reaches the end host, the port number *is* important, because we 
>> don't want the end host to actually accept the packet, we want it to 
>> instead return an ICMP Port Unreachable (or admin prohibited, or 
>> something else useful).
>> 
>> As far as I can see then, the only case where there might be an issue is:
>> 1: the router running mtrace2 is the target of the traceroute (so it 
>> is actually listening on the port) and
>> 2: the router is the very first hop (that's the only case where the 
>> port number will be 33435).
>> 
>> In this case, we would get an output showing:
>> traceroute to 10.0.1.1, 64 hops max, 52 byte packets
>> 1  10.0.1.1 (10.0.1.1)  *  1 ms  0.8 ms
>> 
>> (the first packet (port 33435) gets eaten by the mtrace2 process, but 
>> the 2nd and 3rd packets will have ports 33436, 33437).
>> 
>> It was reported that enabling this protocol on routers where the 
>> traffic ransites (e.g router1) breaks traceroute, but I've 
>> sufficiently managed to confuse myself that I'm having a hard time 
>> understanding *why* -- the packet isn't destined to the router, it is 
>> destined for the target of the traceroute...
>> 
>> I'm sure I'm missing something obvious here, so, again, slowly and in 
>> baby words please...
>> 
>> W
>> 
>> 
>> On Wed, Sep 11, 2019 at 12:29 PM Joe Touch <touch@strayalpha.com> wrote:
>>> 
>>> Hi, Warren,
>>> 
>>> On 2019-09-11 08:27, Warren Kumari wrote:
>>> 
>>> On Mon, Jul 29, 2019 at 1:36 PM Joe Touch <touch@strayalpha.com> wrote:
>>> 
>>> 
>>> On 2019-07-29 10:09, Warren Kumari wrote:
>>> 
>>> ...
>>> 
>>> Just FYI, I sent email to IANA letting them know that ports 33435 -
>>> 33534 should probably be listed it as "Known Unauthorized Use".
>>> From some archaeology, 33434 is apparently 2^15 + 666, and the 
>>> "standard" traceroutes use up to 100 ports.
>>> I based this on the Van Jacobson (van@ee.lbl.gov) - 1988 which he 
>>> "stole" (credited) from Steve Deering -- easiest location of code is:
>>> https://github.com/freebsd/freebsd/blob/master/contrib/traceroute/tr
>>> aceroute.c
>>> 
>>> I don't much like referring to it as "Known Unauthorized Use" but 
>>> that's technically what it is -- the important bit to me seems to be 
>>> that we make in some way so they don't get handed out, exactly what 
>>> they should be called is a less pressing problem.
>>> 
>>> 
>>> Although that's helpful to those seeing traffic on those ports, it does not prevent IANA from assigning those values when requested.
>>> 
>>> The only way to do that would be to make them ASSIGNED. That happens by the process indicated in RFCs 6335 and 7605 and notably is not driven by this sort of "squatting".
>>> 
>>> NOTE: at the time that code was originally developed (1988), that range was OK for such uses without registration, but times changed in 1992.
>>> 
>>> That code ought to be fixed.
>>> 
>>> 
>>> Yes, that is true -- that code ought to be fixed; however, it 
>>> doesn't change the fact that mtrace cannot realistically be deployed 
>>> using this port -- enabling it on a router breaks traceroutes 
>>> through that router, leading to asterisks (I'd thought that we'd 
>>> agreed on that, but while looking back through my mail on this 
>>> topic, it's possible I'd misunderstood, and you don't actually agree 
>>> that this port isn't fit *for this particular purpose*).
>>> 
>>> 
>>> 
>>> No, I don't. I don't understand the issue. On machines where traceroute is deployed, I would assume it is already possible to acquire those ports (bind to them) as needed, at which point the only components that don't play nice are those where mtrace isn't deployed yet.
>>> 
>>> Now if you are saying you don't WANT to do that because you WANT to support traceroute's use of squatted ports, that's not IANA's business IMO - and, more importantly, it's not justification for changing a port. IANA's policies on this are that squatter's use of ports are simply not a factor at all. They can't be, otherwise there's no point in having an assignment process.
>>> 
>>> 
>>> Just wanting to make sure we are all on the same page, and they 
>>> MBONED will be publishing a -bis, deprecating this RFC and 
>>> publishing a new one with a different port...
>>> 
>>> 
>>> At best, that would requires releasing the current assignment, which requires a statement as to the extent of the current deployment using that assignment since 2012 and a plan for changing that codebase - all this is described in RFC 6335.
>>> 
>>> Joe
>> 
>> 
>> 
>> --
>> I don't think the execution is relevant when it was obviously a bad 
>> idea in the first place.
>> This is like putting rabid weasels in your pants, and later 
>> expressing regret at having chosen those particular rabid weasels and 
>> that pair of pants.
>>   ---maf
> 
> 
> 
> --
> I don't think the execution is relevant when it was obviously a bad 
> idea in the first place.
> This is like putting rabid weasels in your pants, and later expressing 
> regret at having chosen those particular rabid weasels and that pair 
> of pants.
>   ---maf