Re: Size of CR in CRH

Robert Raszuk <robert@raszuk.net> Thu, 21 May 2020 15:24 UTC

Return-Path: <robert@raszuk.net>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFFAB3A0D1F for <ipv6@ietfa.amsl.com>; Thu, 21 May 2020 08:24:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=raszuk.net
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 2Zs8b646IkPC for <ipv6@ietfa.amsl.com>; Thu, 21 May 2020 08:24:50 -0700 (PDT)
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) (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 1B11D3A0A62 for <6man@ietf.org>; Thu, 21 May 2020 08:24:49 -0700 (PDT)
Received: by mail-ej1-x636.google.com with SMTP id x1so9277000ejd.8 for <6man@ietf.org>; Thu, 21 May 2020 08:24:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wg4Xu0T3jMOxea4pspYNgzDx0pw+Qsy6LmqpeHHbiXg=; b=JMWgL0TPYXC9p6gBIZhwolelwKroOPDd0WVPd+yI2LQZ8AY2Y6OUDaFyLvNUXFXHvV Ljzs5UcahtqGaeJPf9gt2w9GVmJHLPCatH9mf/lc9x5Jw28ZuH5NIaoihYHVPOJ70yyA czI1wsSkefyFnvE+u5oKD2ALUMdHCFZL8zZaZF7VC4d89VqSO6+V5lFJF8DOodgH2LA5 wdTMcR/6MjVZSmWQ5J1biQbGSOYuI+Vt1Tz2XtOOKHELdtG9ncUCjfTCRiEOrsF8wam1 trhCR58Wn6BvdplzRePCWNc/HF0d7NmJkl1JOv9Nnn+yV4MMX/TqUku+AvVfIfAGztjj 0oHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wg4Xu0T3jMOxea4pspYNgzDx0pw+Qsy6LmqpeHHbiXg=; b=HFGvYs0FB2ZyYh+WHvsx+nWSfa/mae3J3zmseQdnzo80+jMfsBrEtzRBB2S5HkiXJM 6ehCMk7iS+tSdYit5C0593ItGoCJ8gDZi4R9ZKe4Y7g1X2CkoCp/EeHpzV9jBgk840Bu UAfPKXgE74YxNecplcGGhX44i8AJmQd1exg1uaGQsp7dAmF1qhgFwMmFoZjFw/i8LmwJ MKn9nnHWKoOhDKHCW7A3ekHLVYQraR7qW+yrTPMVjBiD7gohVdvbiYhzKp0L33HYUWHx FltdQKZnwHHuHMYGbGtN95tHPAR8u7P7Aovz3L0Yb6w1AlZQkrYnYMVKPwdyHkelgdVG B+HA==
X-Gm-Message-State: AOAM531mayvJRRc5dlFnEsXBC0b2g2KCIOrydV2+1P+q9mG4KrFWf32u UgDkrdFTRZdeN2EilVgQhErX2IsPRxMOjdpkZE32cZ/WqO4=
X-Google-Smtp-Source: ABdhPJzKfBRUjOOZxdzsWs/VEEt0OuX5ErR43MLsp0urUoChxgP1qt6rmR4EzRRbfy4BTsfmMr15BRxTsrq0eFzJnas=
X-Received: by 2002:a17:906:f747:: with SMTP id jp7mr3958602ejb.110.1590074688392; Thu, 21 May 2020 08:24:48 -0700 (PDT)
MIME-Version: 1.0
References: <CAOj+MMFsy=dDciY=TMwSf75CZCr_i1Mfv6oUiPs5U6hT2Bq94w@mail.gmail.com> <DM6PR05MB6348D0DB381145F1A4C53450AEB70@DM6PR05MB6348.namprd05.prod.outlook.com> <CAOj+MMHT=TWqf=A71PhvCcrFggCQ=okRrP=sGaO4hrcbmsCvGw@mail.gmail.com> <CAOj+MMGYbw83c-T9GWCs_cLDWWbGi1dZ_Xfc8tS6TV6EfvWsDw@mail.gmail.com> <DM6PR05MB63484502B4CFCB745DFCED3EAEB70@DM6PR05MB6348.namprd05.prod.outlook.com>
In-Reply-To: <DM6PR05MB63484502B4CFCB745DFCED3EAEB70@DM6PR05MB6348.namprd05.prod.outlook.com>
From: Robert Raszuk <robert@raszuk.net>
Date: Thu, 21 May 2020 17:24:35 +0200
Message-ID: <CAOj+MMEfkenHmSLje62wNRw3OrxBzJJq_MwesozK-ABeLXbZ2Q@mail.gmail.com>
Subject: Re: Size of CR in CRH
To: Ron Bonica <rbonica@juniper.net>
Cc: 6man <6man@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f7ea9c05a62a1c46"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/QWGC1zSJVmKExAoiNrjVk0YxHX4>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 May 2020 15:24:53 -0000

Hi Ron,


> Node B decrements Segments Left and looks for entry 15 in **its**
CRH-FIB. If finds:

>

>     On Node B:  Identifier = 15, IPv6 Address = Node C, Method = strict,
Link = B->C

Your example works when the entire network has a single segment routed path
:)

