Presentación Universidad Veracruzana Facultad de Ingeniería en Electrónica y Comunicaciones Región Poza Rica - Tuxpan TEMA IMPLEMENTACIÓN DE UN ROUTER BAJO LINUX PRESENTA: José Vázquez Jerónimo Poza Rica de Hgo. Ver a 31 de julio del 2009 Página INDICE CAPÍTULO I INTRODUCCIÓN 1.1 Justificación 1.2 Objetivo general 1.3 Alcance del trabajo 1.4 Características y funciones especiales CAPITULO II CONCEPTOS BÁSICOS 2.1 Redes e Internet 2.1.1 Definición de RED 2.1.2 Redes de datos 2.1.3 Topologías de red 2.1.3.1 Topologías físicas 2.1.3.2 Topologías lógicas 2.1.4 Historia del Internet 2.2 Redes IP 2.2.1 Introducción 2.2.2 Protocolos TCP/IP 2.2.3 Protocolo IP 2.2.4 Protocolo de control de transporte (TCP) 2.2.5 Direccionamiento IP 2.2.6 Comunicación de redes 2.2.7 Beneficiarse de un protocolo basado en IP 2.3 Router 2.3.1 Enrutamiento estático 2.3.2 Enrutamiento dinámico 2.4 Algoritmos de enrutamiento 2.4.1 Vector distancia 2.4.2 Estado de enlace 2.4.3 Híbridos 2.5 Protocolos de enrutamiento 2.5.1 RIP 2.5.2 Rip Versión 2 2.5.3 IGRP 2.5.4 OSPF 2.6 Linux 2.6.1 Origen y Evolución 2.6.2 Distribuciones de Linux 2.6.3 Características 1 2 2 3 3 4 5 5 5 7 7 9 10 11 11 11 12 12 13 17 18 18 19 21 22 22 24 27 27 27 30 31 32 33 34 35 40 DISEÑO DEL ROUTER Página 42 Diagrama a bloques de un router 3.1.1 Componente internos de un router 3.1.2 Arquitectura genérica de un router 3.1.3 Router por software Requerimientos de sistema 3.2.1 Descripción del software 3.2.2 Descripción del Hardware Casos en los que se requiere un router Aplicaciones propuestas 3.4.1 Enlace de redes 3.4.2 Enlace de subredes 3.4.3 Enlace de VLAN's 43 43 45 46 48 48 51 54 55 55 56 56 CAPÍTULO III 3.1 3.2 3.3 3.4 CAPÍTULO IV IMPLEMENTACIÓN DEL ROUTER 4.1 Instalación del software Quagga 4.1.1 Instalación 4.1.2 Configuración 4.2 Configuración de equipos 4.2.1 Enlace de Redes 4.2.2 Configuración de la PC_ROUTER 4.2.3 Prueba y resultados 4.2.4 Enlace de subredes 4.2.5 Configuración de la PC_ROUTER 4.2.6 Pruebas y resultados 4.2.7 Enlace de VLAN's 4.2.8 Configuración de la PC_ROUTER 4.2.9 Pruebas y resultados 58 59 59 63 64 64 69 72 74 79 82 86 90 93 CAPÍTULO V 95 5.1 CONCLUSIONES Conclusiones BIBLIOGRAFÍA Y REFERENCIAS GLOSARIO 96 97 98 CAPÍTULO I INTRODUCCIÓN 1 1.1 JUSTIFICACIÓN. Hoy en día, las redes TCP/IP (Protocolo de control de Transmisión/Protocolo de Internet) están convergiendo todas ellas en el mundo. Internet ha sido desarrollado en muchos países, en entornos empresariales y en entornos domésticos. Cuando un usuario se conecta a Internet sus paquetes atravesarán muchos routers que utilicen la funcionalidad del routing TCP/IP. En las grandes empresas, adquirir un router comercial quizá no signifique mucho, en cambio para usuarios domésticos o pequeñas empresas representa un gasto mas. Por tal motivo, surge la necesidad de implementar un router básico por medio de una PC (Computadora Personal) que no requiera de gran capacidad de cómputo. Además, que funcione bajo el sistema operativo Linux, haciendo que el router sea seguro, económico, robusto y eficiente. A su vez, también servirá para fomentar el uso de software libre evitando la utilización de copias ilegales de programas propietarios. Un router es un dispositivo de la capa de red del modelo de referencia OSI (Interconexión de Sistemas Abiertos) que usa una o más métricas de enrutamiento para determinar cuál es la ruta óptima a través de la cual se debe enviar el tráfico de red. Es por ello que son primordiales para el buen funcionamiento de una internetwork. Es por ello que en el presente trabajo quedará documentada la forma en que se implementará el router, utilizando una PC, el cual llevará a cabo el enrutamiento de una forma eficaz y será capaz de realizar las funciones básicas de un router convencional. 1.2 OBJETIVO GENERAL. Construir un router básico por medio de una PC bajo el sistema operativo de código abierto (Linux), que sea económico, robusto y eficiente. OBJETIVOS PARTICULARES. 1 Establecer comunicación, a nivel de capa 31, entre distintas redes IP. Establecer comunicación, a nivel de capa 31, entre VLAN's (Red de Área Local Virtual). Elaborar un manual de dicho router. De acuerdo al modelo de referencia OSI, la capa 3 es la capa de red. 2 1.3 ALCANCE DEL TRABAJO. Este trabajo se concentrará en la implementación de un router básico, se instalará y configurará el sistema operativo Linux (Distribución Ubuntu 9.04) así como el programa Quagga versión 0.99.11, el cual es un software libre que funciona como enrutador en los sistemas operativos UNIX. En esta implementación se realizarán únicamente las configuraciones para el enrutamiento estático y el protocolo de enrutamiento RIP (Protocolo de enrutamiento interior) así como las configuraciones para casos prácticos donde se requiera un ruteador con estas características. Este trabajo se realizará utilizando computadoras del centro de computo de la Facultad de Ingeniería en Electrónica y Comunicaciones, en conjunto con el equipo de Cisco (Routers, switches) con que cuenta dicho laboratorio. 1.4 CARACTERÍSTICAS Y FUNCIONES ESENCIALES. Este dispositivo (router) será de bajo costo, eficiente y seguro para realizar el enrutamiento adecuado de los paquetes enlaces de redes, subredes y enlaces de VLAN's donde se llevará a cabo la implementación para mostrar su funcionamiento. El equipo a usar contará con las siguientes características: Procesador PIII a 833MHz. Dos tarjetas de red con conexión RJ-45. Disco duro de 20GB. Memoria RAM de 256MB. Sistema Operativo Linux (Distribución Ubuntu 9.04). Software de enrutamiento Quagga (versión 0.99.11). 3 CAPÍTULO II CONCEPTOS BÁSICOS 4 2.1 REDES E INTERNET 2.1.1 Definición de RED. Una red es un conjunto de computadoras conectadas entre sí, que pueden comunicarse compartiendo datos y recursos sin importar la localización física de los distintos dispositivos. A través de una red se pueden ejecutar procesos en otra computadora o acceder a sus archivos, enviar mensajes, compartir programas, etc. Las computadoras suelen estar conectadas entre sí por cables. Pero si la red abarca una región extensa, las conexiones pueden realizarse a través de líneas telefónicas, microondas, líneas de fibra óptica e incluso satélites. Cada dispositivo activo conectado a la red se denomina nodo. Un dispositivo activo es aquel que interviene en la comunicación de forma autónoma, sin estar controlado por otro dispositivo. Por ejemplo, determinadas impresoras son autónomas y pueden dar servicio en una red sin conectarse a una computadora que las maneje; estas impresoras son nodos de la red. 2.1.2 Redes de datos. Las redes de datos se desarrollaron como consecuencia de aplicaciones comerciales diseñadas para microcomputadoras. Por aquel entonces, las microcomputadoras no estaban conectados entre sí como sí lo estaban las terminales de computadoras mainframe, por lo cual no había una manera eficaz de compartir datos entre varias computadoras. Se tornó evidente que el uso de disquetes para compartir datos no era un método eficaz ni económico para desarrollar la actividad empresarial. La red a pie creaba copias múltiples de los datos. Cada vez que se modificaba un archivo, había que volver a compartirlo con el resto de sus usuarios. Si dos usuarios modificaban el archivo, y luego intentaban compartirlo, se perdía alguno de los dos conjuntos de modificaciones. Las empresas necesitaban una solución que resolviera con éxito los tres problemas siguientes: Como evitar la duplicación de equipos informáticos y de otros recursos. Como comunicarse con eficiencia. Como configurar y administrar una red. Las empresas se dieron cuenta de que la tecnología de networking podía aumentar la productividad y ahorrar gastos. Las redes se agrandaron y extendieron casi con la misma rapidez con la que se lanzaban nuevas tecnologías y productos de red. A principios de la década de 1980 networking se expandió enormemente, aún cuando en sus inicios su desarrollo fue desorganizado. A mediados de la década de 1980, las tecnologías de red que habían emergido se habían creado con implementaciones de hardware y software distintas. Cada empresa dedicada a crear hardware y software para redes utilizaba sus propios estándares corporativos. Estos estándares individuales se desarrollaron como consecuencia de la competencia con otras empresas. Por lo tanto, muchas de las nuevas tecnologías no eran compatibles entre sí. Se tornó cada vez más difícil la comunicación entre redes que usaban distintas especificaciones. Esto a menudo obligaba a deshacerse de los equipos de la antigua red al implementar equipos de red nuevos. 5 Una de las primeras soluciones fue la creación de los estándares de Red de área local (LAN, Local Area Network). Como los estándares LAN proporcionaban un conjunto abierto de pautas para la creación de hardware y software de red, se podrían compatibilizar los equipos provenientes de diferentes empresas. Esto permitía la estabilidad en la implementación de las LAN. En un sistema LAN, cada departamento de la empresa era una especie de isla electrónica. A medida que el uso de las computadoras en las empresas aumentaba, pronto resultó obvio que incluso las LAN no eran suficientes. Lo que se necesitaba era una forma de que la información se pudiera transferir rápidamente y con eficiencia, no solamente dentro de una misma empresa sino también de una empresa a otra. La solución fue la creación de redes de área metropolitana (MAN) y redes de área amplia (WAN). Como las WAN podían conectar redes de usuarios dentro de áreas geográficas extensas, permitieron que las empresas se comunicaran entre sí a través de grandes distancias. Dependiendo del territorio que abarca una red se clasifican en: 1. LAN: Local Area Network. Las LAN permiten a las empresas aplicar tecnología informática para compartir localmente archivos e impresoras de manera eficiente, y posibilitar las comunicaciones internas. Un buen ejemplo de esta tecnología es el correo electrónico. Lo que hacen es conectar los datos, las comunicaciones locales y los equipos informáticos. 2. MAN: Metropolitan Area Network. Es una red que abarca una área metropolitana, como, por ejemplo, una ciudad o una zona suburbana. Una MAN generalmente consta de una o más LAN dentro de un área geográfica común. Por ejemplo, un banco con varias sucursales puede utilizar una MAN. Normalmente, se utiliza un proveedor de servicios para conectar dos o más sitios LAN utilizando líneas privadas de comunicación o servicios ópticos. También se puede crear una MAN usando tecnologías de puente inalámbrico enviando haces de luz a través de áreas públicas. 3. WAN: Wide Area Network. Las WAN interconectan las LAN, que a su vez proporcionan acceso a las computadoras o a los servidores de archivos ubicados en otros lugares. Como las WAN conectan redes de usuarios dentro de un área geográfica extensa, permiten que las empresas se comuniquen entre sí a través de grandes distancias. Las WAN permiten que las computadoras, impresoras y otros dispositivos de una LAN compartan y sean compartidas por redes en sitios distantes. Las WAN proporcionan comunicaciones instantáneas a través de zonas geográficas extensas. El software de colaboración brinda acceso a información en tiempo real y recursos que permiten realizar reuniones entre personas separadas por largas distancias, en lugar de hacerlas en persona. Networking de área amplia también dio lugar a una nueva clase de trabajadores, los empleados a distancia, que no tienen que salir de sus hogares para ir a trabajar. 6 2.1.3 Topologías de red. La topología de red define la estructura de una red. Una parte de la definición topológica es la topología física, que es la disposición real de los cables o medios. La otra parte es la topología lógica, que define la forma en que los hosts acceden a los medios para enviar datos. 2.1.3.1 Topologías físicas. Las topologías físicas más comúnmente usadas son las siguientes: 1. Topología de bus: Una topología de bus usa un solo cable backbone que debe terminarse en ambos extremos. Todos los hosts se conectan directamente a este backbone. Figura 2.1 Topología de bus. 2. Topología de anillo: La topología de anillo conecta un host con el siguiente y al último host con el primero. Esto crea un anillo físico de cable. Figura 2.2 Topología en anillo. 3. Topología en estrella: La topología en estrella conecta todos los cables con un punto central de concentración. Figura 2.3 Topología en estrella. 7 4. Topología en estrella extendida: Una topología en estrella extendida conecta estrellas individuales entre sí mediante la conexión de hubs o switches. Esta topología puede extender el alcance y la cobertura de la red. Figura 2.4 Topología en estrella extendida. 5. Topología jerárquica o en árbol: Una topología jerárquica es similar a una estrella extendida. Pero en lugar de conectar los hubs o switches entre sí, el sistema se conecta a una computadora que controla el tráfico de la topología. Figura 2.5 Topología en árbol. 6. Topología en malla: La topología de malla se implementa para proporcionar la mayor protección posible para evitar una interrupción del servicio. El uso de una topología de malla en los sistemas de control en red de una planta nuclear sería un ejemplo excelente. Como se puede observar en el gráfico, cada host tiene sus propias conexiones con los demás hosts. Aunque la Internet cuenta con múltiples rutas hacia cualquier ubicación, no adopta la topología de malla completa. 8 Figura 2.6 Topología en malla. 2.1.3.2 Topologías lógicas. La topología lógica de una red es la forma real en que los dispositivos de red o hosts se comunican a través del medio. Los dos tipos más comunes de topologías lógicas son broadcast y transmisión de tokens. La topología broadcast simplemente significa que cada host envía sus datos hacia todos los demás hosts del medio de red. No existe una orden que las estaciones deban seguir para utilizar la red. Es por orden de llegada. La segunda topología lógica es la transmisión de tokens. La transmisión de tokens controla el acceso a la red mediante la transmisión de un token electrónico a cada host de forma secuencial. Cuando un host recibe el token, ese host puede enviar datos a través de la red. Si el host no tiene ningún dato para enviar, transmite el token al siguiente host y el proceso se vuelve a repetir. Dos ejemplos de redes que utilizan la transmisión de tokens son Token Ring y la Interfaz de datos distribuida por fibra (FDDI). Arcnet es una variación de Token Ring y FDDI. Arcnet es la transmisión de tokens en una topología de bus. Ejemplos de tecnologías que utilizan transmisión de tokens: Figura 2.7 FDDI (Interfaz de Datos Distribuida por Fibra) y Token Ring. 9 Ejemplo de topología de broadcast: Figura2.8 Ethernet. 2.1.4 Historia del Internet. Internet es un conjunto descentralizado de redes de comunicación interconectadas, que utilizan la familia de protocolos TCP/IP, garantizando que las redes físicas heterogéneas que la componen funcionen como una red lógica única, de alcance mundial. Sus orígenes se remontan a 1969, cuando se estableció la primera conexión de computadoras, conocida como ARPANET, entre tres universidades en California y una en Utah, Estados Unidos. La historia de Internet es compleja. Participaron en ella muchas personas de todo el mundo a lo largo de los últimos 35 años. Se presenta aquí una versión simplificada de la evolución de la Internet. Los procesos de creación y comercialización son mucho más complicados, pero es útil analizar el desarrollo fundamental. A mediados de la década de 1980 los usuarios con computadoras autónomos comenzaron a usar módems para conectarse con otros computadores y compartir archivos. Estas comunicaciones se denominaban comunicaciones punto-a-punto o de acceso telefónico. El concepto se expandió a través del uso de computadoras que funcionaban como punto central de comunicación en una conexión de acceso telefónico. Estas computadoras se denominaron tableros de boletín. Los usuarios se conectaban a los tableros de boletín, donde depositaban y levantaban mensajes, además de cargar y descargar archivos. La desventaja de este tipo de sistema era que había poca comunicación directa, y únicamente con quienes conocían el tablero de boletín. Otra limitación era la necesidad de un módem por cada conexión al computador del tablero de boletín. A medida que crecía el número de usuarios interesados, el sistema no pudo soportar la demanda. A partir de la década de 1960 y durante las décadas de 1970, 1980 y 1990, el Departamento de Defensa de Estados Unidos (DoD) desarrolló redes de área amplia (WAN) de gran extensión y alta confiabilidad, para uso militar y científico. Esta tecnología era diferente de la comunicación punto-a-punto usada por los tableros de boletín. Permitía la internetworking de varias computadoras mediante diferentes rutas. La red en sí determinaba la forma de transferir datos de una computadora a otra. En lugar de poder comunicarse con una sola computadora a la vez, se podía acceder a varias computadoras mediante la misma conexión. La WAN del DoD finalmente se convirtió en la Internet. 10 Uno de los servicios que más éxito ha tenido en Internet ha sido la World Wide Web (WWW, o "la Web"), hasta tal punto que es habitual la confusión entre ambos términos. La WWW es un conjunto de protocolos que permite, de forma sencilla, la consulta remota de archivos de hipertexto. Ésta fue un desarrollo posterior (1990) y utiliza Internet como medio de transmisión. Existen, por tanto, muchos otros servicios y protocolos en Internet, aparte de la Web: el envío de correo electrónico (SMTP), la transmisión de archivos(FTP y P2P), las conversaciones en línea (IRC), la mensajería instantánea y presencia, la transmisión de contenido y comunicación multimedia, telefonía (VoIP), televisión (IPTV), los boletines electrónicos (NNTP), el acceso remoto a otras máquinas (SSH y Telnet) o los juegos en línea. 2.2 REDES IP 2.2.1 Introducción La moderna tecnología digital permite que diferentes sectores, como por ejemplo telecomunicaciones, radio, televisión se fusionen en uno solo. Esta circunstancia, conocida comúnmente como convergencia, está ocurriendo a escala global y está cambiando drásticamente la forma en que se comunican tanto las personas como los dispositivos. En el centro de este proceso, formando la red troncal y haciendo posible la convergencia, están las redes IP. Los servicios y los dispositivos integrados de los consumidores para propósitos como son telefonía, entretenimiento, seguridad e informática personal se están desarrollando constantemente y están siendo diseñados y convergen hacia un estándar de comunicación que es independiente de la conexión física subyacente. La red de cable, por ejemplo, que fue diseñada primero para la transmisión de televisión al consumidor, puede ahora también usarse para enviar mensajes de correo electrónico, navegar por Internet e incluso para monitorizar una cámara de red enviando imágenes en directo desde otro continente. Además, estas características están también disponibles a través de otras redes físicas, por ejemplo la red telefónica, la de telefonía móvil, la de satélites y las redes informáticas. 2.2.2 Protocolos TCP/IP. Internet se desarrolló para brindar una red de comunicación que pudiera continuar funcionando en tiempos de guerra. Aunque la Internet ha evolucionado en formas muy diferentes a las imaginadas por sus arquitectos, todavía se basa en un conjunto de protocolos TCP/IP. El diseño de TCP/IP es ideal para la poderosa y descentralizada red que es Internet. Muchos de los protocolos utilizados hoy en día se diseñaron utilizando el modelo TCP/IP de cuatro capas. Todo dispositivo conectado a Internet que desee comunicarse con otros dispositivos en línea debe tener un identificador denominado dirección IP, porque los Routers utilizan un protocolo de la capa tres del modelo OSI, el protocolo IP, para encontrar la mejor ruta hacia dicho dispositivo. Ipv4, se diseñó antes de que se produjera una gran demanda de direcciones. El crecimiento explosivo de Internet ha amenazado con agotar el suministro de direcciones IP. La división en subredes, la Traducción de direcciones en red (NAT) y el direccionamiento privado se utilizan 11 para extender el direccionamiento IP sin agotar el suministro. Otra versión de IP conocida como IPv6 mejora la versión actual proporcionando un espacio de direccionamiento mucho mayor, integrando o eliminando los métodos utilizados para trabajar con los puntos débiles del IPv4. Además de la dirección física MAC, cada computadora necesita de una dirección IP exclusiva, a veces llamada dirección lógica, para formar parte de la Internet. Varios son los métodos para la asignación de una dirección IP a un dispositivo. Algunos dispositivos siempre cuentan con una dirección estática, mientras que otros cuentan con una dirección temporaria que se les asigna cada vez que se conectan a la red. Cada vez que se necesita una dirección IP asignada dinámicamente, el dispositivo puede obtenerla de varias formas. Para que se produzca un enrutamiento eficiente entre los dispositivos, se deben resolver otros problemas. Por ejemplo, las direcciones IP repetidas pueden detener el eficiente enrutamiento de los datos. 2.2.3 Protocolo IP. El Protocolo de Internet (IP) es el principal protocolo de Internet. El direccionamiento IP permite que los paquetes sean enrutados desde el origen al destino usando la mejor ruta disponible. La propagación de paquetes, los cambios en el encapsulamiento y los protocolos que están orientados a conexión y los que no lo están también son fundamentales para asegurar que los datos se transmitan correctamente a su destino. El Protocolo Internet (IP) es la implementación más popular de un esquema de direccionamiento de red jerárquico. IP es un protocolo de entrega no orientado a la conexión, poco confiable y de máximo esfuerzo. El término no orientado a la conexión significa que no se establece ningún circuito de conexión dedicado antes de la transmisión, como sí lo hay cuando se establece una comunicación telefónica. Los routers determinan la ruta más eficiente para los datos basándose en el protocolo de enrutamiento. Los términos poco confiables y de máximo esfuerzo no implican que el sistema no sea confiable y que no funcione bien; más bien significan que IP no verifica que los datos lleguen a su destino. La verificación de la entrega no siempre se lleva a cabo. 2.2.4 Protocolo de Control de transporte(TCP) El Protocolo de Control del Transporte (Transport Control Protocol, TCP) es el protocolo más común para asegurar que un paquete IP llega de forma correcta e intacto. TCP ofrece la transmisión fiable de datos para los niveles superiores de aplicaciones y servicios en un entorno IP. TCP proporciona fiabilidad en la forma de un envío de paquetes de extremo a extremo orientado a conexión a través de una red interconectada. El primer protocolo de transporte en el suite TCP/IP es el TCP. El TCP es muy sofisticado, garantizando que la entrega de los datos de punta a punta en una manera completamente confiable, en orden y sin duplicación. El TCP es un protocolo orientado a conexión. Lo que significa que una conexión lógica, a veces conocida como un circuito virtual, debe ser establecido entre los dos puntos antes de que la información (datos) pueda ser transmitida o recibida. 12 2.2.5 Direccionamiento IP. Para que dos sistemas se comuniquen, se deben poder identificar y localizar entre sí. Un host puede estar conectado a más de una red. En este caso, se le debe asignar al sistema más de una dirección. Cada dirección identificará la conexión del host a una red diferente. No se suele decir que un dispositivo tiene una dirección sino que cada uno de los puntos de conexión (o interfaces) de dicho dispositivo tiene una dirección en una red. Esto permite que otros hosts localicen el dispositivo en una determinada red. Cada host conectado a una red TCP/IP debe recibir un identificador exclusivo o una dirección IP. Esta dirección, permite que un host localice a otro host en la red. Todas las computadoras también cuentan con una dirección física exclusiva, conocida como dirección MAC. Estas son asignadas por el fabricante de la tarjeta de interfaz de la red. Una dirección IP es una secuencia de unos y ceros de 32 bits. Figura 2.9 Dirección IP en forma binaria. Para que el uso de la dirección IP sea más sencillo, en general, la dirección aparece escrita en forma de cuatro números decimales separados por puntos. Por ejemplo, la dirección IP de un host es 192.168.1.2. Otro host podría tener la dirección 128.10.2.1. Esta forma de escribir una dirección se conoce como formato decimal punteado. En esta notación, cada dirección IP se escribe en cuatro partes separadas por puntos. Cada parte de la dirección se conoce como octeto porque se compone de ocho dígitos binarios. Por ejemplo, la dirección IP 192.168.1.8 sería 11000000.10101000.00000001.00001000 en una notación binaria. La notación decimal punteada es un método más sencillo de comprender que el método binario de unos y ceros. Esta notación decimal punteada también evita que se produzca una gran cantidad de errores por transposición, que sí se produciría si sólo se utilizaran números binarios. Este es uno de los problemas frecuentes que se encuentran al trabajar directamente con números binarios. Las largas cadenas de unos y ceros que se repiten hacen que sea más probable que se produzcan errores de transposición y omisión. Resulta más sencillo observar la relación entre los números 192.168.1.8 y 192.168.1.9, mientras que 11000000.10101000.00000001.00001000 y 11000000.10101000.00000001.00001001 no son fáciles de reconocer. Al observar los binarios, resulta casi imposible apreciar que son números consecutivos. 13 Clases de direcciones de Internet. Para adaptarse a redes de distintos tamaños y para ayudar a clasificarlas, las direcciones IP se dividen en grupos llamados clases. Sin un sistema de clasificación, las 3,720,314,628 direcciones posibles de Internet pueden no tener estructura. Para proveer una estructura, los diseñadores de protocolos de Internet definieron cinco clasificaciones de direcciones de internet,de las cuales tres son conocidas y usadas comúnmente. Grandes Redes, con muchos cientos de miles de hosts conocidas como redes de clase A. Instalaciones de tamaño medio, conocidas como redes de clase B. Redes pequeñas con unos cuantos hosts, conocidas como redes de clase C. Las clases cuatro y cinco están reservadas para usos especiales: Multicast, conocidas como clase D Uso futuro y de prueba, conocidas como clase E Las cinco clases de redes usan la forma básica de direcciones de Internet. Las clases pueden ser determinadas por la observación del primer byte de una dirección de Internet. Figura 2.10 Clases de direcciones IP por tipo de RED. Esto se conoce como direccionamiento classfull. Cada dirección IP completa de 32 bits se divide en la parte de la red y parte del host. Figura 2.11 Direccionamiento clasfull. 14 Direcciones Clase A Un bit o una secuencia de bits al inicio de cada dirección determina su clase. Son cinco las clases de direcciones IP. La dirección Clase A se diseñó para admitir redes de tamaño extremadamente grande, de más de 16 millones de direcciones de host disponibles. Figura 2.12 Dirección de Clase A. Las direcciones IP Clase A utilizan sólo el primer octeto para indicar la dirección de la red. Los tres octetos restantes son para las direcciones host. El primer bit de la dirección Clase A siempre es 0. Con dicho primer bit, que es un 0, el menor número que se puede representar es 00000000, 0 decimal. El valor más alto que se puede representar es 01111111, 127 decimal. Estos números 0 y 127 quedan reservados y no se pueden utilizar como direcciones de red. Cualquier dirección que comience con un valor entre 1 y 126 en el primer octeto es una dirección Clase A. La red 127.0.0.0 se reserva para las pruebas de loopback. Los Routers o las máquinas locales pueden utilizar esta dirección para enviar paquetes nuevamente hacia ellos mismos. Por lo tanto, no se puede asignar este número a una red. Direcciones Clase B. La dirección Clase B se diseñó para cumplir las necesidades de redes de tamaño moderado a grande. Figura 2.13 Dirección de Clase B. 15 Una dirección IP Clase B utiliza los primeros dos de los cuatro octetos para indicar la dirección de la red. Los dos octetos restantes especifican las direcciones del host. Los primeros dos bits del primer octeto de la dirección Clase B siempre son 10. Los seis bits restantes pueden poblarse con unos o ceros. Por lo tanto, el menor número que puede representarse en una dirección Clase B es 10000000, 128 decimal. El número más alto que puede representarse es 10111111, 191 decimal. Cualquier dirección que comience con un valor entre 128 y 191 en el primer octeto es una dirección Clase B. Direcciones de Clase C. El espacio de direccionamiento Clase C es el que se utiliza más frecuentemente en las clases de direcciones originales. Figura 2.14 Dirección de Clase C. Una dirección Clase C comienza con el binario 110. Por lo tanto, el menor número que puede representarse es 11000000, 192 decimal. El número más alto que puede representarse es 11011111, 223 decimal. Si una dirección contiene un número entre 192 y 223 en el primer octeto, es una dirección de Clase C. Direcciones de Clase D. La dirección Clase D se creó para permitir multicast en una dirección IP. Figura 2.15 Arquitectura de dirección de clase D. 16 Una dirección multicast es una dirección exclusiva de red que dirige los paquetes con esa dirección destino hacia grupos predefinidos de direcciones IP. Por lo tanto, una sola estación puede transmitir de forma simultánea una sola corriente de datos a múltiples receptores. El espacio de direccionamiento Clase D, en forma similar a otros espacios de direccionamiento, se encuentra limitado matemáticamente. Los primeros cuatro bits de una dirección Clase D deben ser 1110. Por lo tanto, el primer rango de octeto para las direcciones Clase D es 11100000 a 11101111, o 224 a 239. Una dirección IP que comienza con un valor entre 224 y 239 en el primer octeto es una dirección Clase D. Direcciones de Clase E. Se ha definido una dirección Clase E. Sin embargo, la Fuerza de tareas de ingeniería de Internet (IETF) ha reservado estas direcciones para su propia investigación. Figura 2.16 Arquitectura de dirección de Clase E. Por lo tanto, no se han emitido direcciones Clase E para ser utilizadas en Internet. Los primeros cuatro bits de una dirección Clase E siempre son 1s. Por lo tanto, el rango del primer octeto para las direcciones Clase E es 11110000 a 11111111, o 240 a 255. 2.2.6 Comunicación de redes. Internet se ha convertido en el factor más potente que guía el proceso de convergencia. Esto es debido principalmente al hecho de que la suite del protocolo Internet se ha erigido como un estándar utilizado en casi cualquier servicio. La suite del protocolo Internet está compuesto principalmente por el protocolo Internet (IP), y el protocolo de control del transporte (TCP); consecuentemente el término TCP/IP refiere a la familia del protocolo al completo. Las redes basadas en IP tienen una gran importancia en la sociedad de la información actual. A primera vista esta tecnología puede parecer un poco confusa y abrumadora pero se empezará por presentar los componentes de red subyacentes sobre los que está construida esta tecnología. Una red de conmutación de circuitos crea un circuito cerrado entre dos nodos de la red para establecer una conexión. La conexión establecida está dedicada a la comunicación entre los dos nodos. Uno de los problemas inmediatos de los circuitos dedicados es la pérdida de capacidad, 17 dado que casi ninguna transmisión usa el 100% del circuito todo el tiempo. Además, si un circuito falla en el medio de una transmisión, la conexión entera se pierde y debe establecerse una nueva. Por otra parte las redes basadas en IP utilizan la tecnología de conmutación de paquetes, que usa la capacidad disponible de una forma mucho más eficiente y que minimiza el riesgo de posibles problemas como la desconexión. Los mensajes enviados a través de una red de conmutación de paquetes se dividen primero en paquetes que contienen la dirección de destino. Entonces, cada paquete se envía a través de la red y cada nodo intermedio o router de la red determina a donde va el paquete. Un paquete no necesita ser enrutado sobre los mismos nodos que los otros paquetes relacionados. De esta forma, los paquetes enviados entre dos dispositivos de red pueden ser transmitidos por diferentes rutas en el caso de que se caiga un nodo o no funcione adecuadamente. 2.2.7 Beneficiarse de un protocolo basado en IP. La suite del protocolo Internet junta todos los protocolos de nivel de transmisión en una única arquitectura de protocolos estandarizada, que puede ser utilizada por las aplicaciones para diferentes propósitos de comunicación. Como resultado cualquier aplicación que soporte TCP/IP también podrá comunicar sobre cualquier red basada en IP. Debería ser fácil ver que esta arquitectura estandarizada ha revolucionado las comunicaciones de redes. Un número creciente de aplicaciones que transfieren texto, sonido, imágenes en directo y más, utilizan la arquitectura basada en IP. Todas estas aplicaciones y protocolos de aplicaciones constituyen el nivel de aplicación y ofrecen el cuarto y último bloque de construcción para las comunicaciones digitales con éxito . 2.3 ROUTER. Definición. Un router es un tipo especial de computador. Cuenta con los mismos componentes básicos que un PC estándar de escritorio. Cuenta con una CPU, memoria, bus de sistema y distintas interfaces de entrada/salida. Sin embargo, los routers están diseñados para cumplir algunas funciones muy específicas, por ejemplo, los routers conectan y permiten la comunicación entre dos redes y determinan la mejor ruta para la transmisión de datos a través de las redes conectadas. Un Router es un dispositivo de la capa de red que usa la distancia administrativa y una o más métricas de enrutamiento para determinar cuál es la ruta óptima a través de la cual se debe enviar el tráfico de red. Las métricas de enrutamiento son valores que se utilizan para determinar las ventajas de una ruta sobre otra. Los routers son la columna vertebral de las grandes redes internas y de Internet. Operan en la capa 3 del modelo OSI, tomando decisiones basadas en las direcciones de red. Las dos funciones principales de un router son la determinación de la mejor ruta y la conmutación de paquetes a la interfaz correcta. Los routers logran esto por medio de la creación de tablas de enrutamiento y el intercambio de información de red de estas tablas con otros routers. 18 Figura 2.17 Router Cisco 2500. 2.3.1 Enrutamiento estático. Definición de enrutamiento. El enrutamiento no es otra cosa que instrucciones para ir de una red a otra. Estas instrucciones, también conocidas como rutas, pueden ser dadas a un router por otro de forma dinámica, o pueden ser asignadas al router por el administrador de forma estática. El enrutamiento es el proceso de hallar la ruta más eficiente desde un dispositivo a otro. El dispositivo primario que realiza el proceso de enrutamiento es el Router. Figura 2.18 Enrutamiento. El router usa su tabla de enrutamiento para determinar la mejor ruta para reenviar el paquete. Cuando el router recibe un paquete, examina su dirección IP de destino y busca la mejor coincidencia con una dirección de red en la tabla de enrutamiento del router. La tabla de enrutamiento también incluye la interfaz que se utilizará para enviar el paquete. Cuando se encuentra una coincidencia, el router encapsula el paquete IP en la trama de enlace de datos de la interfaz de salida. Luego, el paquete se envía hacia su destino. Sin embargo, en caso de que no exista ninguna coincidencia en tabla de enrutamiento del router, éste utilizará la ruta por defecto. Las rutas por defecto se usan para enviar paquetes a destinos que no coinciden con los de ninguna de las otras rutas en la tabla de enrutamiento. Generalmente, los routers están configurados con una ruta por defecto para el tráfico que se dirige a la Internet, ya que a menudo resulta poco 19 práctico e innecesario mantener rutas hacia todas las redes de la Internet. En realidad, una ruta por defecto es una ruta estática especial. Además, las tablas de enrutamiento incluyen información acerca del costo total de la ruta (definido por su métrica) y la dirección lógica del primer router en la ruta hacia cada una de las redes indicadas en la tabla. Figura 2.23 Componentes de la métrica de enrutamiento. Las métricas pueden calcularse basándose en una sola o en múltiples características de la ruta. Las métricas usadas habitualmente por los routers son: Número de saltos: Número de routers por los que pasará un paquete. Coste: Valor arbitrario, basado generalmente en el ancho de banda, el coste económico u otra medida. Ancho de banda: Capacidad de datos de un enlace. Retraso:Cantidad de actividad existente en un recurso de red, como un router o un enlace. Carga:Cantidad de actividad existente en un recurso de red, como un router o un enlace. Fiabilidad:Se refiere al valor de errores de bits de cada enlace de red. MTU:Unidad máxima de transmisión. Longitud máxima de trama en octetos que puede ser aceptada por todos los enlaces de la ruta. La comunicación entre los dispositivos de diferentes redes sólo se logra gracias a la capacidad del router de enrutar paquetes entre las redes. Introducción al enrutamiento estático. El enrutamiento es el proceso usado por el router para enviar paquetes a la red de destino. Un router toma decisiones en función de la dirección de IP de destino de los paquetes de datos. Todos los dispositivos intermedios usan la dirección de IP de destino para guiar el paquete hacia la dirección correcta, de modo que llegue finalmente a su destino. A fin de tomar decisiones correctas, los routers deben aprender la ruta hacia las redes remotas. Cuando se usa enrutamiento estático, el administrador de la red configura manualmente la información acerca de las redes remotas. 20 Debido a que las rutas estáticas deben configurarse manualmente, cualquier cambio en la topología de la red requiere que el administrador agregue o elimine las rutas estáticas afectadas por dichos cambios. En una red de gran tamaño, el mantenimiento manual de las tablas de enrutamiento puede requerir de una enorme cantidad de tiempo de administración. En redes pequeñas, con pocos cambios, las rutas estáticas requieren muy poco mantenimiento. Debido a los requisitos de administración adicionales, el enrutamiento estático no tiene la escalabilidad o capacidad de adaptarse al crecimiento de las redes. Aún en redes de gran tamaño, a menudo se configuran rutas estáticas, cuyo objetivo es satisfacer requerimientos específicos, junto con un protocolo de enrutamiento dinámico. Fig 2.19 Enrutamiento estático Como se puede observar en la figura 2.19 este es un ejemplo de enrutamiento estático y esto se verifica con el comando show ip route, como se muestra a continuación: PC_ROUTER# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B - BGP, > - selected route, * - FIB route K>* C>* S>* C>* 169.254.0.0/16 is directly connected, eth2 192.168.1.0/24 is directly connected, eth2 192.168.2.0/24 [1/0] via 192.168.15.2, eth0 192.168.15.0/24 is directly connected, eth0 2.3.2 Enrutamiento dinámico. En las redes con rutas múltiples para el mismo destino, las decisiones de enrutamiento están controladas de manera dinámica mediante protocolos de enrutamiento; estos intentan determinar la mejor ruta para un destino concreto y se comunican con los protocolos de enrutamiento de otros sistemas para asegurar que todos los sistemas tienen una información actualizada de cuáles son las mejores rutas. Los protocolos para esta comunicación se denominan protocolos de enrutamiento. 21 Un protocolo de enrutamiento es el esquema de comunicación entre routers. Un protocolo de enrutamiento permite que un router comparta información con otros routers, acerca de las redes que conoce así como de su proximidad a otros routers. La información que un router obtiene de otro, mediante el protocolo de enrutamiento, es usada para crear y mantener las tablas de enrutamiento. La tabla de enrutamiento contiene las redes conocidas y los puertos asociados a dichas redes. Los routers utilizan protocolos de enrutamiento para administrar la información recibida de otros routers, la información que se conoce a partir de la configuración de sus propias interfaces, y las rutas configuradas manualmente. Los protocolos de enrutamiento aprenden todas las rutas disponibles, incluyen las mejores rutas en las tablas de enrutamiento y descartan las rutas que ya no son válidas. El router utiliza la información en la tabla de enrutamiento para enviar los paquetes de datos. El algoritmo de enrutamiento es fundamental para el enrutamiento dinámico. Al haber cambios en la topología de una red, por razones de crecimiento, reconfiguración o falla, la información conocida acerca de la red también debe cambiar. La información conocida debe reflejar una visión exacta y coherente de la nueva topología. Cuando todos los routers de una red se encuentran operando con la misma información, se dice que la red ha hecho convergencia. Una rápida convergencia es deseable, ya que reduce el período de tiempo durante el cual los routers toman decisiones de enrutamiento erróneas. Los Routers se comunican entre sí para mantener sus tablas de enrutamiento por medio de la transmisión de mensajes de actualización del enrutamiento. Algunos protocolos de enrutamiento transmiten estos mensajes de forma periódica, mientras que otros lo hacen cuando hay cambios en la topología de la red. Algunos protocolos transmiten toda la tabla de enrutamiento en cada mensaje de actualización, y otros transmiten sólo las rutas que se han modificado. Un Router crea y guarda su tabla de enrutamiento, analizando las actualizaciones de enrutamiento de los Routers vecinos. 2.4 ALGORITMOS DE ENRUTAMIENTO. 2.4.1 Vector distancia. Los algoritmos de enrutamiento basados en el vector-distancia también se conocen como algoritmos Bellman-Ford. Cada router recibe una tabla de enrutamiento de los routers conectados directamente a él. El router B recibe información del router A. El router B agrega un cifra de vector-distancia (por ejemplo: el número de saltos), la cual aumenta el vector-distancia. Luego el router B pasa esta nueva tabla de enrutamiento a su otro vecino, el router C. Este mismo proceso, paso a paso, se repite en todas direcciones entre routers vecinos. 22 Figura 2.20 Conceptos de vector-distancia. El algoritmo finalmente acumula información acerca de las distancias de la red, las cual le permite mantener una base de datos de la topología de la red. Sin embargo, los algoritmos de vector-distancia no permiten que un router conozca la topología exacta de una red, ya que cada router solo ve a sus routers vecinos. Cada router que utiliza el enrutamiento por vector-distancia comienza por identificar sus propios vecinos. Figura 2.21 Descubrimiento de la red por vector-distancia. La interfaz que conduce a las redes conectadas directamente tiene una distancia de 0. A medida que el proceso de descubrimiento de la red avanza, los routers descubren la mejor ruta hacia las redes de destino, de acuerdo a la información de vector-distancia que reciben de cada vecino. Por ejemplo, el router A aprende acerca de otras redes según la información que recibe del router B. Cada una de las redes de destino en la tabla de enrutamiento tiene una cifra total de vectordistancia, la cual indica la distancia a la que se encuentra dicha red por una ruta determinada. Las actualizaciones de las tablas de enrutamiento se producen al haber cambios en la topología. Al igual que en el proceso de descubrimiento de la red, las actualizaciones de cambios de topología avanzan paso a paso, de un router a otro. 23 Los algoritmos de vector-distancia hacen que cada router envíe su tabla de enrutamiento completa a cada uno de sus vecinos adyacentes. Figura 2.22 Cambios de la topología por vector-distancia. La métrica que usa el algoritmo vector distancia para calcular sus rutas es el número de saltos y cuanto menor sea, mejor es la ruta. 2.4.2 Estado de enlace. Los algoritmos de estado del enlace también se conocen como algoritmos Dijkstra o SPF ("primero la ruta más corta"). Los protocolos de enrutamiento de estado del enlace mantienen una base de datos compleja, con la información de la topología de la red. El algoritmo de vectordistancia provee información indeterminada sobre las redes lejanas y no tiene información acerca de los routers distantes. El algoritmo de enrutamiento de estado del enlace mantiene información completa sobre routers lejanos y su interconexión. El enrutamiento de estado del enlace utiliza: Publicaciones de estado del enlace (LSA): una publicación del estado del enlace (LSA) es un paquete pequeño de información sobre el enrutamiento, el cual es enviado de router a router. Base de datos topológica: una base de datos topológica es un cúmulo de información que se ha reunido mediante las LSA. Algoritmo SPF: el algoritmo “primero la ruta más corta” (SPF) realiza cálculos en la base de datos, y el resultado es el árbol SPF. Tablas de enrutamiento: una lista de rutas e interfaces conocidas. 24 Figura 2.23 Conceptos acerca del estado de enlace. Proceso de descubrimiento de la red para el enrutamiento de estado del enlace: El intercambio de LSAs se inicia en las redes conectadas directamente al router, de las cuales tiene información directa. Cada router, en paralelo con los demás, genera una base de datos topológica que contiene todas la información recibida por intercambio de LSAs. El algoritmo SPF determina la conectividad de la red. El router construye esta topología lógica en forma de árbol, con él mismo como raíz, y cuyas ramas son todas las rutas posibles hacia cada subred de la red. Luego ordena dichas rutas, y coloca las ruta más cortas primero (SPF). El router elabora una lista de las mejores rutas a las redes de destino, y de las interfaces que permiten llegar a ellas. Esta información se incluye en la tabla de enrutamiento. También mantiene otras bases de datos, de los elementos de la topología y de los detalles del estado de la red. Figura2.24 Detección de red por estado de enlace. El router que primero conoce de un cambio en la topología envía la información al resto de los routers, para que puedan usarla para hacer sus actualizaciones y publicaciones. 25 Figura 2.25 Cambios de la topología de estado de enlace Esto implica el envío de información de enrutamiento, la cual es común a todos los routers de la red. Para lograr la convergencia, cada router monitorea sus routers vecinos, sus nombres, el estado de la interconexión y el costo del enlace con cada uno de ellos. El router genera una LSA, la cual incluye toda esa información, junto con información relativa a nuevos vecinos, los cambios en el costo de los enlaces y los enlaces que ya no son válidos. La LSA es enviada entonces, a fin de que los demás routers la reciban. Cuando un router recibe una LSA, actualiza su base de datos con la información más reciente y elabora un mapa de la red con base en los datos acumulados, y calcula la ruta más corta hacia otras redes mediante el algoritmo SPF. Cada vez que una LSA genera cambios en la base de datos, el algoritmo de estado del enlace (SPF) vuelve a calcular las mejores rutas, y actualiza la tabla de enrutamiento. Puntos de interés acerca del estado del enlace: Carga sobre el procesador. Requisitos de memoria. Utilización del ancho de banda. Los routers que usan protocolos de estado del enlace requieren de más memoria y exigen mas esfuerzo al procesador, que los que usan protocolos de enrutamiento por vector-distancia. Los routers deben tener la memoria suficiente para almacenar toda la información de las diversas bases de datos, el árbol de topología y la tabla de enrutamiento. La avalancha de LSAs que ocurre al activar un router consume una porción del ancho de banda. Durante el proceso de descubrimiento inicial, todos los routers que utilizan protocolos de enrutamiento de estado del enlace envían LSAs a todos los demás routers. Esta acción genera un gran volumen de tráfico y reduce temporalmente el ancho de banda disponible para el tráfico enrutado de los usuario. Después de esta disminución inicial de la eficiencia de la red, los protocolos de enrutamiento del estado del enlace generalmente consumen un ancho de banda mínimo, sólo para enviar las ocasionales LSAs que informan de algún cambio en la topología. 26 Figura2.26 Cuestiones del estado del enlace. 2.4.3 Híbridos. Son algoritmos que toman las características más sobresalientes del vector de distancia y la del estado de enlace. Estos protocolos utilizan la métrica de los protocolos vector distancia como métrica, sin embargo utilizan en las actualizaciones de los cambios de topología bases de datos de topología, al igual que los protocolos de estado del enlace, un ejemplo característicos de este protocolo híbridos es el EIGRP (Protocolo de enrutamiento de gateway interior avanzado). 2.5 PROTOCOLOS DE ENRUTAMIENTO. 2.5.1 RIP (Routing Information Protocol) RIP es uno de los protocolos de routing más antiguos y utiliza algoritmos de vector distancia para calcular sus rutas. Este tipo de algoritmos para calcular rutas fueron utilizados durante décadas en sus distintas variantes. De hecho los algoritmos de vector distancia utilizados por RIP están basados en aquellos algoritmos utilizados por ARPANET en el año 1969. Los protocolos vector distancia fueron descritos académicamente por: R.E. Bellman, L.R. Ford Jr y D.R. Fulkerson. La primera organización que implementó un protocolo de vector distancia fue la compañía Xerox en su protocolo GIP (Gateway Information Protocol), este protocolo estaba incluido dentro de la arquitectura XNS (Xerox Network Systems). GIP se utilizaba para intercambiar información de routing entre redes o sistemas autónomos no adyacentes. Pero Xerox había implementado su propio protocolo propietario. Poco después la Universidad de California en Berkeley creo una variante llamada “routed”, esta variante del GIP introdujo novedades como modificación del campo de direccionamiento, que se consiguió más flexible, también se añadió un temporizador que limitaba a 30 segundos el tiempo máximo de actualización, es decir, el tiempo máximo permitido sin saber la información de los vecinos, y por supuesto se integró dentro de UNIX, con lo cual pasó a ser abierto. El protocolo RIP, tal cual lo conocemos actualmente, fue descrito por primera vez en el RFC 1058 por C. Hedrick de la Rutgers University en Junio de 1988, y posteriormente fue mejorado en la RFC 2453 por G.Malkin de la compañía Bay Networks en Noviembre de 1998. Desde el año 1998 el protocolo RIP se ha mantenido estable, aunque posteriormente salió la versión para Ipv6, la cual tiene su propio capítulo. 27 Introducción Técnica. RIP es un protocolo de enrutamiento de vector distancia muy extendido en todo el Mundo por su simplicidad en comparación a otros protocolos como podrían ser OSPF, ISIS o BGP. RIP se trata de un protocolo abierto a diferencia de otros protocolos de routing como por ejemplo IGRP y EIGRP propietarios de Cisco Systems o VNN propietario de Lucent Technologies. RIP está basado en el algoritmo de Bellman Ford y busca su camino óptimo mediante el conteo de saltos, considerando que cada router atravesado para llegar a su destino es un salto. RIP, al contar únicamente saltos, como cualquier protocolo de vector distancia no tiene en cuenta datos tales como por ejemplo ancho de banda o congestión del enlace. RFC 1058: Routing Information Protocol En Junio de 1988, C. Hedrick publicó el RFC 1058 correspondiente a RIP versión 1, y lo encabezó de la siguiente manera: “This RFC describes an existing protocol for exchanging routing information among gateways and other hosts. It is intended to be used as a basis for developing gateway software for use in the Internet community. Distribution of this memo is unlimited.” “Este RFC describe un protocolo de enrutamiento para el intercambio de información entre routers y otros hosts. Se pretende que sea la base para el desarrollo de software de routers para su uso en la comunidad de Internet. La distribución de este protocolo es ilimitada.” El protocolo RIPv1, al igual que sus antecesores propietarios es un protocolo de routing que fue diseñado para funcionar como protocolo vector distancia. RIPv1 fue diseñado para funcionar en redes pequeñas de pasarela interior. RIPv1 está basado según el autor del RFC en la versión 4.3 de la distribución de UNIX de Berkeley. En cuanto al protocolo tenemos que tener en cuenta las tres limitaciones que C. Hedrick describe en la página 3 del RFC 1058: El protocolo no permite más de quince saltos, es decir, los routers más alejados de la red no pueden distar más de 15 saltos, si esto ocurriera no sería posible utilizar RIP en esta red. Problema de “conteo al infinito”. Este problema puede surgir en situaciones atípicas en las cuales se puedan producir bucles, ya que estos bucles pueden producir retardos e incluso congestión en redes en las cuales el ancho de banda sea limitado. El autor del RFC 1058 también comenta que en la realidad esto soló puede ser un problema en redes lentas, pero el problema existe. El protocolo utiliza métricas fijas para comparar rutas alternativas, lo cual implica que este protocolo no es adecuado para escoger rutas que dependan de parámetros a tiempo real como por ejemplo retardo o carga de enlace. 28 Además de los problemas que cita el autor del protocolo se debe tener en cuenta que el protocolo RIPv1 es un protocolo classfull, con lo que existe el problema de la discontinuidad de redes. El problema de la discontinuidad de redes se produce en el momento que una red dividida en varias subredes y no pueden ser sumarizadas en una misma ruta, ya que físicamente cada una de las subredes está ubicada en un lugar que depende de una interfaz distinta una subred de la otra. Pero claro, en la época en la que se escribió este RFC, que era en 1988 estos problemas no estaban contemplados y con el tiempo se detectó este problema, esta es una de las razones de la existencia de RIPv2. Tabla de enrutamiento de RIP. En el RFC 1058 el autor menciona que la base de datos de enrutamiento de cada uno de los hosts de la red que están utilizando el protocolo RIP tiene los siguientes campos. Dirección de destino. Siguiente salto. Interfaz de salida del router. Métrica. Temporizador. Para obtener esta tabla, el protocolo RIP utiliza el siguiente procedimiento para mantener actualizada la tabla de enrutamiento de cada uno de los nodos o routers de la red: Mantener una tabla con una entrada por cada posible destino en la red. La entrada debe contener la distancia D al destino, y el siguiente salto S del router a esa red. Conceptualmente también debería de existir una entrada para el router mismo con métrica 0, pero esta entrada no existirá. Periódicamente se enviará una actualización de la tabla a cada uno de los vecinos del router mediante la dirección de broadcast. Esta actualización contendrá toda la tabla de enrutamiento. Cuando llegue una actualización desde un vecino S, se añadirá el coste asociado a la red de S, y el resultado será la distancia D'. Se comparará la distancia D' y si es menor que el valor actual de D a esa red entonces se sustituirá D por D'. El protocolo RIP como ya se ha dicho mantiene una tabla de enrutamiento, como cualquier protocolo de enrutamiento, a continuación se describe cada uno de los campos de la tabla. Dirección de destino La dirección de destino en la tabla de enrutamiento de RIP será la red de destino, es decir, la red final a la que se desea acceder, esta red en la versión 1 del protocolo RIP tendrá que ser obligatoriamente clasfull, es decir, no se permite el subneting en RIP versión 1, por ejemplo si la red de destino es la 192.168.4.0, sabemos que al ser RIP classfull la red de destino tiene 256 direcciones, de las cuales 254 son útiles, una vez descontada la dirección de red y la dirección de broadcast, ya que la red 192.168.4.0 es de clase C, es decir que los 24 primeros bits de la dirección IP identifican la red y los 8 últimos identifican los hosts dentro de la red. 29 Siguiente salto El siguiente salto lo definimos como el siguiente router por el que nuestro paquete va a pasar para llegar a su destino, este siguiente salto será necesariamente un router vecino del router origen. Interfaz de salida del router Se entiende por interfaz de salida del router al interfaz al cual está conectado su siguiente salto. Métrica La métrica utilizada por RIP como ya se ha comentado consiste en el conteo de saltos, como métrica se considera cada salto como una única unidad, independientemente de otros factores como tipo de interfaz o congestión de la línea. La métrica total consiste en el total de saltos desde el router origen hasta el router destino, con la limitación que 16 saltos se considera destino inaccesible, esto limita el tamaño máximo de la red. Temporizador El temporizador indica el tiempo transcurrido desde que se ha recibido la última actualización de esa ruta. RIP utiliza dos tiempos importantes, el tiempo de actualización que se estable en 30 segundos, el tiempo de desactivación que se establece en 180 segundos y el tiempo de borrado se establece en 240 segundos. El tiempo de actualización se considera al tiempo máximo a transcurrir entre el envío de los mensajes de actualización de los vecinos. El tiempo de desactivación se considera al tiempo máximo que puede esperar un router sin recibir actualizaciones de vecino, una vez pasado este tiempo, el vecino que no ha enviado la actualización se considera que ha caído y con lo cual el router no está activo en la red, se establece la métrica a valor 16, es decir destino inalcanzable. El tiempo de borrado implica que una vez transcurrido ese tiempo todas las rutas de ese router supuestamente caído son eliminadas de la tabla de routing. 2.5.2 RIP Versión 2. Diez años después de que se publicará la versión 1 de RIP se publicó la versión 2, por G.Malkin de la compañía Bay Networks en Noviembre de 1998 en el RFC 2453. RIPv2 establece una serie de mejoras muy importantes con su antecesor que son las siguientes: Autenticación para la transmisión de información de RIP entre vecinos. Utilización de máscaras de red, con lo que ya es posible utilizar VLSM. Utilización de máscaras de red en la elección del siguiente salto, lo que permite la utilización de arquitecturas de red discontinuas. Envío de actualizaciones de tablas de RIP mediante la dirección multicast 224.0.0.9. Inclusión de RIPv2 en los bloques de información de gestión (MIB). Por supuesto además de estas mejoras RIPv2 permite la redistribución de rutas externas aprendidas por otros protocolos de enrutamiento. Pero RIPv2 aunque haya tenido una serie de mejoras muy importantes desde la versión 1 del protocolo sigue teniendo una serie de carencias como: 30 Limitación en el tamaño máximo de la red. Con RIPv2 sigue existiendo la limitación de 15 saltos como tamaño máximo de la red, lo cual implica que no se puede utilizar RIPv2 en redes de un tamaño más grande. Conteo a infinito, RIPv2 sigue sin solucionar el problema del conteo hasta el infinito si se forman bucles, aunque existan técnicas externas al protocolo como pueden ser la inversa envenenada y el horizonte dividido, técnicas brevemente descritas Por William Stalling en su libro “comunicaciones y redes de computadora”, las cuales consisten básicamente en no anunciar una ruta por el interfaz por el que se ha recibido en algún momento. Métricas estáticas que pueden ser cambiadas por el administrador de la red, pero que no dan ninguna información del estado de la red. RIPv2 sólo permite al igual que su antecesor una ruta por cada destino, lo cual implica la imposibilidad de realizar balanceos de carga por ejemplo, lo que redunda en una pobre y poco óptima utilización de los enlaces. RIPv2 es un protocolo que al igual que su antecesor genera muchísimo tráfico al reenviar toda la tabla de enrutamiento en cada actualización, con la carga de tráfico que ello conlleva. 2.5.3 IGRP (Interior Gateway Routing Protocol). IGRP (Protocolo de enrutamiento de Gateway interior) es un protocolo de enrutamiento por vector-distancia desarrollado por Cisco. El IGRP se desarrolló específicamente para ocuparse de los problemas relacionados con el enrutamiento de grandes redes que no se podían administrar con protocolos como, por ejemplo, RIP. IGRP puede elegir la ruta disponible más rápida basándose en el retardo, el ancho de banda, la carga y la confiabilidad. IGRP también posee un límite máximo de número de saltos mucho mayor que RIP. IGRP utiliza sólo enrutamiento con clase. Los routers que usan los protocolos de vector-distancia deben enviar toda o parte de su tabla de enrutamiento en un mensaje de actualización de enrutamiento, a intervalos regulares y a cada uno de sus routers vecinos. A medida que se propaga la información de enrutamiento por toda la red, los routers realizan las siguientes funciones: Identificar nuevos destinos. Conocer fallas. IGRP envía actualizaciones de enrutamiento a intervalos de 90 segundos, las cuales publican las redes de un sistema autónomo en particular. Las características claves de IGRP son las siguientes: La versatilidad para manejar automáticamente topologías indefinidas y complejas. La flexibilidad necesaria para segmentarse con distintas características de ancho de banda y retardo. La escalabilidad para operar en redes de gran tamaño. Por defecto, el protocolo IGRP de enrutamiento usa el ancho de banda y el retardo como métrica. Además, IGRP puede configurarse para utilizar una combinación de variables para calcular una métrica compuesta. Estas variables incluyen: 31 Ancho de banda. Retardo. Carga. Confiabilidad. 2.5.4 OSPF (Open Shortest Path First). OSPF (Primero la ruta libre más corta ) es un protocolo de enrutamiento de estado de enlace desarrollado por la Fuerza de tareas de ingeniería de Internet (IETF) en 1988. El OSPF se elaboró para cubrir las necesidades de las grandes internetworks escalables que RIP no podía cubrir. OSPF es uno de los protocolos del estado de enlace más importantes. OSPF se basa en las normas de código abierto, lo que significa que muchos fabricantes lo pueden desarrollar y mejorar. Es un protocolo complejo cuya implementación en redes más amplias representa un verdadero desafío. En comparación con RIP v1 y v2, OSPF es el IGP preferido porque es escalable. RIP se limita a 15 saltos, converge lentamente y a veces elige rutas lentas porque pasa por alto ciertos factores críticos como por ejemplo el ancho de banda a la hora de determinar la ruta. Una desventaja de usar OSPF es que solo soporta el conjunto de protocolos TCP/IP. OSPF ha superado estas limitaciones y se ha convertido en un protocolo de enrutamiento sólido y escalable adecuado para la redes modernas. OSPF se puede usar y configurar en una sola área en las redes pequeñas. También se puede utilizar en las redes grandes. Las redes OSPF grandes utilizan un diseño jerárquico. Varias áreas se conectan a un área de distribución o a un área 0 que también se denomina backbone. El enfoque del diseño permite el control extenso de las actualizaciones de enrutamiento. La definición de área reduce el gasto de procesamiento, acelera la convergencia, limita la inestabilidad de la red a un área y mejora el rendimiento. Los routers de estado de enlace identifican a los routers vecinos y luego se comunican con los vecinos identificados. OSPF reúne la información de los routers vecinos acerca del estado de enlace de cada router OSPF. Con esta información se inunda a todos los vecinos. Un router OSPF publica sus propios estados de enlace y traslada los estados de enlace recibidos. Los routers procesan la información acerca de los estados de enlace y crean una base de datos del estado de enlace. Cada router del área OSPF tendrá la misma base de datos del estado de enlace. Por lo tanto, cada router tiene la misma información sobre el estado del enlace y los vecinos de cada uno de los demás routers. Cada router luego aplica el algoritmo SPF a su propia copia de la base de datos. Este cálculo determina la mejor ruta hacia un destino. El algoritmo SPF va sumando el costo, un valor que corresponde generalmente al ancho de banda. La ruta de menor costo se agrega a la tabla de enrutamiento, que se conoce también como la base de datos de envío. 32 Cada router mantiene una lista de vecinos adyacentes, que se conoce como base de datos de adyacencia. La base de datos de adyacencia es una lista de todos los routers vecinos con los que un router ha establecido comunicación bidireccional. Esto es exclusivo de cada router. Para reducir la cantidad de intercambios de la información de enrutamiento entre los distintos vecinos de una misma red, los routers de OSPF seleccionan un router designado (DR) y un router designado de respaldo (BDR) que sirven como puntos de enfoque para el intercambio de información de enrutamiento. OSPF selecciona las rutas en base al costo, lo que se relaciona con la velocidad. Cuanto mayor sea la velocidad, menor será el costo de OSPF del enlace. OSPF selecciona la ruta más rápida y sin bucles del árbol SPF como la mejor ruta de la red. OSPF garantiza un enrutamiento sin bucles. Los protocolos de vector-distancia pueden provocar bucles de enrutamiento. Si los enlaces son poco estables, la inundación de la información del estado de enlace puede provocar publicaciones del estado de enlace no sincronizadas y decisiones incoherentes entre los routers. OSPF ofrece soluciones a los siguientes problemas: Velocidad de convergencia Admite la máscara de subred de longitud variable(VLSM) Tamaño de la red Selección de ruta Agrupación de rutas. Después de la convergencia OSPF inicial, el mantenimiento de un estado convergente es más rápido porque se inundan los otros routers del área con los cambios en la red. OSPF selecciona la ruta mediante el costo, una métrica basada en el ancho de banda. Todos los routers OSPF deben obtener información acerca de la redes de cada router en su totalidad para calcular la ruta más corta. Éste es un algoritmo complejo. Por lo tanto, OSPF requiere routers más poderosos. 2.6 LINUX Linux es un sistema operativo, compatible con Unix. Dos características muy peculiares lo diferencian del resto de sistemas que se puede encontrar en el mercado, la primera, es que es libre, esto significa que no se tiene que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente. El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas / bibliotecas que hacen posible su utilización. Muchos de estos programas y bibliotecas han sido posibles gracias al proyecto GNU, por esto mismo, muchos llaman a Linux, GNU/Linux, para resaltar que el sistema lo forman tanto el núcleo como gran parte del software producido por el proyecto GNU. 33 Linux se distribuye bajo la GNU General Public License (Licencia Pública General) por lo tanto, el código fuente tiene que estar siempre accesible y cualquier modificación ó trabajo derivado tiene que tener esta licencia. El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de la que partió la idea de este proyecto, a principios de la década de los noventa. Hoy en día, grandes compañías, como IBM, SUN, HP, Novell y RedHat, entre otras muchas, aportan a Linux grandes ayudas tanto económicas como de código. Día a día, más y más programas y aplicaciones están disponibles para este sistema, y la calidad de los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen acompañados del código fuente y se distribuyen generalmente bajo los términos de licencia de la GNU General Public License. Más y más casas de software comercial distribuyen sus productos para Linux y la presencia del mismo en empresas aumenta constantemente por la excelente relación calidad-precio que se consigue con Linux. Las arquitecturas en las que en un principio se puede utilizar Linux son Intel 386-, 486-, Pentium, Pentium Pro, Pentium II/III/IV, IA-64, Amd 5x86, Amd64, Cyrix y Motorola 68020,IBM S/390, zSeries, DEC Alpha, ARM, MIPS, PowerPC, SPARC y UltraSPARC. Además no es difícil encontrar nuevos proyectos portando Linux a nuevas arquitecturas. 2.6.1 Origen y Evolución. Linux hace su aparición a principios de la década de los noventa, era el año 1991 y por aquel entonces un estudiante de informática de la Universidad de Helsinki, llamado Linus Torvalds empezó, como una afición y sin poder imaginar a lo que llegaría este proyecto, a programar las primeras lineas de código de este sistema operativo al que llamaría más tarde Linux. Este comienzo estuvo inspirado en MINIX, un pequeño sistema Unix desarrollado por Andrew Tanenbaum. Linus nunca anuncio la versión 0.01 de Linux (agosto/septiembre 1991), esta versión no era ni siquiera ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumía que uno tenia acceso a un sistema Minix para su compilación. El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, versión 0.02. Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los términos soporte, documentación , distribución, etc. Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, más y más programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y después de sucesivas revisiones, Linus incremento el número de versión hasta la 0.95 (Marzo 1992), la primera capaz de ejecutar el sistema X-windows. Más de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0.0 no llego hasta el 14 de marzo de 1994. 34 El 9 de Mayo 1996, Tux fue propuesto como mascota oficial de Linux. Figura2.28 Tux (Mascota y símbolo que identifica a Linux). El 9 de junio de 1996 fue lanzada la serie 2.0.x, la 2.2.x no llegó hasta el 25 de enero de 1999 y la 2.4.x hasta el 4 de enero del 2001. El 17 de diciembre del 2003 fue lanzada la serie actual del núcleo, la 2.6.x y el desarrollo de Linux sigue avanzando día a día con la meta de perfeccionar y mejorar el sistema. 2.6.2 Distribuciones de Linux. Linux es un sistema de libre distribución por lo que se puede encontrar todos los archivos y programas necesarios para su funcionamiento en multitud de servidores conectados a Internet. La tarea de reunir todos los archivos y programas necesarios, así como instalarlos en tu sistema y configurarlo, puede ser una tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo "sucio" para nuestro beneficio y comodidad. Una distribución no es otra cosa, que una recopilación de programas y archivos, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a través de Internet, o comprando los CD's de las mismas, los cuales contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa de instalación que nos ayudara en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de bajarse sus distribuciones, vía FTP (sin cargo alguno). Existen muchas y variadas distribuciones creadas por diferentes empresas y organizaciones a unos precios bastantes asequibles (si se compran los CDs, en vez de bajársela vía FTP), las cuales se deben poder encontrar en tiendas de informática, librerías. En el peor de los casos siempre se puede encargarlas directamente por Internet a las empresas y organizaciones que las crean. A veces, las revistas de informática sacan una edición bastante aceptable de alguna distribución. A continuación se mencionan algunas de las principales distribuciones linux del mercado: REDHAT ENTERPRISE. Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas. Red Hat es una distribución Linux creada por Red Hat, que fue una de las más populares en los entornos de usuarios domésticos. 35 Es una de las distribuciones Linux de "mediana edad". La versión 1.0 fue presentada el 3 de noviembre de 1994. No es tan antigua como la distribución Slackware, pero ciertamente es más antigua que muchas otras. Fue la primera distribución que usó RPM como su formato de paquete, y en un cierto plazo ha servido como el punto de partida para varias otras distribuciones, tales como la orientada hacia PCs de escritorio Mandrake Linux, Yellow Dog Linux, la cual se inició desde Red Hat Linux con soporte para Power PC, y ASPlinux (Red Hat Linux con mejor soporte para caracteres no-Latinos). Desde el 2003, Red Hat ha desplazado su enfoque hacia el mercado de los negocios con la distribución Red Hat Enterprice Linux. FEDORA. Esta es una distribución patrocinada por Red Hat y soportada por la comunidad. Fácil de instalar y buena calidad. El objetivo del proyecto Fedora es conseguir un sistema operativo de propósito general y basado exclusivamente en software libre con el apoyo de la comunidad Linux. Los ingenieros de Red Hat continúan participando en la construcción y desarrollo de este proyecto e invitan y fomentan la participación de miembros de la comunidad Linux. Originalmente, Red Hat Linux fue desarrollado exclusivamente dentro de Red Hat, con la sola realimentación de informes de usuarios que recuperaban fallos y contribuciones a los paquetes de software incluidos; y no contribuciones a la distribución como tal. Esto cambió el 22 de septiembre de 2003, cuando Red Hat Linux se derivó dando origen al Proyecto Fedora que está orientado a la comunidad de usuarios y así mismo, sirve de base para que Red Hat Enterprise Linux se desarrolle con más efectividad y adopte las nuevas características que se añaden en el Proyecto Fedora. DEBIAN. Otra distribución con muy buena calidad. El proceso de instalación es quizás un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances. Debian o Proyecto Debian es una comunidad conformada desarrolladores y usuarios que pretenden crear y mantener un sistema operativo GNU basado en software libre precompilado y empaquetado en un formato sencillo en múltiples arquitecturas y en varios núcleos. Nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos comerciales y empresariales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructura. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque si permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia. OPENSUSE Versión libre de la distribución comercial SuSE. El proyecto openSUSE es un programa de y para la comunidad, patrocinado por Novell. Al tiempo que promueve el uso de Linux, openSUSE.org proporciona un acceso libre y sencillo a la 36 distribución de Linux número uno en facilidad de uso, SUSE Linux. OpenSuSE ofrece a desarrolladores y usuarios todo lo que necesitan para empezar a trabajar con Linux. Los objetivos del proyecto openSUSE son: Convertir a SUSE Linux en la distribución Linux mas fácil de obtener para cualquier persona y en la plataforma de código abierto más extendida. Crear un entorno de colaboración en la comunidad de código abierto para hacer SUSE Linux la mejor distribución a escala mundial para usuarios con experiencia y recién llegados al mundo de Linux. Simplificar y abrir los procesos de desarrollo y construcción de paquetes con el fin de que SUSE Linux sea la primera elección como plataforma para programadores de Linux y desarrollo de aplicaciones. SLACKWARE Esta distribución es de las primeras que existió. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribución instalada en su ordenador en algún momento. UBUNTU Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME. Ubuntu es una distribución Linux que ofrece un sistema operativo predominantemente enfocado a ordenadores de escritorio aunque también proporciona soporte para servidores. Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad en la restricción de uso, los lanzamientos regulares (cada 6 meses) y la facilidad en la instalación. Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth. El nombre de la distribución proviene del concepto zulú y xhosa de ubuntu, que significa "humanidad hacia otros" o "yo soy porque nosotros somos". MANDRIVA Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamó Mandrake Linux. Facilidad de uso para todos los usuarios. Mandriva Linux es una distribución aparecida en julio de 1998 propiedad de Mandriva, enfocada a principiantes o usuarios medios. La primera edición se basó en Red Hat Linux (versión 5.1) y escogió el entorno gráfico de KDE (versión 1.0). Desde entonces ha seguido su propio camino, separado de Red Hat y ha incluido numerosas herramientas propias o modificadas, fundamentalmente dirigidas a facilitar la configuración del sistema. Mandrake (su anterior nombre) también es conocida por compilar sus paquetes con optimizaciones para procesadores Pentium y superiores, incompatibles con versiones más antiguas tales como 386 y 486. 37 El instalador de Mandriva Linux es, probablemente, el más amigable de entre las diferentes distribuciones de Linux, a coste de sus errores, en el cual entre los más destacados es la forma poco amigable de leer las dependencias insatisfechas de una por vez, y la única unidad reconocida es la lectora /hdc. El instalador está traducido a más de 70 idiomas. Mandriva Linux emplea Mandrake Control Center para la administración de Linux, en lugar de un editor de texto para cambiar aspectos de la configuración. Tiene muchos programas conocidos como Drakes o Draks, llamados de forma colectiva drakxtools, para configurar diferentes ajustes. Los ejemplos incluyen MouseDrake para configurar el ratón, DiskDrake para configurar las particiones de disco y drakconnect para configurar una conexión de red. Están escritos usando GTK y Perl, y la mayoría de ellos pueden ser ejecutados tanto en modo gráfico como en modo texto GENTOO Gentoo Linux es una distribución GNU/Linux orientada a usuarios con cierta experiencia en este sistema operativo. La piedra angular de Gentoo es Portage, un sistema de distribución de software basado en Ports de BSD. Portage consiste en un árbol local, que contiene las descripciones de los paquetes de software, así como los scripts necesarios para instalarlos. Cuando un paquete de software es seleccionado para instalar, Portage descarga los archivos con el código fuente y los compila al momento, generando los archivos ejecutables y documentación correspondiente. Es posible especificar las optimizaciones a emplear en la compilación, así como utilizar un parámetro llamado USE. Éste parámetro sirve para indicar la compatibilidad con otros programas que se desea aplicar al programa que se está compilando, y en consecuencia, se instalarán automáticamente los paquetes que proporcionan dicha compatibilidad. La posibilidad de indicar las optimizaciones junto con el uso del parámetro USE, permiten crear una distribución a medida, según el uso que se le vaya a dar al ordenador. De todas formas, Portage también soporta la instalación de binarios sin problemas, ya sean paquetes precompilados por el mismo sistema o paquetes que se encuentran exclusivamente en formato binario. Portage permite mantener el software actualizado y controlar las versiones que se encuentran instaladas, proporcionando unas posibilidades similares a las de APT de Debian. Una ventaja de Gentoo es que las versiones de software se actualizan de forma continua, a diferencia de otras distribuciones donde los paquetes pasan meses en comprobación. Ello permite tener un sistema con las últimas versiones de todo el software. Por el contrario, aunque es algo poco habitual, a veces el uso de versiones del software insuficientemente comprobadas da como resultado bugs que pueden suponer un riesgo para servidores de producción. Otra desventaja de este sistema es que poner en marcha un sistema completo, o actualizar un sistema que ha estado desatendido durante una temporada, puede requerir una respetable cantidad de tiempo (horas o incluso días si el ordenador es muy antiguo), mientras se descargan y compilan todos los paquetes nuevos. Aun así, Gentoo permite por regla general una actualización sin problemas, a diferencia de otras distribuciones donde puede llegar a resultar complicado o casi imposible. Esta actualización también es posible a partir de binarios precompilados, lo que requiere menos tiempo. 38 Red hat Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas. Fedora Esta es una distribución patrocinada por RedHat y soportada por la comunidad. Fácil de instalar y buena calidad. Debian Otra distribución con muy buena calidad. El proceso de instalación es quizás un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances. OpenSuSE El proyecto openSUSE es un programa de y para la comunidad, patrocinado por Novell. Al tiempo que promueve el uso de Linux, openSUSE.org proporciona un acceso libre y sencillo a la distribución de Linux número uno en facilidad de uso, SUSE Linux. Slackware Esta distribución es de las primeras que existió. Tuvo un periodo en el cual no se actualizó muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribución instalada en su ordenador en algún momento. Ubuntu Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME. Mandriva Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios. Gentoo Linux Es una distribución GNU/Linux orientada a usuarios con cierta experiencia en este sistema operativo. Tabla 2.1 Distribuciones de Linux. 39 2.6.3 Características. Estas son algunas de la características más importantes de GNU/LINUX. Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa. Multiusuario:Muchos usuarios usando la misma maquina al mismo tiempo. Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su utilización en otras plataformas, como amd64, Alpha, ARM, MIPS, PowerPC y SPARC Multiprocesador: Soporte para sistemas con más de un procesador esta disponible para Intel, AMD y SPARC. Funciona en modo protegido 386. Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente. Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición en el sistema de archivos, con la posibilidad de añadir más áreas de intercambio sobre la marcha. La memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas. Librerías compartidas de carga dinámica (DLL's) y librerías estáticas. Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo. Compatible con POSIX, System V y BSD a nivel fuente. Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. 40 Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. Control de tareas POSIX Pseudo-terminales (pty's). Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria. Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente. Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de vídeo). Se crean dinámicamente y puedes tener hasta 64. Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no es necesario ningún comando especial para usar la partición MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT, FAT32 (WNT, Windows 95/98) se encuentra soportado desde la versión 2.0 del núcleo y el NTFS de WNT desde la versión 2.2 (Este ultimo solo en modo lectura). Soporte en sólo lectura de HPFS-2 del OS/2 2.1 Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM. TCP/IP, incluyendo ssh, ftp, telnet, NFS, etc. Appletalk. Software cliente y servidor Netware. Lan Manager / Windows Native (SMB), software cliente y servidor. Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc. 41 CAPÍTULO III DISEÑO DEL ROUTER 42 3.1 DIAGRAMA A BLOQUES DE UN ROUTER. 3.1.1 Componentes internos de un Router. Aunque la arquitectura de un router cambia de un modelo a otro, las siguiente gráficas muestran los componentes internos de un Router Cisco, aunque los esquemas pueden generalizarse para otros tipos de routers de otros fabricantes. En la figura 3.1 se muestra el diagrama a bloques del router Cisco 2500 Series Modelo 2503. Figura 3.1 Componentes internos de un Router. Figura3. 2 Componentes internos de un router. 43 Los componentes básicos se describen a continuación: CPU: La unidad central de procesamiento. (CPU) ejecuta las instrucciones del sistema operativo. Estas funciones incluyen la inicialización del sistema, las funciones de enrutamiento y el control de la interfaz de red. La CPU es un microprocesador. Los grandes routers pueden tener varias CPU. En el ejemplo anterior el router utiliza un microprocesador 68030 de Motorola. RAM: La memoria de acceso aleatorio (RAM) se usa para la información de las tablas de enrutamiento, el caché de conmutación rápida, la configuración actual y las colas de paquetes. En la mayoría de los routers, la RAM proporciona espacio de tiempo de ejecución para el software IOS de Cisco y sus subsistemas. Por lo general, la RAM se divide de forma lógica en memoria del procesador principal y memoria compartida de entrada/salida (I/O). Las interfaces de almacenamiento temporal de los paquetes comparten la memoria de I/O compartida. El contenido de la RAM se pierde cuando se apaga la unidad. En general, la RAM es una memoria de acceso aleatorio dinámica (DRAM) y puede actualizarse agregando más Módulos de memoria en línea doble (DIMM). Memoria flash: La memoria flash se utiliza para almacenar una imagen completa del software IOS de Cisco. Normalmente el router adquiere el IOS por defecto de la memoria flash. Estas imágenes pueden actualizarse cargando una nueva imagen en la memoria flash. El IOS puede estar comprimido o no. En la mayoría de los routers, una copia ejecutable del IOS se transfiere a la RAM durante el proceso de arranque. En otros routers, el IOS puede ejecutarse directamente desde la memoria flash. Agregando o reemplazando los módulos de memoria en línea simples flash (SIMMs) o las tarjetas PCMCIA se puede actualizar la cantidad de memoria flash. NVRAM: La memoria de acceso aleatorio no volátil (NVRAM) se utiliza para guardar la configuración de inicio. En algunos dispositivos, la NVRAM se implementa utilizando distintas memorias de solo lectura programables, que se pueden borrar electrónicamente (EEPROM). En otros dispositivos, se implementa en el mismo dispositivo de memoria flash desde donde se cargó el código de arranque. En cualquiera de los casos, estos dispositivos retienen sus contenidos cuando se apaga la unidad. Buses: La mayoría de los routers contienen un bus de sistema y un bus de CPU. El bus de sistema se usa para la comunicación entre la CPU y las interfaces y/o ranuras de expansión. Este bus transfiere los paquetes hacia y desde las interfaces. La CPU usa el bus para tener acceso a los componentes desde el almacenamiento del router. Este bus transfiere las instrucciones y los datos hacia o desde las direcciones de memoria especificadas. ROM: La memoria de solo lectura (ROM) se utiliza para almacenar de forma permanente el código de diagnóstico de inicio (Monitor de ROM). Las tareas principales de la ROM son el diagnóstico del hardware durante el arranque del router y la carga del software IOS de Cisco desde la memoria flash a la RAM. Algunos routers también tienen una versión más básica del IOS que puede usarse como fuente alternativa de arranque. Las memorias ROM no se pueden borrar. Sólo pueden actualizarse reemplazando los chips de ROM en los tomas. 44 Interfaces: Las interfaces son las conexiones de los routers con el exterior. Los tres tipos de interfaces son la red de área local (LAN), la red de área amplia (WAN) y la Consola/AUX. Las interfaces LAN generalmente constan de uno de los distintos tipos de Ethernet o Token Ring. Estas interfaces tienen chips controladores que proporcionan la lógica necesaria para conectar el sistema a los medios. Las interfaces LAN pueden ser configuraciones fijas o modulares. Las interfaces WAN incluyen la Unidad de servicio de canal (CSU) integrada, la Red digital de servicios integrados (ISDN) y la serial. Al igual que las interfaces LAN, las interfaces WAN también cuentan con chips controladores para las interfaces. Las interfaces WAN pueden ser de configuraciones fijas o modulares. Los puertos de Consola/AUX son puertos seriales que se utilizan principalmente para la configuración inicial del router. Estos puertos no son puertos de networking. Se usan para realizar sesiones terminales desde los puertos de comunicación del computador o a través de un módem. Fuente de alimentación: La fuente de alimentación brinda la energía necesaria para operar los componentes internos. Los routers de mayor tamaño pueden contar con varias fuentes de alimentación o fuentes modulares. En algunos de los routers de menor tamaño, la fuente de alimentación puede ser externo al router. 3.1.2 Arquitectura genérica de un Router Se puede identificar 4 componentes principales. Puertos de entrada: Implementan la funcionalidad de la capa física de terminar un enlace físico entrante hacia un router. Realizan la funcionalidad de la capa de enlace de datos precisa para interoperar con la funcionalidad en la otra parte del enlace entrante. También realizar una función de búsqueda y encaminamiento, de forma que un paquete encaminado hacia el entramado de conmutación del router emerja en el puerto de salida correcto. Los paquetes de control se encaminan desde el puerto de entrada al procesador de rutado. En la práctica los diversos puertos se reciben conjuntamente sobre una sola tarjeta de línea dentro del router. Entramado de conmutación: El entramado de conmutación conecta los puertos de entrada del router a sus puertos de salida. Este entramado de conmutación se encuentra alojado por completo en el router (una red dentro de un router de red). Puertos de salida: Cada puerto de salida almacena los paquetes que han sido encaminados hacia él provenientes del entramado de conmutación, y así, se puede transmitir los paquetes hacia el enlace saliente. El puerto de salida efectúa, así, la función inversa en la capa de enlace de datos y en la capa física que el puerto de entrada. Cuando un enlace es bidireccional, cada puerto de salida sobre el enlace se empareja usualmente con el puerto de entrada para ese enlace sobre la misma tarjeta de línea. Procesador de rutado: El procesador de ruteo ejecuta los protocolos de enrutamiento, mantiene la información de ruteo y las tablas de enrutamiento, y se lleva a cabo las funciones de gestión de red dentro del router. 45 3.1.3 Router por software. Ahora existe la posibilidad de apoyarse en un hardware común (PC casero), opción que puede ser la más adecuada para redes locales o redes con un tráfico limitado, y usar software que implemente los protocolos de red. Para dar funcionalidad de enrutador a una computadora con un sistema operativo UNIX como pueden ser GNU/LINUX o BSD, es suficiente con añadirle al menos dos interfaces de red y activar el soporte de enrutamiento en el kernel. Si se desea proporcionarle la funcionalidad de un enrutador completo, y que soporte diversos protocolos de red, se pueden utilizar paquetes como: Quagga. Vyatta XORP Zebra Con estos softwares se puede implementar routers y firewalls (propios de la capa 3) pero con la potencia y versatilidad de cualquier harware convencional, incluyendo la posibilidad de configurarlos por vía web. La computadora personal se basa típicamente en la Arquitectura Von Newman que establece una CPU que es interconectada con una memoria única para programas y datos a través de un bus. El esquema completo de la computadora junto con el software que permite funciones de ruteo se muestra a continuación: Interfaz Shell Telnet Control del sistema Perifericos Bus del sistema Quagga BUS de CPU Microprocesador Puertos seriales Ethernet 0 Ethernet 1 ROM Disco Duro RAM Figura3.3 Componentes internos de una computadora. Como se puede observar en la figura 3.3 los componentes internos de un computadora son básicamente parecidos a los de un router, solo que este dispositivo realiza la función principal de interconectar redes. 46 Principales softwares de ruteo. Quagga Quagga en una suite de software libre para poder usar la familia de sistemas operativos Unix como enrutadores. Esta diseñado especialmente para NetBSD, FreeBSD, Solaris y Linux. Actúa como conmutador del GNU Zebra, el cual a su vez es un demonio que se encarga de manejar las tablas de ruteo del núcleo. Algunas de sus funciones están mejor adaptadas a Linux, es decir, lo maneja completamente como el demonio conmutador que es. En el caso de BSDs, hay unas cuantas funciones que no maneja, es decir, no puede aprovechar las bendiciones del mismo. Vyatta Vyatta esta bajo Linux , preparado especialmente para realizar funciones de ruteo, vpn, firewall e incluso para trabajar como maquina virtual Vyatta introduce la innovación en la industria de las redes aprovechando el rendimiento de los procesadores x86 con tecnología multi-núcleo; siendo así tiene mayor capacidad de procesamiento que los procesadores de los routers cisco en los cuales corre el IOS cisco, así como el poder del software libre. Ofrece un router con software libre llamado Vyatta OFR (abierto, router flexible) que se basa en XORP. El OFR soporta los mismos protocolos de enrutamiento de Ipv4 unicast de XORP como; OSPFv2, BGPv4 y RIPv2 además de rutas estáticas. Ipv6 multicast no está disponible en la primera versión, pero se ha previsto para futuras versiones. La OFR también soporta muchas características adicionales que la XORP no soporta como son; VRRP, SNMP, DHCP, firewall y NAT, también incluye tanto una CLI común para todas las funciones, así como una web de GUI. XORP El objetivo de XORP es desarrollar un software de enrutamiento de código abierto que sea estable y completamente funcional para su uso en la producción, y lo suficientemente flexible y extensible para permitir la investigación de las redes. XORP actualmente implementa protocolos de enrutamiento de Ipv4 e Ipv6 y un único medio para configurarlos. XORP es gratuita. Esta cubierta por una licencia estilo BSD y está a disposición del público para la investigación, uso y desarrollo. Zebra Zebra es un software de enrutamiento de disponibilidad pública que es distribuido bajo la licencia GNU, Licencia General Pública. Zebra soporta el protocolo BGP-4 como se describe en el RFC1771 (A Border Gateway Protocol 4), así como RIPv1, RIPv2 y OSPFv2. Zebra es único en el diseño porque tiene un proceso por cada protocolo que corre en un kernel de UNIX. El software Zebra ofrece modularidad, desde cada modulo de protocolo se puede actualizar o configurar independientemente de los restantes que están corriendo. 47 3.2 REQUERIMIENTOS DEL SISTEMA. 3.2.1 Descripción del software. Sistema Operativo. Para la implementación del router fue necesario instalar un sistema operativo de la familia UNIX en este caso Linux, que es un software libre de código abierto. Se escogió la distribución Ubuntu 9.04 dada su facilidad de uso, como para la instalación de los paquetes que cada usuario requiere. Figura 3.4 Logo de Ubuntu. Ubuntu es un sistema operativo de código abierto desarrollado en torno al kernel Linux. La filosofía Ubuntu se basa en los siguientes principios: que el software debe ser gratuito, que la gente debe poder usar el software en su lengua materna y debe poder hacerlo independientemente de cualquiera sean sus limitaciones; además, la gente debe ser libre de personalizar o modificar el software del modo que crea más conveniente. El proyecto Ubuntu está totalmente basado en los principios del desarrollo de software de código abierto; se anima a que la gente use, mejore y distribuya software de código abierto. La filosofía del software libre establece que la gente pueda usar el software de todas las formas que considere "socialmente útiles": el código está disponible para poder descargarlo, modificarlo y usarlo del modo que más le convenga. Por tanto, además del hecho de que el software libre normalmente puede conseguirse sin coste alguno, esta libertad también tiene ventajas técnicas: al desarrollar programas puede utilizarse el trabajo de los demás y construir a partir de éste. Con el software no libre, esto no es posible, y para desarrollar un programa, se tiene que empezar desde cero. Por esta razón, el desarrollo de software libre es rápido y eficiente. Ubuntu se diferencia de las otras distribuciones porque esta basado en Debian (una de las distribuciones más respetadas, tecnológicamente avanzadas y mejor soportadas), Ubuntu pretende crear una distribución que proporcione un sistema GNU/Linux actualizado y coherente para la informática de escritorio y servidores. Ubuntu incluye una cuidadosa selección de los paquetes de Debian, y mantiene su poderoso sistema de gestión de paquetes que nos permite instalar y desinstalar programas de una forma fácil y limpia. A diferencia de la mayoría de las distribuciones, que vienen con una enorme cantidad de software que pueden o no ser de utilidad, la lista de paquetes de Ubuntu se ha reducido para incluir solo aplicaciones importantes y de alta calidad. 48 Software de enrutamiento Quagga. Quagga es un software de ruteo basado en servicios de TCP/IP; soporta RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4 y BGP-4+, incluyendo el comportamiento especial de BGP Route Reflector y Route Server. Quagga también soporta protocolos de ruteo basados en IPV6. El demonio de SNMP soporta el protocolo SMUX; Quagga proporciona también las MIBs de ruteo correspondientes. Quagga utiliza una arquitectura de software avanzada con un motor multiservidor de ruteo. Quagga provee una interfaz de usuario de linea de comandos para cada protocolo de ruteo, aceptando comandos cliente comunes. Este diseño permite agregar a Quagga nuevos demonios de protocolo fácilmente. La biblioteca de Quagga puede usarse en un programa como interfaz de usuario cliente. Quagga es software oficial GNU y se distribuye bajo la Licencia General Publica de GNU. ¿Que es Quagga? Quagga actúa como enrutador dedicado. Una máquina con Quagga intercambia información de ruteo con otros enrutadores utilizando protocolos de ruteo; Quagga utiliza esa información para actualizar las tablas de ruteo. Permite cambiar dinámicamente la configuración de los protocolos de ruteo. La información de las tablas de ruteo puede verse desde la interfaz de terminal de Quagga. Quagga puede configurar las banderas (flags) de las interfaces, sus direcciones, rutas estáticas y otros. En una red pequeña o en una conexión xDLS bastara levantar las interfaces, introducir algunos comandos sobre rutas estáticas y/o rutas por defecto. En una red mas grande o en una red con cambios frecuentes Quagga permite utilizar protocolos de ruteo dinámico como RIP, OSPF, o BGP. Un enrutador UNIX se configura mediante los comandos ifconfig y route. El estado de las rutas se puede examinar con netstat. El uso de estos comandos para configuración requiere privilegios de supervisor. En Quagga existen dos modos de usuario: normal y enable (habilitado). El usuario de modo normal solo puede ver el estado del sistema; el usuario de modo enable puede cambiar la configuración del sistema. Este sistema de administración independiente de las cuentas de usuario de UNIX facilita la tarea del administrador. Arquitectura del sistema. Quagga esta compuesto por varios demonios específicos que colaboran en la construcción de las tablas de ruteo; el demonio zebra actúa como gestor de ruteo del núcleo (kernel). Un demonio es un proceso capaz de atender solicitudes de servicio. Un proceso es un programa en ejecución. El demonio ripd maneja el protocolo RIP, el demonio ospfd maneja OSPFv2, bgpd maneja BGPD-4, el demonio zebra actúa como gestor de la tabla de ruteo del kernel, realizando los cambios en las tablas y redistribuyendo las rutas entre los diferentes protocolos de ruteo. No es necesario que estos demonios se estén ejecutando en una misma máquina. Es posible ejecutar varias instancias del mismo demonio de ruteo en la misma máquina. 49 El siguiente diagrama muestra la arquitectura de Quagga. Figura 3.5: Arquitectura del sistema Quagga. Cada demonio tiene su propio archivo de configuración e interfaz de terminal. Para evitar la incomodidad de configurar individualmente cada uno de estos demonios existe una interfaz shell integrada llamada vtysh. Vtysh se conecta con cada uno de los demonios mediante conexiones socket de Unix, actuando como proxy para la entrada de usuario: de esta forma se pueden configurar diversos protocolos desde la misma interfaz. Quagga corre bajo diversas versiones de Unix: Linux, FreeBSD, NetBSD, OpenBSD y Solaris. Soporta IPv6 en varias de estas plataformas. La página oficial de Quagga está en “http://www.quagga.net/” Plataformas soportadas. Actualmente Quagga soporta GNU/Linux, BSD y Solaris, Abajo se menciona una lista de las versiones de SO en los que Quagga funciona. Portar Quagga a otras plataformas no es muy difícil, las dependencias de plataforma en el código sólo existen en el demonio zebra, los demonios de protocolos son independientes a la plataforma. GNU/Linux 2.0.37 GNU/Linux 2.2.x GNU/Linux 2.3.x FreeBSD 2.2.8 FreeBSD 3.x FreeBSD 4.x NetBSD 1.4 OpenBSD 2.5 Solaris 2.6 Solaris 7 Varias pilas de IPv6 están actualmente en desarrollo. Zebra soporta las siguientes pilas de IPv6. Para BSD se recomienda la pila KAME IPv6. La pila Solaris Ipv6 no está soportada aún. 50 Cómo conseguir Quagga Quagga sigue siendo un software en versión beta y no existe todavía una versión oficial. Quagga actualmente esta distribuida desde el FTP GNU y está replicado en varios sitios espejo. Se tiene planeado que Quagga-1.0 sea la primera versión. Web oficial de Zebra “http://www.gnu.org/software/zebra/zebra.html” La web oficial de Zebra está localizada en: “http://www.zebra.org” En fecha de esta escritura, el desarrollo por zebra.org de Zebra se ha ralentizado. Mucho trabajo ha sido realizado por terceras personas para intentar mantener libre de bugs el código actual de Zebra, como resultado del cual es la bifurcación de Zebra llamada Quagga: “http://www.quagga.net/” 3.2.2 Descripción de Hardware. Características del Equipo. Para la implementación del router Quagga se utilizará una computadora con las siguientes características: Requerimientos mínimos Procesador Pentium a 200Mhz Memoria Ram de 64 MB Espacio libre en disco de 500MB Usados Ideales Procesador Pentium III a 833Mhz Memoria RAM de 256MB Disco duro de 20GB Procesador de 1Ghz Memoria RAM de 512Mhz Disco duro de 40GB Tabla 3.1 Requerimientos de hardware para instalar Quagga. Medios de transmisión. La comunicación a través de una red es transportada por un medio. El medio proporciona el canal por el cual viaja el mensaje desde el origen hasta el destino. Las redes modernas utilizan principalmente tres tipos de medios para interconectar los dispositivos y proporcionar la ruta por la cual pueden transmitirse los datos. Estos medios son: Hilos metálicos dentro de los cables (cable coaxial, cable UTP). Fibras de vidrio o plásticas (cables fibra óptica). Transmisión inalámbrica. 51 La codificación de señal que se debe realizar para que el mensaje sea transmitido es diferente para cada tipo de medio. En los hilos metálicos, los datos se codifican dentro de impulsos eléctricos que coinciden con patrones específicos. Las transmisiones por fibra óptica dependen de pulsos de luz, dentro de intervalos de luz visible o infrarroja. En las transmisiones inalámbricas, los patrones de ondas electromagnéticas muestran los distintos valores de bits. Los diferentes tipos de medios de red tienen diferentes características y beneficios. No todos los medios de red tienen las mismas características ni son adecuados para el mismo fin. Los criterios para elegir un medio de red son: La distancia en la cual el medio puede transportar exitosamente una señal. El ambiente en el cual se instalará el medio La cantidad de datos y la velocidad a la que se deben transmitir. El costo del medio y de la instalación. Figura 3.6 Cables UTP. Figura 3.7 Distintos cables coaxiales Figura 3.8 Cables de fibra óptica. 52 Figura 3.9 Tipos y estándares de medios inalámbricos Interfaces. Es importante mencionar las interfaces porque proporcionan la conexión física entre los diferentes dispositivos. Por ejemplo: Tarjeta de interfaz de red (NIC): una NIC o adaptador LAN proporciona la conexión física con la red en la computadora personal u otro dispositivo host. El medio que conecta la computadora personal con el dispositivo de red se inserta directamente en la NIC. Figura 3.10 Tarjeta de interfaz de red. 53 Puerto físico: Conector o toma en un dispositivo de red en el cual el medio se conecta con un host o con otro dispositivo de red. Figura 3.11 Puertos de un switch. Interfaz: Puertos especializados de un dispositivo de internetworking que se conecta con redes individuales. Puesto que los routers se utilizan para interconectar redes, los puertos de un router se conocen como interfaces de red. Figura 3.12 Ejemplo de interfaces de dispositivos. 3.3 CASOS EN LOS QUE SE REQUIERE UN ROUTER. El uso del router en las redes de datos es muy importante ya que representa el centro de la red . En pocas palabras, un router conecta una red con otra red. Por lo tanto, el router es responsable de la entrega de paquetes a través de diferentes redes. El destino de un paquete IP puede ser un servidor Web en otro país o un servidor de correo electrónico en la red de área local. Es responsabilidad de los routers entregar esos paquetes a su debido tiempo. La efectividad de las comunicaciones de internetwork depende, en gran medida, de la capacidad de los routers de enviar paquetes de la manera más eficiente posible. En la actualidad, se están incorporando routers a los satélites en el espacio. Estos routers tendrán la capacidad de enrutar el tráfico IP entre los satélites del espacio de un modo muy similar al que se transportan los paquetes en la Tierra, reduciendo así los retardos y ofreciendo una mayor flexibilidad para el trabajo en red. 54 Además del envío de paquetes, un router también proporciona otros servicios. Para satisfacer las demandas de las redes actuales, los routers también se utilizan para lo siguiente: Aseguran la disponibilidad las 24 horas del día, los 7 días de la semana. Para ayudar a garantizar la posibilidad de conexión de la red, los routers usan rutas alternativas en caso de que la ruta principal falle. Proveen servicios integrados de datos, vídeo y voz en redes conectadas por cable o inalámbricas. Los routers dan prioridad a los paquetes IP según la calidad de servicio (QoS) a fin de asegurar que el tráfico en tiempo real, como la voz, el vídeo y los datos esenciales, no se descarten ni retarden. Disminuye el impacto de gusanos, virus y otros ataques en la red al permitir o denegar el reenvío de paquetes. Todos estos servicios se construyen en torno del router y de su responsabilidad principal de reenviar paquetes de una red a la siguiente. La comunicación entre los dispositivos de diferentes redes sólo se logra gracias a la capacidad del router de enrutar paquetes entre las redes. Los routers se utilizan principalmente en los siguientes casos: División de redes. Interconectar Subredes. Interconectar una red domestica a la Internet. Interconectar VLAN's. 3.4 Aplicaciones propuestas. En este sección se pretende mostrar ejemplos de redes donde se usan los routers en su forma topológica. 3.4.1 Enlace de redes. Figura 3.13 Enlace de redes. 55 En este caso la red de la LAN 1 que tiene la dirección 192.168.1.0 debe comunicarse con la red de la LAN 2 con dirección 192.168.2.0, esto será posible una vez que se configure las interfaces de cada router. 3.4.2 Enlace de subredes. Figura 3.14 Enlace de subredes. Usando la misma topología solo que ahora la LAN 1 pertenece a la subred 192.168.4.32 y la LAN 2 a la subred 192.168.4.64, se debe configurar los routers para que estas subredes puedan comunicarse. 3.4.3 Enlace de VLAN's. Una VLAN es una subred IP separada de manera lógica. Las VLAN permiten que redes de IP y subredes múltiples existan en la misma red conmutada. Para que las computadoras se comuniquen en la misma VLAN, cada una debe tener una dirección IP y una máscara de subred consistente con esa VLAN. En el switch deben darse de alta las VLAN's y cada puerto asignarse a la VLAN correspondiente. Un puerto de switch con una VLAN singular configurada en el mismo se denomina puerto de acceso. Los dispositivos en dos redes y subredes separadas se deben comunicar a través de un router (Capa 3), se utilicen o no las VLAN. Es por ello que a continuación se muestra una topología en la cual el uso del router es necesario para establecer la comunicación entre las dos VLAN's. 56 Figura 3.15 Enlace de VLAN's. 57 CAPÍTULO IV IMPLEMENTACIÓN DEL ROUTER 58 4.1 INSTALACIÓN DEL SOFTWARE QUAGGA 4.1.1 Instalación. La instalación de Quagga en Ubuntu se puede hacer de dos formas : En modo línea de comandos. usuario@usuario-desktop:~$ sudo su Password: root@usuario-desktop:~# apt-get install quagga Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Paquetes sugeridos: snmpd Se instalarán los siguientes paquetes NUEVOS: quagga 0 actualizados, 1 se instalarán, 0 para eliminar y 244 no actualizados. Necesito descargar 1199kB de archivos. Se utilizarán 4157kB de espacio de disco adicional después de desempaquetar. Des:1 http://security.ubuntu.com dapper-security/main quagga 0.99.2-1ubuntu3.1 [1199kB] Descargados 1199kB en 8s (143kB/s) Preconfigurando paquetes ... Seleccionando el paquete quagga previamente no seleccionado. (Leyendo la base de datos ... 70054 ficheros y directorios instalados actualmente.) Desempaquetando quagga (de .../quagga_0.99.2-1ubuntu3.1_i386.deb) ... grep: /etc/quagga/*.conf: No existe el fichero ó directorio Configurando quagga (0.99.2-1ubuntu3.1) ... Loading capability module if not yet done. Starting Quagga daemons (prio:10):. En modo gráfico. Dentro del escritorio damos click en el menú Sistema después en el submenú Administración y a continuación en la opción Gestor de paquetes Synaptic , el cual es una herramienta que nos permite instalar y desinstalar paquetes de la red. 59 Figura 4.1 Gestor de paquetes Synaptic. Dentro de la ventana Gestor de paquetes Synaptic se da un click en el icono buscar y abre otra ventana donde escribirá el paquete que se busca, en este caso Quagga. Figura 4.2 Buscar el paquete. Una vez que se encuentra el paquete se selecciona y con un click derecho se elige la opción marcar para instalar. Figura 4.3 Seleccionar el paquete. 60 A continuación se da un click en el icono aplicar y aparece un cuadro de dialogo. Figura 4.4 Aplicar cambios. Dentro de ese cuadro se da un click en mostrar detalles para visualizar los paquetes que se van a instalar. Figura 4.5 Verificación del paquete a descargar. Una vez que se verifica el paquetes que se instalará se da un click en Aplicar y comienza la descarga del paquete. 61 Figura 4.6 Descarga del paquete. Después de que termina la descarga del paquete el sistema instala automáticamente el paquete. Figura 4.7 Instalación de Quagga. Dar un click en la parte donde dice terminal para observar los detalles de la instalación. Figura 4.8 Detalles de la instalación. 62 4.1.2 Configuración. Se copian los archivos de configuración de quagga: root@pepe-desktop:~# cd/usr/share/doc/quagga/examples/ root@pepe-desktop:~# cp*/etc/quagga Se renombra los ejemplos de configuración, para usarlos y activar Quagga con la configuración por defecto. root@pepe-desktop:~# cd /etc/quagga root@pepe-desktop:/etc/quagga# cp zebra.conf.sample zebra.conf root@pepe-desktop:/etc/quagga# cp ripd.conf.sample ripd.conf Se configura los demonios para activar zebra y RIP, el procedimiento es el mismo para los demás protocolos. root@pepe-desktop:/etc/quagga# gedit daemons Editar las lineas: zebra=yes ripd=yes Con esto Quagga se ha configurado para que arranque los demonios zebra y ripd “ que se encarga de RIP”. Para que cargue la nueva configuración, reiniciar Quagga. root@pepe-desktop:/etc# /etc/init.d/quagga restart Stopping Quagga daemons (prio:0): (waiting) .. ripd (waiting) .. zebra (bgpd) (ripngd) (ospfd) (ospf6d) (isisd). Removing all routes made by zebra. Nothing to flush. Loading capability module if not yet done. Starting Quagga daemons (prio:10): zebra ripd. Ahora podra accederse por separado con una interfaz interactiva a cada uno de los demonios. Para acceder a Zebra (Password por defecto zebra): Telnet localhost 2601 Para acceder al demonio de RIP (ripd) y configurarlo: telnet localhost 2602 63 El acceso a cada demonio por puerto independiente es bastante fastidioso. Para solucionar este problema existe un interfaz shell integrado llamado vtysh, el cual conecta cada demonio funcionando como un proxy para la entrada del usuario. Para que el enrutamiento se logre es importante activar dentro del kernel el IP FORWARDING, para ello se tiene que ingresar en modo súper usuario y ejecutar el siguiente comando: echo 1 > /proc/sys/net/ipv4/ip_forward 4.2 CONFIGURACIÓN DE EQUIPOS. En este apartado se configurarán los equipos para demostrar el funcionamiento de la PCROUTER implementado con el software de enrutamiento Quagga(versión 0.99.11), instalado en la distribución Ubuntu 9.04 en conjunto con equipos de cisco (router, switch), 4.2.1 Enlace de redes. En la prueba # 1, se trata del enlace de dos redes distintas para ello se considera la figura 4.9. En el enlace de redes se demuestra el funcionamiento de la PC-ROUTER estableciendo la comunicación entre dos LAN's, usando para ello enrutamiento estático, realizar las conexiones como se ilustra en la figura. Figura 4.9 Enlace de redes. 64 Elementos usados para la prueba #1: PC-ROUTER: Una maquina PIII a 833Mhz con memoria RAM de 256 MB ejecutando la distribución UBUNTU 9.04. Router cisco modelo 2621 con dos interfaces fastethernet. Switch cisco catalyst 2950. Dos PC's simulando una LAN cada una. La conexión entre la PC-ROUTER y el router cisco se ha realizado entre la interfaz eth0 e interfaz FA0/0 de ambos equipos respectivamente. Interfaces de la PC-ROUTER. PC_ROUTER# show interface Interface eth0 is up, line protocol detection is disabled index 3 metric 1 mtu 1500 flags: <UP,BROADCAST,RUNNING,MULTICAST> HWaddr: 00:04:75:38:ea:04 inet 192.168.15.1/24 broadcast 192.168.15.255 inet6 fe80::204:75ff:fe38:ea04/64 101 input packets (0 multicast), 16756 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 81 output packets, 8663 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interface eth2 is up, line protocol detection is disabled index 2 metric 1 mtu 1500 flags: <UP,BROADCAST,RUNNING,MULTICAST> HWaddr: 00:e0:7d:d9:d0:5b inet 192.168.1.1/24 broadcast 192.168.1.255 inet6 fe80::2e0:7dff:fed9:d05b/64 62 input packets (0 multicast), 6174 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 64 output packets, 7017 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interface lo is up, line protocol detection is disabled index 1 metric 1 mtu 16436 flags: <UP,LOOPBACK,RUNNING> inet 127.0.0.1/8 inet6 ::1/128 817 input packets (0 multicast), 51262 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 817 output packets, 51262 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interfaces del router cisco 2621. cisco2621#show ip interface f0/0 FastEthernet0/0 is up, line protocol is up Internet address is 192.168.15.2/24 Broadcast address is 255.255.255.255 Address determined by setup command 65 MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP fast switching on the same interface is disabled IP Flow switching is disabled IP Feature Fast switching turbo vector IP multicast fast switching is enabled IP multicast distributed fast switching is disabled IP route-cache flags are Fast Router Discovery is disabled IP output packet accounting is disabled IP access violation accounting is disabled TCP/IP header compression is disabled RTP/IP header compression is disabled Probe proxy name replies are disabled Policy routing is disabled Network address translation is disabled WCCP Redirect outbound is disabled WCCP Redirect inbound is disabled WCCP Redirect exclude is disabled BGP Policy Mapping is disabled cisco2621#show ip interface f0/1 FastEthernet0/1 is up, line protocol is up Internet address is 192.168.2.1/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP fast switching on the same interface is disabled IP Flow switching is disabled IP Feature Fast switching turbo vector IP multicast fast switching is enabled IP multicast distributed fast switching is disabled IP route-cache flags are Fast Router Discovery is disabled IP output packet accounting is disabled IP access violation accounting is disabled 66 Probe proxy name replies are disabled Policy routing is disabled Network address translation is disabled WCCP Redirect outbound is disabled WCCP Redirect inbound is disabled WCCP Redirect exclude is disabled Configuración de los routers. Para llevar a cabo esta práctica ha sido necesario configurar el demonio zebra de la PC-ROUTER y la configuración del router cisco, a continuación las configuraciones. Configuración de la PC_ROUTER. PC_ROUTER# show run Current configuration: ! hostname PC_ROUTER password zebra enable password zebra ! interface eth0 ip address 192.168.15.1/24 ipv6 nd suppress-ra ! interface eth2 ip address 192.168.1.1/24 ipv6 nd suppress-ra ! interface lo ! ip route 192.168.2.0/24 192.168.15.2 ! ip forwarding ! line vty ! end Configuración del router cisco 2621. cisco2621#show run Building configuration... Current configuration : 783 bytes ! version 12.1 no service single-slot-reload-enable service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname cisco2621 ! logging rate-limit console 10 except errors enable password class ! 67 ip subnet-zero no ip finger ! interface FastEthernet0/0 ip address 192.168.15.2 255.255.255.0 duplex auto speed auto ! interface Serial0/0 no ip address shutdown no fair-queue ! interface FastEthernet0/1 ip address 192.168.2.1 255.255.255.0 duplex auto speed auto ! interface Serial0/1 no ip address shutdown ! ip classless ip route 192.168.1.0 255.255.255.0 192.168.15.1 no ip http server ! line con 0 password cisco login transport input none line aux 0 line vty 0 4 password cisco login ! no scheduler allocate end Configuración de las estaciones de trabajo. Configuración de la PC conectado a la PC-ROUTER. Dirección IP 192.168.1.2 Máscara de subred 255.255.255.0 Gateway por defecto 192.168.1.1 Configuración de la PC conectado al router cisco 2621. Dirección IP 192.168.2.2 Máscara de subred 255.255.255.0 Gateway por defecto 192.168.2.1 68 4.2.2 Configuración de la PC_ROUTER. 1. Iniciar el programa Terminal para entrar a la línea de comandos del sistema operativo. 2. Entrar al modo superusuario con el comando sudo su e ingresar el password correspondiente. Figura 4.10 Modo superusuario. 3. Insertar el comando vtysh, evitando con ello hacer Telnet a cada uno de los demonios de enrutamiento, para empezar a configurar la PC_ROUTER, en primer lugar aparecerá en pantalla la palabra END parpadeando, con la tecla Q se ingresa a la CLI del sistema Quagga, una vez dentro del programa en la parte superior se muestra la versión instalada y los creadores del programa, como se muestra a continuación: Figura 4.11 Usando el comando vtysh. 4. Una vez dentro del programa se le da un nombre al Router de la siguiente forma; ingresar el comando configure terminal, después el comando hostname junto con el nombre que se le va a dar al router. 69 Figura 4.12 Configurar nombre del router. 5. Ahora se procede a configurar las interfaces del router: Figura 4.13 Configuración de interfaces. 6. Por ultimo se configura la ruta estática que va a definir con el comando ip route: 70 Figura 4.14 Configuración de la ruta estática. Con el comando show running config se muestra la configuración actual y se guarda con el comando write2. Figura 4.15 Configuración de la PC_ROUTER. 2 Nota: Es importante recordar, una vez hecha la configuración del router guardar los cambios con el comando copy running-config startup-config o write. 71 4.2.3 Pruebas y resultados. Pruebas realizadas. Verificación de las tablas de enrutamiento. Conectividad de ambas LAN mediante ping Ejecución del comando Telnet 1.- Verificación de las tablas de enrutamiento. Con el comando show ip route se visualiza la tabla de enrutamiento de la PC-ROUTER como se muestra a continuación. PC_ROUTER# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B - BGP, > - selected route, * - FIB route C>* K>* C>* S>* C>* 127.0.0.0/8 is directly connected, lo 169.254.0.0/16 is directly connected, eth2 192.168.1.0/24 is directly connected, eth2 192.168.2.0/24 [1/0] via 192.168.15.2, eth0 192.168.15.0/24 is directly connected, eth0 Aquí se demuestra que la PC-ROUTER conoce una ruta hacia la red 192.168.2.0 a través de la interfaz FA0/0 del router cisco que tiene la dirección 192.168.15.2 en la interfaz eth0 de la PCROUTER. 2.- Conectividad de ambas LAN's mediante ping. Desde la estación de trabajo conectado a la PC-ROUTER la cual representa a la LAN 1 se ejecuta un ping a la estación de trabajo conectado al router cisco que representa a la LAN 2 como se muestra a continuación. Figura 4.16 Ping a la LAN 2. 72 De igual forma se ejecuta un ping desde la PC conectado al router cisco a la PC de la LAN 1. Figura 4.16 Ping a la LAN 1 Con los resultados obtenidos se demuestra que existe conectividad entre ambas redes. 3.- Ejecución del comando Telnet. Telnet (terminal remota) es una buena herramienta de prueba o de diagnóstico de fallas dado que es una utilidad de la capa de aplicación. Una sesión Telnet exitosa demuestra que la pila completa del protocolo TCP/IP tanto del cliente como del servidor están funcionando correctamente. Es por ello que una de las pruebas fue establecer sesiones Telnet como se muestra a continuación: Telnet desde la PC de la LAN 1 al router cisco. Figura 4.17 Telnet de la LAN 1 al router Cisco. 73 De la misma manera se establece una sesión Telnet a la PC-ROUTER. Ejecución de Telnet desde la PC de la LAN 2 a la PC-ROUTER. Figura 4.18 Telnet a la PC-ROUTER desde la PC de la LAN 2. Aquí se observa que en primer lugar se tiene acceso al sistema operativo y se ejecuta otro Telnet para acceder al demonio de enrutamiento zebra con el comando telnet localhost 2601, después de ingresar los passwords correctos se tendrá acceso al router. Como puede observarse la conexión en ambos casos fue un éxito y en cualquiera de las PC's se puede configurar el router de forma remota. 4.2.4 Enlace de Subredes. En la prueba #2 se establecerá una conexión entre dos subredes, como se muestra en la figura 4.19 Dada una dirección de clase C (192.168.4.0/24), establecer la comunicación entre dos LAN's usando el protocolo de enrutamiento RIP, realizar las conexiones como se muestra en la figura antes mencionada. En el experimento se intenta demostrar que el software de encaminamiento Quagga versión 0.99.11 tiene un correcto funcionamiento bajo el protocolo de enrutamiento RIP. 74 Figura 4.19 Topología del ejemplo #2. Elementos usados para la prueba #2 PC-ROUTER: Una maquina PIII a 833Mhz con memoria RAM de 256 MB ejecutando la distribución UBUNTU 9.04. Router cisco modelo 2621 con dos interfaces Fastethernet. Switch cisco catalyst 2950. Dos PC's simulando una LAN cada una. La conexión entre la PC-ROUTER y el router cisco se ha realizado entre la interfaz eth0 e interfaz FA0/0 de ambos equipos respectivamente. Interfaces de la PC_ROUTER. Interface eth0 is up, line protocol detection is disabled index 3 metric 1 mtu 1500 flags: <UP,BROADCAST,RUNNING,MULTICAST> HWaddr: 00:04:75:38:ea:04 inet 192.168.4.193/27 broadcast 192.168.4.223 inet6 fe80::204:75ff:fe38:ea04/64 1252 input packets (0 multicast), 460737 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 482 output packets, 65368 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interface eth2 is up, line protocol detection is disabled index 2 metric 1 mtu 1500 flags: <UP,BROADCAST,RUNNING,MULTICAST> HWaddr: 00:e0:7d:d9:d0:5b 75 inet 192.168.4.33/27 broadcast 192.168.4.63 inet6 fe80::2e0:7dff:fed9:d05b/64 271 input packets (0 multicast), 48714 bytes, 554341094 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 1197 output packets, 112181 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interface lo is up, line protocol detection is disabled index 1 metric 1 mtu 16436 flags: <UP,LOOPBACK,RUNNING> inet 127.0.0.1/8 inet6 ::1/128 401 input packets (0 multicast), 37655 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 401 output packets, 37655 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interfaces del router cisco 2621. ROUTER_2621# show interface f0/0 FastEthernet0/0 is up, line protocol is up Hardware is AmdFE, address is 000b.be99.5780 (bia 000b.be99.5780) Internet address is 192.168.4.194/27 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 1/75, 0 drops 5 minute input rate 1000 bits/sec, 2 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 548 packets input, 67562 bytes Received 352 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog 0 input packets with dribble condition detected 2116 packets output, 521259 bytes, 0 underruns(0/0/0) 0 output errors, 0 collisions, 2 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out ROUTER_2621# show interface f0/1 FastEthernet0/1 is up, line protocol is up Hardware is AmdFE, address is 000b.be99.5781 (bia 000b.be99.5781) Internet address is 192.168.4.65/27 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) 76 Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:04, output 00:00:02, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 2140 packets input, 1077003 bytes Received 2097 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog 0 input packets with dribble condition detected 1960 packets output, 495216 bytes, 0 underruns(0/0/0) 0 output errors, 0 collisions, 2 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out Configuración de los routers. Para llevar a cabo está práctica ha sido necesario configurar los demonios zebra y ripd de la PC_ROUTER, la configuración del router cisco y las estaciones de trabajo, a continuación las configuraciones: La siguiente configuración se realizó directamente con el comando vtysh desde la terminal del sistema operativo para evitar hacer Telnet a cada uno de los demonios de forma separada. Configuración de la PC_ROUTER. hostname PC_ROUTER hostname ripd log stdout ! password zebra enable password zebra ! interface eth0 ip address 192.168.4.193/27 ipv6 nd suppress-ra ! interface eth1 ipv6 nd suppress-ra ! interface eth2 ip address 192.168.4.33/27 ipv6 nd suppress-ra ! interface lo ! router rip network 192.168.4.32/27 network 192.168.4.192/27 ! ip forwarding ! line vty 77 Configuración del router cisco 2621. ROUTER_2621#show run Building configuration... Current configuration : 777 bytes ! version 12.1 no service single-slot-reload-enable service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname ROUTER_2621 ! logging rate-limit console 10 except errors enable password class ! ip subnet-zero ! ! no ip finger ! ! interface FastEthernet0/0 ip address 192.168.4.194 255.255.255.224 duplex auto speed auto ! interface Serial0/0 no ip address shutdown no fair-queue ! interface FastEthernet0/1 ip address 192.168.4.65 255.255.255.224 duplex auto speed auto ! interface Serial0/1 no ip address shutdown ! router rip network 192.168.4.0 ! ip classless no ip http server ! ! line con 0 password cisco login transport input none line aux 0 line vty 0 4 password cisco 78 login ! no scheduler allocate end Configuración de las estaciones de trabajo. Configuración de la PC conectado a la LAN 1 Dirección IP 192.168.4.34/27 Máscara de subred 255.255.255.224 Gateway por defecto 192.168.4.33 Configuración de la PC conectado a la LAN 2 Dirección IP 192.168.4.66 Máscara de subred 255.255.255.224 Gateway por defecto 192.168.4.65 4.2.5 Configuración de la PC_ROUTER. 1. Iniciar el programa Terminal para entrar a la línea de comandos del sistema operativo. 2. Entrar al modo superusuario con el comando sudo su e ingresar el password correspondiente. Figura 4.20 Modo superusuario. 3. Insertar el comando vtysh, evitando con ello hacer Telnet a cada uno de los demonios de enrutamiento, para empezar a configurar la PC_ROUTER, en primer lugar aparecerá en pantalla la palabra END parpadeando, con la tecla Q se ingresa a la CLI del sistema Quagga, una vez dentro del programa en la parte superior se muestra la versión instalada y los creadores del programa, como se muestra a continuación: 79 Figura 4.21 Usando el comando vtysh 4. Una vez dentro del programa se le da un nombre al Router de la siguiente forma; ingresar el comando configure terminal, después el comando hostname junto con el nombre que se le va a dar al router. Figura 4.22 Configurar nombre del router. 5. Ahora se procede a configurar las interfaces del router: Figura 4.23 Configuración de interfaces. 80 6. Configurar el protocolo de enrutamiento como se muestra en la siguiente figura. Figura 4.24 Configuración del protocolo de enrutamiento. Con el comando show running config se muestra la configuración de la PC_ROUTER y se guarda con el comando write2. Figura 4.25 Configuración de la PC_ROUTER. 2 Nota: Es importante recordar, una vez hecha la configuración del router guardar los cambios con el comando copy running-config startup-config o write. 81 4.2.6 Pruebas y resultados. Pruebas realizadas Verificación de las tablas de enrutamiento. Conectividad de ambas LAN's mediante ping Ejecución de Telnet 1.- Verificación de las tablas de enrutamiento. Con el comando show ip route se visualiza la tablas de enrutamiento de la PC-ROUTER que se muestra a continuación. Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B - BGP, > - selected route, * - FIB route C>* C>* R>* C>* 127.0.0.0/8 is directly connected, lo 192.168.4.32/27 is directly connected, eth2 192.168.4.64/27 [120/2] via 192.168.4.194, eth0, 03:33:40 192.168.4.192/27 is directly connected, eth0 Como se puede observar aquí la ruta aprendida por RIP esta marcada con R y significa que la subred 192.168.4.64 se puede alcanzar a través de 192.168.4.194 que es la interfaz fastethernet 0/0 del router cisco. De igual forma se puede mostrar la tabla de enrutamiento del router cisco 2621. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C R C 192.168.4.0/27 is subnetted, 3 subnets 192.168.4.64 is directly connected, FastEthernet0/1 192.168.4.32 [120/1] via 192.168.4.193, 00:00:21, FastEthernet0/0 192.168.4.192 is directly connected, FastEthernet0/0 En esta tabla de enrutamiento también se observa que la ruta aprendida a través de RIP está marcada con R y que la red 192.168.4.32 se puede alcanzar mediante la interfaz eth0 de la PC_ROUTER con la dirección 192.168.4.193 con una métrica de uno. 82 También se puede mostrar el protocolo que se esta ejecutando mediante el comando show ip rip status en la PC_ROUTER. PC_ROUTER# show ip rip status Routing Protocol is "rip" Sending updates every 30 seconds with +/-50%, next due in seconds Timeout after 180 seconds, garbage collect after 120 seconds Outgoing update filter list for all interface is not set Incoming update filter list for all interface is not set Default redistribution metric is 1 Redistributing: Default version control: send version 2, receive any version Interface Send Recv Key-chain eth0 2 1 2 eth2 2 1 2 Routing for Networks: 192.168.4.32/27 192.168.4.192/27 Routing Information Sources: Gateway BadPackets BadRoutes Distance Last Update 192.168.4.194 0 0 120 00:00:10 Distance: (default is 120) -1182275944 Está información se muestra en un router cisco mediante el comando show ip protocols. ROUTER_2621#show ip protocols Routing Protocol is "rip" Sending updates every 30 seconds, next due in 16 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Outgoing update filter list for all interfaces is Incoming update filter list for all interfaces is Redistributing: rip Default version control: send version 1, receive any version Interface Send Recv Triggered RIP Key-chain FastEthernet0/0 1 1 2 FastEthernet0/1 1 1 2 Automatic network summarization is in effect Routing for Networks: 192.168.4.0 Routing Information Sources: Gateway Distance Last Update 192.168.4.193 120 00:00:09 Distance: (default is 120) 83 2.-Conectividad de ambas LAN's mediante ping. En esta prueba se muestra la conexión de las LAN's mediante un ping que se realiza desde la PC de la LAN 1 hasta la PC de la LAN 2. Figura 4.26 Ping desde la LAN 1 a la LAN 2 De la misma forma se ejecuta un ping desde la PC de la LAN 2 a la PC de la LAN 1, como se muestra a continuación. Figura 4.27 Ping desde la LAN 2 a la LAN 1 Como se puede observar el éxito obtenido al ejecutar el comando ping demuestra que entre ambas subredes existe conectividad. Con esto se comprueba que el software Quagga realmente funciona. 84 3.- Ejecución de Telnet Telnet a la PC-ROUTER desde la PC de la LAN 1. Figura 4.28 Telnet a la PC-ROUTER En esta gráfica se demuestra que la conexión remota hacia la PC-ROUTER ha sido un éxito y desde aquí se puede verificar y configurar el router. Telnet al router cisco desde la PC de la LAN 1. Figura 4.29 Telnet al router cisco. La conexión al router cisco ha sido exitosa después de ingresar los passwords correspondientes. Con estas pruebas se demuestra que la PC-ROUTER, ejecutando el protocolo de enrutamiento RIP tiene un funcionamiento adecuado para enlazar subredes y una muy buena compatibilidad con los routers cisco. 85 4.2.7 Enlace de VLAN's En el experimento siguiente se va a demostrar que el software de enrutamiento Quagga versión 0.99.11 instalado en la distribución Ubuntu 9.04 tiene un correcto funcionamiento para el enlace de Redes de Área Local Virtuales (VLAN). Para el enlace de VLAN's que será la prueba #3 se considera la figura 4.30: En un switch catalyst 2950 configurar dos VLAN's y posteriormente configurar el router para que realice el enrutamiento entre las distintas VLAN's. Figura 4.30 Topología del ejemplo #3. Elementos usados para la prueba #3 PC-ROUTER: Una maquina PIII a 833Mhz con memoria RAM de 256 MB ejecutando la distribución UBUNTU 9.04 ! Switch cisco catalyst 2950 Dos PC's simulando una VLAN cada una. Interfaces de la PC_ROUTER. Interface eth0 is up, line protocol detection is disabled index 2 metric 1 mtu 1500 flags: <UP,BROADCAST,RUNNING,MULTICAST> HWaddr: 00:04:75:38:ea:04 inet 192.168.11.1/24 broadcast 192.168.11.255 inet6 fe80::204:75ff:fe38:ea04/64 1587 input packets (0 multicast), 114026 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 151 output packets, 20073 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interface eth1 is up, line protocol detection is disabled index 3 metric 1 mtu 1500 flags: <UP,BROADCAST,RUNNING,MULTICAST> 86 HWaddr: 00:e0:7d:d9:d0:5b inet 192.168.10.1/24 broadcast 192.168.10.255 inet6 fe80::2e0:7dff:fed9:d05b/64 268 input packets (0 multicast), 35210 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 156 output packets, 18628 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Interface lo is up, line protocol detection is disabled index 1 metric 1 mtu 16436 flags: <UP,LOOPBACK,RUNNING> inet 127.0.0.1/8 inet6 ::1/128 1814 input packets (0 multicast), 101340 bytes, 0 dropped 0 input errors, 0 length, 0 overrun, 0 CRC, 0 frame 0 fifo, 0 missed 1814 output packets, 101340 bytes, 0 dropped 0 output errors, 0 aborted, 0 carrier, 0 fifo, 0 heartbeat 0 window, 0 collisions Configuración del switch cisco catalyst 2950. Current configuration : 2156 bytes ! version 12.1 no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname Catalyst ! enable secret 5 $1$WqGG$DLwZI/Q/MKqmb0wG90JUN. enable password cisco ! ip subnet-zero ! spanning-tree extend system-id ! ! interface FastEthernet0/1 no ip address ! interface FastEthernet0/2 no ip address ! interface FastEthernet0/3 no ip address ! interface FastEthernet0/4 no ip address ! interface FastEthernet0/5 no ip address ! interface FastEthernet0/6 87 no ip address ! interface FastEthernet0/7 no ip address ! interface FastEthernet0/8 no ip address ! interface FastEthernet0/9 no ip address ! interface FastEthernet0/10 no ip address ! interface FastEthernet0/11 no ip address ! interface FastEthernet0/12 no ip address ! interface FastEthernet0/13 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/14 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/15 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/16 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/17 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/18 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/19 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/20 switchport access vlan 2 88 switchport mode access no ip address ! interface FastEthernet0/21 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/22 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/23 switchport access vlan 2 switchport mode access no ip address ! interface FastEthernet0/24 switchport access vlan 2 switchport mode access no ip address ! interface Vlan1 ip address 192.168.10.2 255.255.255.0 no ip route-cache ! ip default-gateway 192.168.10.1 ip http server ! ! line con 0 password cisco login line vty 0 4 password cisco login line vty 5 15 password cisco login ! end Configuración de la PC-ROUTER. PC_ROUTER# show run Current configuration: ! hostname PC_ROUTER password zebra enable password zebra ! interface eth0 ip address 192.168.11.1/24 ipv6 nd suppress-ra ! 89 interface eth1 ip address 192.168.10.1/24 ipv6 nd suppress-ra ! ip forwarding ! line vty ! end Configuración de las estaciones de trabajo. Configuración de la PC conectado a la VLAN 1 Dirección IP 192.168.10.3 Máscara de subred 255.255.255.0 Gateway por defecto 192.168.10.1 Configuración de la PC conectado a la VLAN 2 Dirección IP 192.168.11.3 Máscara de subred 255.255.255.0 Gateway por defecto 192.168.11.1 4.2.8 Configuración de la PC_ROUTER. 1. Iniciar el programa Terminal para entrar a la línea de comandos del sistema operativo. 2. Entrar al modo superusuario con el comando sudo su e ingresar el password correspondiente. Figura 4.31 Modo superusuario. 3. Insertar el comando vtysh, evitando con ello hacer Telnet a cada uno de los demonios de enrutamiento, para empezar a configurar la PC_ROUTER, en primer lugar aparecerá en pantalla la palabra END parpadeando, con la tecla Q se ingresa a la CLI del sistema Quagga, una vez dentro del programa en la parte superior se muestra la versión instalada y los creadores del programa, como se muestra a continuación: 90 Figura 4.32 Usando el comando vtysh. 4. Una vez dentro del programa se le da un nombre al Router de la siguiente forma; ingresar el comando configure terminal, después el comando hostname junto con el nombre que se le va a dar al router. Figura 4.33 Configurar nombre del router. 5. Ahora se procede a configurar las interfaces del router: Figura 4.34 Configuración de la interfaz eth0 (VLAN 2). 91 Figura 4.35 Configuración de la interfaz eth1 (VLAN 1) 6. Con el comando show running se visualiza la configuración actual y con write2 se guarda la configuración de la PC_ROUTER. Figura 4.36 Configuración de la PC_ROUTER. 2 Nota: Es importante recordar, una vez hecha la configuración del router guardar los cambios con el comando copy running-config startup-config o write. 92 4.2.9 Pruebas y resultados. Pruebas realizadas. Verificación de las tablas de enrutamiento. Conectividad de ambas VLAN's mediante ping 1.- Verificación de la tabla de enrutamiento. PC_ROUTER# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B - BGP, > - selected route, * - FIB route C>* K>* C>* C>* 127.0.0.0/8 is directly connected, lo 169.254.0.0/16 is directly connected, eth1 192.168.10.0/24 is directly connected, eth1 192.168.11.0/24 is directly connected, eth0 2.- Conectivad de ambas VLANs mediante el comando ping. Ejecución de un ping desde el host conectado a la VLAN1 hasta el host conectado a la VLAN2. Figura 4.37 Ping de la VLAN 1 a la VLAN2 Ejecución de un ping desde el host conectado a la VLAN2 hasta el host conectado a la VLAN1. Figura 4.38 Ping de la VLAN 2 a la VLAN 1. 93 Como puede observarse en ambas gráficas la respuesta de los pings es exitosa, esto quiere decir que las dos VLAN's pueden comunicarse y el router cumple su función de enrutar los paquetes que pasan por el. 94 CAPÍTULO V CONCLUSIONES 95 5.1 CONCLUSIONES. Linux es un sistema operativo que permite realizar con el un enrutador en una PC de uso general, mediante la instalación de algunos paquetes (Quagga) y aunque su rendimiento sea menor que un hardware diseñado específicamente para esa tarea, funciona bien para redes con pocos enlaces, evitando así comprar un equipo altamente costoso que no puede ser asumido por muchas empresas o instituciones. Los routers por software, como Quagga son una excelente alternativa de ruteo para redes pequeñas o medianas, que en general no presentan mucho tráfico y son relativamente de fácil implementación. Una de sus principales ventajas es que cuentan con las mismas funcionalidades que productos comerciales, son de bajo costo, de desarrollo continuo y estandarizado. Ofrecen respuesta inmediata a “bugs” y además, se les puede integrar otras funciones como puede ser un “firewall”. Una desventaja importante en comparación con los routers convencionales es que éstos cuentan con garantías y soporte del fabricante, además de una gran documentación, mientras que los routers por software no cuentan con ningún tipo de garantías. Con los resultados obtenidos de las pruebas realizadas, se puede decir que Quagga en un software de enrutamiento muy avanzado y al tener una interfaz shell de configuración similar a los routers Cisco se ha facilitado su uso. 96 BIBLIOGRAFÍA López Camacho Vicente, ‘’Linux: Guía de instalación y administración’’, 1ª edición, Mc Graw Hill, Págs. 315-322. Tomas Schenk et al. Administración de Red Hat Linux Al Descubierto. 1ª edición, Prentice Hall. Págs. 351-364 Referencias Electrónicas Título: Enrutamiento Doméstico Liga: http://www.gentoo.org/doc/es/home-router-howto.xml Descripción: Página de Gentoo Linux donde se describe como construir un router sencillo utilizando una PC y su configuración. Título: Routers Liga: http://www.osmosislatina.com/conectividad/routers.htm Descripción: Descripción del funcionamiento de dispositivos de red como lo es el router, switch y hub. Título: Enrutamiento y direccionamiento Liga: http://www.gfc.edu.co/estudiantes/anuario/2001/sistemas/halime/enruter.html Descripción: Define conceptos básicos del tema tales como enrutamiento y direccionamiento IP. Título: Aprendiendo a aprender Linux. Liga: http://structio.sourceforge.net/guias/AA_Linux_colegio/AA_Linux_colegio.html Descripción: Pagina sobre la introducción al sistema operativo Linux, que asisten el uso, instalación y administración de redes Linux. Título: Distribuciones de Linux. Liga: http://informatica.infoalisal.com/sistemas/linux.html Descripción: Resumen de algunas distribuciones de Linux principales que existen. Título: Instalando Quagga en Ubuntu. Liga: http://www.infolinuxblog.com/how-tos/instalando-quagga-en-ubuntu Descripción: Blog sobre la instalación de Quagga en Ubuntu. Titulo: Software de enrutamiento Quagga. Liga: http://www.quagga.net/ Descripción:Página oficial de Quagga donde se ofrece la descarga de la versión actual y la documentación acerca del software. 97 GLOSARIO DE TÉRMINOS. ARCnet: Arquitectura de red de área local desarrollado fines de la década del ’70 y a principios de la década del ’80 por Datapoint Corporation, una LAN token-bus de 2.5 Mbps que utiliza una técnica de acceso de paso de testigo como el Token Ring. La topología física es en forma de estrella mientras que la topología lógica es en forma de anillo, utilizando cable coaxial y hubs pasivos (hasta 4 conexiones) o activos. BGP: Border Gateway Protocol es un protocolo mediante el cual se intercambia información de encaminamiento entre sistemas autónomos. Por ejemplo, los ISP registrados en Internet suelen componerse de varios sistemas autónomos y para este caso es necesario un protocolo como BGP. Broadcast: Paquete de datos que se envía a todos los nodos de una red. Los broadcasts se identifican a través de una dirección de broadcast. Comparar con multicast y unicast. BSD: Son las iniciales de Berkeley Software Distribution (Distribución de Software Berkeley) y se utiliza para identificar un sistema operativo derivado del sistema Unix nacido a partir de los aportes realizados a ese sistema por la Universidad de California en Berkeley. Bus: Es un sistema digital que transfiere datos entre los componentes de un computador o entre computadores. Están formado por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores además de circuitos integrados. CPU: La unidad central de procesamiento (Central Processing Unit) es el componente en una computadora digital que interpreta las instrucciones y procesa los datos contenidos en los programas de la computadora. Las CPU proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado usualmente a todos los microprocesadores. CSU: Unidad de servicio de canal. Dispositivo de interfaz digital que conecta el equipo del usuario final con el loop telefónico digital local. A menudo se denomina, de forma conjunta con DSU, como CSU/DSU. Ver también DSU. DIMM: Dual In-line Memory Module (Módulo de Memoria en linea doble). Las memorias DIMM comenzaron a reemplazar a las SIMM como el tipo predominante de memoria cuando los microprocesadores Intel Pentium dominaron el mercado. DoD: El Departamento de Defensa de Estados Unidos (United States Department of Defense, abreviado como DoD o DOD y llamado a veces Department of Defense) es el ministerio del gobierno de Estados Unidos encargado de las fuerzas militares del país. DRAM: (Dynamic Random Access Memory) es un tipo de memoria electrónica de acceso aleatorio, que se usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal del sistema. Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el mismo y recargarlo, cada cierto periodo de tiempo, en un ciclo de refresco. Su principal ventaja es la posibilidad de construir memorias con una gran densidad de posiciones y que todavía funcionen a una velocidad alta. DSU: Unidad de servicio de datos. Dispositivo que se usa en la transmisión digital que adapta la 98 interfaz física de un dispositivo DTE a una instalación de transmisión como, por ejemplo, T1 y E1. La DSU también es responsable de funciones tales como temporización de señal. A menudo se denomina, de forma conjunta con CSU, como CSU/DSU. Ver también CSU. EEPROM: Son las siglas de Electrically-Erasable Programmable Read-Only Memory (ROM programable y borrable eléctricamente). Es un tipo de memoria ROM que puede ser programado, borrado y reprogramado eléctricamente, a diferencia de la EPROM que ha de borrarse mediante un aparato que emite rayos ultravioletas. Son memorias no volátiles. EIGRP: Enhanced Interior Gateway Routing Protocol (Protocolo de enrutamiento de gateway interior mejorado). Protocolo de enrutamiento creado por Cisco Systems. FDDI: Interfaz de datos distribuida por fibra óptica. Estándar LAN, definido en ANSI X3T9.5, que especifica una red de transmisión de tokens de 100 Mbps que usa cable de fibra óptica, con distancias de transmisión de hasta 2 km. FDDI usa una arquitectura de anillo doble para proporcionar redundancia. Firewall: Un cortafuegos es una parte de un sistema o una red que está diseñado para bloquear el acceso no autorizado, permitiendo al mismo tiempo autorizado de comunicaciones. Se trata de un dispositivo o conjunto de dispositivos configurados para permitir, limitar, cifrar, descifrar, el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios. FTP: (File Transfer Protocol) Protocolo de Transferencia de Archivos en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP, basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo. Gateway: En la comunidad IP, un término antiguo que se refiere a un dispositivo de enrutamiento. En la actualidad, el término router se usa para describir nodos que ejecutan esta función, y gateway se refiere a un dispositivo con fines especiales que ejecuta conversión de capa de aplicación de la información de una pila de protocolo a otra. Hardware: Conjunto de los componentes que integran la parte material de una computadora. HPFS-2: High Performance File System (sistema de archivos de altas prestaciones) fue creado específicamente para el sistema operativo OS/2 para mejorar las limitaciones del sistema de archivos FAT. Hub: es un equipo de redes que permite conectar entre sí otros equipos y retransmite los paquetes que recibe desde cualquiera de ellos a todos los demás. Los hubs han dejado de ser utilizados, debido al gran nivel de colisiones y tráfico de red que propician. IBM: International Business Machines (conocida coloquialmente como el Gigante Azul) es una empresa multinacional que fabrica y comercializa herramientas, programas y servicios relacionados con la informática. IETF: Internet Engineering Task Force (Grupo de Trabajo en Ingeniería de Internet) es una organización internacional abierta de normalización, que tiene como objetivos el contribuir a la ingeniería de Internet, actuando en diversas áreas, tales como transporte, encaminamiento, seguridad. IOS: Internetwork Operating System, (Sistema Operativo de Interconexión de Redes) sistema operativo creado por Cisco Systems para programar y mantener equipos de interconexión de 99 redes informáticas como switches (conmutadores) y routers (enrutadores). IP: Internet Protocol (Protocolo de Internet) es un protocolo no orientado a conexión usado tanto por el origen como por el destino para la comunicación de datos a través de una red de paquetes conmutados. IPTV: Internet Protocol Television, se ha convertido en la denominación más común para los sistemas de distribución por subscripción de señales de televisión y/o vídeo usando conexiones de banda ancha sobre el protocolo IP. IPX: Internetwork Packet Exchange (Intercambio de paquetes interred). Protocolo de nivel de red de Netware. Se utiliza para transferir datos entre el servidor y los programas de las estaciones de trabajo. Los datos se transmiten en datagramas. IRC: Internet Relay Chat es un protocolo de comunicación en tiempo real basado en texto, que permite debates en grupo o entre dos personas. Se diferencia de la mensajería instantánea en que los usuarios no deben acceder a establecer la comunicación de antemano, de tal forma que todos los usuarios que se encuentran en un canal pueden comunicarse entre sí, aunque no hayan tenido ningún contacto anterior. ISDN: Integrated Services Digital Network, ver RDSI IS-IS: Intermediate System to Intermediate System (Sistema intermedio a Sistema intermedio) es un protocolo OSI de encaminamiento jerárquico de pasarela interior o IGP, que usa el estado de enlace para encontrar el camino más corto mediante el algoritmo SPF. LAN: Local Area Network (Red de área local). Redes de datos de alta velocidad y bajo nivel de errores que abarcan un área geográfica relativamente pequeña (hasta unos pocos miles de metros). Las LAN conectan estaciones de trabajo, dispositivos periféricos, terminales y otros dispositivos que se encuentran en un mismo edificio u otras áreas geográficas limitadas. Linux: GNU/Linux es el término empleado para referirse al sistema operativo similar a Unix que utiliza como base las herramientas de sistema de GNUy el núcleo Linux. Su desarrollo es uno de los ejemplos más prominentes de ;software libre todo el código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL de GNU (Licencia Pública General de GNU) y otras licencias libres. MAC: Media Access Control address (Control de acceso al medio). La más baja de las dos subcapas de la capa de enlace de datos definida por el IEEE. La subcapa MAC administra acceso al medio compartido como, por ejemplo, si se debe usar transmisión de tokens o contención. MAN: Metropolitan Area Network (Red de área metropolitana) es una red de alta velocidad (banda ancha) que da cobertura a una área geográfica extensa, proporciona capacidad de integración de múltiples servicios mediante la transmisión de datos, voz y vídeo, sobre medios de transmisión tales como fibra óptica y par trenzado, la tecnología de pares de cobre se posiciona como una excelente alternativa para la creación de redes metropolitanas Métrica de Enrutamiento: Método por el cual un algoritmo de enrutamiento determina que una ruta es mejor que otra. Esta información se guarda en las tablas de enrutamiento. Las métricas incluyen ancho de banda, costo de comunicación, retardo, número de saltos, carga, MTU, costo de la ruta y confiabilidad. Algunas veces se denomina simplemente métrica. 100 MTU: Maximum Transfer Unit (La unidad máxima de transferencia) es un término de redes de computadoras que expresa el tamaño en bytes de la unidad de datos más grande que puede enviarse usando un Protocolo de Internet. Multicast: Multidifusión es el envío de la información en una red a múltiples destinos simultáneamente, usando la estrategia más eficiente para el envío de los mensajes sobre cada enlace de la red sólo una vez y creando copias cuando los enlaces en los destinos se dividen NAT: Network Address Translation (Traducción de Dirección de Red) es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que se asignan mutuamente direcciones incompatibles. Networking: Dos o más computadoras conectadas entre si para compartir datos. El trabajo en red permite que la información sea distribuida fácil y rapidamente a través de un sistema de protocolos, cables y hardware. NIC: Tarjeta de interfaz de red (Network Interface Card) proporciona la conexión física con la red en la computadora personal u otro dispositivo host. NNTP: Network News Transport Protocol (protocolo para la transferencia de noticias en red) es un protocolo inicialmente creado para la lectura y publicación de artículos de noticias en Usenet. NVRAM: RAM no volátil. RAM que retiene su contenido cuando una unidad se apaga. OSI: Modelo de referencia de interconexión de sistemas abiertos. Modelo de arquitectura de red desarrollado por la ISO y la UIT-T. El modelo está compuesto por siete capas, cada una de las cuales especifica funciones de red particulares como, por ejemplo, direccionamiento, control de flujo, control de error, encapsulamiento y transferencia confiable de mensajes. La capa superior (la capa de aplicación) es la más cercana al usuario; la capa inferior (la capa física) es la más cercana a la tecnología de medios. La capa que le sigue a la capa inferior se implementa en el hardware y software, mientras que las cinco capas superiores se implementan sólo en el software. El modelo de referencia OSI se usa de forma universal como método para la enseñanza y la comprensión de la funcionalidad de la red. OSPF: Versión abierta del algoritmo "Primero la ruta libre más corta". Algoritmo de enrutamiento IGP jerárquico, de estado de enlace, propuesto como sucesor de RIP en la comunidad Internet. Las características de OSPF incluyen enrutamiento por menor costo, enrutamiento de múltiples rutas y balanceo de carga. El OSPF deriva de una versión inicial del protocolo IS-IS. P2P: Una red peer-to-peer (red de pares) es una red de computadoras en la que todos o algunos aspectos de esta funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre si. Es decir, actúan simultáneamente como clientes y servidores respecto a los demás nodos de la red. PC: Personal Computer (Computadora Personal). PCMCIA: Personal Computer Memory Card International Association, una asociación Internacional centrada en el desarrollo de tarjetas de memoria para ordenadores personales que permiten añadir al ordenador nuevas funciones. Ping: Packet Internet Groper o Packet Inter-network Groper, una utilidad que se usa para determinar si una dirección IP en particular está disponible. Funciona enviando un paquete a la dirección especificada y esperando una respuesta. El PING se usa principalmente para 101 diagnosticar las fallas de las conexiones de Internet. POSIX: Portable Operating System Interface; la X viene de UNIX como seña de identidad de la API. Una traducción aproximada del acrónimo podría ser "Interfaz para Sistemas Operativos migrables basados en UNIX. QoS: Quality of Service (Calidad de Servicio) son las tecnologías que garantizan la transmisión de cierta cantidad de datos en un tiempo dado (throughput). Calidad de servicio es la capacidad de dar un buen servicio. Es especialmente importante para ciertas aplicaciones tales como la transmisión de vídeo o voz. Quagga: Es un suite de software libre para poder usar la familia de sistemas operativos Unix como enrutadores. Está diseñado especialmente para NetBSD, FreeBSD, Solaris y Linux. RAM: Random Acces Memory (Memoria de acceso aleatorio). Memoria volátil que puede ser leída y escrita por un microprocesador. RDSI: Red digital de servicios integrados. Protocolo de comunicación, que ofrecen las compañías telefónicas, el cual permite que las redes telefónicas transporten datos, voz y otras fuentes de tráfico. Ver ISDN RIP: Routing Information Protocol (Protocolo de información de enrutamiento). IGP que se suministra con los sistemas UNIX BSD. El IGP más común de Internet. El RIP usa el número de saltos como métrica de enrutamiento. ROM: Read Only Memory (Memoria de sólo lectura) Memoria no volátil que un microprocesador puede leer, pero no escribir. Shell: Es un programa informático que actúa como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera órdenes escritas por el usuario en el teclado, los interpreta y los entrega al sistema operativo para su ejecución. La respuesta del sistema operativo se muestra al usuario en la misma ventana. A continuación, el programa shell queda esperando más instrucciones. Se interactúa con la información de la manera más sencilla posible, sin gráficas, sólo el texto crudo. SIMM: Single In-line Memory Module (Módulos de memoria en línea simples) es un formato para módulos de memoria RAM que consisten en placas de circuito impreso sobre las que se montan los integrados de memoria DRAM. SMB: Server Message Block es un Protocolo de red (que pertenece a la capa de aplicación en el modelo OSI) que permite compartir archivos e impresoras (entre otras cosas) entre nodos de una red. SMTP: Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo) es un protocolo de la capa de aplicación. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA's, teléfonos móviles, etc.). SO: Sistema Operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas entre las que destaca la administración eficaz de sus recursos. SSH: Secure Shell (intérprete de órdenes seguro) es el nombre de un protocolo y del programa 102 que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Switch: Dispositivo de red que filtra, reenvía o inunda tramas basándose en la dirección destino de cada trama. El switch opera en la capa de enlace de datos del modelo OSI. TCP: Transmission Control Protocol, es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 - 1974 por Vint Cerf y Robert Kahn. TCP/IP: Transmission Control Protocol/Internet Protocol (Protocolo de control de transmisión/Protocolo Internet). Nombre común para el conjunto de protocolos desarrollado por el DoD de EE.UU. en la década de los años 70 para permitir la creación de redes interconectadas a nivel mundial. El TCP y el IP son los dos protocolos más conocidos del conjunto Telnet: Comando que se usa para verificar el software de capa de aplicación entre las estaciones origen y destino. Es el mecanismo de prueba más completo disponible. Token: Trama que contiene información de control. La posesión del token permite que un dispositivo transmita datos en la red. Token Ring: LAN de entrega de token desarrollada y apoyada por IBM. Las Token Ring operan a 4 ó 16 Mbps mediante una topología de anillo. Unicats: Mensaje que se envía a un solo destino de red, Comparar con broadcast y multicast. UNIX: Registrado oficialmente como UNIX®,es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T. UTP: Unshielded Twisted Pair (Par trenzado no blindado). Medio de cableado de cuatro pares que se usa en diversas redes. El UTP no requiere el espacio fijo entre conexiones que es necesario en el caso de conexiones de tipo coaxial. VLAN: LAN virtual. Grupo de dispositivos en una LAN que se configuran (usando software de administración) de modo que se puedan comunicar como si estuvieran conectadas al mismo cable cuando, de hecho, están ubicadas en una cantidad de segmentos LAN distintos. Dado que las VLAN se basan en conexiones lógicas y no físicas, son extremadamente flexibles. VLSM: Variable Length Subnet Mask (Máscara de subred de longitud variable). Capacidad de especificar una máscara de subred distinta para el mismo número de red en distintas subredes. Las VLSM pueden ayudar a optimizar el espacio de dirección disponible. VoIP: Voz sobre Protocolo de Internet, también llamado Voz sobre IP, VozIP, VoIP es un grupo de recursos que hacen posible que la señal de voz viaje a través de Internet empleando un protocolo IP WAN: Wide Area Network (Red de área amplia). Red de comunicación de datos que sirve a usuarios dentro de un área geográficamente extensa y a menudo usa dispositivos de transmisión provistos por un servicio público de comunicaciones. Frame Relay, SMDS y X.25 son ejemplos de WAN. Comparar con LAN y MAN. WLAN: Wireless Local Area Network (Red de area local inalambrica) es un sistema de comunicación de datos inalámbrico flexible, muy utilizado como alternativa a las redes LAN cableadas o como extensión de éstas. Utiliza tecnología de radiofrecuencia que permite mayor movilidad a los usuarios al minimizar las conexiones cableadas. 103 X.25: Es un estándar UIT-T para redes de área amplia de conmutación de paquetes. Su protocolo de enlace, LAPB, está basado en el protocolo HDLC (publicado por ISO, y el cual a su vez es una evolución del protocolo SDLC de IBM). Establece mecanismos de direccionamiento entre usuarios, negociación de características de comunicación, técnicas de recuperación de errores. Los servicios públicos de conmutación de paquetes admiten numerosos tipos de estaciones de distintos fabricantes. Por lo tanto, es de la mayor importancia definir la interfaz entre el equipo del usuario final y la red. 104