Internet DRAFT - draft-wang-aospf
draft-wang-aospf
Yue Wang
Internet-Draft CUHK
Expires: DATE Li Zhang
Beijing Univ. of Tech.
Zhinan Han
Boston Univ.
Wei Yan
Beijing Univ.
DATE
Anycast Extension to OSPFv3
draft-wang-aospf-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on DATE.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document describes AOSPF (Anycast Extensions to OSPFv3),
a routing protocol which extends OSPFv3 to support anycast, which
we implemented and tested successfully in our IPv6 test bed. And
the performance analysis shows the overhead of AOSPF is low.
Yue Wang, et al Expires DATE [Page 1]
Internet-Draft Anycast Extensions to OSPFv3 DATE
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. Anycast Requirements for OSPFv3 . . . . . . . . . . . . . . 2
3. Anycast Extensions to OSPFv3 . . . . . . . . . . . . . . . . . 3
3.1. Representation of Anycast Address . . . . . . . . . . . . . 3
3.2. Topological Region Check for Anycast Address. . . . . . . . 3
3.3. Aggregation of Anycast Address . . . . . . . . . . . . . . . 4
3.4. Flooding of Anycast Address. . . . . . . . . . . . . . . . 4
3.5. Route Calculation of Anycast Address. . . . . . . . . . . . 5
3.5.1. Intra-Area Route Calculation. . . . . . . . . . . . . . 5
3.5.2. Inter-area Route Calculation. . . . . . . . . . . . . . 6
3.5.3. External Route Calculation. . . . . . . . . . . . . . . 7
3.5.4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Performance Considerations. . . . . . . . . . . . . . . . . . . 7
5. IANA considerations. . . . . . . . . . . . . . . . . . . . . . 7
6. Security considerations . . . . . . . . . . . . . . . . . . . . 7
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1. Normative Consideration. . . . . . . . . . . . . . . . . . . 9
8.1. Informative Consideration. . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
Intellectual Property and Copyright Statements . . . . . . . . . 11
1. Introduction
Anycast is a new communication model that was first proposed in
[RFC1546], and then formally defined in IPv6 [RFC4291].
An anycast address is an address that is assigned to more than
one interfaces (which typically belonging to different nodes), with
the property that a packet sent to an anycast address is routed to
the "nearest" interface of this address (according to the routing
protocol's measure of distance). Consequently, anycast can easily
improve server load balancing, service reliability and latency. But
due to the problems facing anycast and the limited deployment
of IPv6 in the Internet, few implementations exist and even fewer
have been tested outside simulators [Survey04].
OSPF is a successful Intra-AS (Autonomous System) routing protocol
in the Internet, whose IPv6 version is OSPFv3 [RFC2740]. But OSPFv3
does not explicitly support anycast. And this document is to extend
the functionality of OSPFv3 for anycast routing.
Yue Wang, et al Expires DATE [Page 2]
Internet-Draft Anycast Extensions to OSPFv3 DATE
Before further discussion, we introduce the definition of IPv6
anycast address. In IPv6, anycast addresses are allocated from
the unicast address space and syntactically indistinguishable from
unicast addresses. Thus anycast nodes must be explicitly configured
to know its anycast address. In general, an anycast address is
composed of two parts: a prefix that defines the topological region
in which all interfaces of this anycast address reside, and the
remaining part as a group identifier to distinguish anycast groups
in the topological region. IPv6 has a temporary restriction against
assigning anycast addresses to hosts for security considerations
(e.g. unauthenticated anycast servers advertise to the routing
system). However, we neglect it here and leave the solution
to some secure group management protocol [AnycastMLD02], [SAGM03].
So, when anycast group management protocol discovers any new-come or
new-left anycast address, it will signal OSPF. As a result, the
routes to the anycast address are caculated in the OSPF network.
2. Anycast Requirements for OSPFv3
Anycast addresses differ from unicast addresses in two aspects.
First, unlike unicast addresses which can address networks, anycast
addresses can only address interfaces or nodes. Therefore, within
its topological region, the anycast address must be maintained as a
separate route entry; outside its topological region, the anycast
address may be aggregated into the routing entry of its prefix.
Second, although anycast and unicast routing have a common goal
of finding the shortest paths to a destination, an anycast address
can locate in multiple links or networks that somewhat complicates
route calculation.
So, the following extensions are requisite for OSPFv3 to support
anycast routing. Above all, we need mark anycast addresses since
they are syntactically indistinguishable from unicast addresses,
so that we can make different process for them. Second, when
an anycast address enters into the OSPF routing domain, OSPF should
ensure the anycast address resides in the topological region it
claims; when an anycast address leaves its OSPF area or AS, the area
border or AS boundary routers may aggregate it. In here, we do not
consider here that OSPF exchanges anycast routes with neighboring
ASes, which involves inter-AS routing. Finally, route calculation
may needs some modifications due to multiple locations of an
anycast address.
Yue Wang, et al Expires DATE [Page 3]
Internet-Draft Anycast Extensions to OSPFv3 DATE
3. Anycast Extensions to OSPFv3
In this section we propose the key extensions of OSPFv3 to support
anycast routing - the AOSPF routing protocol, which follows the
definition of IPv6 anycast and does not affect current unicast
routing. And we implemented and tested AOSPF successfully in our
IPv6 test bed [AOSPF05].
3.1. Representation of Anycast Address
In OSPFv3, IPv6 address prefixes are represented by the combination
of three fields: PrefixLength, PrefixOptions and AddressPrefix.
Figure 1 shows the representation for an anycast address.
We introduce an 'A-bit' in PrefixOptions, with 1 for anycast
address, 0 for not. The length of the topology region of the anycast
address is placed in PrefixLength. AddressPrefix is the 128-bit
anycast address.
+-+-+-+-+-+-+-+-+
| A |
+-+-+-+-+-+-+-+-+
\ /
\ /
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PrefixLength | PrefixOptions | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Address Prefix |
| (128-bit Anycast Address) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Anycast Address Representation
3.2 Topological Region Check for Anycast Address
When an anycast address first enters into the routing system,
the routing system must ensure the anycast address is authenticated
and resides in the topological region it claims. The authentication
can be done by some secure anycast group management protocol,
while the topological region check is the job of routing protocols.
Thus AOSPF makes the following check when discovering a new-come or
new-left anycast address on its links typically from the anycast
group manangement protocol:
Yue Wang, et al Expires DATE [Page 4]
Internet-Draft Anycast Extensions to OSPFv3 DATE
(a) If the prefix of the link covers or equals to the prefix of the
anycast address, AOSPF filters the anycast address because
the route to the link is enough to locate the anycast address.
(b) If the prefix of the anycast address covers but does not equals
to the prefix of the link, AOSPF admits the anycast address, as
the link is a subnet of the address' topological region.
(c) Otherwise, AOSPF filters the anycast address for the link is not
within the address' topological region, as this case indicates
a false placement of the corresponding anycast hosts.
3.3. Aggregation of Anycast Address
OSPFv3 can aggregate routes on ABRs (Area Border Routers) or
ASBRs (AS Boundary Routers). When the anycast address is advertised
outside its OSPF area or AS, AOSPF may aggregate it:
(a) If the address ranges of the OSPF area (or AS) covers or equals
to the prefix of the anycast address, the anycast address is
not advertised outside the OSPF area (or AS) as its topological
region is within the OSPF area (or AS).
(b) Otherwise, the anycast address is advertised outside the area
(or AS).
3.4. Flooding of Anycast Address
The flooding mechanism for anycast address is similar to unicast
address except that LSAs (Link State Advertisements) use the anycast
address representation. Specially, when an AOSPF router admits a
new-come anycast address on its links, it floods the anycast address
via Link-LSA and Intra-Area-Prefix-LSA with the LS age field
set as zero, so that other AOSPF routers will install the LSAs in
their link state databases; When an AOSPF router admits a new-left
anycast address on its links, it floods the anycast address via
Link-LSA and Intra-Area-Prefix-LSA with the LS age field set as
MaxAge, so that the other AOSPF routers will erase the LSAs
from theirs link state database. We shall describle inter-area
flooding of anycast addresses in Section 3.5.2.
Yue Wang, et al Expires DATE [Page 5]
Internet-Draft Anycast Extensions to OSPFv3 DATE
3.5. Route calculation of Anycast Address
OSPF routing domain is composed of one backbone area and multiple
directly connected non-backbone areas by ABRs. Thus the route
calculation can be divided into three parts: intra-area, inter-area
and external route calculation. Within areas, routes are calculated
by Dijkstra SPF (Shortest Path First) algorithm; ABRs exchange
inter-area routes across the backbone area. And the inter-area
routes are calculated in the similar way of the distance vector
algorithm; External routes (i.e. routes from the other routing
domains) are imported into the OSPF routing domain by ASBRs.
As the anycast address resides in multiple links, or in multiple
OSPF areas, or even outside the OSPF routing domain, we need to
find the shortest paths among them.
3.5.1. Intra-Area Route Calculation
OSPFv3 seprarates the topology infomation and address prefixes.
The SPF tree in each router are calculated based on Router-LSAs and
Network-LSAs. A SPF tree node denotes a router or transit link, and
the root denotes the router in computation. Thus, we can reuse the
SPF tree in anycast routing.
For anycast, AOSPF obtains the anycast address and its attached
router or transit link IDs from Intra-Area-Prefix-LSAs and
associates the anycast address to the corresponding SPF tree nodes.
Since multiple Intra-Area-Prefix-LSAs (for location on multiple
links) can carry the same anycast address, we should select the
smallest-cost SPF tree node with the anycast address.
However, if we simply treat the anycast address as a 128-bit
unicast address, we cannot guarantee selecting the shortest path.
Consider the network where anycast address "A" has two hosts a1 and
a2. Figure 2 shows the SPF tree in R0. The costs to a1 and a2 are
1 and 2, respectively. So the route to "A" is "R0-R1".
Case 1: a1 first joins the network, and then does a2. In this case,
R0 finally selects the shortest path to a2 (i.e. R0-R2-N2) as the
route to "A", which is considered as the updated one.
Case 2: Assume a1 and a2 already joined the network, and R0-R1
is the route of "A", which corresponds to the shortest path to a1.
When a1 leaves "A", the route to "A" is then removed, until a1 or
a2 is re-advertised after the LSA retransmission timer expires.
In both cases, OSPF falsely select the route to "A" (Case 2 even
does not have a route for some time). To solve this problem, we
should maintain a sorted list of the shortest paths to all the
anycast hosts for a given anycast address (here we refer it to as
"anycast backup path list"). When the "nearest"anycast hosts join
or leave the network, we can select the alternative route from the
path list.
Yue Wang, et al Expires DATE [Page 6]
Internet-Draft Anycast Extensions to OSPFv3 DATE
+-----+
| R0 |--------
+-----+ |
| |
|1 |1
| |
+-----+ +-----+
| R1 | | R2 |
+-----+ +-----+
| |
a1("A") |1
|
+-----+
| N2 |- a2("A")
+-----+
Figure 2: A SPF tree with anycast address "A"
3.5.2. Inter-Area Route Calculation
ABR originates a separate Inter-Area-Prefix-LSA for the
inaggregatable anycast addresses in each of its attached areas.
Specially, when the ABR finds a new-come anycast address in its
attached area (the corresponding intra-area anycast backup path
list changes from empty to not empty), it originates an
Inter-Area-Prefix-LSA with "LS age" set as zero; when the ABR finds
a new-left anycast address in its attached area (the corresponding
intra-area anycast backup path list changes from not empty to
empty), it originates an Inter-Area-Prefix-LSA with "LS age" set
as MaxAge; When the ABR find the cost of the anycast address'
intra-area route changes, it originates an Inter-Area-Prefix-LSA
for the anycast address with the changed cost. The "Metric" of the
LSA is set as the cost of the anycast address' intra-area route.
Inter-Area-Prefix-LSAs are flooded into all areas in the OSPF
network. For the same reason as in Section 3.5.1, each router
should maintain an inter-area backup path list for each anycast
address, and the shortest one as the inter-area route.
Yue Wang, et al Expires DATE [Page 7]
Internet-Draft Anycast Extensions to OSPFv3 DATE
3.5.3. External Route Calculation.
ASBRs learn external routes outside the OSPF routing domain and
flood them into the whole domain by AS-external-LSAs. Similarly,
AOSPF keeps a backup path list for each type 1 external anycast
address, as the storage is small for just a few neighboring routing
domains. But the storage is huge for type 2 external anycast
routes, if anycast is deployed on a large scale of the Internet,
which is known as anycast scalability problem. Researches on
this problem tend to contrive new inter-domain protocols [GIA00].
And we ignore type 2 external anycast routing, which goes beyond
this document.
3.5.4. Summary.
We summarize anycast routing process of AOSPF. Receiving updated
intra-Area-Prefix-LSAs, Inter-Area-Prefix-LSAs and type 1
AS-external-LSAs for the anycast address will trigger intra-area,
inter-area and type 1 external anycast route calculations,
respectively. And the final anycast routes in the forwarding table
are the shortest ones among them. The correctness of AOSPF can be
easily proved. Briefly, each router have the same intra-area
topology information. And the star structure of inter-area topology
avoids any loops.
4. Performance Considerations
We focus on intra-domain anycast routing in OSPF networks. The
total number of originated LSAs for each anycast address is
proportional to the number of links on which the anycast address
resides. And the flooding scope is an area or the whole OSPF domain
for aggregatable or inaggregatable anycast addresses, respectively.
Although the flooding is expensive, the total message overhead is
typically small because anycast is designed for providing services
and thus hosts' joining or leaving anycast groups, which originates
new LSAs and triggers route calculation, are not frequent.
As for the calculation overhead, one anycast route calculation is
equivalent to one insertion or deletion of some anycast backup path
list and possible updating of the forwarding table. So the total
calculation overhead is small. Besides, as shown in [AOSPF05], the
frequency of anycast route updating in the forwarding table is much
smaller than the frequency of anycast route calculations.
Yue Wang, et al Expires DATE [Page 8]
Internet-Draft Anycast Extensions to OSPFv3 DATE
The storage overhead is proportional to the number of anycast
addresses times the average number of their locations (i.e. links
and areas for intra-area and inter-area path list, respectively).
We can make further improvements. First, although the frequency of
joining and leaving anycast groups is normally low, we need some
protection in case that the network could suffer from exhausting
anycast routing due to misoperations or DoS attacks. We can apply
some damping mechanisms (e.g., we can set some secure interval
and max allowable times) to lazily respond to too frequent joining
and leaving anycast groups. The second concern is on unnecessary
high-cost backup paths that occupy the storage space. Because
network status is normally stable in the Internet and LSAs are
refreshed typically every 30 minutes, it is sufficient to keep
a small number of backup paths, say 5 paths, for each anycast
address.
5. IANA Considerations
This document creates a new IANA registry for the PrefixOptions
fileld shown in Section 3.1. This document defines an 'A-bit' in
PrefixOptions, with 1 for anycast address, 0 for not. Future
assignments in this field are to be coordinated via IANA under the
policy of "Specification Required" [RFC2434]. It is expected that
this policy will allow for other (non-IETF) organizations to more
easily obtain assignments.
6. Security Considerations
The implementation of AOSPF should be interfaced to some secure
anycast group management protocol, from which AOSPF can obtain
authenticated anycast addresses.
7. Acknowledgements
This work was done in the Computer Networks and Distributed Systems
Laboratory of Beijing University, funded by National Science
Foundation of China under grant number 60273002. We thanks for their
supports and discussions.
Yue Wang, et al Expires DATE [Page 9]
Internet-Draft Anycast Extensions to OSPFv3 DATE
8. References
8.1 Normative References
[RFC1546] C. Partridge, T. Mendez, and W. Milliken, "Host
Anycasting Service", RFC 1546, Nov. 1993.
[RFC4291] R. Hinden, and S. Deering, "IP Version 6 Addressing
Architecture", RFC4291, Feb. 2006.
[RFC2740] R. Coltun, D. Ferguson, and J. Moy, "OSPF for IPv6",
RFC2740, Dec. 1999.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
Oct. 1998.
8.2 Informative References
[Survey04] S. Weber, and L. Cheng, "A Survey of Anycast in IPv6
Networks", IEEE Communication Magine, Jan. 2004,
pp. 127-132.
[AnycastMLD02] B. Haberman, and D. Thaler, "Host-based Anycast
using MLD",
draft-haberman-ipngwg-host-anycast-01.txt
(work in progress), May 2002.
[SAGM03] Y. Wang, L. Zhang, and W. Yan, "Research on IP Anycast
Secure Group Management", Proc.16th APAN Meetings
/network research workshop, Korea, 2003, pp. 49-55.
[GIA00] D.Katabi, and J.Wroclawski, "A Framework for Scalable
Global IP-Anycast (GIA)", Proc. of SIGCOMM,
Sept. 2000, pp. 3-15.
[AOSPF05] Y. Wang, L. Zhang, Z. Han, and W. Yan,
"Anycast Extensions to OSPFv3", Proc. of ICPADS,
Jul. 2005.
Yue Wang, et al Expires DATE [Page 10]
Internet-Draft Anycast Extensions to OSPFv3 DATE
Authors' Addresses
Yue Wang
The Chinese University of Hong Kong
Email: ywang@cse.cuhk.edu.hk
Li Zhang
Beijing University of Technology
Email: Zhangli828@bjut.edu.cn
Zhinan Han
Boston University
Email: jennyhan@cs.bu.edu
Wei Yan
Beijing University
Email: yanwei@net.pku.edu.cn
Yue Wang, et al Expires DATE [Page 11]
Internet-Draft Anycast Extensions to OSPFv3 DATE
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Yue Wang, et al Expires DATE [Page 12]