• Aucun résultat trouvé

The RPSL Components Attribute

Dans le document Building Service Provider Networks (Page 197-200)

Before delving into this RPSL attribute, a few concepts are in order. First, RPSL understands that there can be different sources of routing information, such as BGP, IGPs, and static routes. It also understands that policy filters can be applied to the outputs of these routes, as in Table 5.6.

The components attribute identifies the more-specific routes that are com-bined to form the aggregate. Its basic syntax is:

components:

[[<filter>] [protocol <protocol> <filter> ...]]

In the attribute, filter implicitly ANDs with the more-specifics from the sources of routing information, so only the routes that both come from the specified source and match the filter will be included. When there is no compo-nents attribute associated with a route, it will contain all more-specifics.

174 Chapter 5

Table 5.5 Finer Granularity in Address Assignment

BITS 17–20 DOTTED DECIMAL FIXED FIRST 18 AND REMAINDER EQUIVALENT 00001010 00000000 00 00 0000 00000000 10.0.0.0/20 00001010 00000000 00 01 0000 00000000 10.16.0.0/20 00001010 00000000 00 10 0000 00000000 10.32.0.0/20 00001010 00000000 00 11 0000 00000000 10.48.0.0/20 00001010 00000000 01 00 0000 00000000 10.64.0.0/20 00001010 00000000 01 01 0000 00000000 10.80.0.0/20 00001010 00000000 01 10 0000 00000000 10.96.0.0/20 00001010 00000000 01 11 0000 00000000 10.112.0.0/20 00001010 00000000 10 00 0000 00000000 10.128.0.0/20 00001010 00000000 10 01 0000 00000000 10.144.0.0/20 00001010 00000000 10 10 0000 00000000 10.160.0.0/20 00001010 00000000 10 11 0000 00000000 10.176.0.0/20 00001010 00000000 11 00 0000 00000000 10.192.0.0/20 00001010 00000000 11 01 0000 00000000 10.208.0.0/20 00001010 00000000 11 10 0000 00000000 10.224.0.0/20 00001010 00000000 11 11 0000 00000000 10.240.0.0/20

There is, however, one more option in the components attribute specifica-tion. BGP-4 includes the ATOMIC_AGGREGATE value, which means that when it has received a set of overlapping routes (for example, less-specific and more-specific), it chooses to select only the less-specific. In other words, it chooses not to deaggregate. In the full form of the RPSL components attribute:

components:

[ATOMIC]

[[<filter>] [protocol <protocol> <filter> ...]]

Putting the ATOMIC tag on a component essentially means, “Do what I say, don’t try to interpret it.”

Administration, Addressing, and Naming 175

Table 5.6 Aggregate Route Objects

route: 128.8.0.0/15 route: 128.8.0.0/15

origin: AS1 origin: AS1

components: <^AS2> components: protocol BGP4 {128.8.0.0/16^+}

protocol OSPF {128.9.0.0/16^+}

POP 1 Area 0.0.0.1

POP 2 Area 0.0.0.2

POP 3 Area 0.0.0.3

POP 4 Area 0.0.0.4

Server Farm

Area 0.0.0.5 Area 0.0.0.0

Mgt

Figure 5.9 OSPF topology with fine-grained addressing.

Table 5.7, from [RFC 2622], is an example where two providers coordinate their aggregation policies. They might be doing this because they have a mutual customer in 128.8.0.0/15, but with parts of that customer network primarily homed either to AS1 or AS2. No part of 128.8.0.0/15 is outside the two providers.

A different aggregation policy exists when a customer is connected to two providers and all the address space belongs to one provider. In this case, the second provider only needs to export the specific AS1 customer allocation, along with its other advertised routes. Due to the logic of BGP, however, AS1 has to export both the aggregate that contains the customer route and the more-specific customer route. If AS1 did not do so, the other AS, advertising the more-specific, would be selected by all other ASs that heard its announcement.

Table 5.8 is an example of the use of the export-comps attribute in RPSL, which effectively is a filter whose output is the more-specifics that need to be exported. In RPSL, a route object can specify an aggregate route, which it does if any of the following components are used to generate it.

176 Chapter 5

Table 5.7 Outbound Multi-AS Aggregation Example

route: 128.8.0.0/15 route: 128.8.0.0/15

origin: AS1 origin: AS2

components: {128.8.0.0/15 components: {128.8.0.0/15^-}

aggr-bndry: AS1 OR AS2 aggr-bndry: AS1 OR AS2 aggr-mtd: outbound AS-ANY aggr-mtd: outbound AS-ANY

Table 5.8 Exporting a More-Specific

route: 128.8.0.0/15 origin: AS1

components: {128.8.0.0/15^-}

aggr-mtd: outbound AS-ANY

export-comps: {128.8.8.0/24}

Source: RFC 2622, Figure 31.

IMPLICATIONS OF ATOMIC_ATTRIBUTE

You should be aware that the aggregation indicated for a route that is marked with ATOMIC may mean that its actual AS_PATH, as opposed to the AS_PATH attribute, goes through more ASs than the attribute indicates. The AS_PATH is still guaranteed to be loop-free, but it does not claim to include every AS the update has traversed.

Aggregation Boundary (aggr-bndry Attribute)

Aggregation boundaries are at a fairly high level of abstraction in that they are defined by an AS expression over AS numbers and AS sets. When there is no aggregation boundary, the originating AS is the only boundary for aggregation.

Inside the boundary, more-specifics are distributed, but only the aggregate is exported outside the boundary.

aggr-mtd

Somewhat more fine-grained than aggr-bndry, the aggr-mtd attribute specifies how the aggregate is generated but can differentiate between inbound and out-bound advertisements. Its syntax is as follows:

aggr-mtd:

inbound

| outbound [<as-expression>]

For outbound aggregation to occur, the more-specifics must be present at the AS. The aggregates will be created just before exporting to adjacent ASs, except for ASs, that are inside the aggregation boundary. Inbound aggregates are formed just before importing. You cannot specify an <as-expression>for inbound aggregation.

Holes

Hole requirements are important and complex in the commercial reality of the Internet. The holes attribute lists the component address prefixes that are not reachable through the aggregate route (perhaps that part of the address space is unallocated or you do not desire it to be reachable by outsiders, such as your server farm). Do not confuse advertising a hole with advertising a more-specific; they do opposite things. Advertising a more-specific says the route is reachable; advertising a hole says that it is not reachable.

Administration, Addressing, and Naming 177

Table 5.9 Holes

CASE EXAMPLE COMMENTS

Customer contracts A customer writes a provider contract Discouraged so that normally PA space moves

if the customer terminates the contract.

Enterprise divestitures An enterprise sells off a part of itself and an address block is associated with that part.

Dans le document Building Service Provider Networks (Page 197-200)