One document matched: draft-ietf-ospf-node-admin-tag-04.xml


<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2328 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2328.xml">
<!ENTITY RFC5340 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5340.xml">
<!ENTITY RFC4970 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4970.xml">
<!ENTITY RFC5286 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5286.xml">
<!ENTITY RFC7490 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7490.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-ospf-node-admin-tag-04" ipr="trust200902">
<front>
<title abbrev="OSPF node admin tags">Advertising per-node administrative tags in OSPF</title>
<author initials="S." surname="Hegde" fullname="Shraddha Hegde">
<organization>Juniper Networks, Inc.</organization>
<address>
<postal>
<street>Embassy Business Park</street>
<city>Bangalore</city>
<region>KA</region>
<code>560093</code>
<country>India</country>
</postal>
<email>shraddha@juniper.net</email>
</address>
</author>
<author initials="H." surname="Raghuveer" fullname="Harish Raghuveer">
<organization></organization>
<address>
<postal>
<street></street>
<city></city>
<code></code>
<country></country>
</postal>
<email>harish.r.prabhu@gmail.com</email>
</address>
</author>
<author fullname="Hannes Gredler" initials="H." surname="Gredler">
<organization>Juniper Networks, Inc.</organization>
<address>
<postal>
<street>1194 N. Mathilda Ave.</street>
<city>Sunnyvale</city>
<region>CA</region>
<code>94089</code>
<country>US</country>
</postal>
<email>hannes@juniper.net</email>
</address>
</author>
<author initials = 'R.' surname='Shakir' fullname='Rob Shakir'>
    <organization abbrev='Individual'>
        Individual
    </organization>
    <address>
        <email>rjs@rob.sh</email>
    </address>
</author>

<author fullname="Anton Smirnov" initials="A." surname="Smirnov">
<organization>Cisco Systems, Inc.</organization>
<address>
<postal>
<street>De Kleetlaan 6a</street>
<city>Diegem</city>
<region/>
<code>1831</code>
<country>Belgium</country>
</postal>
<email>as@cisco.com</email>
</address>
</author>
<author fullname="Li zhenbin" initials="Z." surname="Li">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>Huawei Bld. No.156 Beiqing Rd</street>
<city> Beijing</city>
<region/>
<code>100095</code>
<country>China</country>
</postal>
<email>lizhenbin@huawei.com</email>
</address>
</author>
<author fullname="Bruno Decraene" initials="B." surname="Decraene">
<organization>Orange</organization>
<address>
<postal>
<street></street>
<city> </city>
<region/>
<code></code>
<country></country>
</postal>
<email>bruno.decraene@orange.com</email>
</address>
</author>
<date year="2015" />
<area>Routing</area>
<workgroup>Open Shortest Path First IGP</workgroup>
<keyword>MPLS</keyword>
<keyword>IGP</keyword>
<keyword>OSPF</keyword>
<keyword>admin-tag</keyword>
<keyword>traffic engineering</keyword>
<abstract>
<t> 
This document describes an extension to OSPF protocol to
add an optional operational capability, that allows tagging and grouping of
the nodes in an OSPF domain. This allows simplification, ease of management and
control over route and path selection based on configured policies.

This document describes an extension to OSPF protocol to advertise per-node 
administrative tags. This optional operational capability allows to express and act upon locally-defined
network policy which considers node properties conveyed by tags. Node tags may be used either by OSPF 
itself or by other applications consuming information propagated via OSPF. </t>
<t>This document describes the protocol extensions to disseminate
per-node administrative-tags to the OSPFv2 and OSPFv3 protocol. It provides example
 use cases of administrative node tags.</t>
</abstract>
<note title="Requirements Language">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119">RFC 2119</xref>.</t>
</note>
</front>
<middle>
<section title="Introduction" anchor='intro'>
<t> 
It is useful to assign a per-node administrative tag to a router in the OSPF domain and use
it as an attribute associated with the node. The per-node administrative tag can be used in
variety of applications, for ex:
  -  Traffic-engineering applications to provide different path-selection criteria, 
  -  Prefer or prune certain paths in Loop Free Alternate (LFA) backup selection via local policies.</t>


