Re: [Bier] Questions on draft-eckert-bier-te-arch-01

Toerless Eckert <> Sat, 17 October 2015 00:46 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id D64741A88E1 for <>; Fri, 16 Oct 2015 17:46:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jwuUvzPSVHVd for <>; Fri, 16 Oct 2015 17:46:38 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id EDA8D1A88DB for <>; Fri, 16 Oct 2015 17:46:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=4424; q=dns/txt; s=iport; t=1445042798; x=1446252398; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=uTYxF3gSWgsG1fKRLzFyEkp4g7Tytq2ElxFbKUnWixc=; b=Hg14R7T00YnQWehmyevPa4Ja4zhv1LC50gvso2d+kLcRLcHUJXck3Fxa h5cTC5r5OQmEpvMVdCNljS+ODTdCsFIctLxM4vNvWNht/zrJPiLM1+rd0 r1KFWiyLbDQ+5T2+q7RShGWe1duasCqiXKS6pwGUSs1qD2CThdg/kJ6sN o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.17,691,1437436800"; d="scan'208";a="198753398"
Received: from ([]) by with ESMTP; 17 Oct 2015 00:46:37 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id t9H0kaL6010659 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 17 Oct 2015 00:46:37 GMT
Received: from ( []) by (8.13.8/8.13.8) with ESMTP id t9H0ka6k011110; Fri, 16 Oct 2015 17:46:36 -0700
Received: (from eckert@localhost) by (8.13.8/8.13.8/Submit) id t9H0kaim011109; Fri, 16 Oct 2015 17:46:36 -0700
Date: Fri, 16 Oct 2015 17:46:36 -0700
From: Toerless Eckert <>
To: Caitlin Bestler <>
Message-ID: <>
References: <> <> <> <> <> <> <>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/
Archived-At: <>
Subject: Re: [Bier] Questions on draft-eckert-bier-te-arch-01
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"Bit Indexed Explicit Replication discussion list\"" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 17 Oct 2015 00:46:40 -0000


On Fri, Oct 16, 2015 at 02:47:33PM -0700, Caitlin Bestler wrote:
> I think I'm understanding BIER-TE finally, but I have a few questions to 
> confirm my understanding.
> How does an application use this?
>    In particular, how is this done so the overhead of determining the
>    end-to-end path is not
>    imposed on the host or BFIR on a per packet basis?

I don't think we've done a lot of brainstorming how to do end-2-end BIER
where the two ends are actual applications instead of transport services
gateways, eg: BIER-PE or the like (encap/decap native IP multicast or
MPLS multicast).

Assuming we had end-to-end bier, for BIER proper you'd have a 1:1 mapping
between receiver and a bit in the bitstring, and its a matter of the
API we build whether or not we hide these bitstrings. In BIER-TE you'd have
to have like in other TE solutions some upfront magic that determines the
shape of the overall tree. Eg: PCE controller or so. This is not a BIER-TE
problem, this is a TE problem.

If you want to build something like Steiner trees than the overall tree
would want to change when you add/delete a receiver. If thats the
traffic optimization needed, then worst case the PCE controller would
need to give you for each possible combination of receivers a different
bitstring. Not really difficult, but potentially a bit of upfront
calculation depending on how many receivers you have and how
many subsets are of interest. Again, this alculation would need to be
done however you'd want to do TE, BIER or whatever else. Just the output
being a bitstring is BIER-TE specific.

If the path towards each receiver should not change whether or not
other receivers are included into the tree or not, then it gets
easier: The PCE controller would give you for each candidate reciver a
bitstring, and the actual bitstring you want to use in your BIER
packet is just the OR of the bitstrings for each receiver.

>    What is the stability of these derived bits? Are we preventing
>    transitory renumbering of internal links somehow?

Assignment of bit-indices to links or BFRs or the like is all just
software in the BIER-TE controller software, For path selection it
may consult some external generic PCE controller or perform those
functions itself.

You can reuse a particular bit-index as soon as that bit-index is
not used for anything else in any running BIFT or BFIR adjacency.
This is really only a problem when the network growths. When you
have link-failure, you do not reassign bits, you just need to update
the bitstrings on the BFIR for packets to take alternative paths.

>    How often does the mapping of a destination IP
>    address to intermediate paths  to be followed hold?

IN BIER-TE you don't see the path in the bitstring, and it changes
automatically because of routing. In BIER-TE its fully or partially
visible. Its really just a matter of your policy when/how you want to
change it. Because of varying load ? Link/node failures, network

> Is this something a user-mode BIER utility
>    library, or a host stack, would
>    have to be involved with?

If a BIER packet is created by an application level entity then it
needs to insert the right bitstring, but as suggested above it might
consult an external entity like a PCE controller or BIER-TE controller
to get this information. Such interactions have not been defined yet.
But likewise in normal BIER, you'd today need manual config or be
able to retrieve IGP information to map from IP-address to BFR-id.

> What portion of the bitmap would be needed for the "derived" bits?
>    What is a reasonable ratio between true destination bits and
>    intermediate forwarding bits?

See one of my last emails. Depends on how much traffic engineering you
want/need. I think most deployment should be able to use less than 50%
of bits.

>    How does this compare to using a TRILL-style encapsulation with the
>    outer-BIER header containing
>    *only* the forwarding bits and an inner BIER header containing only
>    the ultimate destination bits?

Depends really on what you want to achieve. Easier to answer based
on an explicit example if you have one...

> _______________________________________________
> BIER mailing list