lunes, 6 de julio de 2009

Modelamiento de Redes de Enrutamiento BGP con OPNET





Modeling BGP Routing Networks with OPNET®

Dúber Pérez[1]
Universidad Privada Antenor Orrego, Escuela de Ingeniería Electrónica,
Av. América Sur 3145 Monserrate, Apartado Postal 1075 Trujillo-Perú
dperezp@upao.edu.pe, duberpp@yahoo.es

Resumen

El presente trabajo de investigación modela una red de enrutamiento BGP en OPNET para analizar las características del protocolo BGP así como su configuración básica y la manipulación de los atributos de su métrica. Adicionalmente se muestra las características que brinda OPNET para la rápida configuración de redes de enrutamiento avanzadas

Palabras Clave: Border Gateway Protocol, EGPs, Sistemas Autónomos, IBGP, EBGP, Redes de Enrutamiento, Enrutamiento en Internet, routemaps, OPNET Modeler.

Abstract

This investigation work shows how to model a BGP Routing Network with OPNET in order to analyze the BGP features, their basic configuration and their metric attributes manipulation. We also how OPNET features help configuring advance routing networks.

Key works: Border Gateway Protocol, EGPs, Autonomous Systems, IBGP, EBGP, Routing Networks, Internet Routing, route maps, OPNET Modeler.

1. Introducción

BGP es el protocolo de enrutamiento de Internet, por sus características especiales es el único protocolo que pertenece a la clase de EGPs, a diferencia de los demás protocolos como RIP, EIGRP o OSPF los cuales pertenecen a la clase de protocolos IGPs. BGP es un protocolo robusto y altamente escalable diseñado especialmente para el enrutamiento en grandes redes como el Internet. Por estas razones la configuración del protocolo BGP, en una red, es diferente a la configuración de los IGPs. La configuración del protocolo BGP es laboriosa debido a que requiere el conocimiento de tecnologías adicionales como IGPs, interfaces de loopback, sistemas autónomos y redistribución.

Para mostrar la configuración de una red con enrutamiento BGP es necesario contar con un mínimo de diez enrutadores. Difícilmente existen en el Perú universidades con este número de enrutadores, más aún el alumno no tiene la facilidad de llevar los enrutadores a casa para estudiar y profundizar sus conocimientos.

Frente a esta problemática se ha seleccionado a OPNET® como la mejor herramienta de modelamiento de redes de datos. OPNET® es un entorno de modelamiento avanzado y permita modelar redes de datos tanto de manera lógica como aplicativa.

2. Antecedentes

El modelamiento de redes de datos en la actualidad se ha dividido en dos grupos. El primer grupo son las herramientas de emulación y está liderado por la herramienta Boson® NetSim®, Estas herramientas emulan los equipos de alguna marca, generalmente Cisco®. Estas herramientas brindan una interfaz virtual muy similar a la del equipo real para su configuración y sólo permiten hacer algunas pruebas de conectividad. Estas herramientas tienen como objetivo familiarizar al usuario con la configuración de los equipos. Los programas que están dentro de este grupo no permiten modelar una red en un escenario real.

Del otro lado está el grupo de herramientas de modelamiento, este grupo está encabezado por OPNET®. OPNET® es un entorno de modelamiento en donde el usuario puedo modelar cualquier equipo dispositivo de red y analizar su desempeño en escenarios reales. OPNET® a pesar de que puede interactuar con equipos de distintos fabricantes no está enfocado a ninguno en particular.

3. Justificación

Este trabajo de investigación se sustenta en la problemática existente en la educación de pregrado y posgrado peruana, la cual se ve constantemente limitada en la enseñanza de tecnologías avanzadas debido a la falta de presupuesto para adquirir las herramientas para la implementación de laboratorios de telecomunicaciones. Los cursos de pregrado y posgrado de telecomunicaciones generalmente no consideran en su contenido a las redes de enrutamiento BGP debido a la falta de material práctico. En este sentido este trabajo propone como solución al software de modelamiento OPNET® como una alternativa potente para el modelamiento de redes BGP.

La elección de OPNET® como nuestra herramienta de trabajo no ha sido arbitraria. OPNET® es la herramienta de modelamiento por excelencia en el campo de investigación y desarrollo de nuevas tecnologías. OPNET® es empleado en el campo de las telecomunicaciones en más de diez mil universidades alrededor del mundo.