What happens if also Node Z somewhere in the domain (or maybe even
connected to B) advertised SID 15 with some different outbound link ?

So Node B will have two FIB entries:

  Identifier = 15, IPv6 Address = Node C, Method = strict, Link = B->C
  Identifier = 15, IPv6 Address = Node Z, Method = strict, Link = X->Y

So how will B decided which one to use ?

Best,
R.




On Thu, May 21, 2020 at 5:11 PM Ron Bonica <rbonica@juniper.net> wrote:

> Robert,
>
>
>
> Let’s address your question with an example. Assume that Node A is sending
> a packet to Node D. The delivery path includes the following strictly
> routed hops:
>
>
>
>    - Node A to Node B over link A->B
>    - Node B to Node C over link B->C
>    - Node C to Node D over link C->D
>
>
>
> Now we populate the CRH-FIB on Nodes B and C as follows:
>
>
>
>    - On Node B:  Identifier = 15, IPv6 Address = Node C, Method = strict,
>    Link = B->C
>    - On Node C:  Identifier = 15, IPv6 Address = Node D, Method = strict,
>    Link = C->D
>
>
>
> Now, Node A formats a packet as follows:
>
>
>
>    - IPv6 Destination Address = Node B
>    - CRH Segments Left = 2
>    - Identifier list = [15,15]
>
>
>
> Node A sends this packet to Node B over link A->B. Node B decrements
> Segments Left and looks for entry 15 in **its** CRH-FIB. If finds:
>
>
>
>    - On Node B:  Identifier = 15, IPv6 Address = Node C, Method = strict,
>    Link = B->C
>
>
>
> So, Node B updates the IPv6 address and sends the packet to Node C over
> link B->C. Node C decrements Segments Left and looks for entry 15 in *
> *its** CRH-FIB. If finds:
>
>
>
>    - On Node C:  Identifier = 15, IPv6 Address = Node D, Method = strict,
>    Link = C->D
>
>
>
> So, Node C updates the IPv6 address and sends the packet to Node D over
> link C->D.
>
>
>
>                                                           Ron
>
>
>
>
>
>
>
> Juniper Business Use Only
>
> *From:* Robert Raszuk <robert@raszuk.net>
> *Sent:* Thursday, May 21, 2020 10:35 AM
> *To:* Ron Bonica <rbonica@juniper.net>
> *Cc:* 6man <6man@ietf.org>
> *Subject:* Re: Size of CR in CRH
>
>
>
> *[External Email. Be cautious of content]*
>
>
>
> Ron,
>
>
>
> While we are at the local vs global significance of SIDs can you please
> elaborate how do you resolve the conflict where given SID value is
> advertised by more then one node ? In fact imagine that all nodes in a
> domain choose to advertise the same SID value "15" to forward the traffic
> to their respective peers. So packet arrives at segment endpoint node A
> with CRH consisting of SID list 15, 15, 15, 15 ... where each value 15
> means different behaviour on different node.
>
>
>
> How do you even know which way to forward the packet ?
>
>
>
> See in this case your mapping plane will contain different functions on
> different nodes signalled with the same SID.
>
>
>
> I understand that you are trying to silently borrow set of procedures from
> SR-MPLS here as documented in RFC8660. But if you just open this RFC you
> will see section 2.5 or 2.6 without which you just can not simply propose
> to treat SID as locally significant in any form of segment routing. Of
> course unless you would consume two SIDs per node.
>
>
>
> Thx,
> Robert.
>
>
>
>
>
> On Thu, May 21, 2020 at 10:34 AM Robert Raszuk <robert@raszuk.net> wrote:
>
> Ron,
>
>
>
> > Now recall that identifiers have node local significance.
>
>
>
> I was talking about case described in yr draft section 7:
>
>
>
> "Applications can:
>
>
>
>        o Allocate SIDs so that they have *domain-wide significance*."
>
>
>
> While not a must - it is an option. So I believe my observation stays
> valid till draft either removes that option or describes scaling properties
> differences between both domain wide and local significance of the SIDs.
>
>
>
> Thx,
>
> R.
>
>
>
>
>
> On Thu, May 21, 2020 at 4:01 AM Ron Bonica <rbonica@juniper.net> wrote:
>
> Robert,
>
>
>
> Consider the following network:
>
>
>
>    - Contains 65,000 routers
>    - Each router has 500 directly connected neighbors or fewer
>    - Uses 16-bit CRH
>
>
>
> In this network, each node might have 65,499 CRH-FIB entries:
>
>
>
>    - 64,999 CRH-FIB entries cause packets to follow the least-cost path
>    to another node in the domain
>    - 500 CRH-FIB entries cause packets to traverse a specific link to a
>    specific neighbor.
>
>
>
> As a mnemonic device, an operator might assign identifiers as follows:
>
>
>
>    - 0-65,000 identify CRH-FIB entries that cause packets to follow the
>    least-cost path to another node in the domain
>    - 65,001 – 65,565 identify CRH-FIB entries that that cause packets to
>    traverse a specific link to a specific neighbor.
>
>
>
> Now recall that identifiers have node local significance. So, Node A and
> Node B might both have a CRH-FIB entry that is identified by the value
> 65,001. However:
>
>
>
>    - The CRH-FIB entry on Node A causes packets to traverse a particular
>    link towards Node X
>    - The CRH-FIB entry on Node B causes packets to traverse a different
>    link towards Node Y.
>
>
>
> I think that this example refutes the premise of your argument, so there
> is not further need to address the conclusion.
>
>
>
>
> Ron
>
>
>
>
>
>
>
>
>
> Juniper Business Use Only
>
> *From:* Robert Raszuk <robert@raszuk.net>
> *Sent:* Wednesday, May 20, 2020 6:20 PM
> *To:* Ron Bonica <rbonica@juniper.net>
> *Cc:* 6man <6man@ietf.org>
> *Subject:* RE: Size of CR in CRH
>
>
>
> *[External Email. Be cautious of content]*
>
>
>
> HI,
>
>
>
> So just to make sure I understand this analogy of 16 bit -- 2^16 = 65536
> nodes. I think this is only on paper.
>
>
>
> Imagine I have 1000 routers so if I divide the 16 bit space by 1000 I get
> at most 65 local node behaviours if anyone would like to embed such into
> the SID.
>
>
>
> That means that if my router have more then 65 interfaces I am not able to
> steer packets by src route out of my router ... I must always depend on the
> lookup of next SID how to forward the packets.
>
>
>
> That also means that if I want to apply any form of NP in segment endpoint
> I am quite limited to the number of local functions I could use.
>
>
>
> To conclude - Let me restate to what I and others already said - flat SID
> space domain wide in mapping plane is a mistake. Yes this is like MPLS, but
> this does not make it great again due to that legacy.
>
>
>
> Many thx,
> R.
>
>