<t>This document provides mechanisms to advertise per-node administrative
tags in the OSPF. Path selection is a functional set which applies
both to TE and non-TE applications and hence new TLV for carrying per-node 
administrative tags is included in Router Information LSA <xref target="RFC4970"/> .

</t>
</section>

<section title='Administrative Tag TLV'>
<t> An administrative Tag is a 32-bit integer value that can be
used to identify a group of nodes in the OSPF domain.
<vspace blankLines="1" />
The new TLV defined will be carried within an RI LSA for OSPFV2 and
OSPFV3. Router information LSA <xref target="RFC4970"/> can have link, area or AS level
flooding scope. Choosing the flooding scope to flood the group
tags are defined by the policies and is a local matter.
<vspace blankLines="1" />
The TLV specifies one or more administrative tag values. An OSPF
node advertises the set of groups it is part of in the OSPF domain.
(for example, all PE-nodes are configured with certain tag value,
all P-nodes are configured with a different tag value in a domain).
Multiple TLVs MAY be added in same RI-LSA or
in different instance of the RI LSA as defined in
<xref target="I-D.acee-ospf-rfc4970bis"/>.
</t>
</section>
<section title='OSPF per-node administrative tag TLV'>
<section title='TLV format'>
<t> <xref target="RFC4970"/>, defines Router Information (RI) LSA which may be used to 
advertise properties of the originating router. Payload of the RI LSA consists of one or
more nested Type/Length/Value (TLV) triplets.

Node administrative tags are advertised in the Node Administrative Tag TLV.
The format of Node Administrative Tag TLV is:

<vspace blankLines="2" />
<figure anchor="OSPF-Admin-tag-TLV" title="OSPF per-node Administrative Tag TLV">
<artwork>
0               1             2             3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type                        | Length                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Administrative Tag #1                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Administrative Tag #2                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                                                             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  Administrative Tag #N                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
</figure>
<vspace blankLines="1" />
<vspace blankLines="1" />
Type : TBA, Suggested value 10
<vspace blankLines="1" />
Length: A 16-bit field that indicates the length of the value
portion in octets and will be a multiple of 4 octets
dependent on the number of tags advertised.
<vspace blankLines="1" />
Value: A sequence of multiple 4 octets defining the
administrative tags.  At least one tag MUST be carried if
this TLV is included in the RI-LSA.
</t>
</section>
<section title='Elements of procedure'>
<t>Meaning of the Node administrative tags is generally
opaque to OSPF. Router advertising the per-node
administrative tag (or tags) may be configured to do so
without knowing (or even explicitly supporting)
functionality implied by the tag.</t>
<t>Interpretation of tag values is specific to the administrative domain of a particular network operator.
The meaning of a per-node administrative tag is defined by the network local policy
and is controlled via the configuration. If a receiving node does not
understand the tag value, it ignores the specific tag and floods the
RI LSA without any change as defined in <xref target="RFC4970"/>.</t>
<t>The semantics of the tag order has no meaning.
That is, there is no implied meaning to the ordering of the
tags that indicates a certain operation or set of operations
that need to be performed based on the ordering.</t>
<t>Each tag SHOULD be treated as an independent
identifier that MAY be used in policy to perform a policy
action. Tags carried by the administrative tag TLV SHOULD be used to indicate
independent characteristics of a node. The TLV SHOULD be considered 
an unordered list. Whilst policies may be implemented based on the 
presence of multiple tags (e.g., if tag A AND tag B are present), 
they MUST NOT be reliant upon the order of the tags (i.e.,
all policies should be considered commutative operations, such that
tag A preceding or following tag B does not change their outcome).
</t>
<t>To avoid incomplete or inconsistent interpretations of
the per-node administrative tags the same tag value MUST NOT
be advertised by a router in RI LSAs of different
scopes. The same tag MAY be advertised in multiple RI
LSAs of the same scope, for example, OSPF Area Border
Router (ABR) may advertise the same tag in area-scope RI
LSAs in multiple areas connected to the ABR.</t>
<t>The per-node administrative tags are not meant to be
extended by the future OSPF standards. The new OSPF
extensions MUST NOT require use of per-node administrative
tags or define well-known tag values. Node administrative tags
are for generic use and do not require IANA registry.
The future OSPF extensions requiring well known values MAY
define their own data signalling tailored to the needs of the
feature or MAY use capability TLV as defined in
<xref target="RFC4970"/>. </t>
<t>Being part of the RI LSA, the per-node administrative tag
TLV must be reasonably small and stable. In particular,
but not limited to, implementations supporting the per-node
administrative tags MUST NOT tie advertised tags to
changes in the network topology (both within and outside
the OSPF domain) or reachability of routes.</t>