4. Objetivos

El objetivo de esta investigación es mostrar la metodología para modelar una red de enrutamiento BGP en OPNET® e implementar algunos escenarios típicos de configuración para mostrar las características de configuración de OPNET®.

Adicionalmente también se pretende familiarizar al alumno con OPNET®, de modo que pueda emplearlo como una herramienta para futuras aplicaciones y tecnologías como es IPv6, MPLS, mulitcast, etc.

5. Marco Teórico

5.1 Terminología BGP

BGP se recomienda emplear cuando la red de una empresa está conectada a más de un ISP, en el caso que la empresa se conecte a sólo un ISP la mejor opción es no configurar BGP. Una empresa o corporación puede decidir disponer de un escenario multihoming ya sea por redundancia o para demandar una mejor calidad de servicio.

El Internet está conformado por sistemas autónomos, un sistema autónomo es un conjunto de redes bajo una misma administración, generalmente un sistema autónomo corre algún protocolo IGP. BGP es un protocolo de enrutamiento que permite el intercambio de información de rutas entre sistemas autónomos.

Los protocolos IGP se caracterizan porque anuncian redes y describen la métrica para alcanzar estas redes, por otro lado BGP describe trayectos y las redes que se pueden alcanzar al final del trayecto, BGP describe estos trayectos mediante atributos de manera equivalente a la métrica de los IGPs.

El término vecinos empleado en los IGPs se reemplaza por el término peers, la razón se debe a que el término vecinos se aplicaba a enrutadores que estaban directamente conectados, sin embargo los vecinos BGP no necesariamente tienen que estar conectados directamente. Cuando BGP corre en dos routers que pertenecen a distintos sistemas autónomos, la relación se denomina EBGP. Por otro lado, cuando BGP se ejecuta en dos peers en un mismo AS, la relación se denomina IBGP. [1][2][3]

5.2 Selección de trayectos BGP

La métrica BGP se describe por atributos. Los atributos que describen la métrica BGP se muestran en la Tabla 1. La Tabla 1 también muestra el orden de preferencia en el que se analizan estos atributos para determinar el trayecto que debe de insertarse en la tabla de enrutamiento global.

Tabla 1 Atributos de acurdo a su preferencia

N

Atributo

Descripción

1

Peso

Se prefiere la ruta con mayor peso. Tiene alcance local para el router

2

Preferencia local

Se prefiere la ruta con mayor preferencia local. Tiene alcance global en un AS

3

Rutas locales

Se prefieren las rutas originadas por el router

4

Número de AS

Se prefiere la ruta con menor número de AS de tránsito

5

Origen

