Internet DRAFT - draft-eckert-teas-bier-te-framework
draft-eckert-teas-bier-te-framework
Network Working Group T. Eckert
Internet-Draft Huawei
Intended status: Informational Mar 5, 2018
Expires: September 6, 2018
Framework for Traffic Engineering with BIER-TE forwarding (Bit Index
Explicit Replication with Traffic Engineering)
draft-eckert-teas-bier-te-framework-00
Abstract
BIER-TE is an application-state free, (loose) source routed multicast
forwarding method where every hop and destination is identified via
bits in a bitstring of the data packets. It is described in
[I-D.ietf-bier-te-arch]. BIER-TE is a variant of [RFC8279] in
support of such explicit path engineering.
This document described the traffic engineering control framework for
use with the BIER-TE forwarding plane: How to enable the ability to
calculate paths and integrate this forwarding plane into an overall
TE solution.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 6, 2018.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
Eckert Expires September 6, 2018 [Page 1]
Internet-Draft BIER-TE-Framework Mar 2018
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction and Overview . . . . . . . . . . . . . . . . . . 2
2. BIER-TE Topology management . . . . . . . . . . . . . . . . . 6
2.1. Operational model . . . . . . . . . . . . . . . . . . . . 6
2.2. BIER-TE topology model . . . . . . . . . . . . . . . . . 7
2.3. Consistency checking . . . . . . . . . . . . . . . . . . 10
2.4. Auto-configuration . . . . . . . . . . . . . . . . . . . 11
3. Flow Management . . . . . . . . . . . . . . . . . . . . . . . 12
3.1. Operational / Architectural Models . . . . . . . . . . . 12
3.1.1. Overprovisioning . . . . . . . . . . . . . . . . . . 13
3.1.2. PCEC . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.2.1. per-flow QoS - policer/shaper/EF . . . . . . . . 14
3.1.2.2. DiffServ QoS . . . . . . . . . . . . . . . . . . 15
3.2. BIER-TE flow model . . . . . . . . . . . . . . . . . . . 15
4. Security Considerations . . . . . . . . . . . . . . . . . . . 17
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
7. Change log [RFC Editor: Please remove] . . . . . . . . . . . 17
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction and Overview
This document proposes a framework and abstract data model for the
control plane of BIER-TE as defined in [I-D.ietf-bier-te-arch] (BIER-
TE-ARCH). That document primarily defines the forwarding plane and
provides some example scenarios how to use it.
BIER-TE is a forwarding plane derived from BIER ([RFC8279]) in which
the destinations of packets are bits in a bitstring. Every bit
indicates a destination (BFER - BIER Forwarding Exit Router) and an
IGP is used to flood those "bit addresses" so hops along the path
from sender (BFIR - BIER Forwarding Ingres Router) through
intermediate nodes (BFR) can calculate the shortest path for each
destination (bit) and simply copy the received packet to every
interface to one or more bits set in the packet.
In BIER-TE, shortest path calculation is replaced by bits of the
bitstring indicating intermediate hops and pre-populated forwarding
tables (BIFT - Bit Index Forwarding Tables) on every BFR indicating
Eckert Expires September 6, 2018 [Page 2]
Internet-Draft BIER-TE-Framework Mar 2018
those bits. In the simplest case, every interface on a BFR has a
unique bit assigned to it, and the BIFT of only that BFR will have in
its BIFT for this bit an adjacency entry indicating that interface.
This ultimately allows to indicate any sub-graph of the network
topology as a bitstring and hop-by-hop perform the necessary
forwarding/replication for a packet with such a bitstring. More
complex semantics of bits are used to help saving bits. A typical
bitstring size supportable is 256 bits, the original BIER
specification allows up to 1024 bits. BIER-TE may be specifically
interesting for typically smaller topologies such as often
encountered in DetNet scenarios, or else through intelligent
allocating and saving of bits for larger topologies, some of which is
exemplified in BIER-TE-ARCH.
One can compare BIER-TE in function to Segment Routing in so far that
it attempts to be as much as possible a per-packet "source-routed"
(for lack of better term) forwarding paradigm without per-
application/flow state in the network. Whereas SR primarily supports
simple sequential paths indicated as a sequence of SIDs, in BIER-TE,
the bitstring indicate a directed and acyclic graphs (DAG) - with
replications. BIER-TE can also be combined with SR and then bits in
the bitstring are only required for the nodes (BFR) where replication
is desired, and the paths between any two such replication nodes
could be SIDs or stack of SIDs that are selected by assigning bits to
them (routed adjacencies in the BIER-TE terminology).
In BIER-TE-ARCH, the control plane is not considered. In its place,
a theoretical BIER-TE Controller Host uses unspecified signaling to
control the setup of the BIER-TE forwarding-plane end to end (all
bits/adjacencies in all BFR BFITs) and during the lifecycle of
network device install through the determination of paths for
specific traffic and changes to the topology. This document expands
and refines this simplistic model and intends to serve as the
framework for follow-up protocol and data model specification work.
The core forwarding documents relevant to this document are as
follows:
o [RFC8279] (BIER-ARCH): as summarized above.
o [RFC8296] (BIER-ENCAP): The encapsulation for BIER packets using
MPLS or non-MPLS networks underneath.
o [I-D.ietf-bier-te-arch] (BIER-TE-ARCH): as summarized above.
o [I-D.thubert-bier-replication-elimination] (BIER-EF-OAM): Extends
the BIER-TE forwarding from BIER-TE-ARCH to support the
Elimination Function (EF) and an OAM function. The Elimination
Eckert Expires September 6, 2018 [Page 3]
Internet-Draft BIER-TE-Framework Mar 2018
Function is a term from DetNets resilience architecture: Multiple
copies of traffic flows are carried across disjoint path, merged
in a BFR running the EF and duplicates are eliminated on that BFR
based on recognizing duplicate sequence numbers. Engineered
multiple transmission paths are a key reason to leverage BIER-TE.
o [I-D.huang-bier-te-encapsulation] (BIER-TE-ENCAP): Proposed
encapsulation based on an extension of BIER-ENCAP. Identifies
whether the packet expects to use a BIER or BIER-TE BIFT. Also
adds a control-word in support of (optional) elimination function
(EF) and interprets the pre-existing BFIR-ID and entropy fields as
a flow-id.
o [I-D.eckert-bier-te-frr] (BIER-TE-FRR): This document describes
protections methods applicable to BIER-TE. 1:1 / end-to-end path
protection is referenced in this document in the context of DetNet
style PREF path protection. The options not discucced yet (TBD)
in this document are link protection tunnels (such as used in
RSVP-TE as well) and the novel BIER-TE specific protection method,
in which nodes modify the bitstring upon local discovery of a
failure.
The relevant routing underlay documents are as follows:
o [I-D.ietf-bier-isis-extensions] (BIER-ISIS),
[I-D.ietf-bier-ospf-bier-extensions] (BIER-OSPF): The BIER-ISIS
and BIER-OSPF documents describe extensions to those two IGPs in
support of BIER. Effictively, every BFR announces the <SD,SI-
range> BIFTs it is configured for, the MT-ID (IGP Multitopology-
ID) they are using, and the BFR-ID it has in each SD (none if it
does not need to operate as a BFER). For MPLS encapsulation, the
base label for every SD is announced as well as the SI-range (one
label per <SD,SI> is used).
o There is currently no document describing IGP extensions for BIER-
TE, but the goal is to define those based, using the proposals
made in this framework, and as feasible re-using and/or amending
those existing BIER IGP extensions.
o [I-D.ietf-bier-bier-yang] (BIER-YANG): This document describes the
YANG data model to provision on every BFR BIER. It also provides
OAM functions. There is currently no model expanding this to
support BIER-TE. This framework document defines elements that
should be included in a BIER-TE YANG model.
o TBD: incomplete list ?.
Eckert Expires September 6, 2018 [Page 4]
Internet-Draft BIER-TE-Framework Mar 2018
|<--- BIER-TE domain-->|
[Bier-TE Controller Host]
==
{PCE controller}, [Provisioning], [Monitoring]
^ ^ ^
/ | \ BIER-TE control protocol
| | | Yang(netconf/restconf), PCEP
v v v
BFIR-----BFR-----BFER
{per-flow QoS} ...... {EF,OAM} Optional per-flow BFIR/BFER
functions (for per-flow TE)
|------------------->|
BIER-TE forwarding
|<------------------>| IGP extensions for BIER-TE
|<------------------>| Existing IGP
Routing underlay {Existing IGP TE extensions}
|<------------------>|
Unicast forwarding underlay - IPv4/v6/SR
Figure 1: BIER-TE signaling architecture
The above picture is a modified version of Picture 2 from BIER-TE-
ARCH reduced by the elements not considered in this document, and
refined with those that are intended to be described by this
document.
In comparison with BIER-TE-ARCH, Picture 2, this picture and this
document do not include considerations for specific multicast flow
overlay elements. Instead, it adds description of optional BFIR/BFER
elements for per-flow QoS/EF (Elimination Function) and OAM, which
are optional parts of an overall BIER-TE traffic engineering
architecture. See BIER-EF-OAM for more background.
The routing underlay is refined in this document to consider a
unicast forwarding underlay of IPv4/IPv6 and/or unicast SR (Segment
Routing) for BIER-TE "forward_routed" adjacencies. It also assumes
an existing IGP, such as ISIS or OSPF as the routing underlay. This
may include (TBD) extensions already supporting TE aspects (like
those IGP extensions done for RSVP-TE).
Eckert Expires September 6, 2018 [Page 5]
Internet-Draft BIER-TE-Framework Mar 2018
This framework intends to support a wide range of options to
instantiate it:
In one extreme (PCEC only), there is no IGP in the network that BIER-
TE depends on, but all BIER-TE operations is managed in an SDN-style
fashion from centralized components called "BIER-TE Controller Host"
in BIER-TE-ARCH. This central packend can be further subdivided into
a Configuration/Provisioning component to install the BIER-TE
topology into the network and a PCEC (Pat Computation Engine
Controller) and (TBD) monitoring components. After BIER-TE is
operational, the PCEC calculates BIER-TE bitstrings for BFIR when
they need to send traffic flow to
In the other extreme (IGP only), there is no need for a PCEC or NMS.
The initial setup of the BIER-TE topology can be performed manually,
using configuration options to support automatic consistency checking
and partial auto-configuration to simplify this work. BIER-TE
extensions of the IGP are used for consistency checking and
autoconfiguration and finally to provide the whole BIER-TE topology
to BFIR that can then autonomously calculate BIER-TE bitstrings
without the help of a PCEC.
2. BIER-TE Topology management
2.1. Operational model
When a network is installed, BIER-TE is added as a service or later
when it is meant to change, BFR need to be (re)provisioned. This
involves a planning phase which physical adjacencies (links) should
be used in the BIER-TE topology, and which virtual adjacencies
(routed adjacencies) should be created and assigned bits. Ultimately
this means the definition of the BIER-TE topology.
When the physical topology if the network is smaller than the
possible bitstring size (e.g.: 256 bits), then this can be a simple,
fully automated process. Likewise, if multiple disjoined services
for BIER-TE each require active subsets of the network topology
smaller than the network topology, it likewise can be simple to
create a different SD (subdomain) BIER-TE topologies for each such
service.
When the required network topology for a BIER-TE service exceeds the
supportable bitstring size, bit-saving mechanisms can be employed as
described in BIER-ARCH. Some of them such as p2p link bits or lan-
bits are easily automatically calculated. Creation of virtual
adjacencies (routed adjacencies) may likely best be done with
operator defined policies applied to a system a system calculating
the bits for the BIER-TE topology.
Eckert Expires September 6, 2018 [Page 6]
Internet-Draft BIER-TE-Framework Mar 2018
Ultimately, if the set of required destinations plus transit hops
exceeds the size of available bitstrings after optimization, multiple
BIFT == bitstrings need to be allocated to support this case. These
multiple BIFT will likely need to be engineered to minimize duplicate
traffic load on the network and minimize bit use. One example shown
in BIER-TE-ARCH is to allocate different <SD,SI> BIFT to different
areas of a network, therefore having to create one BIER-TE packet
copy per required destination region, but in result having only one
packet copy in each of those regions.
Provisioning / initial setup can be done manually in simpler networks
or through a provisioning system. A PCEP may equally perform this
function. If a PCEP is not used to perform this function, but a PCEP
is used later for Flow Management, then the PCEP does of course need
to also learn the BIER-TE topologies created by the provisioning
system.
Unless a PCEC is used for provisioning/initial setup, YANG is likely
the prefered model to install the BIER-TE topology information into
the BFR. If a PCEC is used, YANG or PCEC seem to be valid choices.
When the network topology expands, bit assignements for the new parts
of the topology need to be made. If expansion was not factored into
the initial bit assignment plans, this can lead to the need to
reassign bits for existing parts of the topology. Support for such
processes could be simplified through additional topology
information, for example to enable seamless switching of traffic
flows from bits in one SD over to bits in another SD. This is
currently not considered in this document.
2.2. BIER-TE topology model
Eckert Expires September 6, 2018 [Page 7]
Internet-Draft BIER-TE-Framework Mar 2018
<BFR> BIFT information:
Instance: "configured", "operational",
"learned-configured", "learned-operational" (pce, igp)
BIFT-ID: <SD subdomain,BSL bitstring length,SI Set Identifier>
BIFT-Name: string (optional)
BFR-ID: 16 bit (BIER-TE ID of the <bfr> in this BIFT
or undefined if not BFER in this BIFT)
Ingres-groups: (list of) string (1..16 bytes)
(that <bfr> is a member of)
EF: <TBD> (optional, parameters for EF Function on this BIFT)
OAM: <TBD> (optional, parameter for OAM Function on this BIFT)
Bits: (#BSL - BitStringLength)
BitIndex: 1...BSL
BitType(/Tag): "unassigned",
(if unassigned, must have no adjacencies)
"unique", "p2p", "lan", "leaf", "node", "flood",
"group"
(more BitTypes defined in text below)
Names: (list of 0 or more) string (1..16 bytes)
(for BitTypes that require it)
List of 0 or more adjacencies:
(The following is the list of possible types of adjacencies,
as defined in BIER-TE-ARCH with parameters)
local_decap:
VRFcontext: string (TBD)
forward_connected:
destination-id: ip-addr (4/16 bytes, router-id/link-local)
link-id: ifIndex Value (connecting to destination)
boolean: DNR (Do Not Reset)
forward_routed:
destination-id: 20 bit (SID), 4 or 16 bytes (router-id)
TBD: path/encap information (e.g: SR SID stack)
ECMP:
list of 2 or more forward_connect and/or
forward_routed adjacencies
Figure 2: BIER-TE topology information
The above picture shows informally the data model for BIER-TE
topology information. <BFR> is a domain-wide unique identifier of a
BFR, for example the router-id of the IGP (if an IGP is used). Every
<BFR> has a "configured" instance of the BIFT information for every
BIFT configured on it. This configuration could be created from
legacy models, a YANG model, PCEP, or other means.
Every <BFR> also has an "operational" instance of the BIFT
information. If the BFR has nor "learned-configured" / "learned-
operational" information, then the "operational" instance is just a
Eckert Expires September 6, 2018 [Page 8]
Internet-Draft BIER-TE-Framework Mar 2018
copy of the "configuration" instance, but would take additional local
information into account. For example, if resource limits do not
allow to activate configured BIFT. Or when bits in the BIFT point to
interfaces/adjacencies that are down, this could potentially also be
reflected in the operational instance. While the "configuration"
instance is read/write, the operational instance is read-only (from
NMS or PCEC).
To calculate paths/bitstrings through the topology without the help
of a PCEC, a BIFT would need to know the network wide BIER-TE
topology. This topology consists of the "operational" BIFT
informations of the BFR itself plus the "learned-operational" BIFT
information from all other BIER-TE nodes in the network plus the
underlay routing topology information, for example from an IGP. When
an IGP is used, the "learned-operational" information of another BFR
is simply learned because the BFRs are flooding this information as
IGP information.
In the absence of any IGP, or the desire not to use it to distribute
BIER-TE topology information, an NMS or PCEC could collect the
"operational" BIER-TE topology information from BFRs and distribute
it to BFIR to enable them to calculate BIER-TE bitstrings
autonomously.
The operational instance of the topology information can depend on
the presence of an IGP. If the adjacency of a bit in the BIFT is
configured to use a nexthop identifier that has to be learned from an
IGP, such as a Segment Routing SID or a router-ID, then the
operational instance (as well as distributed learned-operational
ones) would indicate that such an adjacency is non-operational if the
BFR could not resolve this nexthop information. Forward_connected
adjacencies do not require a routing underlay, but just link-local
connectivity.
Some information elements in the BIER-TE topology information is
metadata to support automatic consistency checking of learned
topology information which permit to prohibit use of adjacencies that
would not lead to working paths or worst case could create loops.
The same information can also be used to auto-configure some
adjacencies, specifically routed adjacencies, allowing to minimize
operator work in case BIFT topology information is not auto-created
from an NMS/PCEP but through manual mechanisms, but also to
automatically discover mis-wirings and avoid them to be used.
The semantic of BitType and Names are described in conjunction with
consistency checking and autoconfiguration in the following sections.
Eckert Expires September 6, 2018 [Page 9]
Internet-Draft BIER-TE-Framework Mar 2018
2.3. Consistency checking
The BitType and associated Name or Names for the bit are intended to
support automated consistency checking and different reactions. an
NMS can for example discover misconfiguration or miscablings and
alert the operator. BFIR can likewise discover misconfiguration when
the "configured" and "operational" instances of BFR are distributed
via the IGP and are therefore available as "learned-configured" and
"learned-operational" on the BFIR. The BFIR can then fr example stop
using those misconfigured bits in any bitstrings it calculates and
further escalate (e.g.: overlay signaling) unreachability of any BFER
(or inability to calculate paths supporting required TE features).
"Unique" bits doe not require a name, but the <SD,SI> bit in question
must only have an adjacency on one BFR. If it shows up with
adjacencies on more than one BFR, this is an inconsistency.
"p2p" bits need to be the same bit on both BFR connected to each
other via a subnet, and must be pointing to each other via
"forward_connected" adjacencies. A "p2p" bit needs to have one Name
parameter unique in the domain - for example constructed from
concatenating the IfIndex of both sides. Note that the actual subnet
does not need to be p2p, a BFR can have multiple bits across a
multiaccess subnet, one for each neighbor.
Not listed in the above picture, but a "remote-p2p" could be a
BitType when a bidirectional adjacency between two remode BFR using
forward_routed adjacencies.
A "leaf" bit is the one shared bit in a <SD,SI> bitstring assigned to
the "local_decap" adjacency on all leaf BFER. Leaf BFER do not need
a separate bit. See BIER-TE-ARCH. If more then one "lead" bits are
used in an <SD,SI> across the domain that is an inconsistency - waste
of bits.
A "node" bit is associated with a Name that follows a standardized
form to identify a node - e.g.: its router-id. On a non-leaf BFER,
this bit can only have one local_decap adjacency on the node
indicated itself. On a leaf BFER, the "node" bit must be assigned to
adjacencies on one or BFR that connect to the indicated BFER. Other
configurations (or wirings) are a misconfiguration.
A "lan" bit indicates a bit for a LAN, as discussed in BIER-TE-ARCH.
It must have one domain wide unique name. It must only be used by
BFR connecting to the same subnet with a set of forward_connected
adjacencies pointing to the other BFR on that subnet. Disabling the
use of a "lan" bit either on a BFIR when sending packets, or even
more son on the actual BFR connecting to a subnet and recognizing
Eckert Expires September 6, 2018 [Page 10]
Internet-Draft BIER-TE-Framework Mar 2018
inconsistent BIER-TE topolocy configuraiton for it - is the most
important automatic function to avoid mis-routing of BIER-TE packets.
The looping will be also stopped because bits are reset when packets
traverse the paths, or ultimately by TTL, but neither mechanism can
provide as specifica OAM information about what went wrong than
recognizing inconsistencies via the IGP.
TBD: flood bit, DNR (like lan bit, but more complex.
Consistency checking may happen directly during configuration as well
as later during rewiring/remot changes of topology.
In general, the operational instance of the BIER-TE topology are
relevant to topology consistency checking (as hey are for path
calculations). For example, future extensions may actually introduce
some form of node/BFR redundancy where different BFR are configured
for the same bits, but only one at a time is actively using a bit,
and therefore announcing it in the operational instance of the BIER-
TE topology.
2.4. Auto-configuration
For subnets, the actual adjacency to the neighbor on a link may not
actually be configured explicitly, but only the interface. Discovery
of the neighbor via the IGP would result in a complete working
adjacency for a bit, and that adjacency would show then in the
operational instance - while the configured instance would only show
an incomplete adjacency and the bit that was configured for the
adjacency. The Name parameter can be used in configuration to lock
in the BFR that is expected to be on the other side of a subnet
interface. If that node is not the one actually connected, the
adjacency in the operational instance would not be completed.
When a "p2p" BitType is used, but the bit is configured
inconsistently on both sides of a p2p link, an autoconfiguration
mechanism may be specified to select which of the two bits should be
used (e.g.: bit number configured on the higher router-id peer).
This could help to auto-correct a configuration mistake, but it does
of course not recover the inconsistently configured bit directly, it
just ignores it.
When a "lan" or "flood" BitType is configured, likewise auto-
configuration can be done to overcome misconfigurations. TBD: more
details.
Most importantly, configuration of routed adjacencies can create most
need for network-wide consistent configuration. This can be
automated with the proposed "group" bittype.
Eckert Expires September 6, 2018 [Page 11]
Internet-Draft BIER-TE-Framework Mar 2018
(Source) (midpoint1) (midpoint2) (receivers)
GrpA1 GrpB1 GrpC1 GrpD1
GrpA2 GrpB2 GrpC2 GrpD2
... ...
GrpA10 GrpB3 GrpC3 GrpD200
Figure 3: Group BitType use
The typical set of forward_routed adjacency is to allow steering of
BIER-TE packets through a sequence of one or more members of a hop-
group, load-balancing across them for TE reasons. In the above
picture, those paths would start from a BFIR in GrpA and go via one
(or more) nodes in GrpB, then GrpC and then BFER (GrpD).
To half-automate the setup of such loose hops, each member of GrpC
would for example be configured with one unique bit of BitType
"group" and the Name parameter would be set to "GrpB". Each
midpoint1 BFR would "GrpB" in the list of strings for the BIFT
Ingres-Group parameter. When such a BFR discovers (e.g.: via the
IGP) a BFR "learned-operational" bit of BitType group with a name
"GrpB" (and no adjacency!), then that midpoint1 BFR would create an
adjacency in its "operational" instance, pointing to the announcing
BFR with a "forward_routed" adjacency.
The saving through such group BitTypes is therefore that the bit had
only to be configured on one node (the receiver side of the
forward_routed adjacency), but would be configured on any number of
ingres BFR for the adjacency. In the above picture, the benefit
would be biggest if forward_routed adjacencies where used from Source
to midpoint1, because the number of Sources is potentially largest
(e.g: as shown in the picture 10 BFIR in Source group).
3. Flow Management
3.1. Operational / Architectural Models
Once a BIER-topology is active in a network, it can be used to pass
BIER-TE packets. Typically this also requires the provisioning of
some routing overlay because today, all applications defined for BIER
today are classical SP PE-PE application where some customer traffic
is mapped to SP traffic via PE-PE "overlay" signaling.
Applications in future environments such as industrial control or IoT
may result in different overlay signaling. Even native end-to-end
BIER-TE from application stacks is possible, but has so far not been
defined.
Eckert Expires September 6, 2018 [Page 12]
Internet-Draft BIER-TE-Framework Mar 2018
Overlay signaling is currently out of scope of this document.
3.1.1. Overprovisioning
In the "overprovisioning flow management" model, the network operator
is responsible to engineer the available network resources, BIER-TE
Topology and applications generating BIER-TE flows such that the
required resources can be guaranteed without contention - and
potentially without the help of either PCEP or IGP, but simply using
provisioning to configure BFIR and overlay signaling to determine
active destinations.
Overprovisioning is the most control/signaling lightweight approach
and currently the standard approach in most enterprises and service
provider for IP multicast traffic.
For example: An ISP with a ++40Gbps network and a comparable small
amount of high-value muticast traffic requiring in aggregate less
than 5 Gbps can easily carry all of that multicast traffic across any
available path. This is especially easy when the mayority of traffic
is best effort traffic (such as Internet traffic). In that case, the
multicast traffic would be carried in a traffic class that is
overprovisioned, for example with 6 Gbps guaranteed on every link.
Calculated BIER-TE bitstrings would for example be used to reduce
cost of multicast distribution (e.g.: steiner tree calculation), use
disjoint paths (in conjunction with EF), or simply load-balance
across all available non-ECMP paths. Overprovisioning flow
management is traditional in most SP networks (core/edge/access) for
IP multicast traffic and requires no additional signaling.
The overprovisioning flow management model is one that likely would
request for (only) a YANG model to provision the BIER-TE topology.
3.1.2. PCEC
In the PCEC based flow management model, a PCEP determines
(calculates) the (flow-id,<SD,SI>,bitstring) for a traffic flows and
signals this to the BFIR sourcing the flow (its BFR-ID is part of the
flow-id). If the flow was not statically defined, then this step
would be preceeded with the BFIR requesting the resources for the,
indicating the requested resources as well as the set of
destinations. The destinations could be indicated as BFR-ID or
(likely easier for the BFIR) by their unique identifiers in unicast
routing (e.g.: router-ID). The bitstring returned by the PCEP would
include not only engineered paths to all these destinations, but
those paths could also be disjoint paths, carrying the traffic twice
towards each destination and merging them via the EF function. The
BFIR could be fully agnostic to these PCEP choices.
Eckert Expires September 6, 2018 [Page 13]
Internet-Draft BIER-TE-Framework Mar 2018
One of the core benefits of using BIER-TE forwarding is the ability
to change the bitstring on a per-packet basis to re-route traffic by
setting different transit bits, or to quickly add/delete
destinations. When the BFIR should be empowered to perform any of
these functions without the need for help by the PCEP, then the PCEP
needs to provide additiona information back to the BFIR.
If a BFIR has for example an OAM capability to determine without the
help of a controller that a path has failed (too much packet loss on
destination, signalled back to BFIR), and dual-transmission is not
desired (due to double resource usage), then the PCP and BFIR could
co-operate on a path-protection scheme in which the PCEP provides for
flows not one, but two bitstrings, one being the backup path which is
used by the BFIR when it discovers via OAM loss on the currently used
path. This approach can extremely reduce the need to rely on
controller help during failures.
When the destinations for a particular flow can potentially change
over time, this can often be faster and more efficiently signalled
directly via the overlay signaling to the BFIR instead of going
through the PCEP. To support this mode of operations, the BFIR could
request from the PCEP not simply the current set of destinations for
a flow, but instead the maximum superset of receivers and request
per-destination information. The PCEP would then return not just one
bitstring, but one bitstring per destination (BFER). The BFIR would
simply OR the bitstrings for all required destinations for each
packet to create the final bitstring for that packet. Note that this
description of of course on a per-<SD,SI> (aka: per BIFT) basis.
Destinations using different BIFTs require always different BIER-TE
packets to be sent by the BFIR.
3.1.2.1. per-flow QoS - policer/shaper/EF
In the PCEP based resource management model, it is up to the PCEP to
determine how explicit resource reservations should be managed, e.g.:
whether or how it tracks resource consumption. The BIER-TE
forwarding plane itself does not support per-flow state with the
exception of EF, which would usually be a function enabled on BFER.
Likewise, per-flow policer and/or shaper state may be a useful
optional feature that the PCEP should be able to request to be
enabled on a BFIR to ensure that the traffic passed by the BFIR into
the BIER-TE domain does not overrun resources available. In the
simplest case, such a shaper/policer could simply reflect the
resources indicated by the BFIR in its request to the PCEP.
Per-flow policer/shaper or EF may need to be explicitly instantiated
by BFIR/BFER. Instantiation of the Policer/Shaper on the BFIR can
Eckert Expires September 6, 2018 [Page 14]
Internet-Draft BIER-TE-Framework Mar 2018
happen as a function of the PCEP signaling to the BFIR, but
instantiation of the EF would also require signaling of the PCEP to
the BFER(s) for flows. Note that EF could also be instantiated on
any midpoint BFR, so the PCEP would need to know the BIER-TE topology
including where EF is considered and manage it through appropriate
signaling.
Note that it is unclear yet, if EF implemenations could or should be
implemented with or wihthout the need for explicit instantiation, the
BIER-TE-EF-OAM document allows both options. Even in the absence of
explicit signaling, per-flow Policer/Shaper and EF are limited
resources and PCEP should keep track of how much of these resources
are allocated and available for future flows. Like other path
resources, exhaustion may require PCEP failure to allocate responses
or other mitigating options.
3.1.2.2. DiffServ QoS
The only resource management that could be expected to exist in the
BIER-TE domain hop-by-hop would be DiffServ QoS. As outlined in the
above overprovisioning resource management model, it can serve as an
easy method for lightweight resource management, and as soon as the
network intends to use more than one such DiffServ codepoint across
different BIER-TE flows, the PCEP should likely be able to understand
and manage the DiffServ assignments of BIER-TE flows and signal the
selected codepoint back to the BFIR.
3.2. BIER-TE flow model
Eckert Expires September 6, 2018 [Page 15]
Internet-Draft BIER-TE-Framework Mar 2018
BIER-TE traffic flow (change) request (from BFIR):
Flow-control-ID: <identifier>
Ingres BFIR of flow: (IGP router-id ?!)
Destination-ID: set of BFER identifiers (IGP router-id ?!)
extended-reply-required (boolean)
Requirements:
TSPEC (bandwidth, burst size,...)
resilience: dual-transmission with EF
shared-group: name
BIER-TE traffic flow reply/command (to BFIR):
Flow-control-ID: <identifier>
Ingres Policer/Shaper parameters (applies to each BIFT)
Set of 1 or more BIFT:
<SD, SI, BSL>
BFIR-ID, entropy (form together flow-ID)
Bitstring
QoS, TTL,
BIER-TE traffic flow extended reply/command (to BFIR):
Flow-control-ID: <identifier>
Ingres Policer/Shaper parameters (applies to each BIFT)
Set of 1 or more BIFT:
<SD, SI, BSL>
BFIR-ID, entropy (form together flow-ID)
QoS, TTL
List of 1 or more destinations
Destination-ID, Bitstring
BIER-TE traffic flow command (to BFER):
Flow-control-ID: <identifier>
Ingres BFIR of flow: BFIR-ID (in BIER-TE packet header)
Set of 1 or more BIFT:
<SD, SI, BSL>
BFIR-ID, entropy (form together flow-ID)
EF parameter (window size etc..)
Figure 4: Flow request/reply/commands
The above picture shows an initial abstract representation of the
data models for the different type of request/replies discussed in
the previous section between PCEC and BFIR (and in one case BFER).
The Flow-conrol-ID identifies the managed object itself: a flow to be
sent from one BFIR to a set of BFER with some TE requirements, which
ultimately may require BIER-TE packets for one or more BIFT.
Eckert Expires September 6, 2018 [Page 16]
Internet-Draft BIER-TE-Framework Mar 2018
BFIR and BFER need to be identified in the request in a form not
specific to the bits of BIFT, so the PCEP can select the appropriate
BIFT(s) to use. The above picture assumes the router-id of BFIR and
BFER are appropriate.
The request includes TE requirements, including (something like a)
TSPEC for bandwidth, burst-size or the like, whether or not dual-
transmsision via PREF is required, and if the resource used are to be
shared across multiple flows, then the name of a shared group. One
example of sharing would for example be a video-conference where the
speaker transmits video, every speaker requests/allocates a BIER-TE
flow from the PCEP, but the resources for those flows are of course
shared (only one flow active at a time).
The reply from the PCEP lists the BIFTS/packets that must be sent by
the BFIR to reach the desired destinations as well as any other BIER-
TE packet header fields relevant <SD,SI,BSL>, BFIR-ID, entropy, QoS,
TTL. Beside the BIER-TE packet header, the parameters for the
policer and/or shaper to be used by the BFIR are signalled back.
The extended reply does not provide simply the bitstring to use for
each BIFT, but instead lists the bitstrings required for each
destination so that (as described above), the BFIR can simply add/
delete destinations on a packet-by-packet basis OR'ing those
bitstrings.
Finally, a command to BFER is required to instruct the creation of EF
state in case this can not be done automatically.
4. Security Considerations
TBD.
5. IANA Considerations
This document requests no action by IANA.
6. Acknowledgements
TBD.
7. Change log [RFC Editor: Please remove]
00: Initial version.
Eckert Expires September 6, 2018 [Page 17]
Internet-Draft BIER-TE-Framework Mar 2018
8. References
[I-D.eckert-bier-te-frr]
Eckert, T., Cauchie, G., Braun, W., and M. Menth,
"Protection Methods for BIER-TE", draft-eckert-bier-te-
frr-02 (work in progress), June 2017.
[I-D.huang-bier-te-encapsulation]
Huang, R., Eckert, T., Wei, N., and P. Thubert,
"Encapsulation for BIER-TE", draft-huang-bier-te-
encapsulation-00 (work in progress), March 2018.
[I-D.ietf-bier-bier-yang]
Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d.,
and M. Sivakumar, "YANG Data Model for BIER Protocol",
draft-ietf-bier-bier-yang-03 (work in progress), February
2018.
[I-D.ietf-bier-isis-extensions]
Ginsberg, L., Przygienda, T., Aldrin, S., and Z. Zhang,
"BIER support via ISIS", draft-ietf-bier-isis-
extensions-09 (work in progress), February 2018.
[I-D.ietf-bier-ospf-bier-extensions]
Psenak, P., Kumar, N., Wijnands, I., Dolganow, A.,
Przygienda, T., Zhang, Z., and S. Aldrin, "OSPF Extensions
for BIER", draft-ietf-bier-ospf-bier-extensions-15 (work
in progress), February 2018.
[I-D.ietf-bier-te-arch]
Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic
Engineering for Bit Index Explicit Replication (BIER-TE)",
draft-ietf-bier-te-arch-00 (work in progress), January
2018.
[I-D.thubert-bier-replication-elimination]
Thubert, P., Eckert, T., Brodard, Z., and H. Jiang, "BIER-
TE extensions for Packet Replication and Elimination
Function (PREF) and OAM", draft-thubert-bier-replication-
elimination-03 (work in progress), March 2018.
[RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
Explicit Replication (BIER)", RFC 8279,
DOI 10.17487/RFC8279, November 2017,
<https://www.rfc-editor.org/info/rfc8279>.
Eckert Expires September 6, 2018 [Page 18]
Internet-Draft BIER-TE-Framework Mar 2018
[RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation
for Bit Index Explicit Replication (BIER) in MPLS and Non-
MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January
2018, <https://www.rfc-editor.org/info/rfc8296>.
Author's Address
Toerless Eckert
Futurewei Technologies Inc.
2330 Central Expy
Santa Clara 95050
USA
Email: tte+ietf@cs.fau.de
Eckert Expires September 6, 2018 [Page 19]