Re: [Sidrops] [GROW] IXP Route Server question

Nick Hilliard <nick@foobar.org> Sun, 13 March 2022 23:56 UTC

Return-Path: <nick@foobar.org>
X-Original-To: sidrops@ietfa.amsl.com
Delivered-To: sidrops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3DFE53A1843; Sun, 13 Mar 2022 16:56:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=unavailable autolearn_force=no
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 UHlg84W2uEQG; Sun, 13 Mar 2022 16:56:22 -0700 (PDT)
Received: from mail.netability.ie (mail.netability.ie [46.182.8.5]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A8BB03A183D; Sun, 13 Mar 2022 16:56:18 -0700 (PDT)
Received: from crumpet.local (admin.ibn.ie [46.182.8.8]) by mail.netability.ie (Postfix) with ESMTPSA id A77479EB95; Sun, 13 Mar 2022 23:56:15 +0000 (GMT)
To: "Sriram, Kotikalapudi (Fed)" <kotikalapudi.sriram=40nist.gov@dmarc.ietf.org>
Cc: Ben Maddison <benm@workonline.africa>, "grow@ietf.org" <grow@ietf.org>, "sidrops@ietf.org" <sidrops@ietf.org>
References: <SA1PR09MB8142093BE50A27A7EED132D884099@SA1PR09MB8142.namprd09.prod.outlook.com> <0db7749f-66fd-5def-a8bb-3ee316cf2ca1@foobar.org> <SA1PR09MB81421BCBA7FB59615A7638A5840B9@SA1PR09MB8142.namprd09.prod.outlook.com> <fa0b5b32-6541-f493-e02b-fe75d44dacd5@foobar.org> <20220311072307.gymne3ofnfsrinkc@benm-laptop> <517ea9bd-4ee1-44cb-3373-eb0552191b2b@foobar.org> <SA1PR09MB814204C76C23025F166E29FA840E9@SA1PR09MB8142.namprd09.prod.outlook.com>
From: Nick Hilliard <nick@foobar.org>
Message-ID: <ba6ba713-f93f-4027-7091-abca9cecbada@foobar.org>
Date: Sun, 13 Mar 2022 23:56:14 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:52.0) Gecko/20100101 PostboxApp/7.0.54
MIME-Version: 1.0
In-Reply-To: <SA1PR09MB814204C76C23025F166E29FA840E9@SA1PR09MB8142.namprd09.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/WGk25fdg7APyD6uAuny-EcvbWc4>
Subject: Re: [Sidrops] [GROW] IXP Route Server question
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidrops>, <mailto:sidrops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops/>
List-Post: <mailto:sidrops@ietf.org>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidrops>, <mailto:sidrops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Mar 2022 23:56:26 -0000

Sriram, Kotikalapudi (Fed) wrote on 13/03/2022 16:20:
> Not sure why Ben even raised that question. To me, it doesn't seem
> relevant. In the route leak detection procedures, the
> receiving/validating AS does not require information about the nature
> of ASes (RS or not RS) in the AS Path except for the sending/neighbor
> AS which it knows to be an RS in case it knows itself to be an
> RS-client. The procedures rely only on ASPA objects for the origin AS
> and ASes in the middle.
Stepping back a bit, there's no fundamental difference between the 
behaviour of a transparent RS and a non-transparent RS, except that the 
transparent RS happens to elide the RS AS number from the AS path.  The 
remainder of the AS path will be the same in either case.

The algorithm for check_ix_path() implements a check to flip between 
upstream path verification and downstream path verification based on 
whether the RS is transparent or non-transparent.

Even if it gives a workable outcome, I think this is the wrong approach 
from an algorithmic point of view. The algorithm needs to accept that 
the two situations are basically the same except that in one (rare) 
case, the RS ASN is present in the AS path, and in the other, it isn't.

Section 5.3 says that the client has prior knowledge about whether the 
peer is a RS.  I.e. the draft already admits that rs client 
implementations will need a config flag.

So rather than discussing whether non-transparent ASNs are included in 
the specification, the discussion needs to focus on whether RS ASN's 
should be included in the ASPA verification algorithm at all, and if so 
/ if not, how this should be done.

The answer to this question is (surprisingly) not immediately clear. 
RSs do not partake in traffic forwarding, so they are not part of the 
data path between two ASNs; they're only part of the signaling path 
between the two ASNs.  This is a useful hack from a practical point of 
view, but it causes algorithmic breakage in places which assume 
congruency between the data plane and the signaling plane.  One of these 
places is AS path verification.

This changes the question of whether or not a hack is deployed to 
mitigate the effects of RS hackiness, but simply what style of hack 
should be used.  The current proposal is a mitigation approach, but can 
I propose an alternative approach, namely that the draft reintroduces 
congruence between the data plane and the signaling plane from the point 
of view of ASPA verification?

I.e. if the WG opinion is to include RS's as being in scope, then the AS 
path that the aspa algorithm operates on should include the RS ASN, 
regardless of how the RS is transparent or non-transparent. 
Alternatively, if WG opinion is to exclude RS's from the scope of this 
draft, then ASPA should be handled on the basis that the RS ASN is 
deleted from the as path list.

The only information necessary is whether the rs-client is aware that 
it's talking to a RS, but we already know that.

If RS's are kept in scope, then the RS should be treated as a provider 
by the rs client; the rs client should include the RS ASN in its SPAS; 
the rs client should evaluate ASPA as if the RS ASN were included in the 
path; the rs should evaluate clients as customers

If they're out of scope, then ASPA verification should elide the RS ASN 
from the AS PATH if it has not already been elided, and ASPA 
verification should proceed as if the two rs-client ASNs were directly 
connected and each should treat the other as a provider.

Nick