Se prefiere la ruta con menor código de origen (IGP

6

MED

Menor valor de MED.

7

Tipo

Se prefieren las rutas EBGP a las rutas IBGP

8

Vecino IGP

Se prefiere el vecino IGP más cercano

9

Ruta EBGP

Se prefiere la ruta EBGP más antigua

10

Vecino con menor ID

Se prefiere al vecino con menor ID

11

Vecino con menor IP

Se prefiere al vecino con menor IP

5.3 Manipulación de trayectos con routemaps

De los atributos discutidos anteriormente sólo es posible la manipulación de la preferencia local y del atributo MED (Multiple Exit Discriminator). La aplicación de cada uno de estos parámetros tiene fines distintos. El atributo preferencia local permite manipular la forma en que el sistema autónomo envía datos hacía otro sistema autónomo, dicho de otra manera, el atributo preferencia local permite manipular como sale el tráfico del sistema autónomo.

BGP es un protocolo que permite manipular como los datos salen de un sistema autónomo, sin embargo no es posible manipular como entran los datos a un sistema autónomo. Sólo en el caso especial que un sistema autónomo disponga de múltiples conexiones hacia otro sistema autónomo, será posible indicar por cual enlace se prefiere recibir información. Para influenciar en el modo de cómo un sistema autónomo recibe datos se manipula en parámetro MED.[2][3]

6. Metodología

6.1 Topología de Red

La topología de red que se ha propuesto para el escenario BGP está compuesta de tres sistemas autónomos que cumplen la función de ISPs y tres sistemas autónomos que son las corporaciones a las cuales los IPSs brindan interconexión. Esta topología se detalla en la Figura 1. Los números de sistemas autónomos considerados están en el rango de los sistemas autónomos privados. La asignación de números de sistema autónomos a cada ISP y corporación se muestra en la Tabla 1.

La asignación de subredes también es posible observarla en la Figura 1, adicionalmente la Tabla 2 muestra el esquema de direccionamiento IP para cada router de cada sistema autónomo. En OPNET® no es necesario asignar direcciones IP puesto que éste puede asignarlas automáticamente, sin embargo hemos preferido especificar explícitamente el direccionamiento IP con el fin de facilitar la configuración de vecinos BGP. Se debe aclarar que la asignación de IPs automáticas es realizada por OPNET® y no por un servicio de red como DHCP. Si bien no se ha empleado el direccionamiento automático en el backbone de nuestra red, si se lo ha empleado en cada subred, de este modo OPNET® asignará direcciones IP a cada host de cada subred, teniendo en cuenta la IP que se ha asignado al router de cada corporación de modo que los hosts con IP automática estén en la misma red que el router local de cada dorporación.

Luego de implementar la topología de la red y configurar las interfaces de red se debe de verificar que las interfaces interconectadas se encuentren en la misma sub red. En el caso que no se encuentren en la misma subred se debe de editar las propiedades del enlace y especificar las interfaces correctas.

Una red de enrutamiento BGP necesita que la red esté corriendo a la vez un protocolo de enrutamiento interno en cada sistema autónomo. En este caso hemos considerado a RIP como protocolo de enrutamiento interno. RIP se debe de ejecutar en cada sistema autónomo pero debe de deshabilitarse en las interfaces que se conectan a otro sistema autónomo debido a que no se desea transmitir las tablas de enrutamiento local a otro sistema autónomo.


(a)


(b) (c) (d)

Figura 1 Detalle de las Subredes Google, Yahoo, Microsoft

Tabla 2 Asignación de números de sistema autónomo

Nombre

Número de Sistema Autónomo

Número de Routers

Global Crossing

AS 65001

4

Telmex

AS 65002

2

Telefónica

AS 65003

2

Google

AS 65110

1

Yahoo

AS 65120

1

Microsoft

AS 65130

1

Tabla 3 Direccionamiento IP de los routers de los ISP

Sistema Autónomo

Router

Interfaz: IP

Global Crossing

AS 65001

GCR1

IF4: 192.168.11.1

IF5: 192.168.12.1

IF6: 192.168.13.1

IF7: 192.168.202.1

GCR2

IF4: 192.168.11.2

IF5:192.168.14.1

IF6: 192.168.206.1

IF7: 192.168.207.1

GCR3

IF4: 192.168.12.2

IF5: 192.168.14.2

IF6: 192.168.15.1

IF7: 192.168.204.1

GCR4

IF4: 192.168.13.2

IF5: 192.168.15.2

IF6: 192.168.203.1

Telmex AS 65002

TelmexR1

IF4: 192.168.21.1

IF5: 192.168.207.2

IF6: 192.168.208.1

TelmexR2

IF4: 192.168.21.2

IF5: 192.168.201.1

Telefónica AS 65003

TelefónicaR1

IF4: 192.168.31.1

IF5: 192.168.206.2

IF6: 192.168.208.2

TelefónicaR2

IF4: 1921.168.31.2

IF5: 192.168.205.1

Tabla 4 Direccionamiento IP de los routers de las corporaciones

Router

Interfaz: IP

Router de la red Google

AS 65110

IF0: 192.168.111.1

IF1: 192.168.112.1

IF2: 192.168.113.1

IF4: 192.168.201.2

IF5: 192.168.202.2

Router de la red Microsoft

AS 65130

IF0: 192.168.131.1

IF1: 192.168.132.1

IF2: 192.168.133.1

IF4: 192.168.204.2

IF5: 192.168.205.2

Router de la red Yahoo

AS 65120

IF0: 192.168.121.1

IF1: 192.168.122.1

IF2: 192.168.123.1

IF4: 192.168.203.2

6.2 Configuración de enrutamiento BGP

La manera más simple para configurar BGP en una red de sistemas autónomos contempla los siguientes pasos. Configuración de interfaces de loopback, asignación de número de sistema autónomo, establecimientos de vecinos, configuración de la sincronización y configuración de la redistribución. A continuación detallamos cada uno de estos pasos.

El primer paso consiste en asignar interfaces de loopback a todos los routers que estarán corriendo IBGP con otros routers en un mismo sistema autónomo. OPNET® tiene la facilidad de asignar automáticamente interfaces de loopback. Si bien hemos empleado esta herramienta para crear las interfaces de loopback para cada router, la asignación de direcciones IP ha sido de manera manual. La Tabla 5 indica el direccionamiento IP considerado para las interfaces de loopback.

Tabla 5 Direccionamiento IP de las Interfaces de loopback

Sistema Autónomo

Router

IP de la Interfaz de Loopback

Global Crossing

AS 65001

GCR1

IF4: 192.168.11.1

GCR2

IF4: 192.168.11.2

GCR3

IF4: 192.168.12.2

GCR4

IF4: 192.168.13.2

Telmex AS 65002

TelmexR1

IF4: 192.168.21.1

TelmexR2

IF4: 192.168.21.2

Telefónica AS 65003

TelefónicaR1

IF4: 192.168.31.1

TelefónicaR2

IF4: 1921.168.31.2

La relación de vecindad que pueden formar dos routers BGP pueden ser de tipo IBGP o EBGP. El tipo de relación de vecindad que se establezca dependerá del número de sistema autónomo asignado a cada router. Si los routers se encuentran en un mismo sistema autónomo, los routers establecerán una relación IBGP, de otro modo, si los routers se encuentran en distintos sistemas autónomos, la relación que formarán será del tipo EBGP.

Sin importar la relación que establezcan los routers, es necesario que a cada router se le configure adecuadamente su número de sistema autónomo. Los números de sistema autónomos se muestran en la Tabla 1.

Después de la asignación de números de sistemas autónomos ya es posible configurar los vecinos BGP. Debemos de recordar que BGP no descubre a sus vecinos como los protocolos de enrutamiento IP, por lo que debemos de indicar explícitamente quienes serán los vecinos con los que el router formará adyacencias. OPNET® facilita esta configuración brindándonos herramientas tanto para la configuración de vecinos IBGP como EBGP.

Los routers IBGP no propagan ninguna ruta IBGP a menos que la misma ruta se encuentre en la tabla de enrutamiento del protocolo de enrutamiento interno. Esta característica se denomina sincronización y su objetivo es mantener sincronizadas las tablas BGP con las tablas IGP. La sincronización se empleaba antiguamente para evitar que los routers propaguen rutas sin que se conozca su ubicación en su protocolo IGP. Actualmente los vecinos IBGP se configuran en topología fullmesh de modo que ya no es necesario mantener la sincronización.

Finalmente se debe de indicar las redes que el protocolo BGP debe de anunciar. Las redes se pueden configurar bajo los parámetros del protocolo BGP. Sin embargo para nuestro escenario se ha configurado empleando la redistribución de las redes estáticas. Si bien el efecto es el mismo, la configuración de la redistribución es mucho más rápida y sencilla que la configuración manual de redes que BGP debe de publicar.[4]

6.3 Verificación de la configuración de la Red

OPNET® nos proporciona diferentes herramientas para verificar la adecuada configuración de nuestra red de enrutamiento. En OPNET® es posible analizar la tabla de enrutamiento global, y las tablas de enrutamiento BGP e IGP. Adicionalmente a las tablas de enrutamiento, OPNET® nos permite verificar la configuración de un forma visual.

La Figura 2 muestra cómo es posible visualizar qué protocolos de enrutamiento están corriendo en nuestra red. Los protocolos IGP se muestran sobre los enlaces, puesto que su configuración es por interfaz. El enrutamiento BGP se indica en el router al igual que la redistribución debido a que BGP y la redistribución no están asociados a un enlace.

Otro análisis que debemos de realizar para verificar la configuración de BGP consiste en visualizar los vecinos BGP. La Figura 4 muestra los vecinos BGP en donde se ha pintando de un color distinto los vecinos IBGP y los EBGP.


Figura 2 Detalle de los protocolos de enrutamiento

Figura 3 Detalle de las relaciones de vecindad formadas

6.4 Resultados

Después de verificar nuestra red nos planteamos el siguiente escenario. La corporación Google envía tráfico a la corporación Yahoo y la corporación Microsoft. En este caso a pesar que la corporación está conectada con dos ISP solamente empleará uno de sus enlaces para enviar todo este tráfico. El enlace que emplea el sistema autónomo de Google es el que lo conecta con Global Crossing. Por defecto BGP considera la mejor ruta a la ruta que está compuesta por el menor número de sistemas autónomo. Para enviar tráfico de Google hacia Yahoo se considera la ruta a través de Global Crossing al igual que para enviar tráfico de Google a Microsoft.

Si bien estas rutas tienen sentido, debemos observar que todo el trafico de la corporación Google se envía a Global Crossing por lo que su enlace presenta una carga mayor al 75%, este valor se puede observar en la Figura 4, en donde el enlace en mención se indica de color rojo, el cual muestra la sobrecarga del enlace. Podemos verificar que efectivamente todo el tráfico del Google se envía a Global Crossing mostrando las rutas para los destinos Microsoft y Yahoo. La Figura 5 muestra en detalle la ruta desde Google al sistema autónomo de Microsoft.


Figura 4 Demanda de tráfico sin configuración de routemaps


Figura 5 Ruta la red Google a la red Microsoft sin route maps

Si bien la configuración por defecto de BGP funciona adecuadamente, mantener una demanda de tráfico del 75% en un enlace no es muy sensato ni mucho menos si se dispone de otro enlace con un segundo ISP. En este escenario se debe de configurar routemaps de forma que el tráfico hacia la red del Microsoft, se encamine a través del ISP Telmex.

La configuración de routemaps permite encaminar el tráfico hacia el sistema autónomo de Microsoft a través del ISP Telmex, lo cual a su vez descongestiona el enlace entre Google y Global Crossing, esto se muestra en la Figura 6, en donde el color verde del enlace entre Google y Global Crossing se muestra de color verde, este color nos indica que la carga del enlace es menor al 50%.

Finalmente para verificar que efectivamente el tráfico hacia la red de Microsoft no está entrando al sistema autónomo de Global Crossing podemos ver la ruta entre Google y Microsoft. Esta ruta se muestra en la Figura 7, en donde se puede observar que el tráfico hacia la red de Microsoft se encamina a través de Telmex y Telefónica.[5][6]


Figura 6 Demanda de tráfico configurando routemaps

Figura 7 Ruta de la red Google a la red Microsoft configurando routemaps

7. Conclusiones y Futuras Mejoras

Es posible modelar en detalle una red de enrutamiento BGP tanto para su configuración como para su análisis. En este sentido OPNET nos proporciona todas las herramientas necesarias para configurar una red de enrutamiento a gran escala, así como las adecuadas herramientas para su análisis.

La última versión de BGP incorpora nuevas características como es la configuración de confederaciones y reflectores. OPNET tiene es soporte para estas características de BGP por lo que una futura investigación podría consistir en analizar estos escenarios.

OPNET no sólo permite el modelamiento de redes lógicas. También es posible cargar en OPNET la configuración de los equipos de distintos fabricantes como Cisco o Juniper y analizar el comportamiento de nuestra red en distintos escenarios.

8. Referencias

[1] Iljitsch Van Beijnum, Border Gateway Protocol, Building Reliable Networks with the Border Gateway Protocol. Hoboken, New Jersey: O’REILLY, 2002.

[2] Ravi Malhotra, IP Routing. Hoboken, New Jersey: O’REILLY, 2002.

[3] Cisco Systems Learning, Building Scalable Cisco Internetworks, Student Guide Vol1. San Francisco, CA: Cisco Press, 2006.

[4] Cisco Systems Learning, Building Scalable Cisco Internetworks, Student Guide Vol2. San Francisco, CA: Cisco Press, 2006.

[5] William R., Cisco® BGP-4 Command and Configuration Handbook (CCIE Professional Development). San Francisco, CA: Cisco Press, 2006.

[6] Sam Halabi and Danny McPherson, Internet Routing Architectures. San Francisco, CA: Cisco Press, 2005.


[1] Ingeniero Electrónico. Especialista en Comunicaciones Móviles, Teleinformática y Procesamiento Digital de Señales. Docente de la Escuela de Ingeniería Electrónica. Universidad Privada Antenor Orrego.

2 comentarios:

  1. Este paper será expuesto en el INTERCON 2009 que se realizará del 10 al 14 de Agosto del presente año en la ciudad de Arequipa

    ResponderEliminar
  2. Muy bueno ing asi que te todas maneras a alistar maletas para esos dias de Congreso. Chezz tengo que ver mi visa =D tu sabes otro pais =D Salu2

    ResponderEliminar