draft-ietf-idr-aggregation-tutorial-00.txt | draft-ietf-idr-aggregation-tutorial-01.txt | |||
---|---|---|---|---|
INTERNET-DRAFT John W. Stewart, III / ISI | INTERNET-DRAFT John W. Stewart, III / Juniper | |||
<draft-ietf-idr-aggregation-tutorial-00.txt> Enke Chen / Cisco | <draft-ietf-idr-aggregation-tutorial-01.txt> Enke Chen / Cisco | |||
July 1997 | March 1998 | |||
Route Aggregation Tutorial | Route Aggregation Tutorial | |||
<draft-ietf-idr-aggregation-tutorial-00.txt> | <draft-ietf-idr-aggregation-tutorial-01.txt> | |||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft. Internet-Drafts are working | This document is an Internet-Draft. Internet-Drafts are working | |||
documents of the Internet Engineering Task Force (IETF), its areas, | documents of the Internet Engineering Task Force (IETF), its areas, | |||
and its working groups. Note that other groups may also distribute | and its working groups. Note that other groups may also distribute | |||
working documents as Internet-Drafts. | working documents as Internet-Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six | Internet-Drafts are draft documents valid for a maximum of six | |||
months. Internet-Drafts may be updated, replaced or obsoleted by | months. Internet-Drafts may be updated, replaced or obsoleted by | |||
skipping to change at line 47 | skipping to change at page 1, line 48 | |||
not cover multi-homing, though multi-homed sites can still benefit | not cover multi-homing, though multi-homed sites can still benefit | |||
from understanding this material. | from understanding this material. | |||
1. Introduction | 1. Introduction | |||
The long-term viability of the Internet depends on its ability to | The long-term viability of the Internet depends on its ability to | |||
support the continued growth in demand. A large part of its ability | support the continued growth in demand. A large part of its ability | |||
to grow is dependent on the successful scaling of the routing system. | to grow is dependent on the successful scaling of the routing system. | |||
Because the complexity of the Internet's routing system is a function | Because the complexity of the Internet's routing system is a function | |||
of the number of reachable destinations, great care must be taken | of the number of reachable destinations, great care must be taken | |||
that, as the net grows, the demands on the routing system don't | that, as the network grows, the demands on the routing system don't | |||
outpace advances in hardware and software. | outpace advances in hardware and software. | |||
Stewart & Chen [Page 1] | ||||
In the early 1990s, the paradigm for large scale Internet routing | In the early 1990s, the paradigm for large scale Internet routing | |||
changed from a "Classful" system to a "Classless" system. The | changed from a "Classful" system to a "Classless" system. The | |||
Classless system applies techniques of hierarchy to achieve large | Classless system applies techniques of hierarchy to achieve large | |||
scaling. In order for Classless routing to achieve its goal of | scaling. In order for Classless routing to achieve its goal of | |||
allowing the routing system to scale very well, networks in all areas | allowing the routing system to scale very well, networks in all areas | |||
of the Internet must be vigilant about "route aggregation." This | of the Internet must be vigilant about "route aggregation." This | |||
document provides educational information, both conceptual and | document provides educational information, both conceptual and | |||
practical, in an effort to encourage efficient aggregation throughout | practical, in an effort to encourage efficient aggregation throughout | |||
the Internet. | the Internet. | |||
This document assumes only a very casual understanding of Internet | ||||
addresses. Once readers clearly understand this document, they may | ||||
wish to read "A Framework for Inter-Domain Route Aggregation" [9] to | ||||
understand the big picture of large-scale aggregation in the | ||||
Internet. | ||||
2. Network Classes and the Bit-Level Detail | 2. Network Classes and the Bit-Level Detail | |||
As originally specified in the early 1980s, the Internet Protocol | As originally specified in the early 1980s, the Internet Protocol | |||
(IP) included the idea of network "Classes." [1] In IP, a certain | (IP) included the idea of network "Classes." [1] In IP, a certain | |||
number of bits in the 32-bit addresses refer to the network and the | number of bits in the 32-bit addresses refer to the network and the | |||
remainder of the bits refer to a host on that network. (In the mid | remainder of the bits refer to a host on that network. (In the mid | |||
1980s IP was extended such that part of the host bits can refer to a | 1980s IP was extended such that part of the host bits can refer to a | |||
subnet and the remainder would refer to a host on that subnet. [2]) | subnet and the remainder would refer to a host on that subnet. [2]) | |||
The point of the different Classes was to have addresses with | The point of the different Classes was to have addresses with | |||
different numbers of network/host bits. The Class of an address | different numbers of network/host bits. The Class of an address | |||
skipping to change at line 82 | skipping to change at page 3, line 5 | |||
"0" as the high-order bit, and then 7 bits of network and 24 bits of | "0" as the high-order bit, and then 7 bits of network and 24 bits of | |||
host; a Class B address had "10" as the high-order two bits, and then | host; a Class B address had "10" as the high-order two bits, and then | |||
14 bits of network and 16 bits of host; and a Class C address had | 14 bits of network and 16 bits of host; and a Class C address had | |||
"110" as the high-order three bits and then 21 bits of network and 8 | "110" as the high-order three bits and then 21 bits of network and 8 | |||
bits of host. Looking at an address in "dotted quad notation" (e.g., | bits of host. Looking at an address in "dotted quad notation" (e.g., | |||
166.45.3.46), Class A networks have a first number of 0-127, Class B | 166.45.3.46), Class A networks have a first number of 0-127, Class B | |||
networks have a first number of 128-191 and Class C networks have a | networks have a first number of 128-191 and Class C networks have a | |||
first number of 192-223. A Class A network could number 1.7 million | first number of 192-223. A Class A network could number 1.7 million | |||
hosts, a Class B 65,000 and a Class C 256. Diagramatically: | hosts, a Class B 65,000 and a Class C 256. Diagramatically: | |||
Stewart & Chen [Page 2] | ||||
3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | |||
2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | |||
Class +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
A |0 | | A |0 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|<--network-->|<---------------------host-------------------->| | |<--network-->|<---------------------host-------------------->| | |||
3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | |||
2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | |||
Class +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at line 104 | skipping to change at page 3, line 26 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|<---------network--------->|<-------------host------------>| | |<---------network--------->|<-------------host------------>| | |||
3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | |||
2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | |||
Class +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
C |1 1 0 | | C |1 1 0 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|<----------------network---------------->|<-----host---->| | |<----------------network---------------->|<-----host---->| | |||
Although the original intent of having Classes was to allow for | Although the original intent of having Classes was to allow for flexible | |||
flexible addressing, experience showed that the hard boundary of the | addressing, experience showed that the hard boundary of the three | |||
three Classes actually made the addressing less flexible. For | Classes actually made the addressing less flexible. For example, if a | |||
example, if a site connecting to the Internet needed to address 300 | site connecting to the Internet needed to address 300 hosts, then a | |||
hosts, then a Class C network wouldn't be adequate and a Class B | Class C network wouldn't be adequate and a Class B would need to be | |||
would need to be assigned. This resulted in poor utilization of the | assigned. This resulted in poor utilization of the assigned address | |||
assigned address space and caused a faster-than-necessary rate of | space and caused a faster-than-necessary rate of consumption of the | |||
consumption of the available IP address space. | available IP address space. | |||
Another problem with the scalability of Internet routing under the | Another problem with the scalability of Internet routing under the | |||
Classful system had to do with the address allocation policies used. | Classful system had to do with the address allocation policies used. At | |||
At that time, when a site connected to the Internet, it would go to a | that time, when a site connected to the Internet, it would go to a cen- | |||
central registry to get a unique IP network and then it would go to | tral registry to get a unique IP network and then it would go to an ISP | |||
an ISP to procure connectivity. What this means is that if an ISP | to procure connectivity. What this means is that if an ISP had 1000 | |||
had 1000 customers, each of whom had been assigned a Classful network | customers, each of whom had been assigned a Classful network of some | |||
of some type, then that ISP would have to announce each of those 1000 | type, then that ISP would have to announce each of those 1000 networks | |||
networks to other providers in the Internet. In other words, the | to other providers in the Internet. In other words, the Internet's | |||
Internet's routing system was not taking advantage of the inherent | routing system was not taking advantage of the inherent provider/sub- | |||
provider/subscriber hierarchy and instead was being "flat-routed." | scriber hierarchy and instead was being "flat-routed." | |||
3. The Introduction of CIDR | 3. The Introduction of CIDR | |||
In the early 1990s, a number of ISPs began to have operational | In the early 1990s, a number of ISPs began to have operational problems | |||
problems related to the size of a full Internet routing table because | related to the size of a full Internet routing table because of the lim- | |||
of the limited amount of memory available in commercial routers. (A | ited amount of memory available in commercial routers. (A "full routing | |||
table" means a routing table which does not contain a default route and | ||||
Stewart & Chen [Page 3] | instead contains an entry for every active network in the Internet.) | |||
"full routing table" means a routing table which does not contain a | Because of these problems, Classless Inter-Domain Routing (CIDR) was | |||
default route and instead contains an entry for every active network | created. [3] | |||
in the Internet.) Because of these problems, Classless Inter-Domain | ||||
Routing (CIDR) was created. [3] | ||||
CIDR removed the idea of Classes from IP. Instead of having networks | CIDR removed the idea of Classes from IP. Instead of having networks | |||
with an implied number of bits referring to network/host, there are | with an implied number of bits referring to network/host, there are | |||
"prefixes" with an associated mask explicitly identifying which bits | "prefixes" with an associated mask explicitly identifying which bits | |||
refer to network/host. For example, the prefix "38.245.76.0" with a | refer to network/host. For example, the prefix "38.245.76.0" with a | |||
mask of "255.255.255.0" has 24 bits of network and 8 bits of host | mask of "255.255.255.0" has 24 bits of network and 8 bits of host (i.e., | |||
(i.e., it can address the same number of hosts as a Class C network | it can address the same number of hosts as a Class C network even though | |||
even though the prefix is in the Class A range). The CIDR paradigm | the prefix is in the Class A range). The CIDR paradigm prefers the term | |||
prefers the term "prefix" over "network" because it's more clear that | "prefix" over "network" because it's more clear that no Class is being | |||
no Class is being implied. Another way to write this example prefix | implied. Another way to write this example prefix is "38.245.76.0/24", | |||
is "38.245.76.0/24", meaning that the mask contains 24 1s in the | meaning that the mask contains 24 1s in the high-order portion of the | |||
high-order portion of the mask. | mask. | |||
The strength of CIDR is that the masks can be on arbitrary bit | The strength of CIDR is that the masks can be on arbitrary bit bound- | |||
boundaries and don't have to be on byte boundaries. So for example, | aries and don't have to be on byte boundaries. So for example, going | |||
going back to the case of the site which needs to address 300 hosts, | back to the case of the site which needs to address 300 hosts, the site | |||
the site could be allocated a "/23" (i.e., a prefix which has 23 bits | could be allocated a "/23" (i.e., a prefix which has 23 bits for network | |||
for network and 9 bits for host, thus allowing 512 hosts to be | and 9 bits for host, thus allowing 512 hosts to be addressed with the | |||
addressed with the single prefix). | single prefix). | |||
To complete the picture, in order for CIDR to actually help achieve | To complete the picture, in order for CIDR to actually help achieve bet- | |||
better scaling of Internet routing, a specific address allocation | ter scaling of Internet routing, a specific address allocation architec- | |||
architecture must be used. [4] Rather than the pre-CIDR style where | ture must be used. [4] Rather than the pre-CIDR style where sites | |||
sites would go to a centralized registry to get an address which does | would go to a centralized registry to get an address which does not take | |||
not take into account where that site connects to the Internet, | into account where that site connects to the Internet, CIDR-style | |||
CIDR-style address allocation involves registries allocating address | address allocation involves registries allocating address space to ISPs | |||
space to ISPs who, in turn, sub-allocate it to their customers. So | who, in turn, sub-allocate it to their customers. So for example, a | |||
for example, a registry might allocate the prefix 204.71.0.0/16 | registry might allocate the prefix 204.71.0.0/16 (called a "CIDR block") | |||
(called a "CIDR block") to ISP1, and then ISP1 could sub-allocate | to ISP1, and then ISP1 could sub-allocate 204.71.1.0/24 to SmallCus- | |||
204.71.1.0/24 to SmallCustomer1, 204.71.2.0/24 to SmallCustomer2, | tomer1, 204.71.2.0/24 to SmallCustomer2, 204.71.128.0/22 to MediumCus- | |||
204.71.128.0/22 to MediumCustomer and 204.71.136.0/20 to | tomer and 204.71.136.0/20 to LargeCustomer. The benefit, then, is that | |||
LargeCustomer. The benefit, then, is that when ISP1 exchanges | when ISP1 exchanges routing information with other ISPs, it only needs | |||
routing information with other ISPs, it only needs to announce the | to announce the single prefix 204.71.0.0/16 and not each of the individ- | |||
single prefix 204.71.0.0/16 and not each of the individual prefixes | ual prefixes used by its customers. The ability to merge multiple pre- | |||
used by its customers. The ability to merge multiple prefixes which | fixes which have some number of leading bits in common is called "aggre- | |||
have some number of leading bits in common is called "aggregation." | gation." | |||
In 1993, the deployment of a routing protocol which supported CIDR | In 1993, the deployment of a routing protocol which supported CIDR | |||
(specifically BGP Version 4 [5]) had an immediate and measurably | (specifically BGP Version 4 [5]) had an immediate and measurably posi- | |||
positive effect on route scaling. Immediately after its deployment a | tive effect on route scaling. Immediately after its deployment a full | |||
full routing table went down in size in absolute numbers (this was | routing table went down in size in absolute numbers (this was possible | |||
possible only because address allocation had already been done for | only because address allocation had already been done for some time in | |||
some time in the CIDR style even though the routing hadn't yet taken | the CIDR style even though the routing hadn't yet taken advantage of it) | |||
advantage of it) and, more importantly, the rate of growth was | and, more importantly, the rate of growth was slowed. | |||
Stewart & Chen [Page 4] | ||||
slowed. | ||||
4. A Note on Renumbering | 4. A Note on Renumbering | |||
The crux of CIDR is that the Internet's generally hierarchical | The crux of CIDR is that the Internet's generally hierarchical topology | |||
topology is being reflected in the addressing. As a result, if a | is being reflected in the addressing. As a result, if a site started | |||
site started out as a customer of ISP1 and is thus numbered out of | out as a customer of ISP1 and is thus numbered out of one of ISP1's CIDR | |||
one of ISP1's CIDR blocks, but then that site terminates the | blocks, but then that site terminates the relationship with ISP1 and | |||
relationship with ISP1 and "rehomes" to ISP2, then the site would | "rehomes" to ISP2, then the site would need to renumber its nodes to be | |||
need to renumber its nodes to be part of one of ISP2's CIDR blocks. | part of one of ISP2's CIDR blocks. The major reason for this is to | |||
The major reason for this is to retain efficiency in the routing | retain efficiency in the routing system. [6] | |||
system. [6] | ||||
Renumbering is an unfortunate necessity in the current IPv4 Internet. | Renumbering is an unfortunate necessity in the current IPv4 Internet. | |||
This is the reason for the recent advance of renumbering technology | This is the reason for the recent advance of renumbering technology in | |||
in IPv4 (e.g., DHCP [7]) as well as the focus of easy renumbering in | IPv4 (e.g., DHCP [7]) as well as the focus of easy renumbering in IPv6. | |||
IPv6. [8] Sites should keep this "unfortunate necessity" in mind | [8] Sites should keep this "unfortunate necessity" in mind when deploy- | |||
when deploying equipment to make sure that their infrastructure can | ing equipment to make sure that their infrastructure can be renumbered | |||
be renumbered easily if that becomes necessary. | easily if that becomes necessary. | |||
5. Practical Aggregation | 5. Practical Aggregation | |||
As stated earlier, aggregation refers to the combining of multiple | As stated earlier, aggregation refers to the combining of multiple con- | |||
contiguous prefixes into a single prefix. For example, assume the | tiguous prefixes into a single prefix. For example, assume the prefixes | |||
prefixes 209.123.10.0/24 and 209.123.11.0/24. The binary | 209.123.10.0/24 and 209.123.11.0/24. The binary representation for | |||
representation for 209.123.10.0/24 is: | 209.123.10.0/24 is: | |||
3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | |||
2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0| | |1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|<---- 209 ---->|<---- 123 ---->|<---- 10 ---->|<---- 0 ---->| | |<---- 209 ---->|<---- 123 ---->|<---- 10 ---->|<---- 0 ---->| | |||
And the binary representation for 209.123.9.0/24 is | And the binary representation for 209.123.9.0/24 is | |||
3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 | |||
2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0| | |1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|<---- 209 ---->|<---- 123 ---->|<---- 11 ---->|<---- 0 ---->| | |<---- 209 ---->|<---- 123 ---->|<---- 11 ---->|<---- 0 ---->| | |||
The important thing to note here is that the two networks can be | The important thing to note here is that the two networks can be aggre- | |||
gated into the single prefix 209.123.10.0/23 because they have the lead- | ||||
Stewart & Chen [Page 5] | ing 23 bits in common. | |||
aggregated into the single prefix 209.123.10.0/23 because they have | ||||
the leading 23 bits in common. | ||||
The example above is very simple. A real example of a very large | The example above is very simple. A real example of a very large degree | |||
degree of aggregation is the prefix 208.0.0.0/12, which covers the | of aggregation is the prefix 208.0.0.0/12, which covers the 4096 24-bit | |||
4096 Class C networks 208.0.0.0/24 through 208.15.255.0/24. It's | prefixes 208.0.0.0/24 through 208.15.255.0/24. It's obvious from this | |||
obvious from this example how profound an impact aggregation can have | example how profound an impact aggregation can have on the size of a | |||
on the size of a routing table and the resources required for the | routing table and the resources required for the associated storage and | |||
associated storage and computation. | computation. | |||
It is important to aggregate as much as possible, even in the simple | It is important to aggregate as much as possible, even in the simple | |||
example presented earlier, because small non-optimalities can add up | example presented earlier, because small non-optimalities can add up and | |||
and result in a poorly aggregated global routing system. If you | result in a poorly aggregated global routing system. If you exchange | |||
exchange routes with your provider using BGP, then it is your | routes with your provider using BGP, then it is your responsibility to | |||
responsibility to do the aggregation configuration. (Note that | do the aggregation configuration. (Note that aggregation can only be | |||
aggregation can only be done with BGP4, so if you are running an | done with BGP4, so if you are running an earlier version of BGP, you | |||
earlier version of BGP, you should upgrade your software; most major | should upgrade your software; most major router manufacturers have | |||
router manufacturers have implemented BGP4.) Assuming that your AS | implemented BGP4.) Assuming that your AS number is 5555, your | |||
number is 5555, your provider's AS number is 2222 and the IP address | provider's AS number is 2222 and the IP address of your provider's BGP | |||
of your provider's BGP speaker is 1.2.3.4, the Cisco syntax for | speaker is 1.2.3.4, the Cisco syntax for configuring the aggregation | |||
configuring the aggregation would be: | would be: | |||
interface Ethernet0 | ||||
... | ||||
ip address 209.123.10.1 255.255.255.0 | ||||
... | ||||
interface Ethernet1 | ||||
... | ||||
ip address 209.123.11.1 255.255.255.0 | ||||
... | ||||
router bgp 5555 | router bgp 5555 | |||
network 209.123.10.0 mask 255.255.254.0 | network 209.123.10.0 mask 255.255.254.0 | |||
neighbor 1.2.3.4 remote-as 2222 | neighbor 1.2.3.4 remote-as 2222 | |||
... | ... | |||
ip route 209.123.10.0 255.255.255.0 Ethernet0 | ||||
ip route 209.123.11.0 255.255.255.0 Ethernet1 | ||||
ip route 209.123.10.0 255.255.254.0 Null0 254 | ip route 209.123.10.0 255.255.254.0 Null0 254 | |||
The "network" line in the BGP section tells the router to announce | The "network" line in the BGP section tells the router to announce that | |||
that network if it has a route to it. The third static route for | network if it has a route to it. The "ip route" statement for | |||
209.123.10.0/23 creates a "pull-up" route for the aggregate so that | 209.123.10.0/23 is a static route that creates a "pull-up" route for the | |||
the router actually has a route to it so that the "network" line | aggregate; this gives the router a route to the prefix so that the "net- | |||
takes effect and the prefix is announced. The static route for the | work" line takes effect and the prefix is announced. The static route | |||
aggregate is only needed in order for the "network" line to take | for the aggregate is only needed in order for the "network" line to take | |||
effect; that static route will never be used for packet forwarding | effect; that static route will never be used for packet forwarding | |||
because the static routes for the individual Class C networks are | because the static routes for the individual /24 prefixes are more spe- | |||
more specific and therefore take precedence. This configuration | cific and therefore take precedence. This configuration information is | |||
information is required only on the router which speaks BGP with your | required only on the router which speaks BGP with your provider's | |||
provider's router. | router. | |||
Stewart & Chen [Page 6] | In this example, it is assumed that the router which speaks BGP to the | |||
provider has local interfaces numbered out of the address space being | ||||
aggregated. This is assumed for simplicity of the example; the "net- | ||||
work" line and pull-up route would be used the same ways to do the | ||||
aggregation even if the routing for the address space were done stati- | ||||
cally, based on an IGP, etc. | ||||
6. References | 6. References | |||
[1] Postel, J., "Internet Protocol", RFC 791, September 1991. | [1] Postel, J., "Internet Protocol", RFC 791, September 1991. | |||
[2] Postel, J., Mogul, J.C., "Internet Standard Subnetting | [2] Postel, J., Mogul, J.C., "Internet Standard Subnetting Procedure", | |||
Procedure", RFC 950, August 1985. | RFC 950, August 1985. | |||
[3] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless Inter- | [3] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless Inter- | |||
Domain Routing (CIDR): an Address Assignment and Aggregation | Domain Routing (CIDR): an Address Assignment and Aggregation Strategy", | |||
Strategy", RFC 1519, September 1993. | RFC 1519, September 1993. | |||
[4] Rekhter, Y., Li, T., "An Architecture for IP Address Allocation | [4] Rekhter, Y., Li, T., "An Architecture for IP Address Allocation with | |||
with CIDR", RFC 1518, September 1993. | CIDR", RFC 1518, September 1993. | |||
[5] Rekhter, Y., and Li, T., "A Border Gateway Protocol 4 (BGP-4)", | [5] Rekhter, Y., and Li, T., "A Border Gateway Protocol 4 (BGP-4)", | |||
RFC1771, March 1995. | RFC1771, March 1995. | |||
[6] Ferguson, P., Berkowitz, H., "Network Renumbering Overview: Why | [6] Ferguson, P., Berkowitz, H., "Network Renumbering Overview: Why | |||
would I want it and what is it anyway?", RFC 2071, January 1997. | would I want it and what is it anyway?", RFC 2071, January 1997. | |||
[7] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March | [7] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March | |||
1997. | 1997. | |||
[8] Thomson, S., Narten, T., "IPv6 Stateless Address | [8] Thomson, S., Narten, T., "IPv6 Stateless Address Autoconfiguration", | |||
Autoconfiguration", RFC 1971, August 1996. | RFC 1971, August 1996. | |||
[9] Chen, E., Stewart III, John W., "A Framework for Inter-Domain Route | ||||
Aggregation", draft-ietf-idr-aggregation-framework-01.txt, July 1997. | ||||
TBD -- RFC NUMBER | ||||
7. Authors' Addresses | 7. Authors' Addresses | |||
John W. Stewart, III | John W. Stewart, III | |||
USC/ISI | Juniper Networks, Inc. | |||
4350 North Fairfax Drive | 385 Ravendale Drive | |||
Suite 620 | Mountain View, CA 94043 | |||
Arlington, VA 22203 | phone: +1 650 526 8000 | |||
phone: +1 703 807 0132 | email: jstewart@juniper.net | |||
email: jstewart@isi.edu | ||||
Enke Chen | Enke Chen | |||
Cisco Systems | Cisco Systems | |||
170 West Tasman Drive | 170 West Tasman Drive | |||
San Jose, CA 95134-1706 | San Jose, CA 95134-1706 | |||
Phone: +1 408 527 4652 | Phone: +1 408 527 4652 | |||
email: enkechen@cisco.com | email: enkechen@cisco.com | |||
Stewart & Chen [Page 7] | ||||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |