Re: [Lsr] Enhancements on flooding topology encoding

tony.li@tony.li Wed, 29 May 2019 15:20 UTC

Return-Path: <tony1athome@gmail.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2263D1201B8 for <lsr@ietfa.amsl.com>; Wed, 29 May 2019 08:20:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level:
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.198, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 XqhSDOOyNffN for <lsr@ietfa.amsl.com>; Wed, 29 May 2019 08:20:05 -0700 (PDT)
Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) (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 8BC7712010C for <lsr@ietf.org>; Wed, 29 May 2019 08:20:05 -0700 (PDT)
Received: by mail-pf1-x42b.google.com with SMTP id d126so1858348pfd.2 for <lsr@ietf.org>; Wed, 29 May 2019 08:20:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=gCchTzqB/QWjEpY2ib0O4d91scn8WjnoRfGg77a2Yjc=; b=JZv9au9HsR5yBB34DmTsJ3JKUcKquh7F0F1CHaREhCJCwYV+nrpFP0SRquYkYjCj9X kdOBVHGm1RSFhtsMGql6etj1rA1iD85OIstaIhQ2RmsH9G6BX1qToOMzYzvgytZ4LiOY eCcCiYoa+ByAGxDePwqrCzeSQGERUH3iGXRMj0BWjbSfPL7lKpSCsie1qVCBw6z2cpR5 344qWQybk+qXBSF1zTrDJsVT/Pe1SE/zaO2jCtpOb8mtAGCf5UkDY38crdfCOJwIr8l0 wBr5gOBHcfJIKOgrIwk4Y2NQtdb4t8H0lB8q1Wuwb2bXJvcM6kxLore6qlZl/p4yziio 3rCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=gCchTzqB/QWjEpY2ib0O4d91scn8WjnoRfGg77a2Yjc=; b=et51QXWP6MUXXf+8X5/oUmUR8Zqtn0rR03TK+RtGH4+KNSoRN2wjozeOzMybYPgu2O l2g7lxQ3unAXtupyKqH6IqE9ADjGx5rBrDQ1ZTQ9w0LYWHmwxmcuB9+8xQWoIDrSlGv+ zWQm8Sb5vugRnZkCpSIl09yVbd88bhdSk2wxnF6kb/D2SFJV4eSVHQ1YzjwpkroEuNL5 Oq8CoFrBLlJMPqkhpYEyNHxESLSjPd4I8B2CspJo+9jD4np9FkDHA4SfnyWNAmE9Ll48 M0qjim0JAYBSdRK3MJb1R12eMAeTaBkgaGaQREtmJ905WkCKcjY0bXPvzgMVYeTisZdm TcAA==
X-Gm-Message-State: APjAAAV25xlyb/kj0nQdSPsDy1LmaxdVCcjjwgbECxhWAyWHbbW1PPca XVvwiSbvF1vB2jIhsn3Rg7o=
X-Google-Smtp-Source: APXvYqxj3kjamJx4MqUDzl93BQi2h7hG8CI47ZdhfWpGDBUExYO0x6O2MesC/Z1ZjU47WDQQ//753Q==
X-Received: by 2002:a63:eb56:: with SMTP id b22mr54006194pgk.81.1559143204941; Wed, 29 May 2019 08:20:04 -0700 (PDT)
Received: from [172.22.228.83] ([162.210.130.3]) by smtp.gmail.com with ESMTPSA id j2sm23765142pfb.157.2019.05.29.08.20.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 May 2019 08:20:04 -0700 (PDT)
Sender: Tony Li <tony1athome@gmail.com>
From: tony.li@tony.li
Message-Id: <705BB810-F47C-4BCC-996B-2B28FF239C6C@tony.li>
Content-Type: multipart/alternative; boundary="Apple-Mail=_AC776922-989F-43F5-A4B9-C66CA13136D4"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\))
Date: Wed, 29 May 2019 08:20:03 -0700
In-Reply-To: <MN2PR13MB3470347425388859402DE2CFA31F0@MN2PR13MB3470.namprd13.prod.outlook.com>
Cc: "lsr@ietf.org" <lsr@ietf.org>
To: Huaimo Chen <hchen@futurewei.com>
References: <MN2PR13MB3470347425388859402DE2CFA31F0@MN2PR13MB3470.namprd13.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.8)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/dICN4KUSSVWyw_KM0692KRL5qKY>
Subject: Re: [Lsr] Enhancements on flooding topology encoding
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 May 2019 15:20:08 -0000

Hi Huaimo,

Thank you for the interesting numbers, but without some understanding of the experiment that you’re performing, we have no way of understanding the point that you’re trying to make.

If we are to make a change, we need to all understand and agree that there is an improvement and that the improvement is worthwhile in terms of complexity vs. gain.