<t> Multiple node administrative tag TLVs MAY appear in an RI LSA or
multiple node administrative tag TLVs MAY be contained in different instances of the 
RI LSA. The node administrative tags associated with a node for the purpose of any computation or processing SHOULD be a superset of 
node administrative tags from all the TLVs in all instances of the RI LSA originated by that node.</t>
<t>When there is a change in the node administrative tag TLV or removal/addition of a
TLV in any instance of the RI-LSA, implementations MUST take appropriate measures to update its state according to the
changed set of tags. Exact actions depend on features working with administrative tags and is outside of scope of this
specification.
</t>
</section>
</section>
<section title='Applications'>
<t>This section lists several examples of how implementations
might use the Node administrative tags. These examples are
given only to demonstrate generic usefulness of the router
tagging mechanism. Implementation supporting this
specification is not required to implement any of the use
cases. It is also worth noting that in some described use
cases routers configured to advertise tags help other routers
in their calculations but do not themselves implement the
same functionality.</t>
<section title='Service auto-discovery'>
<t>
<vspace blankLines="1"/>
Router tagging may be used to automatically discover
group of routers sharing a particular service.
<vspace blankLines="1"/>
For example, service provider might desire to establish
full mesh of MPLS TE tunnels between all PE routers in
the area of MPLS VPN network. Marking all PE routers with
a tag and configuring devices with a policy to create
MPLS TE tunnels to all other devices advertising this tag
will automate maintenance of the full mesh. When new PE
router is added to the area, all other PE devices will
open TE tunnels to it without the need of reconfiguring
them.
</t>
</section>
<section title='Fast-Rerouting policy'>
<t>
<vspace blankLines="1"/>
Increased deployment of Loop Free Alternates (LFA) as
defined in <xref target="RFC5286"/> poses operation and
management challenges. <xref
target="I-D.ietf-rtgwg-lfa-manageability"/> proposes
policies which, when implemented, will ease LFA operation
concerns.
<vspace blankLines="1"/>
One of the proposed refinements is to be able to group
the nodes in IGP domain with administrative tags and
engineer the LFA based on configured policies.
<list style="format (%c)" hangIndent="4">
<t>Administrative limitation of LFA scope
<vspace blankLines="1"/>
Service provider access infrastructure is frequently
designed in layered approach with each layer of
devices serving different purposes and thus having
different hardware capabilities and configured
software features. When LFA repair paths are being
computed, it may be desirable to exclude devices from
being considered as LFA candidates based on their
layer.
<vspace blankLines="1"/>
For example, if the access infrastructure is divided
into the Access, Distribution and Core layers it may
be desirable for a Distribution device to compute LFA
only via Distribution or Core devices but not via
Access devices. This may be due to features enabled
on Access routers; due to capacity limitations or due
to the security requirements. Managing such a policy
via configuration of the router computing LFA is
cumbersome and error prone.
<vspace blankLines="1"/>
With the Node administrative tags it is possible to
assign a tag to each layer and implement LFA policy
of computing LFA repair paths only via neighbors
which advertise the Core or Distribution tag. This
requires minimal per-node configuration and network
automatically adapts when new links or routers are
added.
</t>
<t>LFA calculation optimization
<vspace blankLines="1"/>
Calculation of LFA paths may require significant
resources of the router. One execution of Dijkstra
algorithm is required for each neighbor eligible to
become next hop of repair paths. Thus a router with a
few hundreds of neighbors may need to execute the
algorithm hundreds of times before the best (or even
valid) repair path is found. Manually excluding from
the calculation neighbors which are known to provide
no valid LFA (such as single-connected routers) may
significantly reduce number of Dijkstra algorithm
runs.
<vspace blankLines="1"/>
LFA calculation policy may be configured so that
routers advertising certain tag value are excluded
from LFA calculation even if they are otherwise
suitable.
</t>
</list>
</t>
</section>
<section title ='Controlling Remote LFA tunnel termination'>
<t>
<vspace blankLines="1"/>
<xref target="RFC7490"/> proposed
method of tunneling traffic after connected link failure
to extend the basic LFA coverage and algorithm to find
tunnel tail-end routers fitting LFA requirement. In most
cases proposed algorithm finds more than one candidate
tail-end router. In real life network it may be desirable
to exclude some nodes from the list of candidates based
on the local policy. This may be either due to known
limitations of the node (the router does not accept targeted
LDP sessions required to implement Remote LFA tunnelling)
or due to administrative requirements (for example, it
may be desirable to choose tail-end router among
co-located devices).
<vspace blankLines="1"/>
The Node administrative tag delivers simple and scalable
solution. Remote LFA can be configured with a policy to
accept during the tail-end router calculation as
candidates only routers advertising certain tag. Tagging
routers allows to both exclude nodes not capable of
serving as Remote LFA tunnel tail-ends and to define a
region from which tail-end router must be selected.
</t>
</section>
<section title='Mobile backhaul network service deployment'>
<t>
<vspace blankLines="1"/>
The topology of mobile back-haul network usually adopts ring topology
to save fibre resource and it is divided into the aggregate network and
the access network. Cell Site Gateways(CSGs) connects the eNodeBs and
RNC(Radio Network Controller) Site Gateways(RSGs) connects the RNCs.
The mobile traffic is transported from CSGs to RSGs. The network takes
a typical aggregate traffic model that more than one access rings will
attach to one pair of aggregate site gateways(ASGs) and more than one
aggregate rings will attach to one pair of RSGs.
<vspace blankLines="1"/>
<figure anchor="mobile-backhaul-network" title="Mobile Backhaul Network">
<artwork>
                  ----------------
                 /                \
                /                  \
               /                    \
  +------+   +----+    Access     +----+
  |eNodeB|---|CSG1|    Ring 1     |ASG1|------------
  +------+   +----+               +----+            \
               \                    /                \
                \                  /                  +----+    +---+
                 \             +----+                 |RSG1|----|RNC|
                  -------------|    |    Aggregate    +----+    +---+
                               |ASG2|      Ring         |
                  -------------|    |                 +----+    +---+
                 /             +----+                 |RSG2|----|RNC|
                /                  \                  +----+    +---+
               /                    \                /
  +------+   +----+     Access     +----+           /
  |eNodeB|---|CSG2|     Ring 2     |ASG3|-----------
  +------+   +----+                +----+
              \                     /
               \                   /
                \                 /
                 -----------------
