Está en la página 1de 6

8.

Políticas de encaminamiento

BGP ofrece multitud de funcionalidades como la asignación de prioridades, el


enmascarado y el filtrado de las rutas. Las rutas que se reciben de otros AS vecinos y
también las que se anuncian, así como las que se obtienen mediante la interacción con
los protocolos IGP interiores al AS, son filtradas según una serie de reglas. De este
modo, se establecen una serie de reglas con una serie de condiciones que deben de
cumplir las rutas para ser admitidas (permit) y no rechazadas (deny). Por otro lado, se
pueden modificar también los atributos de las rutas aprendidas y anunciarlas con otras
preferencias.

Cuando una pasarela BGP recibe un mensaje UPDATE con un número de rutas
de otra pasarela perteneciente a otro AS, estas pueden ser filtradas para ver si son
aceptadas (según las redes anunciadas o el valor de sus atributos) o manipuladas (se
modifican sus atributos). La decisión sobre las rutas a aceptar desde sus vecinos y las
preferencias es una decisión local.

Una política de encaminamiento se utiliza para el acuerdo inter-AS entre dos o


más partes, de manera que se pueda elegir aceptar sólo las rutas anunciadas por ciertos
AS, anunciar rutas sólo a ciertos AS (lo que implica permitir tráfico proveniente de esos
AS hacia los destinos anunciados) o preferir las rutas anunciadas por un AS frente a las
anunciadas por otro.

La siguiente figura muestra tres ISP con sus respectivos clientes:

En este caso cada ISP proporciona a sus clientes conectividad a Internet. Esto
implica que además del servicio de tránsito, el ISP1 está proporcionando al cliente 1
conectividad a los otros dos ISP. De este modo, para que el cliente 1 sea alcanzable, el
ISP1 debe anunciar a ISP2 y a ISP3 todas las rutas para los prefijos utilizados por el
cliente 1. Sin embargo, ISP1 no debe anunciar a ISP2 las rutas que conoce de ISP3, y
viceversa, ya que el anuncio de una ruta hacia un destino implica la aceptación de todo
el tráfico entrante que tenga dicho destino.

En general, los clientes de un ISP no suelen usar BGP, sino que se suele utilizar
una ruta estática que indique la pasarela de borde del ISP a la que conectarse. De esta
manera, el cliente se conecta al ISP y por lo tanto a Internet sin utilizar BGP. En este
caso, el origen que se guarda en el atributo AS-PATH no es el ASN del cliente, sino el
del ISP.

El router de borde del ISP al que se conecta el cliente se configura con el prefijo
usado por ese cliente para que anuncie ese prefijo mediante BGP. Sin embargo, el
espacio de direcciones de los clientes no se suele incluir en el dominio del protocolo
IGP del ISP, ya que esto podría dar fallos en el caso de malas configuraciones de
routers. Lo que se podría utilizarse es un protocolo como RIP en el enlace punto a punto
entre el cliente y la pasarela del ISP para permitir al cliente anunciar dinámicamente sus
prefijos al ISP.

A la hora de llevar a cabo el filtrado en BGP, existen varias formas para definir
reglas de filtrado: las listas de acceso (los prefix-list, los distribute-list y los filter-list) y
los mapas de rutas (route map).

8.1. Listas de acceso


Las listas de acceso son reglas de filtrado que se aplican a las rutas anunciadas o
recibidas en una sesión con un vecino BGP. Estas reglas pueden basarse en los prefijos
de las rutas (distribute-list y prefix-list) o en los atributos AS-PATH (filter-list).

8.1.1. distribute-list

Para asociar una distribute-list (de entrada o salida) a un vecino es necesaria la


siguiente configuración del router de borde:

neighbour ID distribute-list numero-lista [in/out]

Una vez definida la lista de acceso se le aplica una regla de filtrado, que en este
caso se basa en la ruta anunciada (los bits no significativos corresponden a la inversión
de los bits de la máscara):

access-list numero-lista [deny/permit] @IP bits-no-sig

Si se llega al final de la lista y no se ha aplicado ninguna acción, por defecto se


aplica la acción deny (se deniega la ruta).
En el siguiente ejemplo se configura el router de borde del AS100 para que no
sirva de AS de tránsito para la red 194.10.3.0/24 del AS300. Para ello es necesario no
anunciar a AS2 (neighbor 194.9.1.1) la ruta 194.10.3.0/24 (ya que anunciar una
ruta implica aceptar todo el tráfico que tenga como destino esa ruta).
8.1.2. prefix-list

Las listas de prefijos son un tipo especial de listas de acceso que permiten
especificar condiciones sobre los prefijos para el filtrado de rutas. En estas listas se tiene
inplícita la acción deny al final de la lista para prohibir las rutas que no cumplan
ninguna condición anterior. A continuación se muestran algunos ejemplos de prefix-list:

• No se acepta la ruta por defecto: ip prefix-list ejemplo deny 0.0.0.0/0

