Internet DRAFT - draft-yan-ospf-sync-group
draft-yan-ospf-sync-group
Network Working Group G. Yan
Internet-Draft Y. Liu
Intended status: Standards Track X. Zhang
Expires: May 15, 2015 Huawei
November 9, 2014
OSPF Synchronization Group
draft-yan-ospf-sync-group-01
Abstract
OSPF is a fundamental component for a routing system. It depends on
the flooding mechanism to advertise and synchronize link-state
database among distributed nodes in a network. As modern networks
become larger and more complex, more and more nodes and adjacencies
are involved. As a result, massive link-state information are
generated and synchronized which are becoming an overhead of networks
nowadays.
This document proposes a new design of OSPF database synchronization
that is slightly different from the one stated in OSPF. This new
design can help to alleviate the overhead by dividing OSPF routers
into independent synchronization groups and limiting synchronization
across the group border. Since less burden from synchronization, it
is possible to accommodate more OSPF routers and adjacencies in a
network.
Requirements Language
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 RFC 2119 [RFC2119].
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 http://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."
Yan, et al. Expires May 14, 2015 [Page 1]
Internet-Draft OSPF Synchronization Group November 2014
This Internet-Draft will expire on May 14, 2015.
Copyright Notice
Copyright (c) 2014 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
(http://trustee.ietf.org/license-info) in effect on the date of
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3
4. Proposed Solution . . . . . . . . . . . . . . . . . . . . . . 4
4.1. Overview of a Synchronization Group . . . . . . . . . . . 4
4.2. LSA Synchronization in a Group . . . . . . . . . . . . . 5
5. Changes to the protocol . . . . . . . . . . . . . . . . . . . 5
5.1. Changes to the Flooding mechanism . . . . . . . . . . . . 5
5.2. Route Calculation . . . . . . . . . . . . . . . . . . . . 6
5.3. Protocol Extension . . . . . . . . . . . . . . . . . . . 6
5.4. Protocol Process . . . . . . . . . . . . . . . . . . . . 8
6. Multi-homed SG consideration . . . . . . . . . . . . . . . . 8
6.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 8
6.2. Proposed Solution . . . . . . . . . . . . . . . . . . . . 9
7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
9. Security Considerations . . . . . . . . . . . . . . . . . . . 10
10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 10
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
11.1. Normative References . . . . . . . . . . . . . . . . . . 10
11.2. Informative References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
OSPF is a fundamental component for a routing system. It depends on
the flooding mechanism to advertise and synchronize link-state
database among distributed nodes in a network. As modern networks
become larger and more complex, more and more nodes and adjacencies
Yan, et al. Expires May 14, 2015 [Page 2]
Internet-Draft OSPF Synchronization Group November 2014
are involved. As a result, massive link-state information are
generated and synchronized which are becoming an overhead of networks
nowadays.
This document proposes a new design of OSPF database synchronization
that is slightly different from the one stated in [RFC2328]. This
new design can help to alleviate the overhead by dividing OSPF
routers into independent synchronization groups and limiting
synchronization across the group border. Since less burden from
synchronization, it is possible to accommodate more OSPF routers and
adjacencies in a network.
In some scenarios, the routers in those networks suffer from limited
CPU or storage resource which make them unqualified for large
networks. With the help from this new design the situation can be
improved.
2. Terminology
Synchronization Group (SG) : A sub-domain of one OSPF area in which
the link-state database synchronization only happened among those
routers in the same group.
Synchronization Group ID (SGID) : The identity of a Synchronization
Group which MUST be unique in one OSPF network.
Synchronization Group Member (SGM) : One role of OSPF router which
belongs to an unique Synchronization Group by carrying the SGID in
its Hello packet. Adjacencies MUST NOT be established among SGMs
from different SGs.
Synchronization Group Member Interface (SGMI) : The interface of a
Synchronization Group Member.
Synchronization Group Director (SGD) : One role of OSPF router whose
adjacencies MUST follow the standard procedure instead of affected by
SGIDs.
Synchronization Group Director Interface (SGDI) : The interface of a
Synchronization Group Director.
3. Problem Statement
As stated in [RFC2328], the flooding procedure supplied a reliable
advertisement mechanism through which the link-state database is
synchronized in an OSPF network. Forwarding loops or routing black-
hole can be introduced if synchronization status is not achieved.
There are some devices for which it is difficult to host the whole
Yan, et al. Expires May 14, 2015 [Page 3]
Internet-Draft OSPF Synchronization Group November 2014
link-state database since they may possess limited CPU or storage
resource. Even for those devices which have enough resource, it is
still an unneglectable overhead in a periodical manner.
+----+ +----+
| S1 | *** *** *** | Si |
+----+--- ---+----+
* ---- ---- *
* ---- ---- *
* --+----+-- *
|Hub |
* --+----+-- *
* ---- ---- *
* ---- ---- *
+----+--- ---+----+
| Sj | *** *** *** | Sn |
+----+ +----+
Figure 1 Hub and Spoke scenario
As showed in Figure 1, the hub sub-network established OSPF
adjacencies with many spoke sub-networks indexed from S1 to Sn
separately. Every LSAs generated by a single spoke have to be
flooded to the rest of spokes through hub and vice versa. Let's
assume there are m LSAs originated by each spoke then the total
number of LSAs advertised among hub and spokes can be roughly counted
as m * n, excluding the number of retransmission. What is worse,
these LSA copies have to be refreshed every LSRefreshTime. This
advertisement is indeed an unnecessary burden for devices with
limited resources and even those devices with enough resources since
all routes in one spoke share the same next hop which is the hub.
4. Proposed Solution
This document introduces a new mechanism which can solve the issue
stated above through limiting synchronization scope inside a
Synchronization Group instead of an area. The solution metioned here
should be effective primarily in the hub-and-spoke scenario.
4.1. Overview of a Synchronization Group
A Synchronization Group (SG) is a sub-domain of one OSPF area in
which the link-state database synchronization only happened among
those routers in the same group. Each SG is identified uniquely by
an identification number which is called SGID.
There are two roles involved into one Synchronization Group:
Synchronization Group Member (SGM) and Synchronization Group Director
Yan, et al. Expires May 14, 2015 [Page 4]
Internet-Draft OSPF Synchronization Group November 2014
(SGD). The same SGD may be involved into several SGs simultaneously.
Different SGDs are REQUIRED to interconnect with each other without
passing through SGMs. The interfaces SGM and SGD used to form
adjacencies are inherently called SGMI and SGDI. A SGMI or SGDI MUST
belong to a single SG.
4.2. LSA Synchronization in a Group
Link-state database synchronization among SGDs follows the same
procedure stated in [RFC2328]. They maintain the complete database
of the area they belong to. This database is used to advertise among
SGDs and consumed in the SPF calculation.
On the other side, SGMs only possess those LSAs that are learned from
other SDMs and several LSAs leaked by their corresponding SGDs. SGMs
advertise and use their LSDB in the manner as the standard document
specified.
When OSPF adjacencies built between a SGD and a SGM, the
synchronization between them SHOULD follow the specification defined
in this document. In order to decrease the size of SGM's LSDB, a SGD
only advertise necessary LSAs to its adjacent SGMs. Those LSAs in
necessity include the Router-LSAs of SGDs in the same SG, the
Network-LSAs if some of SGDs are DR for their corresponding networks
and some Extended Prefix Opaque LSAs[I-D.ietf-ospf-prefix-link-attr]
originated by SGDs to serve for limited reachability for SGMs.
5. Changes to the protocol
This document introduced some changes to OSPF[RFC2328] which is
necessary to support SG.
5.1. Changes to the Flooding mechanism
SGDI and SGMI SHOULD be used to send and receive the LSAs updating in
one SG. The LSA's SG belonging is identified by its originator's
SGID. If MaxAge LSA is received, it SHOULD be processed as described
in section 13 of OSPF[RFC2328]. If a LSA is received from a neighbor
that does not support SG, it SHOULD be processed as standardized
since SG feature is ineffective between them.
When LSDB synchronization happened between SGDs and SGMs, only
limited LSDB SHOULD be flooded from SGDs to SGMs. As stated above,
instead of flooding all LSAs to SGMs, only Router-LSAs and Network-
LSAs in the same Group SHOULD be flooded to SGMs. On the contrary,
SGMs SHOULD synchronize their whole LSDB to SGDs as standandized.
Yan, et al. Expires May 14, 2015 [Page 5]
Internet-Draft OSPF Synchronization Group November 2014
5.2. Route Calculation
No change introduced for route calculation in this document.
5.3. Protocol Extension
One new bit is introduced into Router Informational Capabilities TLV
to indicate its originator supporting SG capability or not.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Informational Capabilities |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Bit TBD: OSPF Synchronization Group capable
Figure 2 SG-bit in Informational Capabilities TLV
A new TLV called Synchronization Group TLV is defined to be included
in Router Information Opaque LSA[RFC4970]. Every router that support
SG feature MUST contain this TLV in its RI Opaque-LSA. SGID and role
of SGM or SGD can be learnt by parsing this TLV and act accordingly.
Yan, et al. Expires May 14, 2015 [Page 6]
Internet-Draft OSPF Synchronization Group November 2014
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Reserved | Synchronization Group ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... ... ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Reserved | Synchronization Group ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: TBD
Length: 2 octets
Synchronization Group ID: ID of this SG.
Flags:
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Reserved |E|D|
+-+-+-+-+-+-+-+-+
Bit-D: Set if Synchronization Group Director.
Bit-E: Set if Synchronization Group Director is elected as Designated SGD for this SG.
Figure 3 Synchronization Group TLV
Extended Prefix TLV SHOULD be used by SGDs to advertise default route
or necessary aggregated prefixes to SGMs. New sub-TLV is introduced
to identify metrics for corresponding prefixes. The metric used in
the sub-TLV SHOULD be the actual number from SGDs to the destination
of the prefix.
Yan, et al. Expires May 14, 2015 [Page 7]
Internet-Draft OSPF Synchronization Group November 2014
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Route Type | Prefix Length | AF | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Prefix (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs (variable) |
+- -+
| |
OSPFv2 Extended Prefix TLV
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Metric of the prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: TBD
Length: 2 octets
Metric of the prefix: The actual metric for corresponding prefix.
Figure 4 Sub-TLV used to express prefix metric
5.4. Protocol Process
Synchronization Group TLV MUST be carried in the RI Opaque-LSA with
SG-bit set if the originator support SG feature. It SHOULD be
regarded as not supporting SG feature If this TLV is not carried or
SG-bit is clear. SGDs and SGMs MUST send this TLV with corresponding
SGIDs set and with correct Bit-D status. If there are more than one
Synchronization Group TLVs carried in RI Opaque-LSAs then the
originator SHOULD be regarded as supporing all those carried SGs.
6. Multi-homed SG consideration
6.1. Problem Statement
In certain scenario, one SG may multi-homed to two or more SGDs.
Forwarding loops may be observed when topology changed since the
link-state database of SGD and SGM can be different. In order to
solve this issue, one tunnel is REQUIRED to be established among SGDs
with the metric lower than the path through SG.
Yan, et al. Expires May 14, 2015 [Page 8]
Internet-Draft OSPF Synchronization Group November 2014
As shown below, when link between SGD2 and SG1A failed, the best path
to reach SG1A is SGD2->SGD4->SG2A->SGD3->SGD1->SG1A. Since SG2A only
have default route originated by its SGDs, saying SGD3 and SGD4,
forwarding loops can be observed. Even special handling was taken on
SGD4, such as avoiding traveling through SDMs, traffic black hole
could happen on SGD4 since SGD2 will insist on its choice. What is
worse, assuming SGD2 generated the same prefix as SG1A did but with
shorter prefix length, since SGD4 should ignore the link between SGD4
and SG2A that will cause transversal traffic, this shorter prefix
will be the best match for the original destination, so forwarding
loop can be observed between SGD2 and SGD4.
+----+ +----+
|SGD1| |SGD2|
+----+\\ ---+----+\
100 -- \\---- \\ 10
-- 100 ----\\ 10 \
-- ---- **\\*************\*********
+----+-- * \ +----+ +----+ *
|SG1A| * |SGD3| |SGD4| *
+----+ * +----+ +----+ *
| * \\ // *
|10 * 10 \ / 10 *
+----+ * +----+ *
|SG1B| * |SG2A| *
+----+ * +----+ *
***************************
Figure 5 Multi-homed SG scenario
6.2. Proposed Solution
The root cause for the issue above is the inconsistent status of LSDB
between SGDs and SGMs. In order to solve this flaw, we may simply
add one restriction to SGDs that SG sub-networks can't be passed
through to reach another SGD. With this restriction, inconsistent
routing-table can be observed between SGDs and the rest of networks
in the same area, like SGD2 and SGD4 did above. Two solutions
proposed here.
Solution I: SGDs in the same SG are REQUIRED to automatically
interconnect with each other using certain tunnels. The tunnel can
be created when the SGD Router-LSA in the same SG is received. The
traffic SHOULD be redirected into tunnels when the SGD finds the next
hop points to one SGM. The exact tunnel type used here is out of the
scope of this document.
Yan, et al. Expires May 14, 2015 [Page 9]
Internet-Draft OSPF Synchronization Group November 2014
Solution II: When a SG is multi-homed to multiple SGDs, SGDs and SGMs
in the same SG SHOULD elect one Designated SGD (DSGD) from those
candidate SGDs. Adjacencies SHOULD NOT be built between the non-
designated SGDs and SDMs. A new DSGD SHOULD be elected among left
candidates when the current DSGD failed.
With one of the solutions above, forwarding loops and traffic black
hole are believed to be prevented.
7. Backward Compatibility
It is RECOMMENDED that SG feature is deployed all over the network at
the same time. Otherwise It will work in the standardized manner
without harm introduced into current network if partial deployment is
used.
8. IANA Considerations
This document requests that IANA allocate from the OSPF TLV
Codepoints Registry for a new TLV, referred to as the
"Synchronization Group TLV".
9. Security Considerations
This document does not introduce any new security concerns to OSPF or
any other specifications referenced in this document.
10. Acknowledgement
The authors would like to thank Eric Wu for his valuable suggestion
on this draft.
11. References
11.1. Normative References
[I-D.ietf-ospf-prefix-link-attr]
Psenak, P., Gredler, H., Shakir, R., Henderickx, W.,
Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute
Advertisement", draft-ietf-ospf-prefix-link-attr-01 (work
in progress), September 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
Yan, et al. Expires May 14, 2015 [Page 10]
Internet-Draft OSPF Synchronization Group November 2014
11.2. Informative References
[RFC4970] Lindem, A., Shen, N., Vasseur, JP., Aggarwal, R., and S.
Shaffer, "Extensions to OSPF for Advertising Optional
Router Capabilities", RFC 4970, July 2007.
[RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D.
Yeung, "OSPF Link-Local Signaling", RFC 5613, August 2009.
Authors' Addresses
Gang Yan
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: yangang@huawei.com
Yuanjiao Liu
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: liuyuanjiao@huawei.com
Xudong Zhang
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: zhangxudong@huawei.com
Yan, et al. Expires May 14, 2015 [Page 11]