RE: Compressed Routing Header idea

"Chengli (Cheng Li)" <c.l@huawei.com> Wed, 20 May 2020 10:01 UTC

Return-Path: <c.l@huawei.com>
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 1F99C3A0659 for <ipv6@ietfa.amsl.com>; Wed, 20 May 2020 03:01:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 EO__Irvu-FDP for <ipv6@ietfa.amsl.com>; Wed, 20 May 2020 03:01:17 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 8E8823A064A for <ipv6@ietf.org>; Wed, 20 May 2020 03:01:17 -0700 (PDT)
Received: from lhreml715-chm.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 6E17E1EBB91B5FA8EDD5 for <ipv6@ietf.org>; Wed, 20 May 2020 11:01:15 +0100 (IST)
Received: from lhreml715-chm.china.huawei.com (10.201.108.66) by lhreml715-chm.china.huawei.com (10.201.108.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Wed, 20 May 2020 11:01:15 +0100
Received: from DGGEML423-HUB.china.huawei.com (10.1.199.40) by lhreml715-chm.china.huawei.com (10.201.108.66) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1913.5 via Frontend Transport; Wed, 20 May 2020 11:01:15 +0100
Received: from DGGEML529-MBX.china.huawei.com ([169.254.6.116]) by dggeml423-hub.china.huawei.com ([10.1.199.40]) with mapi id 14.03.0487.000; Wed, 20 May 2020 18:01:05 +0800
From: "Chengli (Cheng Li)" <c.l@huawei.com>
To: "Templin (US), Fred L" <Fred.L.Templin@boeing.com>, IPv6 List <ipv6@ietf.org>
Subject: RE: Compressed Routing Header idea
Thread-Topic: Compressed Routing Header idea
Thread-Index: AdYtHG+8rC3YEibIRJu4gVbarLwgbQBYuRwA
Date: Wed, 20 May 2020 10:01:04 +0000
Message-ID: <C7C2E1C43D652C4E9E49FE7517C236CB02A2A615@dggeml529-mbx.china.huawei.com>
References: <2a844eb431b346b8931196c5e21d33ae@boeing.com>
In-Reply-To: <2a844eb431b346b8931196c5e21d33ae@boeing.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.108.203.229]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/daKU5fa8-DgwtupW4_q6zkRso_o>
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: Wed, 20 May 2020 10:01:19 -0000

Hi Fred,

Great! A really straightforward idea. Actually, we did think about variable length SID compression, it may provide the best compression, but the complexities will be a problem, especially for hardware. You know, less choices for hardware, better forwarding efficiency we get. 

After discussing with many operators, we get a consensus that the 32 bits is the most appropriate length for the compressed SID. 
* Firstly, most hardware support mature 32 bits processing, for instance IPv4 and MPLS hardware. 
* Secondly, we need to consider the scalabilities when we discuss compression, 16 bits for node ID and function ID is apparently not scalable.  So if we want to limit the option into one size, then it is 32 bits. I guess most of the people in 6man will agree with that.

Also, it is important to provide the abilities to encode 128 bits SID and 32 bits Compressed SID a single SRH in many use cases. For example, 
* a Compressed SID list and a 128 bit VPN SID, we don't want to make modification of the Best effect VPN processing flow, which is very clear. Also, there will be many  VPN instances in a huge network.
* Also, when a node in the path does not support compression, then use a 128 bit SID in the SRH directly. So we do not need to modify the SR policy to avoid that node, but only change the SID encoding method in the SRH to encode Compressed SID and 128 bits SID together. In this way, the incremental deployment can be supported.

So we proposed Generalized SRv6 for Compression [1], which is fully compatible with SRv6, and it does not modify the format of SRH.

The method is really simple, we introduce a new flavor called COC(Continue-of-Compression) flavor to indicate the SRv6 compression processing.

Furthermore, from the aspects of deployment and operation, if SRv6 has been deployed, then we can reuse the allocated locator to allocate compressible SRv6 SID for SRv6 compression, which will not introduce any new route to the network, so not SRv6 security policies should be modified. Really simple.

Hope this info can help you, and welcome to comment the document.

Best Regards,
Cheng


[1]. https://tools.ietf.org/html/draft-cl-spring-generalized-srv6-for-cmpr-01



-----Original Message-----
From: ipv6 [mailto:ipv6-bounces@ietf.org] On Behalf Of Templin (US), Fred L
Sent: Monday, May 18, 2020 10:04 PM
To: IPv6 List <ipv6@ietf.org>
Subject: Compressed Routing Header idea

Hi, I have a use case where some IPv6 addresses that would go into a routing header are more compressible than others and so I am wondering if some kind of "hybrid" compressed routing header would be possible. For example, if one address can be compressed down to
16 bits, then include only those 16 bits; if a different address can only be compressed down to 32 bits, then include the 32 bits; if yet a different address cannot be compressed at all, then include all 128 bits. And, there may be many more sizes in between.

RFC4191 Section 2.3 shows an example of how an IPv6 prefix/address can be compressed to a variable length. Essentially, a length byte followed by a variable-length prefix. That way there would still be "pretty good compression" albeit with an extra byte per prefix. And, it would be a generalized form that would only require a single routing header type value.
How would it be if we did something like that?

Fred



--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------