• Se autoriza el prefijo 35.0.0.0/8: ip prefix-list ejemplo permit


35.0.0.0/8

• Se prohibe el prefijo 172.16.0.0/12: ip prefix-list ejemplo deny


172.16.0.0/12.

• Se autorizan los prefijos dentro de 192/8 hasta /24, (es decir, se autorizan todas
las rutas dentro de 192.0.0.0/8 excepto aquellas con máscara /25, /26, /27,
/28, /29, /30, /31 y /32): ip prefix-list ejemplo permit 192.0.0.0/8
le 24.

• Se prohiben los prefijos dentro de 192/8 con una longitud de máscara mayor o
igual a /25, (es decir, se prohiben los prefijos dentro de 192.0.0.0/8 que
tengan las máscaras /25, /26, /27, /28, /29, /30, /31 y /32): ip prefix-list
ejemplo deny 192.0.0.0/8 ge 25.

• Autorizar los prefijos 192/8 con máscaras entre /12 y /20, (es decir, se
prohiben los prefijos dentro de 192.0.0.0./8 con prefijos /8, /9, /10, /11, y
/21, /22, ..., y en adelante): ip prefix-list ejemplo permit 192.0.0.0/8
ge 12 le 20.

• Autoriza todos los prefijos: ip prefix-list ejemplo 0.0.0.0/0 le 32


Un ejemplo de configuración de listas de prefijos puede ser el siguiente. En este
ejemplo se aceptan todas las rutas anunciadas por el vecino excepto las redes locales
del AS (218.10.0.0/16). En el envío, sólo se permite anunciar al vecino las redes
locales del AS.

router bgp 200


network 215.7.0.0
neighbor 220.200.1.1 remote-as 210
neighbor 220.200.1.1 prefix-list PEER-IN in
neighbor 220.200.1.1 prefix-list PEER-OUT out
!
ip prefix-list PEER-IN deny 218.10.0.0/16
ip prefix-list PEER-IN permit 0.0.0.0/0 le 32
ip prefix-list PEER-OUT permit 218.10.0.0/16
ip prefix-list PEER-OUT deny 0.0.0.0/0 le 32

8.1.3. filter-list

Otra forma de aplicar una lista de filtrado es basándose en el camino


(AS_PATH) seguido por la ruta. Para ello se asocia un filter-list a un vecino mediante
la siguiente configuración:

neighbor ID filter-list nuero-lista [in/out]

A continuación, se define la regla de filtrado asociada al filter-list:

ip as-path access-list numero-lista [deny/permit] expresión_regular

Existen diversas expresiones regulares para describir el valor que debe tener el
atributo AS_PATH. Las siguientes expresiones de ejemplo son bastante utilizadas:

• ^$ (sólo las rutas con AS-PATH vacío, es decir, las rutas locales).

• .* (todas las rutas).

• ^300$ (sólo las rutas con AS-PATH=300).

• ^300_ (todas las rutas que provienen del AS 300).

• _300$ (todas las rutas cuyo origen sea el AS 300).

• _300_ (todas las rutas que pasan por 300).

En la configuración de ejemplo que aparece en la siguiente figura se especifica


como condición aquellos AS_PATH con valor 300. De esta manera, al aplicar la acción
denegar en los anuncios de salida, se está asegurando que el AS100 no sirva de AS de
tránsito para todas las redes internas del AS300:
8.2. Route Map
Otra forma de filtrado utilizada en BGP son los route map. Un route map se
asocia a cada vecino y consiste en una especie de programa compuesto por una lista de
acciones que se ejecutan cuando se cumple una condición sobre las rutas anunciadas o
recibidas con ese vecino. Estas acciones pueden ser simplemente permitir (permit) o
denegar (deny) un anuncio de entrada o salida de una ruta, o también la modificación
(set) de los atributos de las rutas BGP anunciadas.

En el siguiente ejemplo se definen dos route-map que se aplica en la recepción


de anuncios en el AS100. De este modo, se da preferencia a la ruta por defecto
anunciada por el AS300.

La definición de los route-map sería la siguiente:

route map MAP_300 permit 10


match ip address 1
set LOCAL_PREF 150
route map MAP_300 permit 20
set LOCAL_PREF 100
access-list 1 permit 0.0.0.0 0.0.0.0

route map MAP_200 permit 10


match ip address 1
set LOCAL_PREF 100
route map MAP_200 permit 20
set LOCAL_PREF 150

Cuando se tienen vecinos que comparten una política común de encaminamiento


es recomendable utilizar peer-groups para simplificar la configuración y reducir el
tiempo de convergencia en el caso de una o varias actualizaciones. Todos los miembros
del peer-group deben tener una política de salida común, aunque pueden tener
diferentes políticas de entrada. Esta funcionalidad no es un estándar, pero está soportada
por routers Cisco y Juniper.

IBGP Peer

eBGP

Peer Group con Peer Group Peer Group Rutas de


todas las rutas Default Clientes

También podría gustarte