</artwork>
</figure>
<vspace blankLines="1"/>
A typical mobile back-haul network with access rings and aggregate
links is shown in figure above. The mobile back-haul networks deploy
traffic engineering due to the strict Service Level Agreements(SLA).
The TE paths may have additional constraints to avoid passing via different
access rings or to get completely disjoint backup TE paths. The mobile back-haul
networks towards the access side change frequently due to the growing mobile
traffic and addition of new eNodeBs. It's complex to satisfy the requirements
using cost, link color or explicit path configurations.
The node administrative tag defined in this document can be effectively used
to solve the problem for mobile back-haul networks. The nodes in different rings
can be assigned with specific tags. TE path computation can be enhanced to
consider additional constraints based on node administrative tags. </t>
</section>
<section title='Explicit routing policy'>
<t>
<vspace blankLines="1"/>
Partially meshed network provides multiple paths between any two nodes in the network.
In a data centre environment, the topology is usually highly symmetric with many/all
paths having equal cost. In a long distance network, this is usually less the case for
a variety of reasons (e.g. historic, fibre availability constraints, different distances
between transit nodes, different roles ...). Hence between a given source and destination,
a path is typically preferred over the others, while between the same source and another
destination, a different path may be preferred.
<vspace blankLines="1"/>
<figure anchor="Explicit_routing_topology" title="Explicit Routing topology">
<artwork>

                            +--------------------+
                            |                    |
                            |    +----------+    |
                            |    |          |    |
                            T-10-T          |    |
                           /|   /|          |    |
                          / |  / |          |    |
                       --+  | |  |          |    |
                      /  +--+-+ 100         |    |
                     /  /   |    |          |    |
                    /  /    R-18-R          |    |
                   /  /    /\   /\          |    |
                  /  |    /  \ /  \         |    |
                 /   |   /    x    \        |    |
                A-25-A  10  10 \    \       |    |
                       /    /   10   10     |    |
                      /    /     \    \     |    |
                     A-25-A       A-25-A    |    |
                      \    \     /    /     |    |
                      201  201  201 201     |    |
                        \    \ /    /       |    |
                         \    x    /        |    |
                          \  / \  /         |    |
                           \/   \/          |    |
                           I-24-I          100  100
                           |    |           |    |
                           |    +-----------+    |
                           |                     |
                           +---------------------+