The block encoding that you have proposed seems to require at least one TLV for every other node in a path and thus seems like an extremely inefficient way of encoding a topology. If you have ways of using this efficiently, please explain.

Compressing the path TLV into a bit stream (similar to encoding B) has been proposed, but to date we have not bit off on that complexity.  As noted, the savings that you get decrease with scale, which is unfortunate because at scale is when we need it.  So far, the consensus seems to be that this is not worth the effort.

Regards,
Tony



> On May 29, 2019, at 8:05 AM, Huaimo Chen <hchen@futurewei.com> wrote:
> 
> Hi Tony,
> 
>     For the three encodings below,
> Encoding A: Plain Path TLVs, where each node index uses 2 bytes,
> Encoding B: Compact Path TLVs, where each of node indexes in Path TLVs has the same size given by a field in the Area Node IDs TLV with L set to one, which is the size (in bits) of the maximum node index value,
> Encoding C:  Block TLVs,
> it seems that C is more efficient than A and B in general, B is more efficient than A.
> For example, for representing 63 nodes flooding topology (FT for short) of a binary tree in IS-IS, some comparisons among three encodings are listed in the table below (In case that the formats may be messed up, a .pdf file is attached).
> 
> Encoding
> Bytes used
> Comparisons
> A (Plain Path TLVs)
> 248
> 179/248 = 0.72 (72%)
> B (Compact Path TLVs)
> 179
> 121/179 = 0.68 (68%)
> C (Block TLVs)
> 121
> 121/248 = 0.49 (49%)
>  
>     From the table, we can see that 248, 179 and 121 bytes are used for representing the FT by A, B and C respectively. 121/248 = 0.49 (49%) means that C uses about 49% of the flooding resource that A uses. 121/179 = 0.68 (68%) means that C uses about 68% of the flooding resource that B uses. 179/248=0.72 (72%) means that B uses about 72% of the flooding resource that A uses.
> 
>     From this example, we can see that C is more efficient than A and B, and B is more efficient than A.
> 
> Best Regards,
> Huaimo
> From: <> Tony Li [mailto:tony1athome@gmail.com] On Behalf Of tony.li@tony.li
> Sent: Wednesday, May 15, 2019 11:55 AM
> To: Huaimo Chen <huaimo.chen@huawei.com>
> Cc: lsr@ietf.org
> Subject: Re: Enhancements on flooding topology encoding
>  
>  
> Hi Huaimo,
>  
>  
> In one way, a TLV called Node Index Size TLV is defined. Its value field of one octet contains an index size (i.e., a number of bits). When this TLV is included in an LSP/LSA containing Path TLVs, all the node indexes in the Path TLVs are represented using the number of bits given by the index size in the Node Index Size TLV. The index size is the minimum number of bits needed to represent the maximum node index in the Path TLVs.
>  
>  
> Yes, Tony P. also made this suggestion quite some time ago in a private communication.  We also observed that no separate signaling of the size is actually needed, as each node can look at the number of indices listed in the Node Id TLV and take ceil(log2(# nodes)) and use that many bits for each index.
>  
> In another way, 5 bits of the Reserved field in the IS-IS Area System IDs TLV and OSPF Area Node IDs TLV with L set to one indicates the index size that is used for all the node indexes in all the Path TLVs included in every LSP/LSA. The index size is the minimum number of bits needed to represent the maximum node index in the area.
>  
>  
> Yes, you could do that too.  That’s for ‘free’, assuming that you agree that the L bit is required.
>  
>  
> 
> In another encoding, Block TLVs are used to encode the flooding topology. A Block TLV represents a block of the flooding topology.  The value field of a Block TLV starts with 5 bits to indicate the index size, which is followed by the index of a local node, the number of adjacent nodes (in 3 bits), and the indexes of the adjacent/remote nodes of the local node. This part is similar to the one in a router LSA to represent the part of the topology from the local node to the adjacent nodes of the local node, which can be considered as a block of the topology in one level. This block can be extended to multiple levels. Each of the adjacent nodes has an extension flag bit E.  An adjacent/remote node with E = 1 is considered as a new local node, and its adjacent nodes are added. This encoding seems more efficient.
>  
>  
> A bold claim.  Do you have any proof for this?  It seems counter-intuitive, as for a bi-connected node, it would seem that its index must appear at least twice, once per link.  
>  
> The advantage of the path encoding is that for almost all nodes, an index can appear a single time.
>  
> Example:
>  
> IS-IS Instance: Amun VRF: default
>   Level 1:
>     Path: 3 16 8
>     Path: 0 18 9 10 11 17 15 6
>     Path: 0 13 1 19 5 4 14 8
>     Path: 0 3 6 7 2 8 12 0
>  
> Tony
>  
> 
> 
> 
> <Enhance2FTEncode-2019-5-29.pdf>