</artwork>
</figure>
<vspace blankLines="1"/>
In the above topology, operator may want to enforce the following high level explicitly routed policies:
<list>
    <t> - Traffic from A nodes to A nodes must not go through I nodes </t>
    <t>- Traffic from A nodes to I nodes must not go through R and T nodes </t>
</list>
With node admin tags, tag  A (resp. I, R, T) can be configured on all A (resp. I, R, T) nodes to advertise their role. 
Then a generic CSPF policy can be configured on all A nodes to enforce the above explicit routing objectives. 
(e.g. CSPF to destinations A exclude node with tags I).
</t>
</section>


</section>
<!-- HG: FIXME: add traffic-engineering reference -->
<section title='Security Considerations' anchor='sec-con'>
<t>
This document does not introduce any further security issues other
than those discussed in <xref target="RFC2328"/> and <xref target="RFC5340"/>.
</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>
This specification updates one OSPF registry:
OSPF Router Information (RI) TLVs Registry
<vspace blankLines="1"/>
   i) TBD – Node Admin tag TLV

</t>
</section>
<section title='Acknowledgments'>
<t>Thanks to Bharath R, Pushpasis Sarakar and Dhruv Dhody for useful inputs. Thanks to Chris Bowers
for providing useful inputs to remove ambiguity related to tag-ordering. Thanks to Les Ginsberg and Acee Lindem for
the inputs.
</t>
</section>
</middle>
<back>
<references title='Normative References'>
&RFC2328;
&RFC5340;
&RFC4970;
&RFC2119;
&RFC7490;
<?rfc include="reference.I-D.acee-ospf-rfc4970bis"?>
</references>
<references title='Informative References'>
&RFC5286;
<?rfc include="reference.I-D.ietf-rtgwg-lfa-manageability"?>
</references>
</back>
</rfc>

PAFTECH AB 2003-20262026-04-23 21:40:21