tcpip linux 2012

156
Indice i Contenido Introducción a Networking TCP/IP ...................................................................1 Introducción............................................................................................................... 3 Antecedentes Históricos ....................................................................................................... 4 Comprendiendo TCP/IP ........................................................................................... 5 Sección 1: Definición y Arquitectura de TCP/IP...............................................9 Qué es TCP/IP? ....................................................................................................... 13 RFC´s, Request for Comments ........................................................................................... 14 Capas del Protocolo ................................................................................................. 15 Capa Acceso a Redes ......................................................................................................... 15 Capa de Internet ................................................................................................................. 16 Capa de Transporte ............................................................................................................ 16 Capa de Aplicaciones ......................................................................................................... 16 La importancia de los números de puerto............................................................. 17 El modelo OSI .......................................................................................................... 18 Terminología TCP/IP y Protocolos ........................................................................ 20 Componentes del Frame ..................................................................................................... 21 ARP, Address Resolution Protocol ....................................................................... 22 ICMP, Internet Control Message Protocol ........................................................... 25 IP, Internet Protocol................................................................................................ 26 TCP, Transmission Control Protocol .................................................................... 27 UDP, User Datagrama Protocol ............................................................................. 28 Herramientas para TCP/IP .................................................................................... 29 ifconfig ............................................................................................................................... 29 Route .................................................................................................................................. 31 Herramienta ARP ............................................................................................................... 33 Herramienta netstat ............................................................................................................ 35 Herramienta ping ................................................................................................................ 40 Herramienta tcpdump ......................................................................................................... 45 Herramienta traceroute ....................................................................................................... 51 Herramienta ethereal .......................................................................................................... 55 Utilería IPROUTE2 ............................................................................................................ 59 Sección 2: Classfull IP Addressing ..................................................................61 Qué son las Direcciones IP?.................................................................................... 65 Convirtiendo direcciones IP ............................................................................................... 65 Clases de Redes ........................................................................................................ 67

Upload: luis-alberto-alarcon

Post on 08-Aug-2015

139 views

Category:

Documents


16 download

TRANSCRIPT

Page 1: Tcpip Linux 2012

Indice

i

Contenido

Introducción a Networking TCP/IP ................................................................... 1

Introducción ............................................................................................................... 3 Antecedentes Históricos ....................................................................................................... 4

Comprendiendo TCP/IP ........................................................................................... 5

Sección 1: Definición y Arquitectura de TCP/IP ............................................... 9

Qué es TCP/IP? ....................................................................................................... 13 RFC´s, Request for Comments ........................................................................................... 14

Capas del Protocolo ................................................................................................. 15 Capa Acceso a Redes ......................................................................................................... 15 Capa de Internet ................................................................................................................. 16 Capa de Transporte ............................................................................................................ 16 Capa de Aplicaciones ......................................................................................................... 16

La importancia de los números de puerto ............................................................. 17

El modelo OSI .......................................................................................................... 18

Terminología TCP/IP y Protocolos ........................................................................ 20 Componentes del Frame ..................................................................................................... 21

ARP, Address Resolution Protocol ....................................................................... 22

ICMP, Internet Control Message Protocol ........................................................... 25

IP, Internet Protocol................................................................................................ 26

TCP, Transmission Control Protocol .................................................................... 27

UDP, User Datagrama Protocol ............................................................................. 28

Herramientas para TCP/IP .................................................................................... 29 ifconfig ............................................................................................................................... 29 Route .................................................................................................................................. 31 Herramienta ARP ............................................................................................................... 33 Herramienta netstat ............................................................................................................ 35 Herramienta ping ................................................................................................................ 40 Herramienta tcpdump ......................................................................................................... 45 Herramienta traceroute ....................................................................................................... 51 Herramienta ethereal .......................................................................................................... 55 Utilería IPROUTE2 ............................................................................................................ 59

Sección 2: Classfull IP Addressing .................................................................. 61

Qué son las Direcciones IP? .................................................................................... 65 Convirtiendo direcciones IP ............................................................................................... 65

Clases de Redes ........................................................................................................ 67

Page 2: Tcpip Linux 2012

Informática Integrada Internetworking

ii

Redes Clase A .................................................................................................................... 67 Redes Clase B .................................................................................................................... 68 Redes Clase C .................................................................................................................... 68 Redes Clase D .................................................................................................................... 68 Redes Clase E ..................................................................................................................... 68 Guía de Direcciones IP ....................................................................................................... 69

Máscara de Red ....................................................................................................... 70 Subnet Mask Bits ............................................................................................................... 71 Examen 2-1 ........................................................................................................................ 73

Sección 3: Classless Addresing y Enrutamiento IP ......................................... 77

Definiendo Subnetting ............................................................................................. 81 Implementando una Sub-red .............................................................................................. 81 Examen 3-1 ........................................................................................................................ 85 Examen 3-2 ........................................................................................................................ 86

Supernetting ............................................................................................................. 89 Examen 3 - 3 ...................................................................................................................... 91

CIDR, Classless Inter-Domain Routing ................................................................ 93 CIDR y Clases de Redes .................................................................................................... 93 IP´s disponibles para Hosts ................................................................................................ 96

Sección 4: Implementando IPv6 ....................................................................... 97

Historia de IPv6 ..................................................................................................... 101 IPv5 .................................................................................................................................. 102 Network Address Translation ........................................................................................... 103

Características de IPv6 ......................................................................................... 104 Dirección de un espacio más grande ................................................................................ 104 Accesibilidad global ......................................................................................................... 105 Los niveles de direccionamiento jerárquico ..................................................................... 105 Encabezado eficiente ........................................................................................................ 106 Etiqueta de flujo ............................................................................................................... 106 Cabezal ............................................................................................................................. 107 Movilidad ......................................................................................................................... 108 Seguridad ......................................................................................................................... 108 Transición ......................................................................................................................... 109

Encabezado IP ....................................................................................................... 110 Formato básico del encabezado IPv6 ............................................................................... 110

Representación de las direcciones IPv6 ............................................................... 112 Representación preferida de direcciones IPv6.................................................................. 112 Representación comprimido ............................................................................................. 113 Examen 4.1 ....................................................................................................................... 115

Sección 5: Encaminamiento IP ................................................................. 117

Encaminamiento .................................................................................................... 121 Configuración del encaminamiento .................................................................................. 121

Page 3: Tcpip Linux 2012

Indice

iii

La tabla de encaminamiento ............................................................................................. 122 Adición y eliminación de rutas estáticas .......................................................................... 123

Encaminamiento dinámico ................................................................................... 126 Protocolos de encaminamiento ......................................................................................... 126 Otros protocolos ............................................................................................................... 127 Demonios de encaminamiento ......................................................................................... 127 Casos complejos de encaminamiento ............................................................................... 128 Ejecución de gated ........................................................................................................... 129 Configuración de /etc/gated.conf ..................................................................................... 129 Configuración del encaminamiento de un host ................................................................ 130 Configuración de una pasarela interior............................................................................. 130

Sección 6: Protocolo de Configuración Dinámica de Hosts ......................... 133

Introducción al Servicio DHCP ............................................................................ 137 Las raíces del DHCP ........................................................................................................ 137 Los mecanismos de DHCP ............................................................................................... 138 El servidor DHCP ............................................................................................................ 138

Descarga, compilación e instalación de un servidor DHCP. ............................. 139 Configuración del servidor DHCP ................................................................................... 139 Declaraciones ................................................................................................................... 140 Parámetros ........................................................................................................................ 141 Opciones ........................................................................................................................... 144 Ejemplo de dhcpd.conf ..................................................................................................... 144 Comportamiento general en tiempo de ejecución ............................................................ 145

El Demonio DHCP del Cliente ............................................................................. 146 Descarga, compilación e instalación de un cliente DHCP ............................................... 146 Configuración del cliente DHCP ...................................................................................... 146 Administrando las máquinas a distancia .......................................................................... 148 Examen 6-1 ...................................................................................................................... 150 Examen 6-2 ...................................................................................................................... 152

Page 4: Tcpip Linux 2012
Page 5: Tcpip Linux 2012

Introducción a Networking TCP/IP

Page 6: Tcpip Linux 2012

Informática Integrada Internetworking

2

Page 7: Tcpip Linux 2012

Introducción a TCP/IP Networking

3

Introducción

Para mantener una comunicación efectiva y conectarse con locaciones remotas, las organizaciones necesitan configurar y administrar redes de computadoras. Con Linux Red Hat encontrará un conjunto de servicios de redes basados en protocolos de networking estándar y de tecnologías que ofrecen fiabilidad y una infraestructura de red ínter operable. Cuenta con servicios y herramientas para la instalación, configuración, administración y soporte para hacer más sencilla la infraestructura de su red. Una infraestructura de red cuenta con los siguientes elementos:

Intranet: Se refiere a la red privada dentro de una organización que usualmente cuenta con distribución de información interna. Una Intranet también puede ser llamada LAN. Incluye servicios como la distribución de documentos y software, accesos a bases de datos y entrenamiento. Además de servicios de archivos e impresoras compartidas, una Intranet usualmente utiliza aplicaciones asociadas con Internet como páginas Web, navegadores para Internet, sitios FTP, e-mail, newsgroups y listas de correo a las que sólo la organización tiene acceso.

Accesos Remotos: Provee de trabajo en red remoto para las telecomunicaciones, trabajadores móviles y administradores de sistemas que necesitan monitorear y administrar servidores de múltiples sucursales. Todos los servicios deben estar disponibles para los usuarios conectados en la LAN remota, incluye por supuesto compartir archivos e impresoras, acceso Web y mensajería a través de la conexión remota.

Oficinas Remotas: Parte de una organización se encuentra ubicada geográficamente en un área separada. Una LAN de una oficina remota conectada a una red corporativa forma una WAN. La conexión WAN es una conexión remota compartida a la red que habilita a usuarios en la oficina remota la comunicación y el uso de los recursos compartidos a la organización entera. Los enlaces WAN son persistentes, lo que involucra disponibilidad conectarse cuando se necesita y desconectarse cuando no se requiere.

Internet: La colección de redes mundiales y routers que utiliza la suite de TCP/IP para comunicarse una con otra. Internet comprende líneas para la comunicación de alta velocidad entre la mayoría de los nodos o computadoras, que se clasifican en comerciales, educacionales de gobierno, milicia, etc.

Extranet: Una extranet es una red “colaborativa” que utiliza tecnologías de Internet para facilitarse las relaciones de confianza entre empresas con proveedores clientes u otra relación de negocio. Esta compuesta por un lado de la Intranet o red corporativa y por otro lado las compañías que pueden accederla o también puede ser una red compartida de varias compañías que colaboran entre si. La información compartida debe estar disponible solo para las partes que colaboran y en algunos casos la información puede ser pública.

Para levantar una infraestructura de red adecuada, requiere de los conocimientos y la configuración de los protocolos de red necesarios, settings y servicios que serán utilizados para cada elemento dentro de la estructura de red.

TCP/IP provee de la conectividad básica para su red, es una industria estándar que comprende un set de protocolos de red y los servicios más importantes. Hoy en día se

Page 8: Tcpip Linux 2012

Informática Integrada Internetworking

4

ha convertido en el protocolo por excelencia para las telecomunicaciones y la ínter conectividad. Existen actualmente diferentes versiones de ésta suite de protocolos para diferentes sistemas operativos y para diferentes proveedores de hardware, todos por supuesto; orientados a la comunicación y siguiendo los estándares establecidos.

La escalabilidad de TCP/IP se adapta a todos los tamaños de redes. Red Hat incluye todas las implementaciones y requerimientos estándar de la IETF para hosts y servidores TCP/IP.

TCP/IP depende de la resolución de nombres para trabajar apropiadamente. La resolución de nombres es un proceso que ofrece a los usuarios una manera sencilla de recordar los nombres de los servidores en vez de utilizar direcciones numéricas para identificarlos dentro de la red.

Antecedentes Históricos

Las redes están compuestas generalmente por un pequeño número de máquinas localizadas en el mismo edificio, o incluso en una sola planta que están interconectadas para proporcionar un entorno de trabajo homogéneo. Es típico que se quiera compartir archivos entre estos nodos, o ejecutar aplicaciones distribuidas en diferentes máquinas.

Estas tareas requieren una aproximación completamente diferente a las redes. En lugar de reenviar archivos completos con una descripción del trabajo, todos los datos se fragmentan en pequeñas unidades (paquetes), que se envían inmediatamente al nodo destino, donde son reensamblados. Este tipo de redes son llamadas redes de intercambio de paquetes. Entre otras cosas, esto permite ejecutar aplicaciones interactivas a través de la red. El costo de esto supone, por supuesto, una complejidad adicional al software.

La solución que han adoptado los sistemas es conocida como TCP/IP. El TCP/IP tiene sus orígenes en un proyecto de investigación fundado en Estados Unidos por el DARPA (Defense Advanced Research Projects Agency, Agencia de Proyectos Avanzados de Investigación en Defensa) en 1969. Una vez comprobado el éxito, esta red ARPANET fue operativa en 1975.

En 1983, fue adoptado como estándar el nuevo conjunto de protocolos TCP/IP, y todos los nodos de la red empezaron a utilizarlo. Cuando ARPANET por fin dio paso a Internet (con la propia ARPANET integrándose en su existencia en 1990), el uso del TCP/IP se había extendido a redes más allá de la propia Internet. Las más destacables son las redes locales UNIX, pero con la llegada de los equipos telefónicos digitales rápidos, como la RDSI, también tiene un futuro prometedor como transporte en redes telefónicas.

Page 9: Tcpip Linux 2012

Introducción a TCP/IP Networking

5

Comprendiendo TCP/IP

Actualmente los sistemas de redes están construidos sobre un concepto de “niveles o capas de servicio” cuando nosotros tratamos de mandar información de un lugar a otro corremos el peligro de perder algunos bits en el trayecto. Definiendo cuales serían los diferentes niveles en este proceso tenemos que:

La primera capa de nuestro sistema lo compone el hardware, es decir, la computadora, tarjeta de red y algunos cables que no son precisamente muy confiables. Después, una capa de software básico que nosotros agregamos y que nos permite aislar los problemas del hardware. Se incorpora otra capa más de software para dar al software básico algunas características deseadas y continuamos agregando funcionalidad e inteligencia a la red, capa por capa, hasta que se obtiene algo amigable y útil.

Bien, con esta sencilla explicación se comenzará la descripción de uno de los protocolos de comunicación mas usado en el mundo por cientos de diferentes empresas que elaboran tanto software como hardware para las telecomunicaciones. La descripción de éste sistema de protocolos inicia con una sencilla analogía desde como funciona y como es el flujo de la información en los diferentes niveles o capas que lo componen. Igualmente, sigue la misma ruta de transmisión.

Un modelo excelente para describir el funcionamiento de TCP/IP es el Servicio Postal. El Servicio Postal es una red de conmutación de paquetes, donde nosotros contamos con una red dedicada a enviar información que se mezcla con los mensajes de otras personas, se ponen en un conducto, se transfieren a otra oficina postal y se clasifica todo nuevamente. Aunque las tecnologías son completamente diferentes, el Servicio Postal es sorprendentemente similar.

Un cable puede llevar información de un lugar a otro, pero cómo lo hace? Las redes son un conjunto de computadoras que están conectadas por todo el mundo por unos dispositivos llamados routers (mejor conocidos como ruteadores o enrutadores) que su función principal es interconectar fragmentos físicos de redes, las cuales pueden ser Ethernets, token rings, etc.

Las líneas telefónicas y las redes Ethernets son el equivalente a los camiones y aviones del Servicio Postal, es decir, el medio a través del cual el correo va de un lugar a otro. Los routers son las sucursales postales; estos equipos deciden cómo dirigir la información " o los paquetes de información", de la misma forma que una oficina postal decide cómo distribuir los sobres por correo.

No todas las oficinas de correos o todos los routers cuentan con una conexión a cada uno de los otros destinos de la red; es decir, si se envía un sobre por correo desde Mérida con destino a Tijuana, el sistema no reserva un avión especial para llevarlo, sino que envía el sobre a una sucursal de correo y ésta a su vez lo envía a otra, y así sucesivamente hasta alcanzar su destino final. Esto significa que cada sub estación sólo necesita conocer las conexiones con las que cuenta y cuál es el mejor "siguiente salto" para acercar el paquete a su destino. El protocolo trabaja de una manera similar: un router se fija en el destino de la información y decide a dónde enviarla. El router elige cuál es el enlace más apropiado para enviar el paquete.

Page 10: Tcpip Linux 2012

Informática Integrada Internetworking

6

Si se quiere enviar una carta, no basta con poner el papel escrito en el buzón y esperar a que sea entregado. Es necesario poner el papel con la información dentro de un sobre, escribir el domicilio del destinatario y pegar los timbres postales. De esta misma manera que el servicio postal tiene sus reglas que definen la operación de su red, también existen reglas que definen la operación de Internet. Las reglas son los llamados protocolos.

Uno de los más importantes de nuestro esquema es el Protocolo Internet (IP) que se encarga de establecer domicilios o se asegura que los routers sepan qué hacer con la información que les llega; continuando con nuestro ejemplo, el protocolo IP tiene la función del sobre donde enviamos una carta.

Una parte de la información del domicilio va al principio del mensaje; estos datos dan a la red información suficiente para hacer la entrega del paquete. Las direcciones IP, constan de cuatro cifras de números, cada uno de ellos menor que 256 y cuando se escriben, se separan por puntos, como se muestra a continuación: 192.112.36.5. Así como los domicilios están compuestos por varias partes y son únicos en el mundo. El protocolo IP le da a todas las computadoras de la red una dirección que es única en el mundo y que como ya dijimos se divide en cuatro segmentos.

Los primeros números de la dirección IP indica a los ruteadores cuál es la red a la que pertenece el paquete y los últimos números indican qué computadora personal o equipo anfitrión de la red debe recibir la información. Consideremos la siguiente dirección:

Priv. De San Enrique 976 Col. Chapalita 04590 Guadalajara, Jal. En este caso, la ciudad es como la parte de la dirección IP que permite que el sobre llegue a la oficina postal correcta; el código postal indica el segmento de la red y el domicilio el buzón particular en el área de servicio de la oficina de correos. El sistema concluye su trabajo cuando entrega el paquete en la oficina correcta y ésta la pone en el buzón correcto. De la misma manera, el protocolo de comunicación concluye su trabajo cuando entregó la información en el ruteador correcto y éste a su vez en el equipo correcto localizados en la red.

Por muchas razones prácticas, la información enviada a través de las redes IP se divide en fragmentos de distintos tamaños llamados paquetes. La cantidad de información en un paquete normalmente se encuentra entre 1 y aproximadamente 1500 caracteres de largo. Esto previene que cualquier usuario monopolice la red, permitiendo que todos tengan un acceso equitativo.

Una de las propiedades más impresionantes de Internet es que, en un nivel básico, el protocolo IP es todo lo que se necesita para participar en la red. No será muy amigable, pero sí suficientemente capaz, siempre y cuando la información se ponga en un sobre IP. Con esto, la red tiene toda la información necesaria para llevar el paquete hasta su destino. No obstante, habrá que resolver varios problemas:

La mayoría de las transferencias de información es mayor que 1500 caracteres. El servicio postal no sería realmente funcional, si sólo recibiera tarjetas postales y no paquetes o sobres más grandes.

Page 11: Tcpip Linux 2012

Introducción a TCP/IP Networking

7

En ocasiones se pueden presentar errores; así como el Servicio Postal puede perder una carta, algunas veces las redes pierden paquetes o pueden dañarse durante la transmisión. A diferencia de lo que sucede con el servicio del correo, TCP/IP puede resolver estos problemas exitosamente.

Los paquetes de información pueden llegar en desorden. Si se envían dos cartas al mismo lugar en días consecutivos no existe la garantía de que viajarán por la misma ruta o llegarán en el mismo orden. Lo mismo sucede con Internet.

Para evitar esto, la siguiente capa de la red nos permitirá enviar grandes cantidades de información y corregirá todas las alteraciones que puedan ser causadas por la red. El Protocolo de Control de Transmisión (TCP) es el protocolo que se utiliza para resolver los problemas mencionados.

¿Qué pasaría si usted deseara enviar un libro a alguien y el Servicio Postal sólo aceptara cartas? ¿Cómo podría solucionar este problema? Una de las soluciones sería arrancar todas las hojas del libro, ponerlas en un sobre cada una y depositarías en un buzón. La persona que reciba las cartas tendrá que asegurarse de recibirlas todas y volverlas a empastar en el orden original. Esto es lo que hace el protocolo TCP.

TCP toma la información que se desea enviar y la divide en segmentos, además enumera cada uno de ellos para que el receptor pueda verificar la información y ponerla en el orden adecuado.

Para que el protocolo TCP pueda enviar esta secuencia de números a través de la red, cuenta con su propio sobre que le permite "escribir" en él la información requerida para su re-ordenamiento. Un segmento de la información a transmitir se coloca en el sobre del protocolo TCP. Este sobre es puesto, a su vez, dentro del sobre del protocolo IP y posteriormente es transmitido a la red. Una vez que se pone algo en un sobre IP, la red lo puede transmitir.

Del lado del destinatario, una parte del software del TCP reúne los sobres, extrae la información de ellos y la pone en el orden adecuado. Si algún sobre se pierde en la transmisión, el receptor solicita su retransmisión al emisor. Una vez que el protocolo TCP tiene toda la información en el orden adecuado, la pasa a la aplicación del programa que esté utilizando sus servicios.

En realidad los paquetes de información no sólo se pierden en una transmisión, sino que además de esto, pueden ser modificados por el mal funcionamiento de las líneas telefónicas. TCP también resuelve este tipo de problemas. Así como coloca la información en un sobre, el protocolo calcula algo llamado número de verificación (checksum). Este número de verificación es un número que permite que el receptor TCP detecte errores en el paquete transmitido. Cuando un paquete llega a su destino, el receptor calcula el número de verificación y lo compara con el enviado por el transmisor. Si no coinciden, significa que ocurrió un error en la transmisión. El receptor deshecha el paquete y solicita la retransmisión.

El protocolo TCP crea la apariencia de que existe una conexión permanente entre dos aplicaciones, garantizando de esta forma que lo que se transmite de un lado llegue al otro.

Ahora bien, en el caso de que sea poca la información que estamos enviando TCP pueda llegar a ser demasiado complicado y no necesario; para estos efectos,

Page 12: Tcpip Linux 2012

Informática Integrada Internetworking

8

contamos con un protocolo más llamado “Protocolo de Datagramas de Usuario” ó UDP que es utilizado por algunas aplicaciones en lugar del TCP. Lo cual sería, en lugar de tomar la información y ponerla en un sobre TCP para después ponerla en un sobre IP, esta aplicación pone la información en un sobre UDP y después en un sobre IP.

El protocolo UDP es mucho más sencillo porque no se preocupa por que los paquetes se pierdan, ni por que la información llegue en orden o cualquier situación de ese tipo. El UDP se usa comúnmente en programas que envían mensajes cortos y que sólo reenvían la información si no reciben una respuesta en un tiempo determinado.

Ahora que se tiene la habilidad de transferir información entre dos nodos, es posible trabajar en una capa mas que hace que la red sea más amigable. Esto es utilizando el software adecuado para la tarea que se quiera realizar y poniendo nombres con letras en lugar de sólo números para referirse a las computadoras.

La mayor parte de la gente no se emociona cuando tiene o cuenta con un flujo garantizado de bits entre dos máquinas, sin importar lo veloz que éste sea o lo exótico de la tecnología que lo hace posible. Generalmente desean usar ese flujo de bits para hacer algo útil, ya sea mover un archivo, obtener información o divertirse. Las aplicaciones son partes del software que permiten que lo anterior suceda fácilmente. De hecho son otra "capa" del software, que actúa por encima de los servicios de TCP o UDP. Las aplicaciones ofrecen al usuario una forma de realizar la tarea que se requiera.

Las aplicaciones pueden variar desde un programa hecho en casa hasta un programa propietario proporcionado por una compañía de software. Hay tres aplicaciones "básicas" sesión de trabajo remota, transferencia de archivos y correo electrónico (Telnet, Gopher, FTP, SNMP, etc.) así como otras usadas comúnmente, pero que no son estandarizadas.

Como hemos descubierto hasta ahora, TCP/IP no es otra cosa mas que una suite de diferentes protocolos de comunicación que se divide en diferentes capas y que igualmente incluye aplicaciones.

Page 13: Tcpip Linux 2012

Sección 1: Definición y Arquitectura de TCP/IP

Page 14: Tcpip Linux 2012

Informática Integrada Internetworking

10

Page 15: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

11

Sección 1: Definición y Arquitectura de TCP/IP

Introducción

Esta sección presenta en detalle los conceptos y definiciones de los protocolos de TCP/IP, así como sus antecedentes históricos y documentos que lo regulan.

Objetivos Particulares

Al finalizar esta sección, Usted podrá:

Comprender y describir la función de TCP/IP

Identificar y describir las capas del Modelo DoD

Comparar el modelo de TCP/IP con el modelo OSI

Identificar y describir los principales protocolos y aplicaciones con TCP/IP y sus grupos

Terminología de paquetes

Page 16: Tcpip Linux 2012

Informática Integrada Internetworking

12

Page 17: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

13

Qué es TCP/IP?

Si queremos definir TCP/IP, podemos decir que es un conjunto de protocolos de red que proporcionan comunicaciones a través de redes interconectadas de computadoras con diversas arquitecturas hardware y variados sistemas operativos. Por ser un sistema abierto, TCP/IP incluye estándares de cómo se han de comunicar las computadoras y reglas para conectar redes y encaminar el tráfico. Las siglas significan: Protocolo de Control de Transmisiones/Protocolo Internet y se deben a los dos protocolos más importantes los cuales quedaron definidos en 1982.

Cuando se inició este experimento a finales de la década los 60‟s, fue conducido por el Departamento de Defensa de los Estados Unidos de Norteamérica y por muy pocas universidades; el origen de su investigación fue de fines bélicos principalmente por la llamada “Guerra Fría” y fue la Agencia de Recursos de Proyectos Avanzados del DoD, (DARPA), quien llevó la batuta en el proyecto. El experimento fue un éxito y surgió de él, una pila de protocolos relacionados entre sí con un solo objetivo: Conectividad entre diferentes tipos de computadoras. Rápidamente se convirtió en el estándar para redes de tipo UNIX y se extendió por todo el mundo su uso. Hoy en día, se puede encontrar en versiones comerciales y públicas de TCP/IP para todo tipo de procesador. A continuación, tenemos una lista de fechas significativas del proceso:

En 1970, los host de ARPANET empezaron a usar el Protocolo de Control de Redes (NCT).

En 1972 se dieron a conocer las primeras especificaciones de Telnet.

En 1973, se introdujo el Protocolo de Transferencia de Archivos FTP.

En 1974, TCP se dio a la luz como el Programa de Control de Transmisiones.

En 1981, se publico por primera vez el estándar del Protocolo de Internet IP.

En 1982, la Agencia de comunicaciones de la Defensa DCA y la ARPA, establecieron el Protocolo de Control de Transmisiones TCP y el Protocolo de Internet IP; como la suite de protocolos TCP/IP.

En 1983, la ARPANET emigro de NTC a TCP/IP y se convirtió en el protocolo estándar de los organismos militares para el trabajo en redes y de inter-redes.

En 1984, el Sistema de Nombres de Dominio DNS, fue introducido.

Son varias las asociaciones y organismos que intervienen en la regulación de TCP/IP, entre ellas podemos identificar a la ISOC, Internet Society como la más importante; ya que son los responsables de aprobar las tecnologías que aplican a su desarrollo. A su vez, esta es integrada por:

IAB, Internet Arqchitecture Board; le corresponde la aprobación de los RFC‟s

IANA, Internet Assigned Number Authority

IRFT, Internet Research Task Force

IETF, Internet Eingeener Task Force

Page 18: Tcpip Linux 2012

Informática Integrada Internetworking

14

RFC´s, Request for Comments

Son los documentos oficiales del IETF, que definen los estándares de TCP/IP. Su propósito es proporcionar un medio a un grupo diverso de usuarios de Internet para comunicarse y conciliarse dentro de la arquitectura y funcionalidad de Internet.

Hay mucho tipos de RFC‟s pero todos tienen la misma intención y algún aspecto similar en su formato, algunos son proyectos que ambicionan llegar a ser estándares, otros tienen naturaleza de tutorial o los hay bastante técnicos; pero todos los RFC son de hecho, el medio para que Internet pueda ser organizada y permitir a sus usuarios comunicarse. En general, se clasifican en cinco categorías; Requeridos, Recomendados, Electivos, Uso limitado y No recomendados.

Si alguno de estos documentos se puede considerar como un estándar, entonces sigue un proceso de desarrollo, prueba y aceptación, que igualmente contamos con tres niveles de maduración: Propuesta de Estándar, Borrador Estándar e Internet Estándar.

Cuando un RFC‟s es aprobado y publicado se le asigna un número, un documento nunca es actualizado, más bien es publicado en un nuevo RFC y se le asigna un número nuevo. Encontramos una lista que hace referencia a los documentos que parece son los más importantes, todos ellos se pueden consultar por Internet y están al alcance de cualquier usuario que desee profundizar en la investigación.

RFC 791 Protocolo Internet (IP)

RFC 792 Protocolo de mensajes de control de Internet (ICMP)

RFC 793 Protocolo de control de transmisiones (TCP)

RFC 768 Protocolo de datagrama de usuario (UDP)

RFC 854 Protocolo de Telnet

RFC 959 Protocolo de transferencia de archivos (FTP)

RFC 821 Protocolo simple de transferencia de correo (SMTP)

RFC 822 Estándar para el formato de los mensajes de texto ARPA de Internet

RFC 1117 Números asignados

RFC 991 Protocolo oficial de ARPA en Internet

RFC 1034 DNS - conceptos y facilidades

RFC 1035 DNS - implementación y especificaciones

Una vez aclarado, vamos a describir a continuación cada una de las capas de TCP/IP y de que protocolos se componen.

TCP/IP esta dividido en cuatro capas que definen el llamado Modelo DoD, cada una de éstas, se encarga de realizar una función o tarea especifica dentro de una red y también puede incluir diferentes protocolos. Figura no.1.1.

Page 19: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

15

Capas del Protocolo

Vamos a presentar una breve descripción de las capas y cómo es la comunicación entre ellas cuando se entrega o se recibe un paquete.

Capa Acceso a Redes

Es la base del modelo y el nivel mas bajo. Esta capa es responsable de poner los frames dentro de los cables y fuera de ellos; es decir, es responsable de la transmisión de los datagramas sobre la capa física de la red y hasta el destino.

Cuando llega el paquete a esta capa, se agrega un CRC y un preamble; al recibirse en el host destino se descarga el preamble y se calcula el CRC si esta correcto la dirección MAC es examinada.

CRC: Cyclic Redundancy check, cálculo matemático que se añade para verificar que no ha sido corrupto el paquete.

Preamble: Secuencia de bits que identifican el inicio del paquete.

MTU, Unidad Máxima de Transferencia: Cada tipo de medio físico tiene un tamaño máximo de trama que no se puede superar, el nivel de redes o el nivel de enlace (modelo OSI) es el responsable de obtener esta unidad y de informar a los protocolos situados por encima.

Cuando se establece una conexión, los dos hosts involucrados intercambian sus valores MSS (tamaño de segmento máximo), y que para la conexión se utiliza el valor más pequeño de los dos MSS, el cálculo es él siguientes: MTU menos 40 bytes para los encabezados de IP y TCP.

Aplicación

Transporte

Internet

Redes

Telnet

FTP

SNMP

NFS

Otros

TCP UDP

Ethernet

Token

Ring

FDDI

Otros

IP ICMP

RARP ARP BOOTP

Figura no.1.1. Descripción del modelo DOD y su referencia con TCP/IP

Page 20: Tcpip Linux 2012

Informática Integrada Internetworking

16

Capa de Internet

Es el segundo nivel y es el responsable proveer la comunicación hots-to-host. Aquí es donde el paquete es encapsulado en un datagrama de Internet, los algoritmos de ruteo son cargados (ya sea estático o dinámico) y el datagrama es enviado a la capa de Redes para su transmisión. Los protocolos mas importantes son:

ARP: que es usado para obtener la dirección física de los hosts localizados en la misma red física.

ICMP: envía mensajes y reportes de error de los paquetes.

IP: es el principal responsable de la dirección y ruteo de los paquetes entre hosts y redes. IP para enviar un paquete le agrega su propio encabezado con las direcciones IP del host origen y del host destino, el protocolo que lo entrega, checksum y el TTL. Si el host esta en el mismo segmento de red lo envía directamente si no es el caso, el paquete es enviado al router.

Capa de Transporte

Provee la comunicación entre computadoras, El método deseado para la entrega de paquetes lo define el protocolo, de los cuales tenemos:

TCP que es orientado a conexión, establece comunicación para aplicaciones de transferencia larga y que requiere un mensaje de conocimiento de la información enviada.

UDP no es orientado a la comunicación por lo que no garantiza que los paquetes hayan sido entregados. Las aplicaciones que utilizan UDP son pequeñas y es su responsabilidad la entrega de los paquetes.

Son cuatro las características que hay que considerar cuando se habla de un protocolo orientado a conexión:

1. El camino para los paquetes se establece por adelantado

2. Los recursos necesarios para la conexión se establecen por adelantado.

3. Se asegura la reserva de los recursos durante toda la conexión

4. Cuando la transferencia de datos se ha completado, la conexión finaliza y se liberan los recursos.

Capa de Aplicaciones

Es la capa más alta, es donde las aplicaciones inician la cadena hacia el acceso por la red. Esta capa es la interfase con el usuario, contiene aplicaciones especificas. Entre las cuales tenemos: FTP, Telnet y SNMP, lo que son transferencias de Archivos y correos electrónicos, entre otras y varían de acuerdo al sistema operativo con el que estamos trabajando. Estas aplicaciones usualmente incluyen un cliente y un programa de servidores. A este programa se le refiere como daemon, que en la mitología griega significa “espíritu guardián”

Page 21: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

17

La importancia de los números de puerto

Cada máquina en una red IP tiene al menos una dirección IP. Además, cada máquina tiene muchos procesos individuales en ejecución. Cada proceso puede llegar a ser un cliente de red, un servidor de red, o ambos. Obviamente, si el destino de un paquete se identifica sólo con la dirección IP, el sistema operativo no tiene forma de saber a qué proceso se envían los contenidos del paquete. Para resolver este problema, TCP/IP añade un componente identificado como puerto TCP o UDP. Cada conexión de una máquina a otra tiene un puerto de origen y un puerto destino. Cada puerto se etiqueta con un número entero del 0 al 65,535.

A fin de identificar cada conexión única posible entre dos máquinas, el sistema operativo tiene cuatro fuentes de información: la dirección IP origen, la dirección IP destino, el número e puerto origen y el número de puerto destino. La combinación de estos cuatro valores se garantiza que es única para todas las conexiones entre máquinas.

Una máquina inicia una conexión especificando la dirección IP y el número de puerto destino. Obviamente, la dirección IP origen ya se conoce. Pero el número de puerto origen, el valor que hará que la conexión sea única, se la asigna el sistema operativo origen. Por convención, el número es mayor a 1024 (los números de puerto del 0 al 1023 se reservan para usos del sistema). Técnicamente, la máquina origen también puede seleccionar su número de puerto origen. Sin embargo, para hacer esto ningún otro proceso puede ocupar ese puerto. Generalmente, muchas aplicaciones dejan que el sistema operativo gestione el número de puerto origen por ellas.

Conociendo esta disposición, podemos ver cómo la máquina origen A puede abrir varias conexiones para un solo servicio hacia la máquina destino B. La dirección IP y el número de puerto B siempre es constante, pero el número de puerto A será diferente en cada conexión. La combinación de IP y números de puerto origen y destino (4 datos) es única, y ambos sistemas pueden tener muchos flujos de datos (conexiones) entre ellas.

Para que un servidor ofrezca servicios, debe ejecutar programas que escuchen en un número de puerto específico. Muchos de esos números de puertos se llaman servicios bien conocidos, porque el número de puerto asociado con el servicio es un estándar aprobado. Por ejemplo, el puerto 80 es un puerto de servicio bien conocido para el protocolo http.

Los puertos se pueden ver como puntos de anclaje para conexiones de red. Si una aplicación quiere ofrecer un cierto servicio, se engancha a un puerto y espera a los clientes (a esto también se le llama escuchar en un puerto). Un cliente que quiera usar este servicio consigue un puerto libre en su nodo local, y se conecta al puerto del servidor en el nodo remoto.

Para que un cliente sepa el número de puerto adecuado, se ha tenido que llegar a un acuerdo entre los administradores de los dos sistemas para asignar estos números. Para servicios ampliamente usados, como rlogin, estos números tienen que administrarse centralmente. Esto lo realiza el IETF (o Internet Engineering Task Force), que regularmente publica un RFC denominado Assigned Numbers (Números Asignados). Describe, entre otras cosas, los números de puerto asignados a servicios reconocidos.

Page 22: Tcpip Linux 2012

Informática Integrada Internetworking

18

El modelo OSI

Los sistemas abiertos son sistemas diseñados para incorporar a cualquier dispositivo independientemente de su origen y aceptar también de otros fabricantes, para esto se generan los llamados estándares.

Los estándares se catalogan de dos maneras: estándares de facto y estándares de jure. Los estándares de jure los respalda un organismo como la ISO, ANSI, IEEE, etc. y como ejemplo tenemos: el código ASCII, POSIX, y el modelo OSI. Los estándares de facto existen porque cubren los huecos dejados por las especificaciones de los estándares de jure.

Proceso/

Aplicación

Host-to-Host

Internet

Acceso a Redes

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de Datos

Física

Modelo DOD Modelo OSI

Integridad de datos

Calidad del Servicio

Ruteo entre redes

Interconexión física entre

los dos puntos

Figura no. 1.2. Cuadro comparativo entre el Modelo DOD y el Modelo OSI

Interfaz de Usuario Aplicaciones

Page 23: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

19

En 1978 fue introducido por la organización Internacional de Estándares (ISO), sus siglas OSI indican: Open System Interconnect. Se puede ver como un modelo funcional divido en módulos que contiene las reglas que se requieren para el intercambio de información entre redes y permite la solución para múltiples proveedores. Realmente no es mas que un concepto que describe como la comunicación de datos debería tener lugar y lo dividen en siete capas. Las cuales están descritas en la siguiente tabla.

El concepto básico de la responsabilidad de cada capa es que individualmente agregan valor a los servicios proporcionados por los conjuntos de capas inferiores. De esta manera para el nivel mas alto se ofrecerá el conjunto completo de los servicios para correr una aplicación de datos distribuida.

Cada capa es esencialmente independientemente de cada una de las otras capas. Por lo tanto, muchas de las funciones realizadas en las capas inferiores se removieron completamente de las tareas de software para reemplazarlas con hardware. La desventaja principal de la arquitectura de siete capas es la tremenda cantidad de sobrecarga requerida al agregar encabezados a la información que transmite.

Page 24: Tcpip Linux 2012

Informática Integrada Internetworking

20

Terminología TCP/IP y Protocolos

Antes de intentar entender como se establecen las bases del direccionamiento IP y las clases de redes vamos a dar un recorrido entre los protocolos más importantes en cada una de las capas además de familiarizarnos con la terminología de paquetes.

Llamamos paquete a la unidad de transmisión de tamaño máximo fijo que consta de información binaria que representa datos y una cabecera que contiene un número ID, direcciones origen y destino y datos de control de errores.

Un paquete de datos se mueve de una capa a otra dentro del stack de TCP/IP, cada protocolo agrega al paquete su propia información. El paquete con la información que se le va agregando recibe diferentes nombres técnicos como identificación a los protocolos. Estos nombres son:

Segmento: un segmento es la unidad de transmisión en TCP. Este contiene un encabezado y datos aplicación.

Mensaje: un mensaje es una unidad de transmisión de protocolos no-fiables como: ICMP, UDP, IGMP. Este contiene un encabezado del protocolo y datos aplicación o datos-protocolo.

Datagrama: es la unidad de transmisión IP. Contiene un encabezado IP acompañado de datos de la capa de transporte y también se considera como no fiable.

Frame: un frame es una unidad de transmisión en la capa de interfaz de redes y consiste de un encabezado agregado por la capa de interfaces de red acompañado de datos capa IP.

El propósito de toda la información que contienen estos encabezados es ayudar a la red a que dirija los paquetes desde la máquina origen a la máquina destino. Una vez de que llega a la máquina destino, permite a la máquina decidir si quiere aceptarlo. El encabezado IP especifica qué máquina debería recibirlo y el encabezado TCP especifica qué aplicación de la máquina destino tomará los datos.

Revisando los encabezados IP y TCP, vemos los campos que podemos usar para decidir si queremos aceptar un paquete. Los campos más interesantes son: Direcciones IP origen /destino y números de puertos origen / destino.

Los números de origen y destino son obvios (dónde va el paquete y de dónde viene). Comprobar contra qué números de puerto origen y destino se conecta nos permite elegir que servicios queremos permitir.

Notas: Como el nombre de UDP (Protocolo de datagramas de usuarios) sugiere igual que se le refiera como datagrama. No hay que confundir aunque de cualquier manera, es aceptable el término para un mensaje de UDP. El término de segmento es aplicable cuando un dispositivo físico es utilizado para dividir una red. En el contexto de paquetes, el término de segmento hace referencia generalmente a un segmento TCP.

Page 25: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

21

Componentes del Frame

Un frame que es el término para un paquete de datos en la capa de Interfaz de redes contiene tres componentes principales: el encabezado, datos y trailer.

Encabezado: incluye una señal de alerta para indicar que el paquete es transmitido, la dirección fuente y la dirección destino.

Datos: esta es la información actual enviada por la aplicación. Este componente varía en tamaño dependiendo de los límites configurados por la red. La sección de datos en la mayoría de las redes varia desde los .5 Kb hasta 4 Kb. En redes Ethernet el tamaño de los datos es aprox. 1.5 Kb.

Trailer: El contenido exacto varía dependiendo de la capa de interfaz de redes. Contiene un CRC (cyclical redundancy check) que es un número que se produce de un cálculo matemático en la fuente. Cuando el paquete llega al destino, el cálculo se hace de nuevo, si el resultado es el mismo indica que el paquete se ha mantenido estable.

Encabezado Ethernet (14 bytes)

Encabezado IP (20 bytes)

Encabezado TCP (20 bytes)

Datos de aplicación

Final Ethernet (4 Bytes)

Segmento TCP

Datagrama IP

De 46 a 1500 bytes dependiendo de la cantidad de datos de aplicación

Figura no.1.3. Un frame Ethernet con los encabezados de todos los componentes de un paquete TCP

Page 26: Tcpip Linux 2012

Informática Integrada Internetworking

22

ARP, Address Resolution Protocol

Para que los host de una red se puedan comunicar, es necesario que entre ellos se conozcan sus direcciones físicas, la resolución de direcciones es el proceso del mapeo entre las IP de los hosts y sus direcciones físicas.

ARP, es el responsable de esta función y lo hace a través del envió de broadcast a los hosts si están en una red local o al ruteador si es remoto. Una vez que se obtiene un mapeo se guarda una entrada en su caché, así, cada vez que requiere de una dirección primero checa si no la ha resuelto ya.

El proceso ARP, incluye dos fases un ARP request y un ARP replay, y va como sigue:

1. Una petición ARP es iniciada cada vez que un host intente conectarse a otro host. Primero IP determina si esta en su mismo segmento de red para que el host cheque su caché y busque la dirección física del host.

2. Si no cuenta con el mapeo, ARP construye un mensaje solicitando “Quien es esta IP y cual es su dirección física”. Es enviado como una señal de tipo broadcast y es para todos los hosts de la red

3. Todos los hosts escuchan el mensaje y revisan si no es su dirección, en caso de no ser para ellos, ignoran la solicitud.

4. Cuando el host destino reconoce su IP entonces envía un replay (respuesta) directamente al host origen con su dirección MAC. Por supuesto, actualiza su

Figura no. 1.4. Proceso de resolución de direcciones en una red remota

ping 131.107.7.29

ARP Cache

131.107.7.7 08004..

Broadcast

ARP Cache

131.107.7.7 08009.. 131.107.7.28 08006.

Dirección IP= 131.107.7.28

Dirección MAC = 08004...

Dirección IP= 131.107.7.29

Dirección MAC = 08009...

1

2

4

3

Page 27: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

23

caché con la información del host y al enviar su respuesta se establece la comunicación.

Si el host destino se encuentra en otra red, el proceso varía un poco porque el mensaje broadcast va dirigido al ruteador, él a su vez, envía un datagrama al host destino.

Cuando el host destino esta en una red remota el proceso es diferente; el broadcast que envía ARP es dirigido al router y este envía un datagrama directo al host, veamos:

1. Se inicia el proceso, primero checa el host su caché pare verificar si cuenta con el mapeo del host o de la red. Si no lo tiene, entonces revisa su caché para localizar el mapeo que corresponde al ruteador.

2. En caso de no contar con él, envía un broadcast solicitando la IP del router, mismo que le responde con su dirección IP y Física, una vez recibido el mensaje por el host inicio, éste le libera el paquete con el mensaje para el host destino y el router lo retransmite de nuevo a la computadora remota.

3. En el router, IP es el que determina si la dirección IP es remota o local, por supuesto el router utiliza ARP (Caché o Broadcast) para obtener la dirección física del próximo destino. En el caso de una red remota, checa su tabla de ruteo para obtener la dirección del Gateway.

4. Después de que el destino recibe el paquete, este formula una respuesta eco ICMP. Como el host es remoto, verifica su tabla local de ruteo para identificar la IP del router, cuando es encontrada ARP se encarga de resolver a la dirección IP.

Figura no. 1.5. Proceso de resolución de direcciones en una red remota

ping 121.107.7.29

ARP Cache

131.107.7.7 08004..

Broadcast

Router A

ARP Cache

121.107.7.7 08009..

121.107.7.28 08006.

Dirección IP= 131.107.7.28

Dirección MAC = 08004...

Dirección IP= 121.107.7.29

Dirección MAC = 08009...

ARP

Router B

1

2 3

4

5

Page 28: Tcpip Linux 2012

Informática Integrada Internetworking

24

5. En cuanto es resuelta la dirección física, la respuesta ICMP es enviada al gateway y este la envía al host inicio.

La Caché ARP

La caché ARP mantiene entradas estáticas y dinámicas, las dinámicas se crean y se borran automáticamente cuando estamos resolviendo a direcciones IP y tienen un tiempo de vida de 10 minutos.

Las entradas estáticas se ingresan manualmente y se conservan hasta que la máquina es re-iniciada, o cuando se borran manualmente y cuando ARP recibe una dirección diferente, entonces se convierte en dinámica y reemplaza la anterior.

Nota: Cuando ingresamos entradas estáticas en la caché ARP, las direcciones IP hay que ingresarla con los guiones.

Adicionalmente, tenemos una entrada permanente que no se despliega cuando queremos ver los mapeos existentes en la caché, nos referimos a la dirección física para la red local.

Estructura de los paquetes ARP

Dentro de este proceso de resolución se generan dos tipos de paquetes, uno de petición (query) y uno más de respuesta, el primero es un paquete de difusión. La estructura de los paquetes ARP cuenta con los siguientes campos:

Campo Función

Hardware Type El tipo de tarjeta del host destino Protocol Type El tipo de protocolo que fue designado para el proceso

de resolución Hardware Address Length Longitud en bytes de la dirección física Protocol Address Length Longitud en bytes de la dirección de protocolo Operation (Opcode) La operación performada Sender´s Hardware Address Dirección MAC del que envía Sender´s Protocol Address Dirección IP del que envía Target´s Hardware Address Dirección MAC del que destino Target´s Protocol Address Dirección IP del que recibe

Page 29: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

25

ICMP, Internet Control Message Protocol

El protocolo de mensajes de control de Internet es un protocolo de mantenimiento especificado en el RCF 792. Los mensajes ICMP se encapsulan dentro de los datagramas de IP para que puedan encaminarse entre varias redes interconectadas. Se utiliza para:

Construir y mantener tablas de ruteo

A descubrir la Unidad de Transferencia (PMTU); se basa en los mensajes del destino no alcanzables RFC 1,191.

Diagnosticar problemas (Ping y Tracert)

Ajustar el control de flujo para prevenir la saturación de enlace de encaminadores

Estructura del paquete ICMP

Todos los paquetes ICMP tienen la misma estructura y los siguientes campos:

Campo Función

Type Indica el tipo de paquete que es, echo request o echo replay

Code 8 bit que Indica una de las múltiples funciones

Checksum Número de 16 bit

Type-sepecific Data Datos adicionales que varían para cada tipo diferente

Sequence Secuencia del paquete

Identifier Identificador

Nota: ICMP es definido en el RFC´s 792.

Page 30: Tcpip Linux 2012

Informática Integrada Internetworking

26

IP, Internet Protocol

Es el protocolo primeramente responsable del direccionamiento y ruteo de los paquetes entre los hosts. Protocolo de mensajería proporciona un sistema de envío de mínimo esfuerzo.

No esta orientado a la conexión, lo que quiere decir es que no establece una sesión antes del intercambio de datos. No garantiza la entrega de paquetes, Siempre hace su mejor esfuerzo pero por el camino puede ser extraviado, fuera de secuencia o duplicado.

Si IP identifica la dirección destino en una red local, transmite el paquete directamente al host. Si lo identifica en una red remota, entonces IP checa la tabla de ruteo para enviarlo al router que corresponde el host remoto.

Nota: Encontramos la definición de IP en el RFC 791.

Estructura del paquete IP

Campo Función

Version 4 bits son usados para indicar la versión de IP Header Length 4 bits para indicar él numero de 32 bits en el encabezado IP Type of service 8 bits que son usados para indicar la calidad deseada del

servicio por este datagrama en la entrega a través de los routers en la red

Total Length 13 bits usados para indicar el total de la longitud del datagrama

Identification 16 bits son usados como identificador para este específico paquete. Si el paquete es fragmentado, todos los fragmentos tienen el mismo numero de identificador

Fragmentation Flags 3 bits para las banderas del proceso o de fragmentación

Fragmentation Offset 13 bits para un contador que indica la posición del fragmento TTL 8 bits para indicar el TTL o brincos antes de ser descargado Protocol 8 bits para identificar el protocolo IP del cliente Header Checksum 16 bits usados como checksum Source Address 32 bits para almacenar la IP del host origen Destination Address 32 bits para la dirección destino Options and Padding Un múltiple de 31 bits usado para almacenar las opciones de

IP

Page 31: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

27

TCP, Transmission Control Protocol

Es un protocolo de Internet orientado a conexión responsable de fragmentar los datos en paquetes que el protocolo IP envía a la red. Este protocolo proporciona un flujo de comunicación fiable y secuenciado para la comunicación de red.

El protocolo de control de Transmisión suministra a los programas un servicio orientado a conexión, fiable y de flujos de bytes. Los servicios de red se basan en el transporte TCP para iniciar la sesión, compartir archivos e impresión, duplicar la información entre controladores de dominio, transferencia de listas de examinadores y otras funciones comunes. Sólo puede utilizarse TCP para comunicaciones de uno a uno. TCP utiliza una suma de comprobación en ambas cabeceras y en los datos de cada segmento para reducir las probabilidades de corrupción que no se detecte en los datos.

Un mensaje de ACK (acknowledgment) es usado para verificar que los datos hayan sido recibidos por los otros hosts. Por cada segmento enviado, el host que recibe debe enviar un ACK.

Cuando no se recibe el mensaje de ACK, la información es retransmitida, igualmente, cuando un segmento es dañado se vuelve a enviar.

TCP Ports: Los ports de TCP proveen un específico punto para entregar mensajes. Son alrededor de 256 port los que estas definidos como uso común. A continuación unos cuantos para referencia: FTP, 21; Telnet, 23; DNS, 53; NetBios, 139. TCP este definido en el RFC 793.

Estructura del paquete de TCP

Todos los paquetes de TCP tienen dos partes, una de datos y otra el encabezado. Los campos que contiene el encabezado son los siguientes:

Campo Función

Source Port Port del host que envía 16 bits Destination Port Port del host destino. 16 bits Sequence Number La secuencia en bits transmitidos por segmento. El número

de secuencia es usado para verificar que todos los bytes fueron recibidos 32 bits

Acknowledgment Number

El número de secuencia de los bytes que host local espera recibir. 32 bits

Data Length Longitud del encabezado 4 bits Reserved Reservado para uso futuro 6 bits Flags Este campo especifica el contenido del segmento Windows Que espacio esta disponible en la ventana TCP Checksum Verifica que el encabezado no este corrupto 16 bits Urgent Pointer Cuando un dato urgente es enviado (se especifica en el

campo Flag). 16 bits

Page 32: Tcpip Linux 2012

Informática Integrada Internetworking

28

UDP, User Datagrama Protocol

El protocolo de datagramas de usuarios suministra un servicio no orientado a la conexión y no fiable. Se utiliza frecuentemente en comunicaciones de datagramas IP de difusión. Puesto que no esta garantizada la recepción de los datagramas UDP, los programas que lo utilizan deben elaborar sus propios mecanismos de fiabilidad.

UDP Ports: Para uso de UDP, la aplicación debe contar con la dirección IP y el número de puerto de la aplicación destino. Un port es la entrada por donde se reciben los mensajes. Por mencionar algunos ejemplos: Netstat,15; Domain, 53; TFTP,69; SNMP, 161.

Nota: El RFC 768 define el protocolo UDP.

Estructura de un paquete UDP

Los siguientes campos son parte del encabezado de un paquete UDP:

Campo Función

Source Port Port UDP del host que envía, es un valor opcional si no se usa es igual a cero.

Destination Port Port UDP del host destino.

Message Length El tamaño del mensaje UDP

Checksum Verifica que el encabezado no este corrupto

Page 33: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

29

Herramientas para TCP/IP

ifconfig

El comando ifconfig es la abreviatura de configuración de la interfaz, y se usa para

configurar las interfaces de red local. Este comando se invoca normalmente durante el inicio del sistema para configurar cada interfaz con una configuración predefinida. El comando ifconfig puede usarse también para cambiar los parámetros de interfaz

de la red después de que el sistema haya sido iniciado. Este comando se usa generalmente para depuración y/o actividades de afinación del sistema, y realiza las siguientes funciones:

enumera la configuración de cada interfaz de red definida

inhabilita/habilita cualquier interfaz de red definida

modifica los parámetros de configuración de la interfaz de red

crea seudo interfaces

El comando ifconfig proporciona un gran número de opciones y palabras clave que

se utilizan para configurar una o más interfaces. La tabla 1.1enumera las opciones y palabras clave más importantes, que se usan como modificadores con otras Opciones de línea de comandos.

Tabla 1.1. Opciones y palabras clave ifconfig.

Opción Descripción

-a Se aplica a todas las interfaces que estén instaladas actualmente en el sistema

arp / -arp Habilita o inhabilita el uso del protocolo ARP en esta interfaz;

Promisc/

-promisc

Habilita el modo promiscuo (es decir, está atento a todo el tráfico) en esta

interfaz. La opción –promisc lo inhabilita.

allmulti / -

allmulti

Habilita o inhabilita todo el tráfico de multidifusión que vaya a recibir la interfaz.

Broadcast / -

broadcast

Con el argumento dado, establece o borra la dirección de difusión para esta interfaz. Esta es una dirección de difusión de la capa de red.

Pointtopoint –

pointtopoint

Habillita un modo punto a punto para esta interfaz. La suposición básica es que es un enlace dedicado entre dos dispositivos. Si se proporciona el argumento de dirección, establece la dirección de protocolo para el otro lado del enlace. Inhabilita el modo point-to-point con la palabra pointtopoint.

up Hace que la interfaz suba o se active

down Hace que la interfaz baje o se desactive

netmask Establece la mascara de red IP para esta interfaz. El argumento especificado puede estar en la forma 255.0.0.0 o 0xff00000 (hexadecimal)

broadcast Establece la difusión IP para esta interfaz.

address Establece la dirección IP para esta interfaz. Esta debe ser una dirección IP única que no se haya asignado previamente a otro sistema.

Page 34: Tcpip Linux 2012

Informática Integrada Internetworking

30

La opción -a indica que ifconfig debe presentar todas las interfaces instaladas en

el sistema, sin tener en cuenta su configuración actual o el estado operacional.

#ifconfig -a

eth0 link encap:Ethernet Hwaddr 00:10:5A:28:5D:7C

inet addr:10.0.2.201 Bcast:10.0.2.255

Mask: 255.255.255.0

UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1

RX packets:822 errors:1 dropped:0 overruns:0 frame:1

TX packets:108 errors:0 dropped:0 overruns: 0 carrier:0

Collisions:0 txqueue 1 en:100

Interrupt:10 base address:0xfc00

lo Link encap:local loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:3924 Metric:1

RX packets:92 errors:0 dropped:0 overruns:0 frame:0

TX packets:92 errors:0 dropped:0 overruns:0 carrier:0

Collisions:0 txqueue1en:0

ppp0 Link encap:point-to-point protocol

POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

Collisions:0 txqueuelen:10

Para cada interfaz, la presentación incluye los siguientes campos:

Link encap. Especifica el protocolo de encapsulamiento de enlace que la interfaz

usará cuando, transmita frames de enlace de datos. Los tipos soportados incluyen Ethernet, Local Loopback y protocolo point-to-point.

HWaddr. Es la dirección de enlace de datos para el protocolo de encapsulamiento.

inet addr. Es la dirección IP asociada con esta interfaz.

Bcast. Representa la dirección de difusión de la capa de red

Mask. Representa la dirección de la máscara de subred.

Además, la presentación incluye los parámetros operacionales para la interfaz. Éstos incluyen UP, BROADCAST, RUNNING, PROMISC y MULTICAST. Estas opciones muestran el modo y el estado actual de la interfaz.

Luego, la presentación incluye campos que representan los contadores estadísticos, como paquetes recibidos (RX packets) paquetes transmitidos (TX packets), número de colisiones (collisions), y demás. Éstos suministran una manera relativamente fácil de hacer una prueba comparativa del desempeño de la interfaz. Por último, los campos restantes muestran el número de interrupción y la dirección Base de E/S del hardware de la interfaz.

Page 35: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

31

Route

Si su máquina se conecta a una red con varias subredes, necesita un ruteador. En el caso donde una máquina ni siquiera tiene una pista sobre dónde enviar el paquete, se usa una ruta por defecto. Este camino apunta a un ruteador que idealmente tiene idea de dónde debería ir el paquete o, al menos, sabe otra ruta que pueda tomar. (Default Gateway).

Una máquina típica Linux conoce al menos tres rutas: la primera es la ruta de bucle local que simplemente a su dispositivo de loopback. La segunda es la ruta a la red de área local de forma que los paquetes destinados a las máquinas de esa misma red se envían directamente a ellas. Por último, la tercera ruta es la ruta por defecto. Esta ruta se usa para paquetes que necesitan abandonar la red de área local para comunicarse con otras redes. Si configura su red en tiempo de instalación, este valor es probable que se ocupe el sistema de él. Así que no necesitará cambiarlo, lo cual no quiere decir que no pueda.

El comando route típico se estructura de esta forma:

[root@ford /root] # route cmd tipo dirección netmask masc gw

IP_gateway

Parámetro Descripción

Cmd Valor add o del dependiendo de si añade o borra una ruta. Si

elimina una ruta, sólo necesita otro parámetro, dirección.

Tipo Valor –net o –host dependiendo si dirección representa una

dirección de red o una dirección de ruteador

Dirección La red destino que quiere ofrecer para enrutar

Netmask masc Configura la máscara de red de la dirección.

Gw gatew Configura la dirección del ruteador.

Dev destino Envía todos los paquetes destinados a dirección a través de la red del dispositivo según se configura con ifconfig

Ejemplo: ésta es la manera como se configura una ruta por defecto en mi máquina, la cual tiene un dispositivo Ethernet y un Router 192.168.1.1:

[root@ford/root]#route add –net default gw 192.168.1.1 dev ethe0

Ejemplo: esta línea de comandos configura un sistema para que todos los paquetes destinados a 192.168.1.42 se envíen a través del primer dispositivo PPP:

[root@ford /root]#route add –host 192.168.1.42 netmask

255.255.255.0 dev ppp0

Ejemplo: así es como se borra una ruta destino a 192.168.1.42:

[root@ford /root] # route del 192.168.1.42

Page 36: Tcpip Linux 2012

Informática Integrada Internetworking

32

Hay dos formas de poder ver su tabla de rutas: el comando route y netstat. El uso

de route es el más sencillo. Ésta es una ejecución completa, con esta salida:

[root@ford /root] # route

kernel IP routing table

destination gateway Genmask flags Metric Ref Use Iface

10.10.2.0 * 255.255.255.0 UH 0 0 0 eth1

192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

127.0.0.0 * 255.0.0.0 U 0 0 0 lo

default firewall 0.0.0.0 UG 0 0 0 eth1

Podemos ver dos redes, la primera red es la 192.168.1.0, la cual es accesible mediante el primer dispositivo Ethernet, eth0 la segunda red es la red 10.10.2.0, la

cual se conecta mediante el segundo dispositivo Ethernet, eth2 la ruta por defecto es

10.10.2.4. Sin embargo, debido a la dirección IP resuelve el nombre de máquina firewall en DNS, route imprime su nombre de hosts en lugar de su dirección IP. Ya hemos estudiado el destino, pasarela, máscara de red (referido como genmask en la

tabla) e Iface (interfaz, configurada por la opción dev de route). Las otras entradas

de la tabla tienen el significado siguiente:

Entrada Descripción

Flags Un sumario de estado de conexión, donde cada letra tiene un significado: U: la conexión esta arriba H: el destino es una máquina G: el destino es la pasarela

Metric El costo de una ruta, normalmente medida en saltos (hops). Esto significa para los sistemas que tienen varias rutas para llegar al destino, pero se prefiere una ruta sobre el resto. La mejor ruta es la métrica más baja, el kernel de Linux no usa esta información pero sí lo hacen algunos protocolos de enrutamiento avanzados.

Ref El número de referencias de la ruta. Esto no se usa en el kernel de Linux. Está aquí debido a que la propia herramienta route es de plataformas cruzadas. Así se imprime este valor, pues otros sistemas operativos lo usan.

use El número de bucles de cache de rutas utilizados con éxito. Para ver este valor, use la opción –F cuando invoque route.

Note que route visualiza los nombres de máquinas a cualquier dirección IP que

podría buscar y resolver. Aunque es bueno leerlo, presenta un problema cuando hay dificultades de red y no se consigue llegar a los servidores DNS o NIS. El comando route esperará, tratando de resolver los nombres de máquinas y esperando para ver

si los servidores devuelven y los resuelven esta espera será de varios minutos hasta que la petición devuelva timeout. Para conseguir esto, use la opción –n con route

de forma que se muestre la misma información, pero route no hará intentos de realizar resolución de nombres sobre la dirección IP.

Normalmente, el programa netstat se usa para mostrar el estado de todas las conexiones de red de una máquina. Sin embargo, con la opción –r, también puede

mostrar la tabla de enrutamiento del kernel. Este es un ejemplo de invocación de netstat –r y la salida correspondiente:

Page 37: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

33

En este ejemplo, vemos una configuración sencilla. La máquina tiene una sola tarjeta de interfaz de red conectada a la red 192.168.1.0 y tiene como una ruta por defecto 192.168.1.1.

Como el comando route, netstat también puede tomar –n de forma que no realiza

resolución de nombres.

Herramienta ARP

El comando arp presenta y manipula la tabla de direcciones de red en un sistema

local. La tabla del protocolo de resolución de direcciones, conocida como el caché ARP, contiene una lista completa de todas las transformaciones de protocolo de enlace de datos a direcciones IP para la red local. Nótese que las expresiones tabla ARP y caché ARP pueden usarse de manera intercambiable y se refieren a lo mismo. Igualmente, los términos vinculación (binding) y transformación (mapping) se refieren a una entrada ARP. Los usuarios regulares (usuarios diferentes a root) pueden presentar la caché ARP pero no pueden hacer cambios de ningún tipo. La razón es obvia: los usuarios podrían alterar la caché, lo que afectaría la conectividad de todos ellos. Con el comando arp, el súper usuario puede:

presentar el caché ARP

borrar una entrada ARP

añadir una entrada ARP

La herramienta ARP proporciona un número de opciones de línea de comandos. Sin embargo, sólo las más importantes se enumeran en la tabla 1.3 y se describen totalmente más adelante. Cada una de estas opciones soporta un solo carácter de comando o palabra clave, junto con dos guiones al principio. Por ejemplo, la opción -v

tiene una clave --verbose asociada. Éstas son equivalentes y pueden usarse de

manera intercambiable en la línea de comandos. La tabla 1.3 muestra ambas formas. La razón para escoger una en vez de la otra es simplemente cuestión de estilo. Sin embargo, el formato de la palabra clave puede facultar el recordar las opciones individuales en el futuro.

Tabla 1.3 Opciones importantes de línea de comandos arp.

Opción Palabra clave Descripción

-a --display Presenta la entrada ARP actual para un host específico -d --delete Borra una entrada ARP -f --file Carga un archivo que contiene entradas para poner en el caché .i --device Presenta sólo aquellas entradas para una interfaz especificada -n –numerico Muestra direcciones numéricas en lugar de nombres de hosts -s --set Crea una entrada ARP -v --verbose Presenta el caché ARP en el modo expresivo (verbose

[root@trillian /root] # netstat -r

kernel IP routing table

destination gateway Genmask flags Metric Ref Use Iface

192.168.1.0 * 255.255.255.0 U 0 0 eth0

127.0.0.0 * 255.0.0.0 U 0 0 lo

default firewall 0.0.0.0 UG 0 0 0 eth0

Page 38: Tcpip Linux 2012

Informática Integrada Internetworking

34

Para presentar los contenidos de la tabla ARP, se usa el comando arp -v (--verbose). Cuando se despliega, ésta incluye el nombre del dispositivo, el tipo de hardware, la dirección física, la bandera de máscara y la interfaz de la red. Una muestra de esto es la siguiente:

# arp -v

Address HWtype HWaddress Flags Mask 1face

durer.home.com ether 00:60:97:0E:A3:06 C eth0

switch.home.com ether 00:00:lD:0A:5D:Ol C eth0

probe.home.com ether 00:C0:D4:00:09:40 C eth0

rembran.home.com ether 08:60:20:82:be:05 C eth0

rubens.home.com (incomplete) eth0

monet.home.com ether D8:00:20:04:cf:2c C eth0

Entries: 6 Skipped: 0 Found: 6

El campo Address muestra el nombre del host o la dirección IP que corresponde a la

entrada ARP. Ésta es la dirección que se usa para buscar la tabla ARP, con el fin de determinar si existe la entrada deseada. Si se presenta una dirección IP (en lugar de un nombre de host), se debe concluir que la dirección IP no pudo ser resuelta correctamente para un nombre de host o que se utilizó la opción -n. Esto podría ser el

resultado de una entrada no válida o que no existe en el servidor DNS o en el archivo /etc/hosts, una mala configuración en cualquiera de ellos, o problemas de

conectividad con el servidor DNS.

El campo HWType representa la interfaz de red para la cual se obtuvo la entrada ARP.

El campo Flags Mask (banderas de máscara) suministra detalles adicionales

relacionados con la entrada ARP. La tabla 14 muestra los indicadores o las banderas disponibles y sus significados.

El campo HWaddress (dirección física) contiene la dirección de bajo nivel para cada

nodo en la red local, y se expresa con seis números hexadecimales con notación de dos puntos.

Tabla 1.4 Indicadores de entrada ARP.

Bandera ARP Significado

C entrada ARP se ha completado

M entrada ARP permanente (estática)

P publicar esta entrada ARP

El campo Iface corresponde a la interfaz de red que está conectada a la red local,

para la cual se obtuvo la entrada ARP.

Las entradas ARP transformadas incluyen un temporizador, que controla cuánto tiempo permanecerá la entrada en la caché ARP. Por defecto, muchos sistemas mantienen la entrada durante aproximadamente 20 minutos antes de retirarla. Algunos sistemas permiten que el administrador altere este valor de tiempo.

Page 39: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

35

El comando arp también soporta la capacidad de agregar vínculos que son definidos en un archivo regular, en lugar de especificar la información en la línea de comandos. Este método se usa, por ejemplo, para cargar una lista de entradas ARP al tiempo, en un solo paso. El formato de un archivo utilizado con este propósito incluye los siguientes campos:

hostname datalink address [ temp ] [ pub]

Usando un editor de texto, se puede crear una lista de vínculos ARP en el formato anterior y guardarlo como un archivo de texto; por ejemplo, /etc/arp-list. A

continuación se muestra listado del ejemplo del archivo:

Bruegel 08:00:20:82:be:05 temp

rubens 08:00:20:81:ce:0l temp

rembrandt 08:00:20:86:fe:02

cezanne 08:00:20:8.l:bb:0l

michelangelo 08:00:20:84:ee;02

La opción -f del comando arp se utiliza para cargar los contenidos del archivo dentro

de la tabla ARP:

# arp -f /etc/arp-list

Si se quiere cargar esta tabla automático, se edita uno de los archivos de inicio del sistema (/etc/rc.d/init.d/network, por ejemplo). Cuando se agrega esta

secuencia de comandos, a una secuencia de comandos de inicio de red, cargará las transformaciones ARP contenidas en el archivo /etc/arp-list.

Herramienta netstat

El comando netstat proporciona una riqueza de información en cuanto al estado de

las conexiones de red, información de enrutamiento y otros datos importantes relacionados con la red. Esta herramienta cuyo nombre es la abreviatura de estado de red (network status), es estrictamente para hacer seguimiento y es una de las ayudas de depuración más populares disponibles en UNIX. Diferentes opciones de línea de comandos controlan el comportamiento de la presentación de netstat. Dado esto, la funcionalidad puede dividirse en un número de categorías y usarse para hacer lo siguiente:

enumerar las sesiones de red activa

mostrar información y estadísticas de la interfaz

presentar la información de la tabla de enrutamiento

mostrar las estructuras de datos de la red

La tabla 1.5 contiene las palabras clave más importantes que controlan qué estructuras de datos se presentan. Algunas de las claves tienen una opción de carácter único y una cadena nemotécnica. Una característica útil de esta herramienta es la ayuda en línea. Sólo se debe invocar el comando –h o –help.

netstat –help

Page 40: Tcpip Linux 2012

Informática Integrada Internetworking

36

Tabla 1.5 Palabras clave netstat.

Opción Nemotecnia Descripción

-i --interfaz Muestra los parámetro y la información de la interfaz de la red

-g --groups Presenta la información de pertenencia al grupo de multidifusión.

-M --masquerade Enumera todas las sesiones que usan las capacidades de enmascaramiento en FTP

-N --netlink Muestra las interfaces y la actividad del enlace en red

-r --route Muestra las tablas de enrutamiento de la red

-t --tcp Presenta las conexiones de socket TCP activo. La opción -tcp presentará continuamente estas conexiones hasta que sea interrumpida por el usuario

La tabla 1.6 contiene los modificadores de línea de comandos que proporcionan información adicional o modifican la salida cuando se usan con las opciones de palabras clave.

Tabla 1.6 Opciones del comando netstat.

Opción Nemotecnia Descripción

-A --af Especifica una familia de dirección diferente. Las palabras clave específicas incluyen --unix, --ipx, -ax25, -netrom y --ddp

-C --continue Hace que la salida sea presentada continuamente hasta que el usuario la interrumpa

-h --help Presenta al usuario una información resumida de la línea de comandos

-n --numeric Presenta la información numérica (por ejemplo, las direcciones IP), el lugar de intentar resolver a un host puerto o nombre de usuario

-p --program Muestra el nombre e identificador del proceso para cada socket de red enumerado

-v --verbose Imprime información adicional

Cualquier sesión TCP entre el host local y otro sistema puede seguirse. Además, cualesquiera flujos de sockets que hayan sido creados se presentarán. Los flujos se usan como un canal de comunicación programa a programa. Para presentar las conexiones establecidas actualmente, se emite el netstat con la opción -t, como se

muestra a continuación:

# netstat –t

Active Internet connections (w/o servers)

Proto Recv-0 Send-0 Local Address Foreign Addrees State

tcp 0 0 110.Orlando-11-12r:1052 192.215.123.37:www ESTABLISHED

tcp 0 1 110.Orlando-11-12r:1051 192.215.123.37:www CLOSE

tcp 0 0 110.Orlando-11-12r:1049 www3.yahoo.com:www ESTABLISHED

tcp 0 0 socrates.home.com:telnet durer.home.com:1033

ESTABLISHED

tcp 0 0 socrates.home.com:telnet durer.home.com:1032

ESTABLISHED

Page 41: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

37

Recordemos, de la tabla 1.5, que la opción -t presentará la actividad del socket TCP. Como se indica, la salida del comando FIN anterior incluye las conexiones en el sistema local. Cada conexión incluye información en cuanto a las direcciones locales remotas, información estadística y estado de la conexión. La dirección local es la fuente y la dirección remota es el destino. Recuérdese que TCP usa cuatro elementos para crear una conexión y utiliza un modelo de máquina de estados como parte de todo el mecanismo de transporte de TCP. En el campo State, podemos ver que esta conexión se encuentra en estado ESTABLISHED (establecido), que significa que está pasando datos en ambos sentidos.

La siguiente tabla muestra los estados más comunes e incluye una descripción general de cada uno.

Tabla 1.7. Estados TCP mostrado con netstat

Estado Descripción

ESTABLISHED La conexión es operacional

LISTEN Un servicio o aplicación está esperando una conexión de un cliente

SYN_SENT Un sistema local quiere abrir una conexión remota

SYN_RCVD Un sistema remoto quiere abrir una conexión remota

FIN_WAIT_1 Un sistema remoto quiere abrir una conexión

FIN_WAIT_2 Un sistema local está en proceso de cerrar una conexión

CLOSE_WAIT Un sistema remoto quiere cerrar una conexión

LAST_ACK Paso final a CLOSE_WAIT

TIMED_WAIT Paso final a FIN_WAIT_1 o FIN_WAIT_2

UNKNOW El estado del socket es desconocido

A veces es útil enumerar todos los servicios que están disponibles y activos en un sistema. Esto se puede lograr usando netstat con la opción -a, podemos usar las

opciones -t y -u para refinar aún más la salida, a fin de incluir sólo los sockets TCP y

UDP. La siguiente salida proporciona una lista de ambos servicios, UDP y TCP, independientemente de sus estados de conexión.

#netstat -a -t -u

Activé Internét connections (servers and established)

Proto Recv:Q Send:Q Local Address Foreign Address State tcp 0 0 socrates.home.co:telnet durer.home.com:l033 ESTA

tcp 0 0 110.orlando-11-1:domain *:* LISTEN

tcp 0 0 *:1048 *:* LISTEN

tcp 0 0 *:1047 *:* LISTEN

tcp 0 0 *:1046 *:* LISTEN

tcp 0 0 *:1045 *:* LISTEN

tcp 0 0 *:1044 *:* LISTEN

Bajo el encabezado TCP, no sólo se presentan las dos conexiones TCP del ejemplo anterior, sino que también se incluyen los servicios adicionales. Cualesquiera servicios enumerados en el estado LISTEN están esperando conexiones entrantes que son generalmente conocidas como recursos basados en el servidor, cuando un servicio está esperando solicitudes de la red, es libre de tener acceso a conexiones de

Page 42: Tcpip Linux 2012

Informática Integrada Internetworking

38

cualquier dirección remota. Por eso *.* se enumera bajo el campo Foreign Address. Los servidores también colocan * por lo general en la porción de host local para indicar además que el servidor es libre de establecer una conexión si un cliente hizo una solicitud. Cuando una solicitud de un cliente se envía a un servidor, el servidor hace una copia de sí mismo para manejar la solicitud, y continúa escuchando las solicitudes adicionales de clientes. Así, cuando esto ocurre, netstat presenta

múltiples ejemplos del mismo servicio, como se muestra a continuación:

netstat -a |grep ftp

tcp 0 0 socrates.home.:ftp-data durer.home.com:l034 TIME_WAIT

tcp 0 0 socrates.home.com:ftp durer.home.com:l033 ESTABLISHED

tcp 0 0 *:ftp *:* LISTEN

A pesar de la enorme cantidad de información provista con la opción -a, netstat

puede usarse para proporcionar una rápida verificación, con el fin de asegurar que los servicios correctos están corriendo en un sistema dado.

Para presentar los flujos definidos en el sistema, se emite el comando netstat con la

opción --unix. La salida incluye las interfaces de flujo de socket UNIX. Como estas

conexiones se usan principalmente para la comunicación Inter-procesos, su uso y función específicos no se describirán en detalle. Dado que el número de flujos usado en un sistema UNIX puede ser importante, la salida del comando netstat puede ser

bastante grande. Como resultado, la siguiente salida muestra sólo algunas líneas frente a lo que podría presentarse comúnmente:

unix 1 [ ] STREAM CONNECTED 2399 /dev/log

unix 1 [ ] STREAM CONNECTED 2324 /tmp/.ICE-unix/963

unix 1 [ N ] STREAM CONNECTED 2364 /tmp/.XII-unix/X0

unix 1 [ ] STREAM CONNECTED 2220 /tmp/orbit-root/orb-

11931020341330722701

unix 1 [ ] STREAM CONNECTED 2217 /tmp/orbit-root/orb-

16956010373298973

unix 1 [ ] STREAM CONNECTED 2213 /tmp/orbit-

rootroot/orb-16956010373298973

unix 1 [ ] STREAM CONNECTED 2206 /tmp/X11-unix/X0

unix 1 [ ] STREAM CONNECTED 2196 /tmp/oribit-root/orb-

1695601037;32989731

unix 1 [ ] STREAM CONNECTED 2197 /tmp/orbi1-toot

unix 1 [ ] STREAM CONNECTED 2188 /tmp/.x11-UNIX/x0

unix 1 [ ] STREAM CONNECTED 2179 /TMP/orbit-root/orb-

16956010373298973

Estos flujos han sido creados por programas y aplicaciones del sistema como mecanismo para comunicarse entre otros programas.

Una característica muy útil de netstat es la opción –t, la cual muestra el nombre del

proceso o programas asociados que tiene abierto un sistema o lo está usando. El comando:

# netstat –t –p –a

El comando netstat puede obtener igualmente detalles en la configuración de la interfaz de red y conteos rudimentarios del paquete. La opción de línea de comandos

-i obtiene una lista cada interfaz definida en el sistema, una interfaz por línea:

Page 43: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

39

#netstat –i

Kernel interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 0 0 0 0 0 1 0 0 BRU

eth0 1500 0 - no statistics available -

BRU

eth0 1500 0 3946 0 0 0 138 0 0 0 BRU

lo 3924 0 192 0 0 0 192 0 0 0 LRU

El comando netstat puede presentar información de enrutamiento en el mismo

formato del comando route. El comando netstat -r, cuando se combina con la

opción de línea de comandos -e, presenta las tablas de enrutamiento del sistema.

La multidifusión es un mecanismo que soporta de una manera muy eficiente la entrega de tráfico de gran volumen a una red y estaciones de trabajo asociadas. Un grupo de multidifusión es una colección definida de estaciones de trabajo y enrutadores de multidifusión que reenvían tráfico mediante una dirección IP de multidifusión especial. La opción –g presenta información de enrutamiento y las interfaces que se han

definido en el sistema. El comando netstat –g mostrará los grupos de multidifusión

configurados:

Ipv4 group Member ships

Interface RefCnt Group

---------- ------ ----------

lo 1 224.0.0.1

eth0 1 224.0.0.1

eth1 1 224.0.0.1

En este ejemplo, cada una de las interfaces definidas en el sistema es un miembro del grupo de multidifusión predeterminado, conocido como 224.0.0.1. Este grupo, que es un grupo de multidifusión estándar se utiliza para enviar tráfico de multidifusión a todos los sistemas en una red local. Así, cuando una aplicación use la dirección 224.0.0.1 para transmitir tráfico, este sistema recibirá la información. En ocasiones es que se emplea multidifusión usando aplicaciones de multidifusión estándar, pueden definirse usando aplicaciones de multidifusión adicionales para restringir el tráfico de multidifusión sólo para aquellos sistemas en los que se requiere la información.

La opción –statistics, por sí misma, presentará los protocolos soportados,

incluidos TCP, UDP y RAW. RAW es una combinación de los paquetes IP e ICMP y pueden presentarse por separado usando la palabra raw.

# netstat –statistic

Ip:

3003 total packets received

0 forwarded

0 incoming packets discarded

212 incoming packets deliverd

2847 requests sent out

icmp:

489 ICMP messages received

0 input ICMP message failed.

ICMP input histogram:

Page 44: Tcpip Linux 2012

Informática Integrada Internetworking

40

Destination unreachable:486

Echo replies: 3

487 ICMP messages sent

0 ICMP messages failed

ICMP output histogram:

Destination unreachable: 487

Tcp:

0 active connections openings

0 passive connection openings

0 failed connection attemps

0 connection resets received

1 connections established

2295 segments received

1700 segments send out

2 segments retransmitted

0 bad segments received.

0 resets sent

udp:

171 packets received

2 packets to unknown port received.

0 packet receive errors

657 packets sent:

Por otro lado podría presentarse tan sólo uno de los protocolos listados en el lugar de la lista completa. Esta situación usa sólo una de las palabras claves opcionales –raw,

-tcp o –udp. Después de emplear una de estas palabras clave, será presentado sólo

ese protocolo. Por ejemplo, para presentar sólo paquetes IP de ICMP, se usa el siguiente comando:

netstat –statistics --raw

Herramienta ping

El comando ping suministra dos servicios básicos. Primero, se puede usar para

determinar si un nivel básico de conectividad está disponible entre uno o más puntos finales o sistemas. La herramienta ping puede usarse para determinar si un dispositivo remoto se puede alcanzar en una red desde el sistema local, y ayuda a depurar problemas de conectividad entre sistemas. Segundo, puede proporcionar estadísticas de desempeño de red rudimentarias, las cuales pueden usarse para diagnosticar problemas de red relacionados con el tráfico. El término ping se deriva de la frase packet internet groper (programa de diagnóstico de Internet). La herramienta ping puede usarse en una de dos formas: especificando un nombre de host o dirección IP válido, o usando la opción de línea de comando con un nombre de host o dirección IP. Si se usa la primera forma, ping suministra una forma útil para determinar que un dispositivo remoto está disponible en la red.

Como mencionamos, ping usa el protocolo de mensajes de control de Internet

(ICMP) para emitir solicitudes ICMP, y espera respuestas ICMP válidas. Debido a que ICMP es un protocolo requerido en la familia TCP/IP, ping puede usarse generalmente con todos los dispositivos que soportan TCP/IP y está disponible en muchos sistemas operativos y otros dispositivos de trabajo en red. La herramienta ping es sólo una

Page 45: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

41

aplicación del lado del cliente; no se necesita ni se requiere software adicional para que funcione e interactúe directamente con la capa de protocolo del sistema remoto para cumplir su tarea.

#ping durer

ping durer.home.com (10.0.2.10): 56 data bytes

64 bytes from 10.0.2.10: icmp_seq=0 ttl=128 time=0.9 ms

64 bytes from 10.0.2.10: icmp_seq=0 ttl=128 time=0.9 ms

64 bytes from 10.0.2.10: icmp_seq=0 ttl=128 time=0.9 ms

64 bytes from 10.0.2.10: icmp_seq=0 ttl=128 time=0.9 ms

---- durer.home.com ping statistics ---

4 packets transmitted, 4 packets received. 0% packet loss

round-trip min/avg/max= 0.8/0.8/0.9 ms

En este caso, ping no presenta paquetes perdidos (packet loss) Esto establece

básicamente que durer está funcionando y operando de manera normal desde una perspectiva IP. El comportamiento predeterminado de ping significa que el usuario debe presionar ^c para detener la salida. La herramienta ping puede usarse sólo

para determinar la conectividad básica del protocolo, no la disponibilidad de las aplicaciones o los servicios de alto nivel. De hecho, algunos sistemas responderán al ping aun antes de ser totalmente iniciados.

Si el host durer no se puede alcanzar, ping presentará el siguiente mensaje

después de digitar ^c:

PING rubens.home.com (10.0.2.220): 56 data bytes

--- rubens.home.com ping statistics –

2 packets transmitted, 0 packets received. 100% packet loss

Puede especificarse un número máximo o conteo del número total de solicitudes, lo que tiene el efecto de controlar ping, para que el usuario no tenga que intervenir

manualmente. Si se utiliza la opción de línea de comandos -c con un argumento de

1, el comando ping emitirá una sola solicitud a rubens:

#ping – c l rubens

Esto es útil para que el usuario pueda determinar rápidamente el alcance de un host o anfitrión, sin perder tiempo adicional o ancho de banda de la red. La segunda forma del comando ping proporciona varias opciones para controlar la funcionalidad adicional. La tabla 1.8 suministra una lista de las opciones de línea de comandos más populares disponibles.

Tabla 1.9 Opciones de comando ping

Opción Descripción

- c Envía sólo cierto número de paquetes

- f Inunda la red con paquetes -i Aumenta la cantidad de segundos entre una y otra solicitud -n Muestra las direcciones de red -q Modo silencioso - R Alterna la opción de registro de ruta -s Especifica el número de bytes que van a ser enviados con cada solicitud -p Especifica hasta 16 bytes para rellenar un paquete con datos personalizados

Page 46: Tcpip Linux 2012

Informática Integrada Internetworking

42

El comando ping puede usarse para medir la cantidad de tiempo requerida para

transmitir un mensaje a un destino remoto y la cantidad de tiempo requerida para obtener una respuesta. Mide esencialmente el rendimiento relativo de la ruta entre los dos dispositivos en un momento determinado. Una gran cantidad de factores pueden hacer que varíe el rendimiento de la red. Éstos incluyen usuarios demasiado agresivos en el uso de los recursos de la red, problemas del hardware, problemas de configuración del software, y otros relacionados.

El comando ping proporciona también medios de determinar los tiempos de

respuesta del sistema, pero le toma un poco más de trabajo determinar si el problema de rendimiento observado está relacionado con un sistema lento específico o con una demora en algún otro componente de red. La herramienta muestra la salida que puede usarse para medir y reportar el tiempo de ida y vuelta y proporciona estadísticas de pérdida de paquete. Por defecto, ping emite una solicitud ICMP cada segundo al

destino suministrado en la línea de comandos y reporta el estado de cada respuesta ICMP. La salida en el ejemplo incluye lo siguiente:

# ping didymus

PING didymus-gw2.home.com (10.0.2.127): 56 data bytes

64 bytes from 10.0.2.127: icmp_seq=0 ttl=255 time=1.2 ms

64 bytes from 10.0.2.127: icmp_seq=1 ttl=255 time=1.2 ms

64 bytes from 10.0.2.127: icmp_seq=2 ttl=255 time=1.2 ms

64 bytes from 10.0.2.127: icmp_seq=3 ttl=255 time=1.2 ms

--- didymus-gw2.home.com ping statistics –

4 packets transmitted, 4 packets received. 0% packet loss

round-trip min/avg/max=1.1/1.1/1.2 ms

Este reporte informa el tamaño del paquete, el nombre del host o la dirección IP del dispositivo objetivo, un número de secuencia, un valor de tiempo de ida y vuelta, y un resumen estadístico. El valor del tiempo muestra el tiempo de ida y vuelta en milisegundos (milésimas de segundo) para cada respuesta recibida. La parte inferior del reporte calcula los tiempos de viaje mínimo, promedio y máximo para todas las respuestas, presentados igualmente en milisegundos. El total de la longitud del paquete ICMP transmitido es de 64 bytes. Éste es el tamaño predeterminado, el cual es generalmente suficiente. Sin embargo, puede ser necesario incrementar el tamaño del paquete para obtener una mejor medida de rendimiento. En este caso, puede especificarse un tamaño grande de paquete usando la opción línea de comandos -s. Por ejemplo, el comando:

# ping -s 100 didymus

Esto podría ser necesario para obtener una mejor imagen del desempeño, ya que el rendimiento de la red puede diferir para los tamaños grandes de paquetes frente a valores menores.

La herramienta ping usa un número de secuencia para mantener el rastro de las

solicitudes y respuestas. A cada solicitud se le da el siguiente número en la secuencia y luego es cotejado con la respuesta correspondiente. Esta secuencia se usa para determinar la pérdida de paquetes si cualquier solicitud no recibe una respuesta apropiada. En general, la pérdida de paquete en una red pequeña sería muy rara y, si ocurre, podría indicar un problema relacionado con la red o con el sistema. Sin

Page 47: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

43

embargo, en una red grande, Intranet o en Internet, la pérdida de paquetes es común y representa un estado normal de eventos. Dado un sitio popular de Internet, como se muestra a continuación, puede observarse cierta cantidad de pérdida de paquetes:

Ping –c 10 www.informaticaintegrada.com.mx

PING www.informaticaintegrada.com.mx (10.0.2.127): 56 data bytes

108 bytes from 10.0.2.127: icmp_seq=5 ttl=255 time=240.1 ms

108 bytes from 10.0.2.127: icmp_seq=6 ttl=255 time=240.1 ms

108 bytes from 10.0.2.127: icmp_seq=7 ttl=255 time=240.1 ms

108 bytes from 10.0.2.127: icmp_seq=8 ttl=255 time=240.1 ms

108 bytes from 10.0.2.127: icmp_seq=9 ttl=255 time=240.1 ms

--- didymus-gw2.home.com ping statistics –

10 packets transmitted, 10 packets received. 70% packet loss

round-trip min/avg/max=240.1/240.1/240.1 ms

El reporte anterior indica que 70% de los paquetes enviados no tuvieron sus correspondientes respuestas. Se perdieron. En otras palabras, enviamos diez paquetes, pero sólo se recibieron tres de vuelta; siete de diez es 70%. Una posible razón de esta pérdida visible de paquete es que algunos de los enrutadores críticos de Internet podrían estar muy ocupados o aun sobrecargados con el tráfico de la red.

A veces es deseable suministrar tiempo adicional para reconocer cada solicitud ping,

en lugar de usar el valor predeterminado de un segundo. El intervalo debe ser suficientemente largo para proporcionar la cantidad de tiempo requerida para que el sistema remoto responda. Cuando aumentamos el valor de extemporaneidad tal como se sugiere, generalmente notaremos menos pérdida de paquetes. El comando

ping – c 10 www.informaticaintegrada.com.mx -i 5

Adiciona cinco segundos de demora a cada solicitud, proporcionando así tiempo adicional para el procesamiento de las solicitudes a través de la red y al servidor de destino. Usando el comando anterior, se produce lo siguiente:

Ping –c 10 www.informaticaintegrada.com.mx

PING www.informaticaintegrada.com.mx (10.0.2.127): 56 data bytes

64 bytes from 10.0.2.127: icmp_seq=1 ttl=255 time=240.1 ms

64 bytes from 10.0.2.127: icmp_seq=2 ttl=255 time=240.1 ms

64 bytes from 10.0.2.127: icmp_seq=3 ttl=255 time=240.1 ms

64 bytes from 10.0.2.127: icmp_seq=4 ttl=255 time=250.1 ms

64 bytes from 10.0.2.127: icmp_seq=5 ttl=255 time=240.1 ms

64 bytes from 10.0.2.127: icmp_seq=6 ttl=255 time=240.1 ms

64 bytes from 10.0.2.127: icmp_seq=7 ttl=255 time=240.1 ms

64 bytes from 10.0.2.127: icmp_seq=8 ttl=255 time=240.2 ms

64 bytes from 10.0.2.127: icmp_seq=9 ttl=255 time=250.1 ms

--- www.informaticaintegrada.com.mx ping statistics –

10 packets transmitted, 9 packets received. 10% packet loss

round-trip min/avg/max=240.0/242.3/250.1 ms

Como se observa en la salida, la pérdida de paquetes en este sitio fue reducida a 10%. Debe tenerse en cuenta que otros factores podrían también contribuir a la

Page 48: Tcpip Linux 2012

Informática Integrada Internetworking

44

reducción, como usuarios que abandonan el sitio, o que la red no se esté usando. En general, aumentar la cantidad de tiempo para cada solicitud debería reducir la carga total en el sistema. Sin embargo, esto no garantiza que sea siempre el caso, ya que el sistema puede estar sobrecargado, hasta un punto en que no ayudaría realmente ninguna cantidad de tiempo adicional.

Con la opción -n, ping presenta direcciones IP, en lugar de nombres de hosts. Esto

es útil, por ejemplo, cuando problemas de red que involucran DNS impactan el uso de ping.

La opción -R habilita la opción de registro de ruta con el protocolo IP. Alternar el

registro de ruta le informa a cada enrutador a lo largo de una ruta que coloque sus direcciones IP en el encabezado IP. Como consecuencia, se puede obtener una lista de enrutadores que se utilizaron para alcanzar el destino final. Otra opción interesante es el modo de inundación mediante el uso de la opción -f. Esta opción le dice a ping

que intente inundar la red con solicitudes ICMP aproximadamente 100 veces por segundo o tan rápidamente como el destino remoto pueda procesar cada solicitud. Teniendo en cuenta lo anterior, el comando:

ping -c 100 -f durer

Presenta la siguiente salida:

PING durer.home.com (10.0.2.101):56 bytes

……………..

---durer.home.com ping statistics ---

1015 packets transmitted. 1000 packets received, 1% packet loss

round-trip min/avg/max/= 1.0/14.3/121.0 ms

Lo primero que es diferente de la salida estándar son las series de puntos ( ) mostradas. Esto indica que ping ha recibido respuestas de las solicitudes enviadas.

Segundo, nótese que de los 1,015 paquetes enviados, sólo se recibieron 1,000 paquetes y ping sólo reportó 1% de la pérdida de paquetes. Realmente, la pérdida de paquetes es más cercana a 1.5%. El comando ping reporta sólo números enteros,

sin números a la derecha del punto decimal. En este caso, el problema no es significativo, ya que podemos determinar manualmente con más exactitud de pérdida, si es necesario. Sin embargo, esto es de alguna manera discutible, ya que la facilidad ping no es realmente considerada como la aproximación o el enfoque más científico y/ o empírico para medir la pérdida de datos o el rendimiento de una red.

La última opción interesante de ping es el modo silencioso. Esta opción -q se utiliza

para limitar la cantidad de salida que se produciría normalmente sólo se presentan unas pocas líneas; el comienzo y el resumen:

ping –q –c 100 didymus

PING didymus-gw2.home.com (10.0.2.127): 56 data bytes

--- didymus-gw2.home.com ping statistics ---

100 packets transmitted, 100 packets received, 0%packet lost

round-trip min/avg/max = 1.1/1.1/2.5 ms

Como se observa con claridad, esta opción reduce la salida, la cual puede ser justamente la que se necesita cuando se usa ping en una secuencia de comandos.

Page 49: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

45

Herramienta tcpdump

El comando tcpdump es un seguidor de tráfico de red de propósito general que puede

capturar y presentar paquetes y sus contenidos. Este comando puede usarse como un analizador de protocolo, proporcionando una de las mejores maneras de investigar los problemas de comunicación y/o conectividad entre sistemas y dispositivos de trabajo en red. La mayor parte del tiempo, la resolución de problemas de la red se enfoca en los problemas de configuración de la red y en diagnosticar las fallas relacionadas con el hardware. Con tcpdump, los paquetes explorados se mostrarán con información, ya sea en formato corto o largo, dependiendo de las opciones de línea de comandos que se usen. Además, tcpdump tiene un mecanismo de filtrado muy poderoso que puede

buscar paquetes que correspondan a una cadena o un criterio específicos.

tcpdump suministra dos modos principales de captura: promiscuo y no promiscuo. En

el modo promiscuo, se captura cada paquete transmitido en la red, sea enviado o no el paquete al sistema en el cual tcpdump se está ejecutando. Éste es el modo, por

ejemplo, que las sondas RMON usan cuando hacen seguimiento al tráfico de la red. Las sondas de red escuchan en la red el tráfico y recolectan la información y las estadísticas del protocolo. Debido a que los protocolos de red de área local (Local Area Network, LAN), como Ethernet, están basados en la difusión, cada marco que se transmite puede ser visto por cualquier interfaz de red conectada a la LAN.

En la práctica, la interfaz debe configurarse para operación promiscua y sólo se usa en ocasiones especiales cuando se requiere el diagnóstico de red. Por lo anterior, sólo root puede habilitar el modo promiscuo en una interfaz. Ésta es la razón principal por la que a los usuarios diferentes de root no se les permite invocar tcpdump. Cuando

un usuario no-root hace el intento de ejecutar este comando, se presenta el siguiente mensaje:

tracedump: socket: Operation not permitted

Si se quiere dar a un usuario regular la habilidad de invocar el comando tcpdump, se

puede usar el programa setuid para permitirle correr como root o instalar y

configurar un programa como sudo.

Con el modo no promiscuo, sólo estarán disponibles para la interfaz los frames de difusión y los dirigidos al sistema local. En circunstancias normales, la interfaz está en modo no promiscuo.

Cuando se invoca tcpdump sin las opciones de línea de comandos, se abre la interfaz

de red principal, y comienza a capturar los frames desde la red local y a presentar sus contenidos. Debido a que tcpdump puede producir una cantidad significativa de

salida, usaremos la opción silenciosa -q para reducir la cantidad de salida

presentada. Cuando se ejecuta el comando

# tcpdump -q

Mostrará todos los frames de la red en formato de línea única, no explicativo (non-

verbose). El formato de la salida incluirá un sello de tiempo, fuente y hosts destino (o

direcciones), el protocolo de red de alto nivel, algunas banderas, información adicional del protocolo y un resumen:

Page 50: Tcpip Linux 2012

Informática Integrada Internetworking

46

tcpdump: listening on eth0

15:41:58.055268 durer.home.com.l032 > socrates.home.com.telnet:

tcp 0 (DF)

[tos0x50]

15:41:58.055446 socrates.home.com.telnet. >durer.home.com.l032:

tcp 28

(DF)

15:41:58.274933 durer.home.com.l032> socrates.home.com.telnet:

tcp 0 (DF)

[tos0x50]

15:41:58.215115 socrates.home.com.telnet > durer.home.com.l032:

tcp 1 (DF)

15:41:58.494694 durer.home.com.1032 > socrates.home.com.telnet:

tcp 0 (DF)

[tos0x50]

15:41:58,494880 socrates.home.com,telnet > durer.home,com.l032:

tcp 165 (DF)

15:41:58.544828 socrates.home.com > didymus-gw2.home.com: icmp:

request

15:41:58.545719 didymus-gw2.home.com > socrates.home.com: icmp:

echo

reply5:34:10:601950 socrates.home.com.telnet >

durer:home.com.l032: tcp 165 (DF)

8 packets received by fílter

0 packets dropped by kerne1

El final de la salida incluye un conteo del número de paquetes capturados por tcpdump y el número de paquetes abandonados. En este caso, fueron capturados un

total de ocho paquetes y son descargados cero paquetes.

La herramienta tcpdump proporciona un gran número de opciones de línea de

comandos para seleccionar los modos de captura, controlar la salida, precisar las especificaciones del filtro y especificar las características adicionales de operación. Estas opciones se agrupan de acuerdo con su función, e incluyen las siguientes categorías:

modos de operación

opciones de presentación

opciones de filtro de paquete

Tabla 1.9. Opciones disponibles para tcpdump

Opción Descripción

-c Captura el número especificado de paquetes -F Usa el archivo como fuente para la expresión del filtro -i Captura los paquetes usando la interfaz de red alterna -p inhabilita la captura en el modo promiscuo -r Lee el archivo de captura en lugar de la interfaz de red -w Guarda los paquetes sin procesar, para archivar

Page 51: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

47

Opciones de modos de operación

Estas opciones se usan para controlar la manera como tcpdump capturará y

presentará el tráfico de la red. Las opciones disponibles están resumidas en la tabla 1.9.

En general, tcpdump escuchará el tráfico en la interfaz de red primaria. Usualmente la

interfaz primaria tiene el identificador numérico más pequeño, si el sistema contiene dos o más interfaces del mismo tipo. Por ejemplo, eth0 se considera primaria cuando

el sistema contiene dos interfaces Ethernet: eth0 y eth1. Sin embargo, si se quiere

correr tcpdump en una interfaz diferente, se utiliza la opción -i y el nombre del

dispositivo, para especificar la interfaz alterna. Por ejemplo, para seleccionar la interfaz punto a punto (ppp0), se usa el siguiente comando:

# tcpdump -i ppp0

tcpdump: listening on ppp0

Si se desea especificar el número de paquetes a capturar, se emplea la opción -c

seguida de un valor de conteo de paquete. Para capturar diez paquetes de la interfaz eth1 se usa el siguiente comando:

tcpdump -t -q –i ethl -c 10

tcpdump: listening on ethl

chips.home:com > didyrnus-gw2.home.com: icmp: echo request

didymus-gw2.home.com> chips.home.com: icmp: echo reply

chips.home.com> didymus-gw2.home.com: icmp: echo request

didymus-gw2.home.com> chips.home.com: icmp: echo reply

socrates.home.com.l032 > switch.home.com.snmp: udp 44

switch.home.com.snmp> socrates.home.com.l032: udp 111

socrates.home.com.l032 > switch.home.com.snmp: udp 51

switch.home.com.snmp> socrates.home.com.l032: udp 61

socrates.home.com,1032 > switch.com.snmp: udp 51

La opción -t, remueve la información del sello de tiempo del paquete, se usó

igualmente en este ejemplo.

La opción -p se usa para inhabilitar el modo de captura promiscuo. Más adelante

veremos que se puede decir a tcpdump que capture los paquetes que vienen o van a

un host en particular, usando filtros.

#tcpdump -d lel -p

tcpdump: listening on eth0

En una red muy activa o un sistema ocupado, y cuando se usen ciertas opciones de línea de comandos, tcpdump puede producir una gran cantidad de salida. Para hacer

más fácil su manejo, se puede usar la opción -w a fin de redirigir la información

capturada a un archivo. Una razón para usar un archivo es guardar la información capturada para una inspección y análisis posteriores. Esto podría incluir la manipulación de datos de otras maneras, posiblemente usando los datos para construir reportes especializados, y similares.

Page 52: Tcpip Linux 2012

Informática Integrada Internetworking

48

Para capturar el tráfico de red y guardarlo en un archivo llamado traffic-data, se

usa el siguiente comando:

# tcpdump traffic -data

tcpdump: listening on eth0

El archivo, traffic-data, se crea en el directorio local una vez se invoca el

comando anterior. Sin embargo, los datos capturados no se escriben en el archivo hasta que el usuario interrumpa el programa o se use la opción -c. Una vez el usuario

hace esto, se presenta lo siguiente:

48 packets received by filter

0 packets dropped by kernel

Nótese que el archivo creado no es un archivo de texto ordinario, sino que es un archivo de datos formateado especialmente que sólo entienden tcpdump y algunos

programas más.

Para aprender un poco más del archivo tcpdump, se puede usar el comando de

UNIX. Si éste se corre junto con el archivo traffic -data, reporta que está

asociado con el comando tcpdump, la versión del software, y que los datos contienen

paquetes que son del tipo Ethernet, con una longitud de frame de 68 bytes. No es un archivo de texto legible para el ser humano.

# file traffic –data

Muestra lo siguiente:

traffic -data: tcpdump capture file (little -endian) -version

2.4 (Ethernet capture length 68)

El comando tcpdump hace un trabajo razonable de compresión de los datos

almacenados en archivos. Por ejemplo, más de 3,000 paquetes ocupan aproximadamente 260K de espacio del disco. Si se va a guardar una cantidad significativa de datos capturados, puede ser necesario comprimir los datos aún más usando compress o gzip. La utilidad compress se las arregla para reducir el tamaño de este archivo de datos a un poco más de 33K, mientras el programa gzip reduce el conteo en bytes aún más, a cerca de 18K. Nada mal desde un tamaño en bytes de más de 260K Para presentar los paquetes guardados en un archivo de datos, se usa la opción -v seguida del nombre del archivo de captura de paquete. Por ejemplo, para

repetir los paquetes guardados en el archivo traffic-data, se emite el siguiente

comando:

tcpdump -r traffic-data

Page 53: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

49

Opciones de presentación

Estas opciones controlan cómo tcpdump presentará los paquetes de la red. La lista

de las opciones disponibles en esta categoría se resume en la tabla 1.10 y se describe completamente a continuación:

Tabla 1.10. Opciones de presentación TCPDUMP

Opción Descripción

-e Imprime la información de encabezado del nivel de enlace en cada línea -v Especifica el modo expresivo -q Especifica el modo rápido (quick); muestra poca información del paquete - t Inhabilita la impresión del sello de tiempo -s Limita el tamaño de los paquetes capturados -x Presenta tanto el formato hexadecimal como el ASCII

La opción -x proporciona una forma de presentar un vaciado hexadecimal de los

marcos de red. Presenta la información del encabezado del nivel de enlace, como las direcciones de fuente y destino. Consideremos la serie de intercambios de paquetes cuando el host rembrandt trata de abrir una sesión FTP con un sistema llamado durer. El comando tcpdump:

tcpdump –d lel -x; 0 tcp and port 21

Capturará cualquier actividad FTP en la red. Cuando se ejecuta este comando y se arranca una sesión FTP, los paquetes se capturarán y presentarán de la siguiente manera:

0:60:97:e:a3:6 0:10:5a:28:5d:7c ip 78: durer.home.com.1044>

sócrates.home.com.f

tp: S 9262137:9262138 (0) win 8192 <mss 1460.nop.wscale

0.nop.nop.timestamp [ltcp] (DF) [tos 0xld] (ttl 128. id 19970)

45ld 0040 4e02 4000 8006 93c6 0a00 020a

0a00 02c9 0414 0015 008d 543a 0000 0000

b002 2000 a43e 0000 0204 05b4 0103 0300

0101 080a 0000

0:10:5a:28:5d:7c 0:60:97:e:a3: 6 ip 74:

Sócrates.home.com.ftp

durer.home.com.1044: S 10876677057:1087677057(0) ack 9262139

win 32120 <mss

1460.sackOK.timestamp> 1106589 [ltcp] > (DF) (ttl 64.id 490) 4500 003c 01ea 4000 4006 2000 0a00 02c9

0a00 020a 0015 0414 40d4 a281 008d 543b

a012 7d78 92b7 0000 0204 05b4 0402 080a

0010 e29d 0000

0:60:97:e:a3:6 0:10:5a:28:5d:7c ip 66 durer.home.com.1044>

socrates.home.com.f tp: .ack 1 win 8760 >nop.nop.timestamp 84320

1106589 > (DF)

[tos 0xld] (ttl 128. id 20226)

Page 54: Tcpip Linux 2012

Informática Integrada Internetworking

50

45ld 0034 4f02 4000 8006 92d2 0a00 020a

0a00 02c9 0414 0015 008d 543b 40d4 a282

8010 2238 d35b 0000 0101 080a 0001 4960

0010 e29d

0:10:5a28:5d:7c: 0:60:97:e:a3:6 ip 163: Sócrates.home.com.ftp

durer.home.com.1044: p 1:98(97) ack l win 32120

<nop.nop.timestamp 110659584320> (DF) [tos 0x10] (ttl 64, id

493)

4510 0095 0led 4000 4006 lf94 0a00 02c9

0a00 020a 0015 0414 40d4 a282 008d 543b

8018 7d78 b4a1 0000 0101 080a 0010 e2a3

0001 4960 3232

0:60:97:e:a3:6 0:10:5a:28:5d:7c ip 66: durer.home.com.1044

45ld 0034 5202 4000 8006 8fd2 0a00 020a

0a00 02c9 d352 0015 008d 543b 0001 a2e3

8010 21d7 d352 0000 0101 080ª 0001 4963

0010 e2a3

Como se puede observar, la salida muestra una línea de resumen que contiene la siguiente información (estamos usando el primer paquete del ejemplo anterior):

Dirección de la fuente de enlace de datos (Datalink Source Address) 0: 60:97:e:a3:6 Dirección de destino de enlace de datos (Datalink Destination Address 0:10:5a:28:5d:7c Protocolo de alto nivel (High level Protocol) IP Tamaño del marco (Frame Size) 78 Host fuente IP (IP Source Host) durer.home.com Puerto fuente TCP (TCP Source Port) 1044 Host Destino IP (IP Destination Host) socrates.home.com

Puerto Destino TCP (TCP Destination Port) ftp

Después del puerto destino TCP, se observan las banderas de paquete TCP. La S

indica que el paquete es un SYN, o arranca de una conexión TCP, mientras c significa

que es un impulso de datos ack indica un reconocimiento. La siguiente parte del

listado muestra el marco completo en hexadecimal.

Page 55: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

51

Tabla 1.11 Ejemplos del comando tcpdump.

Comando Descripción

tcpdump host barney Capturará y presentará el tráfico enviado desde el sistema llamado barney o entregado a éste. Este comando examina los campos de dirección fuente y dirección destino del encabezado IP

tcpdump host not barney Capturará y presentará el tráfico de todos los hosts en la red, a excepción del sistema llamado barney

tcpdump host barney and host fred and\ (not pebbles\)

Capturará y presentará el tráfico de los hosts barney y fred, pero no del sistema llamado pebbles. Los paréntesis se adicionaron para que el comando fuera más legible. Sin embargo, cada uno de los operadores tcpdump aritméticos y booleanos tienen precedencia y los paréntesis pueden usarse para definir el orden de la interpretación del comando.

Nota: como los paréntesis son especiales para ciertos shells, se deben cambiar por la diagonal inversa (backslash) (\)

tcpdump arp Capturará y presentará todos los paquetes de protocolo de resolución de direcciones (ARP). Esto incluye las solicitudes y respuestas.

tcpdump host durer and tcp

Capturará y presentará todos los and tcp paquetes de protocolo de control de transmisión (TCP) desde o hacia el host, durer

tcpdump host vectra and port 23

Capturará y presentará todos los paquetes que estén usando el puerto 2 desde o hacia el host vectra. Esto significa inspeccionar todos los paquetes Telnet que van a este sistema desde otros la red. Recuérdese, que el puerto 23 es el puerto del servicio Telnet para todos los paquetes que entran

Tcpdump ether multicast Capturará y presentará paquetes de multicast multidifusión. Véase el siguiente comando como alternativa

tcpdump 'ip[16] >=224' Capturará y presentará todos los paquetes que usen la dirección de multidifusión. Este comando compara el decimosexto byte (el cual es una dirección de destino) del paquete IP con o un valor de 224. Éste prefija la dirección de multidifusión estándar de 224. 0..0.1, lo que incluye todos los hosts en el grupo de multidifusión predeterminado

Tcpdump „ether[0] & 1=1‟ Capturará y presentará todos los paquetes de difusión. La secuencia ether[0] proporciona acceso al primer campo del campo de destino de enlace de datos Ethernet y se compara con el valor l. Si los campos destino contienen sólo ls (lo que sería cierto si la dirección de difusión se expresa en números binarios) y si el operador and (&) se aplica a un valor positivo, éste dará un valor de l. En este caso, la expresión es verdadera y los paquetes se presentan

tcpdump 'ip[2:2] >512' Capturará y presentará todos los paquetes IP que sean mayores que 512 bytes. La secuencia ip [ 2 : 2 ] identifica el segundo byte del encabezado IP (el cual es el tamaño del paquete) y compara este valor de 512. El 2: indica el desplazamiento del paquete IP, mientras el 2 restante es el número de bytes en ese campo

Herramienta traceroute

El comando traceroute examina y registra la ruta a un destino de red especificado.

En una red IP tradicional, se usan uno o más enrutadores para proporcionar la conectividad entre diferentes redes IP. La función de enrutamiento es principalmente la misma: reenviar paquetes IP desde una interfaz a otra con base en la información de enrutamiento establecida. El comando traceroute usa el campo tiempo de vida

Page 56: Tcpip Linux 2012

Informática Integrada Internetworking

52

(TTL) contenido en un paquete IP e intenta obtener un mensaje ICMP TIME_EXCEEDED desde cada host a lo largo de la ruta, hasta el destino. Unido a un

intento de conectar al destino en un puerto que no se puede alcanzar, causará una respuesta sistemática de todos los enrutadores a lo largo del camino, hasta el último destino. Cumple esta tarea enviando solicitudes (o sondas) con un TTL de 1 y aumenta el TTL en 1 hasta que alcance el huésped deseado o 1, exceda el valor TTL máximo. De manera predeterminada, el TTL es colocado en 30 saltos, pero esto se puede cambiar.

Este comando tiene un gran número de opciones de línea de comandos, pero el único argumento que se requiere es un nombre de host o una dirección IP de destino. Por ejemplo, para presentar la ruta IP entre el sistema local corriendo traceroute y el sistema destino llamado vermeer, se emite el siguiente comando:

# traceroute vermeer

traceroute to vermeer 128.197.2.200) 30 hops max 40 byte packets

1 router-1 (10.0..2.129)\ 4.256 ms * 2.899 ms

2 vermeer (128.197.2.2'00) 7.340 ms 7.433 ms 7.526 ms

De manera predeterminada, traceroute envía un total de tres sondas, cada una con

un valor TTL diferente, para cada salto. La primera línea de la salida incluye el

destino, junto con la dirección IP, el número predeterminado de saltos que usó traceroute, y el tamaño de los paquetes enviados. La segunda línea (con un 1)

presenta el primer salto encontrado por traceroute.

Como el enrutador predeterminado en este ejemplo es router-1 (enrutador 1), el primer paquete se envía allá. El primer paquete enviado es un paquete de solicitud ICMP, con el campo TTL establecido en 1. Con IP, cualquier paquete que alcance al

enrutador disminuye el TTL en 1, lo que equivale a cero. Cuando un enrutador obtiene

un paquete y TTL es cero, se supone que descarta el paquete y le notifica al

remitente. Esto obliga al enrutador a responderle al cliente emisor con un mensaje TIME_EXCEEDED. Después de que esto sucede, traceroute mide la cantidad de

tiempo entre el momento en que envió el paquete y el momento en que obtuvo la respuesta. Esto se conoce como tiempo de ida y vuelta (round-trip time) o RTT y se

presenta en milisegundos (una milésima de segundo), como se muestra después del nombre del host y la información de la dirección IP. Esto implica que el RTT de la

primera serie de paquetes de sonda tomó 4.25 milisegundos (o 0.004 segundos), y la tercera serie tomó 2.89 milisegundos (o 0.028 segundos).

La segunda línea detalla el segundo salto de enrutamiento y muestra que traceroute alcanzó el sistema del destino vermeer con tiempos RTT más lentos

que el primero. Cuando se envió la segunda sonda, el enrutador disminuyó el TTL, y luego pasó este paquete a vermeer. Como traceroute está intentando tener acceso a

un puerto no usado, vermeer responde con el error PORT UNREACHABLE (puerto no

alcanzable). De hecho, como regla general en internets grandes (y a veces pequeñas), el rendimiento entre sistemas y redes podrá, y puede, variar considerablemente aun de un momento al siguiente. No hay restricción en lo que constituye un destino; puede ser cualquier tipo de dispositivo en el rango que va desde un sistema de host simple hasta un enrutador de Internet. El único requisito es que debe soportar IP.

Page 57: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

53

Debido a las variaciones y los problemas con los dispositivos enrutadores a lo largo de ciertas rutas, las fluctuaciones generales de las rutas de red pueden llevar a salidas de traceroute impredecibles y extrañas. Como consecuencia, podrían aparecer ciertos códigos después de que se presenta la información de temporización. La tabla 1.12 muestra estos códigos y sus significados.

Tabla 1.12 Códigos de presentación de traceroute.

Código Significado

* No hay respuesta a los paquetes

! TTL en el paquete recibido se establece en 1

!H El host destino no se puede alcanzar

!N La red destino no se puede alcanzar

! P El protocolo destino no se puede alcanzar

! S La opción de la ruta fuente falló. En la práctica, esto no debe pasar, y si pasa, indica que un bug o un problema con el enrutador genero el error

! F Se necesitó fragmentación del paquete. En la práctica esto no debe suceder, y si sucede, indica que un bug o un problema con el enrutador genero el error

! X La ruta está bloqueada debido a que la comunicación está siendo inhabilitada administrativamente. En otras palabras, la ruta está cerrada o bloqueada desde el punto de vista del software

! N> Código de error ICMP N es ese número

traceroute contiene una cantidad de parámetros operacionales que pueden

modificarse para afectar la manera de cómo rastrea una ruta al destino especificado. Cada uno de estos parámetros tiene una opción de línea de comandos asociada que puede alterar sus valores predeterminados. La tabla 1.13 presenta estas opciones.

Tabla 1.13 Opciones operacionales traceroute.

Opción Descripción

-i Especifica una interfaz alterna -p Establece el puerto alterno para enviar paquetes de sonda -g Especifica un enrutador para enrutar fuentes extraviadas -f Establece el valor TTL inicial que debe usarse -s Usa la dirección especificada como la dirección fuente en la transmisión de

paquetes de sonda -q Establece el número de consultas de sonda -m Establece los saltos máximos -d Habilita la bandera de depuración (SO_DEBUG) -F Especifica no fragmentar -t Establece la bandera de tipo de servicio (TOS) -w Establece el tiempo de espera para los paquetes de sonda -x Especifica no calcular las sumas de verificación (checksums)

Page 58: Tcpip Linux 2012

Informática Integrada Internetworking

54

Cuando traceroute envía paquetes de sonda, usa, de manera predeterminada, el

puerto UDP de 33434 y supone que este puerto no está siendo usado por otra aplicación o servicio de red. Usa este alto número de puerto en espera de que el destinatario responda con un mensaje de puerto inalcanzable, terminando así el rastreo de la ruta. Por otro lado, si ese puerto está en uso, causará problemas para traceroute. Si esto sucede, se usa la opción -p seguida de otro número de puerto, y

traceroute utilizará ese puerto en lugar del predeterminado.

Monet# traceroute -p 10 -m 5 128.197.2.200

traceroute to 128.197.2.200 (128.197.2.200), 5 hops max, 40 byte

packets

1 rodin (10.0.2.129) 10.193 ms * 2.158 ms

2 * * *

3 * * *

4* * *

5 * * *

Si esto aún no da resultado, debe intentarse usar la opción -i, la cual instruirá a

traceroute para que use el protocolo ICMP en lugar del UDP cuando se envíen

paquetes de sonda. Por tanto, el comando

Monet# traceroute -m 5 -i 128.197.2.200

Con la opción -i, produce los resultados correctos:

traceroute to 128.197.2.200 (128.197.2.200), 5 hops max, 40

byte packets

1 rodin (10.0.2.129) 4.412 ms * 2.235 ms

2 vermeer (128.197.2.200) 6.875 ms 6.955 ms 6.935 ms

Como se puede observar, esto significó algo de ensayo y error para obtener el resultado deseado. Sin embargo, éste no es un ejemplo artificial; más bien, vermeer representa un dispositivo real: una impresora láser. El punto real aquí es que cuando se rastrea la ruta a un destino particular, puede haber muchas razones por las cuales traceroute falla en alcanzar un destino. La falla podría no significar que el dispositivo está abajo o desconectado de la red.

Opciones de presentación

Dos opciones están disponibles para modificar la salida de traceroute. La primera,

-v, presenta, para cada salto, el tamaño y destino de los paquetes de respuesta. El

siguiente es un ejemplo:

# traceroute – i lel –v Rembrandt

traceroute to rembrant (10.0.2.75), 30

hops max, 40 byte packets 1 rembrant (10.0.2.75) 56 bytes to

10.0.2.1 3.450 ms 2.085 ms

2094 ms

La segunda opción –n, presenta direcciones en forma numérica, en lugar de usar el

nombre simbólico. Esto elimina la tarea agregada de traceroute de tener que

resolver cada uno de los nombres de host de los enrutadores.

Page 59: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

55

Herramienta ethereal

El comando ethereal es una solución muy potente para hacer seguimiento de red Ethernet que puede usarse para capturar y analizar el tráfico de red en modos de tiempo real o fuera de línea, Esta herramienta capta dónde termina tcpdump, proporcionando una completa decodificación de protocolos a nivel de paquete que cuenta con el soporte para muchos protocolos de red populares y una interfaz de captura de paquete fácil de usar. Además, ethereal soporta muchos otros formatos de captura de paquetes comerciales, que brinda la oportunidad de continuar usando el software existente y procesar estos archivos de datos con ethereal.

Esta herramienta proporciona una interfaz GUI robusta que hace más eficiente la captura de los datos de red y el subsiguiente examen de tráfico de red. La ventana principal contiene un conjunto de elementos de menú, tres paneles, más tres estados o cuadros de entrada en la parte inferior. Muchos de los elementos del menú se explican por sí mismos y no se cubrirán en detalle. El primer panel contiene un resumen de todos los paquetes capturados. Este panel contiene campos de número de paquete, sello de tiempo, fuente, destino, protocolo e información.

El panel muestra una vista jerárquica (detalle del paquete) que contiene todos los protocolos de capa superior presentados en un formato de árbol. El panel restante incluye una presentación hexadecimal de todo el paquete. A medida que el usuario se mueve a través del segundo panel, por medio de la vista de árbol, el panel inferior se resalta donde el cursor está posicionado en el paquete. Una barra de progreso en el lado izquierdo de la ventana principal muestra el estado de las tareas, y se suministra un cuadro de texto filtro para aceptar el filtrado de los paquetes presentados en el primer panel. Finalmente, un cuadro de información en el lado derecho de la ventana principal indica el nombre del archivo de datos y el número de paquetes abandonados.

El software soporta varias opciones importantes de línea de comandos, que pueden ser divididas en dos categorías: opciones de modo de presentación y opciones de modo de función. Las opciones de modo de presentación pueden controlar elementos como el tamaño de los paneles individuales de presentación y el tipo y tamaño de la fuente que se utiliza. La tabla 1.14 incluye las opciones de presentación.

Tabla 1.14. Opciones de presentación ethereal. Opción Descripción

- B Controla la altura inicial del panel hexadecimal de la parte inferior

- P Controla la altura inicial del panel de resumen de paquetes

-T Controla la altura inicial del panel de vista de árbol de los paquetes

- b Usa la fuente especificada en negrilla para la presentación del campo del paquete

- m Usa la fuente especificada, en lugar de la predeterminada

- t Establece el formato del sello de tiempo del paquete cuando se presenta en el panel del paquete de resumen

Las opciones de modo funcional controlan elementos como cuál interfaz de red se utilizará para leer el tráfico capturado, el tamaño máximo de los paquetes que debería

Page 60: Tcpip Linux 2012

Informática Integrada Internetworking

56

ser leído durante la captura de paquetes, etc. La tabla 1.15 presenta estas opciones de comando.

Tabla 1.15 Opciones funcionales ethereal. Opción Descripción

- c Captura el número de paquetes tal como se haya especificado con esta opción

- h Muestra la versión e información

- i Especifica la interfaz de red para capturar paquetes

- n Inhabilita la resolución del nombre del host y las transformaciones del nombre del puerto TCP/UDP

- r Obtiene los datos del tráfico de red del archivo especificado

- s Especifica la longitud predeterminada del paquete cuando se captura tráfico de red activa

- w Especifica el archivo de captura que se va a usar cuando se guardan datos en el disco

Por defecto, ethereal intenta leer todo el paquete mientras captura tráfico en la red. Sin embargo, con la opción – s es posible limitar el número real de bytes que ethereal leerá de cada paquete. La longitud predeterminada de bytes que ethereal lee es 65535, la cual es suficientemente grande para manejar muchos, si no todos, los paquetes que ethereal puede encontrar. Controlar el tamaño del paquete tiene un impacto en el rendimiento, el almacenamiento de datos y el análisis del paquete.

Por ejemplo, cuando se ejecuta el comando

ethereal -s 64

Arranca ethereal y cambia el tamaño predeterminado del paquete 64 bytes. Éste es el tamaño mínimo del marco de Ethernet, como muestra en la tabla 1.16. Esta tabla incluye también tamaños adicionales del protocolo de enlace de datos. El mejor enfoque es usar el tamaño prederminado, a menos que se estén capturando muchos paquetes y se deba reducir la cantidad total de datos guardados. La regla general es que si se va a capturar menos que lo predeterminado, se limitará la cantidad de protocolos de alto nivel que pueden ser codificados en última instancia desde los paquetes capturados.

Tabla 1.16 Tamaños de marcos de enlace de datos.

Protocolo de enlace de datos Mínimo Máximo

ATM 6 53

Ethernet 64 1518

FDDI 64 4500

Fiber Channel 0 2112

TokenRing 48 2048

Page 61: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

57

Captura del tráfico de red

Para empezar a capturar información de la red, se da clic en el menú de Capture (Captura), y luego se selecciona el elemento del submenú Start, Ctrl +k (Inicio, Ctrl+k). Como otra alternativa, se puede emitir un ^k (Control k) del teclado. Una vez hecho esto, se presentará la ventana de Preferencias de Captura ethereal.

Esta ventana le permite al usuario cambiar la interfaz de red, el conteo de paquete y la longitud de frame, antes de que comience la sesión de captura. Además, el usuario puede definir un filtro en el cuadro de texto. La herramienta soporta las primitivas y las palabras clave del filtro de protocolo tcpdump. Como consecuencia, filtros de mucha

potencia pueden definirse muy rápida y fácilmente.

Al dar clic en el botón OK comenzará la captura. Al hacerlo, desaparecerá la ventana

de Preferencias de Captura ethereal y aparecerá la ventana de Captura/Playback ethereal.

Uso de filtros

El software de ethereal suministra dos tipos de filtros: el filtro de captura de paquete y el filtro de presentación. Los filtros de captura pueden establecerse antes de que haya comenzado una sesión de captura, especificando uno de ellos en el cuadro de texto filtro. La cadena TCP es una palabra clave usada por ethereal, la cual filtrará todos los paquetes que usen TCP.

También pueden crearse filtros permanentes. Éstos estarán disponibles a través de las sesiones de captura de paquete. Para crear este tipo de filtro, se da clic en el botón de filtro. Cuando haya hecho esto, se presentará el cuadro de diálogo ethereal: Preferences, Ésta es la misma ventana que se presenta cuando el usuario tiene acceso a las opciones ethereal.

Por defecto, ethereal no proporciona definiciones de filtro existentes de manera predeterminada. En su lugar, el usuario debe crearlas usando este cuadro de diálogo y guardarlas para uso futuro.

Ésta es la razón por la cual el panel de definición de filtro está vacío. Si el usuario hubiera definido filtros, éstos se presentarían.

La ventana de filtro contiene un conjunto de botones, cuadro de entrada de texto y un panel de definición de filtro. Para construir un nuevo filtro, se escribe el nombre del filtro en el cuadro de texto Filter name: (Nombre de filtro:). Luego, se ingresa la definición del filtro en cuadro de texto Filter string (Cadena de filtro); luego se da clic en el botón New. En este momento, el filtro se agregará al panel lista de filtros. Finalmente, se da clic en el botón S para guardar permanentemente el filtro para uso futuro. Después de que se han completado estos pasos, la ventana de filtro debe canten la definición de filtro que se acabó de crear.

Page 62: Tcpip Linux 2012

Informática Integrada Internetworking

58

Establecimiento de preferencias y opciones

Para tener acceso a las preferencias, se selecciona el elemento Preferences del menú Edit. Se muestran tres marbetes que controlan el acceso a cada una de las pantallas asociadas. Seleccionando Columns, se presentarán las opciones del panel de resumen del paquete.

El panel de resumen de la ventana principal presenta de manera predeterminada el número de paquete, sello de tiempo, dirección fuente, dirección destino, protocolo e información adicional del paquete. Una característica especialmente útil de ethereal es que estos campos son personalizables. El usuario puede controlar qué campos se presentan en el panel, y en qué orden. Es muy útil si el usuario necesita ver la información del paquete en uno o más formatos especializados. Una de las quejas continuas acerca de algunas de las herramientas de seguimiento existentes es la imposibilidad de producir reportes; con estas características personalizables, generar reportes personalizados es muy fácil.

Para tener acceso a las opciones de impresión, se da clic en Printing en el cuadro de diálogo de Preferencias ethereal.

La herramienta ethereal puede imprimir paquetes en una impresora o en un archivo UNIX regular. El usuario puede definir una impresora y/o archivo predeterminados, para usar en las sesiones subsiguientes.

Una de las opciones de presentación más útiles es mostrar el tiempo en el que los paquetes llegaron al sistema. La opción Time of day presenta el momento exacto en que cada paquete fue leído por ethereal. Esto es muy útil en el rastreo de problemas de red que ocurrieron durante un periodo específico. La segunda opción presenta el tiempo como un desplazamiento (offset) desde cuando empezó la captura de paquetes. La opción final muestra el tiempo como un desplazamiento desde cada marco anterior. Como las opciones son mutuamente excluyentes, sólo se puede seleccionar una de ellas. El botón Apply (Aplicar) puede usarse para alterar los tiempos en el panel de resumen, sin descartar o borrar la ventana de opciones. Esto le permitirá al usuario ver cada opción de tiempo en el panel de resumen.

Page 63: Tcpip Linux 2012

Definición y Arquitectura de TCP/IP

59

Utilería IPROUTE2

La utilería ip tiene una estructura de sintaxis global que será bastante familiar para

todos aquellos que han configurado alguna vez ruteadores CISCO utilizando el IOS. Todos los comandos empuiezan con ip seguido por el objeto apropiado como addr o

route, y después de los argumentos e información necesaria para llevar a cabo la

función.

Sintaxis del comando global de IP

ip [opción] objeto [comando [argumento]]

Opciones:

Las opciones son un conjunto valioso de modificadores que afectan al comportamiento y salida general de la utilería ip. Todas las opciones comienzan por el carácter – y se pueden utilizar en formato largo o abreviado. Actualmente están disponibles las siguientes opciones:

- v, - versión. Imprime la versión de la utilería ip.

- s, -stats, - statistics. Estadísticas o valores adicionales de funciones o

dispositivos.

- o, -online. Da formato a los registros de salida, proporciona un método

conveniente para enviar la salida de un comando a través de un conducto por ejemplo, cuando quremos hacer Grez a través de la salida.

- r, -resolve. Utiliza resolución de nombres de sistema para sacar nombres

DNS.

Objetos:

Esta es la parte más importante de la línea de comando. El objeto representa sobre quien vamos a operar o sobre que queremos extraer la información. Los tipos de objetos son:

Link. Dispositivo de red lógico o físico.

Addr. Direccion de protocolo en un dispositivo

Neigh. Entrada de la cache arp

Route. Entrada de la tabla de encaminamiento.

Rule. Norma en la base de datos de regulación de encaminamiento

Maddr. Dirección de multidifusión

Mroute. Entrada de cache de encaminamiento multiconversión

Tunnel. Túnel a través de IP.

Los nombres de todos los objetos podemos escribirlos en formato completo o abreviado. Por ejemplo, podríamos abreviar addr como ad o solamente a. Aunque se recomienda utilizar lo más completo posible la línea de comandos.

Page 64: Tcpip Linux 2012

Informática Integrada Internetworking

60

Comando

El comando especifica la acción a llevar a cabo en un objeto. El conjunto de acciones posibles depende del tipo de objeto. Generalmente es posible hacer: add, delete y

show (list) en la mayoría de ellos, pero algunos no lo permitirán o pueden tener

acciones adicionales.

Argumentos

Los argumentos son las listas de opciones específicas del comando. Los argumentos dependen del comando del objeto. Se pueden utilizar dos tipos de argumentos:

Indicadores. Estan abreviados por una sola clave.

Parámetros. Consisten en una palabra clave seguida por un valor.

Cada comando tiene un parámetro predeterminado que se utiliza si omitimos el argumento. Por ejemplo, el parámetro predeterminado es dev para el comando ip

link; así: ip link list eth0 es equivalente a: ip link list dev eth0.

El comando de ip falla más normalmente por las siguientes razones:

La sintaxis de la línea de comando es incorrecta. Frecuentemente es debido a la utilización de una palabra clave desconocida. En ese caso el comando sale sin realizar ninguna acción e imprime un mensaje de error que contiene información acerca del fallo.

Page 65: Tcpip Linux 2012

Sección 2: Classfull IP Addressing

Page 66: Tcpip Linux 2012

Informática Integrada Internetworking

62

Page 67: Tcpip Linux 2012

Classfull IP Addresing

63

Sección 2: Classfull IP Addresing

Introducción

Esta sección es la introducción a los conceptos de direccionamiento IP, incluye términos como: clases de redes y mascaras. Identificará direcciones inválidas para determinadas clases de redes y situaciones, identificará los problemas más comunes de direccionamiento IP.

Objetivos Particulares

Al finalizar esta sección, Usted podrá:

Definir que es una dirección IP y su estructura

Identificar de las direcciones IP las diferentes clases de redes

Identificar el ID de la red y el ID del host, dentro de las redes de clase A, B, C

Distinguir direcciones IP válidas entre las diferentes clases de redes

Page 68: Tcpip Linux 2012

Informática Integrada Internetworking

64

Page 69: Tcpip Linux 2012

Classfull IP Addresing

65

Qué son las Direcciones IP?

Internet es un gran grupo de redes interconectadas. Todas estas redes se ponen de acuerdo para conectarse con otras redes, permitiendo a cualquiera conectarse a otro. Cada uno de estos componentes de red se asignan a una dirección de red.

Cada host en una red TCP/IP es identificada por una dirección IP. Cada uno de los componentes de una red TCP/IP debe tener una dirección IP para que se comuniquen entre ellos.

Las direcciones IP son una cadena de 32 bits que se dividen en octetos; los cuales están separados por puntos entre cada uno de ellos. Los octetos están representados por un número decimal que esta dentro del rango del 1 al 255, esto es a lo que se le llama notación decimal pero igual tenemos la notación binaria que es de donde parte este formato de direcciones. Ejemplo:

Formato Binario: Formato Decimal: 10000011.01101011.00000011.00011000 131.107.3.24

Cada dirección define un número de red (Network ID) y un número de Hots (Host ID), el ID de la red es el número que identifica en el sistema que están localizadas en el mismo segmento físico de una red, por supuesto, todos los hosts en esta red tienen el mismo número de ID y que debe ser único en una Internetwork.

El host ID identifica la estación de trabajo, servidor, router o algún otro host de TCP/IP en un mismo segmento. La dirección para cada uno de los hosts debe ser única para el network ID.

Nota: un octeto son 8 bits, lo que en una notación decimal típica significa el primer conjunto de números. Por ejemplo: en la dirección IP 192.168.1.42 el primer octeto es el 192.

Convirtiendo direcciones IP

Recordando un poco, en el formato binario contamos nada más con dos valores: 0 / 1 que dependiendo de su posición dentro del octeto, cada número 1 tiene un valor decimal. Cuando tenemos un bit 0, su valor siempre es cero.

En la tabla que relatamos a continuación tenemos un ejemplo: todos los número 1 tienen un valor diferente siendo el mas alto el 128 y el mas bajo el 1. Para sacar el valor en notación decimal se requiere sumar la cantidad de cada uno de ellos, es decir: 1+2+4+8+16+32+64+128=255

1 1 1 1 1 1 1 1

128 64 32 16 8 4 2 1

Page 70: Tcpip Linux 2012

Informática Integrada Internetworking

66

Siguiendo lo anterior, tenemos la siguiente tabla:

Binario Valores de los Bits Notación Decimal

00000000 0 0

00000001 1 1

00000011 1+2 3

00000111 1+2+4 7

00001111 1+2+4+8 15

00011111 1+2+4+8+16 31

00111111 1+2+4+8+16+32 63

01111111 1+2+4+8+16+32+64 127

11111111 1+2+4+8+16+32+64+128 255

Page 71: Tcpip Linux 2012

Classfull IP Addresing

67

Clases de Redes

La comunidad de Internet decidió que las direcciones IP se dividieran en diferentes clases de redes, (A, B, C, D y E); de los cuales trabajamos con tres nada mas ya que los otros rangos están asignados a usos experimentales e investigaciones.

Para organizar mejor las clases de red, se decidió desde los primeros días de vida de IP, que los primeros bits deberían decidir la clase a la que pertenecían. Esto quiere decir que el primer octeto de la dirección IP especifica la clase.

TCP/IP soporta las clases A, B y C; las clases de redes se definen por el número de bits que son utilizados para identificar la red (Network ID) y los bits restantes son asignados a los dispositivos que componen la red. Igualmente define los posibles números de redes que hay dentro de cada clase y los números de hosts que puede haber por cada red.

Nota: Observará que algunos huecos en los rangos, esto se debe a que hay algunas direcciones especiales que se reservan para usos especiales. La primera dirección especial es una que ya le es familiar: 127.0.0.1. Está se conoce como la dirección de loopback o de bucle local. Se configura en cada máquina que usa IP para que se refiera a sí misma. Otros rangos importantes: cada IP de la red 10.0.0.0, de las redes 172.16 a 172.31 y de la red 192.168 se consideran como IP privadas. Estos rangos no se permiten reservar a nadie de Internet, y por tanto, puede usarlos para sus redes internas.

Definimos redes internas como redes que están detrás de un firewall, no conectadas realmente a Internet, o que tienen un enrutador que realiza el enlace de las redes.

Redes Clase A

Network Host Host Host

En una red clase A, el primer octeto identifica la red y los tres octetos últimos el número de nodo.

El primer bit debe ser: 0xxxxxxx

Valor mínimo: 00000000 Decimal: 0 Valor máximo: 01111111 Decimal: 127 Rango: 1 –126

Hay 126 redes de clase A, cada una tiene 16,777,214 hosts.

Page 72: Tcpip Linux 2012

Informática Integrada Internetworking

68

Redes Clase B

Network Network Host Host

En redes clase B, los dos primeros octetos son para identificar la red y los demás para el número de host.

Los primeros bits deben ser: 10xxxxxxx

Valor mínimo: 10000000 Decimal: 128 Valor máximo: 10111111 Decimal: 191 Rango: 128 –191 Hay 16,384 redes de clase B, cada una tiene 65,534 hosts.

Redes Clase C

Network Network Network Host

Los primeros bits deben ser: 110xxxxxx

Valor mínimo: 11000000 Decimal: 192 Valor máximo: 11011111 Decimal: 223 Rango: 192 –223

Hay 2‟097,152 redes de clase c y cada una tiene 254 hosts.

Redes Clase D

Las direcciones de las redes clase D están dentro del rango de 224.0.0.0 al 239.255.255.255 son usadas para paquetes multicast.

Los paquetes multicast usan muchos protocolos para alcanzar el grupo de hosts. IGMP Router Discovery es un ejemplo de un protocolo que utiliza paquetes multicast.

Redes Clase E

Igualmente, las direcciones de esta clase se encuentran dentro del rango del 240.0.0.0 al 255.255.255.255 y que están reservadas para futuros nodos de direcciones. Direcciones de las clases D y E no están asignadas a hosts individuales y más bien son para fines de investigación.

Page 73: Tcpip Linux 2012

Classfull IP Addresing

69

La siguiente tabla es un sumario de las diferentes clases de Redes y algunos valores a considerar.

Clase Octetos Inicia con Bits:

Número de Bits para identificar la red

Número de bits para identificar los host

Valor Máscara

de Red

A NHHH 0xx 7 24 1 - 126 255.0.0.0

B NNHH 10x 14 16 128 - 191 255.255.0.0

C NNNH 110 21 8 192 - 223 255.255.255.0

D 1110 20 8 224 - 239

E 1111 20 8 240 - 255

Guía de Direcciones IP

Si esto no fuera suficiente, aún contamos con ciertas reglas que debemos tener siempre en cuenta:

El ID de una red no puede ser 127, ya que esta reservada para funciones de Loopback

El ID de la red y el ID del host, nunca pueden ser todos 0´s o sea que no puede ser 0 porque se considera como en esta red nada mas.

El ID de la red y el ID del host, nunca pueden ser todos 1´s o sea que no puede tener el valor de 255 ya que se considera como un broadcast a la dirección.

El número ID de un host debe ser único en una red local

Todos los hosts incluyendo interfaces como routers, requieren una dirección única dentro de la red. Ya sabemos que él ID de una red nos define un segmento físico, pero cuales son los rangos válidos de direcciones para los hosts?

Clase de Red Rango de Inicio Rango Final

A w.0.0.1 w.255.255.254 B w.x.0.1 w.x.255.254 C w.x.y.1 w.x.y.254

Como orden, dos recomendaciones:

Asignar a los hosts sus ID´s de acuerdo al segmento de red

Asignar a los routers las primeras direcciones IP

Page 74: Tcpip Linux 2012

Informática Integrada Internetworking

70

Máscara de Red

Como mencionamos antes, las direcciones IP se dividen en dos partes, la dirección de red y la dirección de la máquina. Dependiendo de la clase de la dirección hay de 254 a 16 millones de direcciones disponibles para los hosts de la red.

Una máscara de red, es una dirección de 32 bits, que:

En primer lugar le dice al sistema que bits de la dirección IP corresponden al componente de red y qué bits corresponden al componente máquina.

Sirve para bloquear una porción de la dirección IP para distinguir él ID de la Red del número de los hosts.

Especificar cuando un host destino esta en una red local o remota.

Cada hosts en una red basada en TCP/IP requiere de una máscara, ya sea una máscara por defecto cuando la red no esta subdividida o una personalizada de acuerdo a los segmentos en que se haya dividido la red.

Volviendo un poco atrás, cuando en formato binario realizamos una operación AND tenemos que:

Este es el mismo proceso que TCP/IP utiliza para saber a donde debe enviar los paquetes que van de una red a otra, veamos. Si mi dirección IP es de una clase B, tenemos que:

Dirección Host 10011111 11100000 00000111 10000001

Máscara 11111111 11111111 00000000 00000000

Resultado: 10011111 11100000 00000000 00000000

Es de esta manera que la máscara bloquea la porción del Network ID para indicarnos de que clase de red estamos hablando. Las máscaras por default, las tenemos indicadas en una tabla anterior, para ser compatible con direcciones IP en notación binaria, la subnet mask también es convertida en binario.

1 AND 1 =1

1 AND 0 =0

0 AND 1 =0

0 AND 0 =0

Page 75: Tcpip Linux 2012

Classfull IP Addresing

71

Subnet Mask Bits

Representación Binaria representación decimal

11111111 255

11111110 254

11111100 252

11111000 248

11110000 240

11100000 224

11000000 192

10000000 128

00000000 0

En notación binaria, una máscara de subred es representada por cuatro octetos tal y como la dirección IP. La siguiente tabla le muestra las máscaras en notación decimal y binario utilizadas en el classfull método.

reprsentacion DECIMAL REPRESENTACIÓN binaria

255.0.0.0 111111111.00000000.00000000.00000000

255.255.0.0 11111111.11111111.00000000.00000000

255.255.255.0 11111111.11111111.11111111.00000000

Utilizando la representación en binario de la mascara usted puede manipular los 32 números. Esto incrementa la capacidad de proveer una mayor selección de redes comparado con el classful-method.

Page 76: Tcpip Linux 2012

Informática Integrada Internetworking

72

Page 77: Tcpip Linux 2012

Classfull IP Addresing

73

Examen 2-1

Identificando direcciones IP válidas. Revisar las siguientes direcciones IP e identificar cuales son válidas y porque.

131.107.256.80

222.222.255.222

231.200.1.1

126.1.0.0

0.127.4.100

190.7.2.0

127.1.1.1

198.121.254.255

255.255.255.255

Page 78: Tcpip Linux 2012

Informática Integrada Internetworking

74

Escenario 1. Convertir las direcciones IP de la siguiente tabla en binario. En la primera columna el número decimal convertir en porción binaria y en la segunda columna completar la dirección IP en binario.

IP DECIMAL Porción en binario IP en Binario

122.131.25.64 1111010,10000011,1101,1000000 01111010.10000011.00001101.0100000

215.34.211.9

97.49.153.122

64.144.25.100

176.34.68.78

42.89.215.61

71.73.65.166

47.245.235.84

156.213.67.23

124.87.235.87

7.23.87.2

223.12.7.8

Page 79: Tcpip Linux 2012

Classfull IP Addresing

75

Escenario 2. En este ejercicio usted deberá identificar la clase de red de la dirección IP, separar el network ID del Host ID.

IP Address Class/Subnet mask Network ID Host ID

129.102.197.23 B/255.255.0.0 129.102.0.0 197.23

131.107.2.1

199.32.123.54

32.12.54.23

1.1.1.1

221.22.64.7

93.44.127.235

23.46.92.184

152.79.234.12

192.168.2.200

168.192.3.26

224.224.224.224

200.100.50.25

172.71.243.2

163.37.121.32

76.35.61.23

Para una red de más de 1,000 hosts, que clases de redes se necesitan?

Si tengo 64 hosts, que clase de red debe solicitar?

Page 80: Tcpip Linux 2012

Informática Integrada Internetworking

76

Page 81: Tcpip Linux 2012

Sección 3: Classless Addresing

Page 82: Tcpip Linux 2012

Informática Integrada Internetworking

78

Page 83: Tcpip Linux 2012

Classless Addressing

79

Sección 3 Classless Addresing

Introducción

Como parte de esta sección, veremos los conceptos y procedimientos fundamentales del subnetting y supernetting. Incluyendo cuando es necesario un subnetting y que se requiere, como y cuando utilizar una máscara de sub redes y como crear los rangos de direcciones válidas dentro de cada segmento.

Objetivos Particulares

Al finalizar esta sección, usted podrá:

Explicar la función de una máscara de Sub-Red

Definir una máscara de subredes común para una red WAN que contiene múltiples subredes.

Definir los rangos de ID válidos de los hosts para múltiples sub- redes

Explicar qué es el Supernetting

Page 84: Tcpip Linux 2012

Informática Integrada Internetworking

80

Page 85: Tcpip Linux 2012

Classless Addressing

81

Definiendo Subnetting

Una Subnet o sub-red, es un segmento físico en un ambiente de TCP/IP que usa direccionamiento IP derivadas de un solo network ID.

Por lo general, las organizaciones adquieren su Network ID de parte del InterNIC, dividirla en segmentos requiere que cada segmento utilice un número diferente de network ID o digamos un Subnet ID. Este ID se crea dividiendo los bits que corresponden para identificar al host en dos partes, una parte se agrega a los bits que corresponden al ID de la red y la otra parte es para el ID de los hosts.

Para las organizaciones que aplican el subneteo, de una sola red crean múltiples segmentos; lo que les permite:

Mezclar diferentes tecnologías como: Ethernet y Token Ring

Reducir la congestión de la red, re-direccionando el tráfico y reduciendo los broadcast.

Una administración más comoda de las direcciones IP

Conectar sucursales y tolerancia a fallas

Nota: El Subnetting, esta definido en el RFC´s: 950.

Implementando una Sub-red

Antes de crear un esquema de Sub redes, necesitamos determinar los requerimientos actuales y considerar el crecimiento de la organización.

Determinar el número de segmentos físicos que se requieren en la red

Determinar el número de hosts para cada segmento físico. Recordemos que cada uno de los hosts requieren una dirección IP.

En base a estas necesidades definir:

Una Máscara de Sub red para toda la red.

Un único ID para cada segmento físico

Un rango de hosts ID´s para cada sub-red

Page 86: Tcpip Linux 2012

Informática Integrada Internetworking

82

Ejemplo para una red de Clase B

En la gráfica anterior, se ilustra como se toman bits extras de los asignados al host ID para formar una máscara de red. Por supuesto, podemos tomar más bits para más segmentos en el caso de necesitar más de 254; pero nos queda un número más pequeño de bits para combinar y crear los hosts ID. Por esta razón es muy importante una buena planeación.

Pasos para definir la nuevas subnet mask:

1. Determinar el número de segmentos que se requieren de acuerdo a las necesidades. Contamos con una Intranet con 6 sucursales en varios estados de la republica y que requieren conexiones para transacciones en línea.

2. Determinar el número de bits que pertenecen al Hostid y que se van agregar al Netid para crear las subredes. Para determinar el numero de bits que en este caso nos tenemos que robar del tercer octeto, vamos a convertir el 6 en binario:

6 = 110 (2)

La representación de 6 en binario me toma 3 bits, mismos que vamos a tomar. Comprobando: 2 a la 3 es igual a 8, menos dos combinaciones que no son posibles (ni todos ceros ni todos unos) es igual a 6 que cumple con los 6 segmentos que necesitamos.

3. Convertir en decimal y definir la nueva subnet mask. Del tercer octeto, activar de izquierda a derecha los bits que se van agregar al netid y convertir en decimal

La máscara en binario queda así: 11111111.11111111.11100000.00000000 Convirtiendo en decimal: 255. 255. 224. 0

4. Definir los segmentos de subred. Permutamos los bits que nos robamos para definir segmentos:

Tercer octeto: 000xxxxx = 0 (no válido) 001xxxxx = 32 010xxxxx = 64 011xxxxx = 96 100xxxxx = 128 101xxxxx = 160 110xxxxx = 192 111xxxxx = 224 (no válido)

Número de Sub-redes 0….. 254 Número de Hosts 254

Network ID Host Id

10xxxxxx Xxxxxxxx 111xxxxx xxxxxxxx

Número de Hosts Posibles: 65,534

Page 87: Tcpip Linux 2012

Classless Addressing

83

5. Definir los rangos de direcciones IP para cada uno de los segmentos. Definiendo los rangos de IP´s para cada segmento:

w.x.32.0 w.x.32.1 a la w.x.63.254 w.x.64.0 w.x.64.1 a la w.x.95.254 w.x.96.0 w.x.96.1 a la w.x.127.254 w.x.128.0 w.x.128.1 a la w.x.159.254 w.x.160.0 w.x.160.1 a la w.x.191.254 w.x.192.0 w.x.192.1 a la w.x.224.254

Cuando son pocos los bits que tenemos que combinar no representa un problema, pero que pasaría si son 7 ó 14?. Otro método que es un “shortcut” para la definición de los segmentos de red y de los rangos para las direcciones IP es:

1. Definir los bits que ocupamos para los segmentos, para este caso, requerimos 3.

2. Activar los bits en 1 de izquierda a derecha, esto es: 11100000

3. Seleccionamos el bit menos significativo, en este caso es el tercero y se convierte en decimal =32

4. Este es el valor que se debe incrementar para definir los segmentos, comparemos: 32 + 32 =64; 64+32 =96; 96+32=128; etc.

Hasta ahora hemos subdividido redes en un solo octeto, pero igualmente si las necesidades son más segmentos, una clase A se puede definir hasta el tercer octeto; por ejemplo:

Network ID Subnet Mask Binario

10.0.0.0 255.255.248.0 11111111.11111111.11111000.00000000

Page 88: Tcpip Linux 2012

Informática Integrada Internetworking

84

A continuación le relatamos una tabla de conversiones que le será bastante útil para planear su subnetting.

Clase A, considerar que se toma el segundo octeto para crear la máscara

Segmentos Bits requeridos

Máscara Sub-red Hosts por segmento

0 1 Inválida Inválida

2 2 255.192.0.0 4,192.302

6 3 255.224.0.0 2,0972150

14 4 255.240.0.0 1,048,574

30 5 255.248.0.0 524,286

62 6 255.252.0.0 262,142

126 7 255.254.0.0 131,070

254 8 255.255.0.0 65,534

Clase B, en este caso es el tercer octeto que utilizamos para crear la máscara

Segmentos Bits requeridos

Máscara Sub-red Hosts por segmento

0 1 Inválida Inválida

2 2 255.255.192.0 16,382

6 3 255.255.224.0 8,190

14 4 255.255.240.0 4,094

30 5 255.255.248.0 2,046

62 6 255.255.252.0 1,022

126 7 255.255.254.0 510

254 8 255.255.255.0 254

Clase C, recordar que es el cuarto octeto el que define la sub máscara

Segmentos Bits requeridos

Máscara Sub-red Hosts por segmento

0 1 Inválida Inválida

2 2 255.255.255.192 62

6 3 255.255.255.224 30

14 4 255.255.255.240 14

30 5 255.255.255.248 6

62 6 255.255.255.252 2

126 7 Inválida Inválida

254 8 Inválida Inválida

Page 89: Tcpip Linux 2012

Classless Addressing

85

Examen 3-1

Definiendo máscaras de Sub – Redes Válidas. En este ejercicio, usted va a definir una máscara para las sub-redes en diferentes situaciones:

1. Clase A, red local

2. Clase B, red local con 4,000 hosts

3. Clase C, red local con 254 hosts

4. Clase A, con 6 Sub-Redes

5. Clase B, con 126 sub-Redes

6. Clase A, actualmente cuenta con 30 sub-redes que en un año crecerán a 65. Cada una de las sub – redes no tendrán más de 50,000 hosts.

7. Usando la máscara del paso 6, hasta cuantas sub-redes nos permite crecer?

8. Clase B, Contamos con 14 sub – redes que crecerán al doble el próximo año; cada una de las sub – redes contaran con 1500 hosts.

9. Siguiendo con el paso anterior, con esa máscara de subnetting cuantas redes nos provee para un futuro crecimiento.

Page 90: Tcpip Linux 2012

Informática Integrada Internetworking

86

Examen 3-2

Identificando problemas de direcciones en sub – Redes. En este ejercicio, hay que observar los escenarios e identificar los problemas escondidos, cuales son los efectos ocasionados y explicarlos.

Escenario 1

Qué hosts del diagrama tienen una máscara incorrecta?

Cuáles son los efectos para estos hosts?

Cuál es la máscara de sub-red correcta?

IP: 109.128.1.1 M: 255.0.0.0

IP: 109.128.2.2 M: 255.0.0.0

IP: 147.103.73.73 M: 255.255.0.0

IP: 109.100.11.11 M: 255.255.0.0

IP: 109.128.10.10 M: 255.255.0.0

Page 91: Tcpip Linux 2012

Classless Addressing

87

Escenario 2

Cuál es el problema en esta gráfica?

Cómo afecta en la comunicación?

Cuál es la máscara correcta?

IP: 131.107.100.27 SM:255.255.0.0 DG:131.107.100.1

IP: 131.107.33.7 SM:255.255.0.0 DG:131.107.33.3

131.107.100.1 131.107.33.3

Page 92: Tcpip Linux 2012

Informática Integrada Internetworking

88

Escenario 3.

En este ejercicio va a determinar la máscara apropiada de sub-redes para los siguientes rangos de direcciones IP

1. Rango de la 128.71.1.1 hasta la 128.71.254.254

2. Rango de la 61.8.0.1 hasta la 61.15.255.254

3. Rango de la 172.88.32.1 hasta la 172.88.63.254

4. Rango de la 111.224.0.1 hasta la 111.239.255.254

5. Rango de la 3.64.0.1 hasta la 3.127.255.254

6. Tenemos 4 segmentos, los Networks ID son: 190.1.16.0, 190.1.32.0, 190.1.48.0 y 190.1.64.0 máscara: 255.255.248.0:

Page 93: Tcpip Linux 2012

Classless Addressing

89

Supernetting

Supernetting es el caso contrario que subnetting, esto es que teniendo varias redes de clase C, pueda crear una máscara que haga suponer que todas son un sólo segmento, es decir una sola red.

Tengo siete redes de Clase C, que van de los segmentos 220.78.168.0 al 220.78.174.0

Convierto cada uno de los octetos en binario y tomo los 3 últimos bits del octeto que me indica el segmento de red y les pongo valor de 0. Por último, convierto en binario y obtengo mi nueva máscara.

Network ID Máscara Binario

220.78.168.0 255.255.248.0 11111111.11111111.11111000.00000000

220.78.168.0

220.78.169.0

220.78.170.0

220.78.171.0

220.78.172.0

220.78.173.0

220.78.174.0

Antes del Supernetting:

220.78.168.0 255.255.255.0 220.78.168.1

220.78.169.0 255.255.255.0 220.78.169.1

220.78.170.0 255.255.255.0 220.78.170.1

220.78.171.0 255.255.255.0 220.78.171.1

220.78.172.0 255.255.255.0 220.78.172.1

220.78.173.0 255.255.255.0 220.78.173.1

220.78.174.0 255.255.255.0 220.78.174.1

Tabla de Ruteo para el Router B

Router B

Después del Supernetting:

220.78.168.0 255.255.248.0 220.78.168.1

Figura no. 3.1. Supernetting con 7 redes de clase C

Page 94: Tcpip Linux 2012

Informática Integrada Internetworking

90

Page 95: Tcpip Linux 2012

Classless Addressing

91

Examen 3 - 3

Usted es un proveedor de servicios de Internet al cual le fueron asignadas un bloque de 2,048 redes de clase C iniciando en 192.24.0.0 y terminando con 192.31.255.0.

1. Si usted hiciera un superneteo de este bloque de redes, como cual dirección IP se debe ver?

2. Cuál es la máscara de red?

Los clientes que le han solicitado el servicio de Internet tienen los siguientes requerimientos:

El cliente no. 1 no tendrá más de 2,023 hosts

El cliente no. 2 no tendrá más de 4,047 hosts

El cliente no. 3 no tendrá más de 1,011 hosts

El cliente no. 4 no tendrá mas de 500 hosts

Conteste las siguientes opciones llenando con la IP correcta los espacios vacíos:

3. Cliente no. 1

Dirección de inicio 192.24.0.1 Dirección Final 192.24.7.8 Subnet Mask

4. Cliente no. 2

Dirección de inicio Dirección Final 192.24.31.254 Subnet Mask 255.255.240.0

5. Cliente no. 3

Dirección de inicio 192.24.8.1 Dirección Final Subnet Mask 255.255.252.0 6. Cliente no. 4

Dirección de inicio 192.24.14.1 Dirección Final 192.24.15.254 Subnet Mask

Page 96: Tcpip Linux 2012

Informática Integrada Internetworking

92

Escenario 2.

Usted es el encargado de telecomunicaciones de una universidad y cuenta con la red: 118.0.0.0/10. Esta red tiene que subdividirla en 8 segmentos para cada uno de los campus de la universidad, además de subdividir bajo las siguientes especificaciones:

a) El primer sub-segmento es asignado a la Facultad de Medicina, la cual tiene que dividirlo en 4 segmentos más pequeños.

b) El segundo sub-segmento corresponde a la Facultad de Ingeniería que cuenta con 15 laboratorios con salida a Internet. Dividir esta red en 15 más pequeños.

c) El tercer campus corresponde a las Areas Sociales-Administrativas que requiere dividir en 30 segmentos más pequeños

d) El cuarto sub-segmento corresponde a las oficinas administrativas que se ubican en dos edificios conectados entre si. (Dividir en dos redes)

e) El quinto sub segmento se va a dividir en 8 redes para las áreas públicas.

Debe indicar al elaborar los ejercicios, el NetId en notación CIDR, las direcciones inicio, final y de broadcast en cada uno de los casos e indicar el número de direcciones IP con las que cuentan.

Page 97: Tcpip Linux 2012

Classless Addressing

93

CIDR, Classless Inter-Domain Routing

Las clases de redes IP proveen de un método simple para diferenciar hosts locales de hosts remotos y para ubicar las rutas hacia los hosts de redes remotas. De cualquier manera, este método permite muy pocas variaciones en los tamaños de la red lo cual le puede ocasionar varios problemas con una inapropiada asignación de direcciones a las redes. Para romper estas limitaciones tenemos un método conocido como Classless Inter-Domain Routing que fue desarrollado para romper las redes de grandes tamaños.

Incluso si tiene una clase de direcciones A o B, no es realista configurar su red como un gran grupo de máquinas. Aparte de resultar una pesadilla administrar, le retamos a que encuentre cualquier tipo de red capaz de tener tantas máquinas agrupadas juntas. Por ejemplo, Ethernet no puede tener más de 1024 máquinas por segmento debido a las colisiones.

Para resolver este problema, estas redes enormes se dividen en subredes más pequeñas. Esto se hace expandiendo el número de bits usados para representar la dirección de red, una técnica conocida como Classless InterDomain Routing (Enrutamiento Inter-dominio sin clases) debido a que viola la descripción de las redes A, B y C.

La notación CIDR nos pide especificar una notación en decimal con el número de bits que compone la máscara. Por ejemplo:

IP Address 10. 217. 123. 7 Mask 11111111.11111111.11110000.00000000 Bits activados: 8 + 8+ 4 + 0= 20 Notación CIDR 10.217.123.7/20

Nota: A la notación CIDR también se le conoce como network prefix notation.

CIDR y Clases de Redes

Las direcciones IP en la notación CIDR son comprendidas por el número de bits de la dirección IP que identifican al network ID y se representada como /x. Por ejemplo, un network ID de 10 bits se representado como /10.

En la notación CIDR, la IP que se representa con /20 puede ser una red de clase A, B o C. Los ruteadores que soportan CIDR no utilizan los tres primeros octetos de la dirección para determinar si el host destino es local o es remoto, como en el método classful. En vez de eso, descarga en la información de bits de la mascara provista con la ruta para hacer una determinación.

La siguiente tabla es una lista practica de bits mask, la subnet mask asociada y el número de classfull networks posibles para cada una.

Page 98: Tcpip Linux 2012

Informática Integrada Internetworking

94

Notación CIDR Subnetmask Número de classful networks

/8 255.0.0.0 256 clase B

/9 255.128.0.0 128 clase B

/10 255.192.0.0 64 clase B

/11 255.224.0.0 32 clase B

/12 255.240.0.0 16 clase B

/13 255.248.0.0 8 clase B

/14 255.252.0.0 4 clase B

/15 255.254.0.0 2 clase B

/16 255.255.0.0 1 clase B o 256 clase C

/17 255.255.128.0 128 clase C

/18 255.255.192.0 64 clase C

/19 255.255.224.0 32 clase C

/20 255.255.240.0 16 clase C

/21 255.255.248.0 8 clase C

/22 255.255.252.0 4 clase C

/23 255.255.254.0 2 clase C

/24 255.255.255.0 1 clase C

/25 255.255.255.128 ½ clase C

/26 255.255.255.192 ¼ clase C

/27 255.255.255.224 1/8 clase C

/28 255.255.255.240 1/16 clase C

Como nota aparte, esta versión de TCP/IP es la número 4, cuando se planteó el esquema de las direcciones IP nunca creyeron que en algún momento se fueran agotar las direcciones disponibles. Pues bien, el sistema esta por saturarse, por lo que se tiene ya contemplado una versión 6.0 para TCP/IP donde los números binarios se convierten a hexadecimales, es decir, que en vez de ser una cadena de 32 bits ahora su tamaño es de 128 bits, cuatro veces más grande.

Cuando usted configure direcciones IP debe teclear la dirección IP y la información de máscara de red en notación decimal. No acepta notación CIDR. Ahora que para calcular un network ID es mejor en notación binaria que en cualquiera de las dos (Notación Decimal o Notación CIDR). Veamos el siguiente ejemplo.

Page 99: Tcpip Linux 2012

Classless Addressing

95

Para calcular el network ID cuando la dirección se especifica en notación CIDR.

1. Convertir la IP en formato binario.

2. Utilice el bit mask para determinar el número de bits en la dirección IP que crean el network ID.

3. Agregue los 0´s que le hace falta para completar la máscara.

Ejemplo 1:

IP Address en Notación CIDR: 10.217.123.7/20

IP Address 10. 217. 123. 7 Bin 00001010.11011001.01111011.00000111 255. 255. 240. 0 Mask 11111111.11111111.11110000.00000000

Network ID 00001010.11011001.01110000.00000000 Network ID CIDR 10.217.112.0/20

Para calcular el network ID cuando la dirección y la máscara de red se especifican en notación decimal.

1. Convertir la dirección IP en formato binario

2. Convertir la mascara de red en formato binario

3. Hacer un AND para calcular el Network ID.

Ejemplo 2:

IP: 10.217.128.7 Mask: 255.248.0.0 IP Address 00001010.11011001.01111011.00000111 Mask 11111111.11111000.00000000.00000000 Network ID 00001010.11011000.00000000.00000000

4. Después de calcular el Network ID en notación Binaria hacer el cálculo en

notación decimal/CIDR. Recuerde que los usuarios usualmente no utilizan estos términos.

Notación Binaria Notación CIDR

Ejemplo 1 00001010.11011001.0111000.00000000 10.217.112.0/20 Ejemplo 2 00001010.11011000.0000000.00000000 10.216.0.0/13

Page 100: Tcpip Linux 2012

Informática Integrada Internetworking

96

IP´s disponibles para Hosts

El número de hosts soportados por network ID es calculado utilizando el número de 0´s que tenemos en la máscara de subred. Es decir, el número de 0´s es el exponente, siempre restándole 2 combinaciones que no son posibles (todos ceros y todos unos). Ejemplo:

IP 11000000.10101000.11000001.00000000 192. 168. 193. 0

Mask: 11111111.11111111.11110000.00000000 255. 255. 240. 0

Hosts ID . 0000.00000000

2 exp 12 = 4,096 menos 2= 4,094 hosts ID.

Page 101: Tcpip Linux 2012

Sección 4: Implementando IPv6

Page 102: Tcpip Linux 2012

Informática Integrada Internetworking

98

Page 103: Tcpip Linux 2012

Implementando IPv6

99

Seccion 4: Implemendo IPV6

Introducción

En esta sección se analizan las causas del desarrollo de IPv6, cuales son sus mejoras, repasamos los encabezados y comaparmos entre IPv4 y el IPv6 y como se exresa el direccionamiento de la nueva generación.

Objetivos Particulares

Al finalizar esta sección, usted podrá:

Explicar los cambios de IPv6

Describir el encabezado de IPv6

Describir las ventajas y características de IPv6

Explicar las diferentes expresiones del direccionamiento

Page 104: Tcpip Linux 2012

Informática Integrada Internetworking

100

Page 105: Tcpip Linux 2012

Implementando IPv6

101

Historia de IPv6

La demostración del agotamiento del espacio de direcciones IP llevó al consenso de que no había tiempo suficiente para diseñar, construir y probar un nuevo protocolo con funcionalidades mejoradas, en lugar de implementar un nuevo protocolo que sólo añadiera más direcciones. Esto representó una oportunidad única para fijar las limitaciones relacionadas con el esquema de direccionamiento IPv4 y para desarrollar un protocolo para asegurar un crecimiento confiable de Internet en las próximas décadas.

El proceso se hizo cargo de las necesidades de diversas industrias, incluyendo las industrias del cable y la inalámbrica, servicios públicos de energía eléctrica, las redes militares, empresariales, proveedores de servicios Internet (ISP), y muchos otros.

En 1993, una convocatoria de propuestas (RFC 1550) se emitió. Tres de ellos fueron estudiados en detalle:

Common Architecture for the (Catnip) propuso la convergencia de la CLNP, IP e

IPX con el uso de Network Access Point Service (NSAP) direcciones.(Definido en

el RFC 1707.)

Simple Internet Protocol Plus (SIPP) propuso aumentar el tamaño de dirección

IP a 64 bits y la mejora de la cabecera IP. (Definido en el RFC 1752.)

TCP/UDP Over CLNP-Addressed Networks (TUBA) sugirió reemplazar IP(Capa

3) sin conexión con la Red de Protocolo (CLNP), donde TCP / UDP y otros

protocolos superiores podría funcionar en la parte superior de CLNP. (Definido en

el RFC 1347.)

La propuesta recomendada fue SIPP, con un tamaño de las direcciones de 128 bits. El autor principal del SIPP fue Steve Deering. IANA asignó el número de la versión 6 del protocolo. Un grupo de trabajo en el IETF llamado IP Next Generation (IPng) se inició en 1993, justo antes de que la web realmente llegará a la explosión del tráfico de Internet. Entonces, las primeras especificaciones llegaron a finales de 1995 (RFC 1883). El grupo de trabajo IPng fue retitulada IPv6 en 2001. La siguiente imagen muestra el origen y la cronología de IPv6.

En 1996, un banco de pruebas de IPv6 llamada BackboneIPv6 (6bone) fue creado a través de Internet. El 6bone ha utilizado principalmente una mezcla de routers de Cisco IOS Software con las implementaciones IPv6 beta y software de otros router en plataformas UNIX. Prefijos IPv6 dentro del espacio IPv6 3ffe ::/ 16 se asignaron a los participantes 6bone.

Page 106: Tcpip Linux 2012

Informática Integrada Internetworking

102

1993 1994 1995 1996 1997 1998 1999 2000

IETF IPng

Started

1er Specifications

6bone

Provider-Based

Address Format

6TAP

IPv6 Forum

Founded

RIRs Assigned

IPv6 Spaces

Cisco IPv6

Support 12.2(2)T

En 1997, un primer intento de estructurar el espacio de IPv6 como un proveedor de formato de dirección basado en IPv6. Un año más tarde, la primera de cambio IPv6, llamado 6TAP, fue desplegado en STARTAP en Chicago. En 1999, los registros regionales de Internet (RIR) comenzó la asignación de prefijos IPv6 de producción utilizando el espacio de IPv6 2001 :: / 16.

En el mismo año, el IPv6Forum, un consorcio mundial de proveedores líderes de Internet y las redes de investigación y educación, fue fundada para promover IPv6 en el mercado y para permitir la colaboración entre los proveedores.

En el año 2000, muchos fabricantes comenzaron a agrupar IPv6 en sus productos principales. Cisco presentó una hoja de ruta de tres fases para el desarrollo de IPv6 e hizo la compatibilidad con IPv6 disponible en el software Cisco IOS versión L2.2 (2) T. En 2001, Microsoft anunció la disponibilidad de IPv6 en el código de la corriente principal de su último sistema operativo, Windows XP.

IPv5

La comunidad de Internet utiliza direcciones de IPv4 e IPv6, IANA es la organización que tiene la responsabilidad mundial de la asignación de números a todo lo relacionado con Internet, que incluye las versiones del protocolo IP. IANA asigna la versión 6 del protocolo IPng en 1995 a raíz de una petición formulada por el grupo de trabajo IPng.

¿Qué pasa con "IP versión 5"? IPv5 es un protocolo de reserva de recursos experimental destinado a proporcionar calidad de servicio (QoS), que se define como el Protocolo de Internet Stream (TS). Puede proporcionar transporte en tiempo real de multimedia tales como voz, vídeo y en tiempo real el tráfico de datos a través de Internet. IPv5, también llamado ST2, está documentado en el RFC 1819 y RFC 1190. Internet Streaming Protocol versión 2 (ST2) no es un sustituto de IPv4. Está diseñado para funcionar y coexistir con IPv4. El número 5 fue asignado por la IANA ya que este protocolo trabaja en la misma capa. ST2 utiliza los mismos esquemas de direccionamiento IPv4 como para identificarlos.

Page 107: Tcpip Linux 2012

Implementando IPv6

103

Network Address Translation

Desde 1992, el CIDR no ha sido el único mecanismo que participan directamente en el retraso de la escasez de direcciones IPv4. Con los años, el mecanismo de NAT (definido en el RFC 1631), visto como una solución a corto plazo, desempeñó un papel clave al permitir a las organizaciones a utilizar Internet de algunas direcciones de unidifusión IP únicas a nivel mundial por sus grandes redes. NAT traduce por lo general los paquetes de una red, que utiliza direcciones IP únicas a nivel mundial unicast o un espacio de direcciones privadas tal como se define en la RFC 1918, a Internet.

Desde 1990, la combinación de CIDR, NAT y direccionamiento privado ha proporcionado beneficios a la Internet al reducir el agotamiento de direcciones IPv4.

Por otra parte, uno de los argumentos en contra de IPv6 es el uso de NAT. Esto es visto por algunos como la solución definitiva a la escasez de espacio de direcciones IPv4. Sin embargo, el uso de NAT tiene muchas implicaciones, las cuales fueron tomadas en cuenta en la ingeniería de IPv6. Algunas de estas limitaciones están documentadas en el RFC 2775 y RFC 2993:

Cualquier traducción en el camino de las piezas de cabecera rompe la comprobación de integridad. A pesar de muchas adaptaciones en parte puede resolver este problema, en algunos casos, el problema fundamental no es fácil de resolver. El encabezado de autenticación IPSec (AH) es un ejemplo de este problema.

Page 108: Tcpip Linux 2012

Informática Integrada Internetworking

104

Características de IPv6

Después de la descripción de los principales problemas relacionados con el protocolo IPv4, usted debe ver que IPv6 resuelve todos estos problemas y ofrece nuevos beneficios. Estas son las principales mejoras:

El sistema de direcciones de 128 bits, que proporciona las direcciones IP para las

próximas décadas.

El mayor espacio de direcciones proporciona direcciones únicas en el mundo a

miles de millones de nuevos dispositivos tales como PDAs,

dispositivos móviles, y sistemas de 802.11, que se fabricarán en el futuro.

Múltiples niveles de la jerarquía de ayudar a las rutas globales, que promueve el

enrutamiento eficaz y escalable a Internet.

Multihoming con la preservación de la agregación de la ruta estricta es posible.

El proceso de configuración automática permite que los nodos de la red IPv6 para

configurar sus propias direcciones IPv6.

La transición entre los proveedores de IPv6 sea transparente para los usuarios

finales con el mecanismo de numeración.

ARP de difusión se sustituye por el uso de multidifusión en la red local.

La cabecera IPv6 es más eficiente que IPv4. Menos campos están presentes, y la

cabecera de comprobación se elimina.

Un campo de etiqueta de flujo puede proporcionar diferenciación de tráfico.

Nuevas cabeceras de extensión sustituir a IPv4 campo de opciones y una mayor

flexibilidad.

IPv6 fue diseñado para manejar la movilidad y los mecanismos de seguridad

mucho más eficiente que el protocolo IPv4.

Muchos mecanismos de transición se han diseñado con IPv6 para permitir una

suave transición desde las redes IPv4 a IPv6.

Dirección de un espacio más grande

Aumentos IPv6 por un factor de 4, el número de bits de dirección, desde 32 a 128 bits. Durante la especificación de diseño de IPv6, hubo un debate sobre el uso de longitud fija de 64 bits frente a las direcciones de las direcciones de longitud variable de hasta 160 bits.

Finalmente, usando las direcciones de longitud fija de 128 bits para IPv6 se encontró que era la opción más apropiada.

Con IPv4, el número de nodos direccionables es 4294967296 (231, lo que representa alrededor de dos direcciones IPv4 por cada tres personas (sobre la base de una población mundial de 6 mil millones de personas en 2001).

En comparación, la longitud 128 bits de IPv6 representa 3.4 * 1038 direcciones, lo que permite aproximadamente 5,7 * 1028 direcciones IPv6 para cada persona en el mundo. Sin embargo, como en cualquier esquema de direccionamiento, comoIPv4 y sistemas de telefonía, no todas las direcciones se pueden usar, pero lo

Page 109: Tcpip Linux 2012

Implementando IPv6

105

suficiente están disponibles para cualquier tipo de uso. El aumento del número de bits para la dirección también significa un aumento en el tamaño del encabezado IP. Debido a que cada cabecera IP contiene una dirección de origen y una dirección de destino, el tamaño de los campos de cabecera que contienen las direcciones es de 64 bits de IPv4 e IPv6 de 256 bits.

Comparando el modelo de referencia OSI de IPv4 a IPv6, IPv6 representa sólo un cambio en la capa 3 (la capa de red). Otras capas se han modificado ligeramente. Esta fue una consideración importante en la ingeniería deIPv6. Las otras capas de los dos modelos de referencia OSI son los mismos, lo que significa que los protocolos como TCP y UDP utilizado con IPv4 seguirá funcionando en la parte superior de IPv6.

Physycal

Data Link

IPv4 32 bits

Transport

Session

Presentation

Application

Physycal

Data Link

IPv6 128 bits

Transport

Session

Presentation

Application

UPDATE

Accesibilidad global

IPv6permite el uso de una dirección global y accesible para casi todo tipo de dispositivos: ordenadores, teléfonos IP, faxes, cajas de televisión IP de configuración, cámaras, localizadores, PDAs inalámbricas, 802.11 b dispositivos, teléfonos celulares, redes domésticas, y los vehículos. A partir de ahora hasta el año 2006, los fabricantes de celulares va a producir miles de millones de nuevos dispositivos inalámbricos que incluyen una pila IP. Estos dispositivos inalámbricos de próxima generación proveerá a los suscriptores con la interactividad de Internet y los servicios con sus teléfonos. Tratar de hacer encajar todos estos dispositivos en el espacio de direcciones IPv4 actual es casi imposible. Tener una dirección IP única para cada dispositivo permite a los de extremo a extremo de accesibilidad, que se había perdido durante los últimos años con los dispositivos NAT y privadas de direccionamiento. El modelo de extremo a extremo es especialmente importante para llamada telefónica y la seguridad de extremo a extremo. IPv6 permite el pleno apoyo de los protocolos de aplicación sin necesidad de un procesamiento especial por la propia red.

Los niveles de direccionamiento jerárquico

Un espacio de direcciones mucho más grande permite el uso de múltiples niveles de jerarquía dentro del espacio de direcciones, como se muestra en la siguiente Figura. Cada nivel de ayuda total de su espacio de propiedad intelectual y mejorar la función de asignación. Los proveedores y las organizaciones pueden tener jerarquía de niveles y administrar la asignación del espacio de abajo.

Page 110: Tcpip Linux 2012

Informática Integrada Internetworking

106

Hosts

Sites

Organizations

Tier-n Provider

Tier-2 Provider

Tier-3 Provider

Internet Registries

IPv6 Addresses = 128 bits

Encabezado eficiente

Como se muestra en la figura, la nueva cabecera IPv6 es más simple que la cabecera del paquete IPv4. Seis de los campos de cabecera IPv4 se eliminan en la cabecera IPv6. La cabecera de IPv4 con los campos de opciones y relleno cuenta con 14 campos, y la cabecera IPv6 tiene ocho campos. El tamaño básico de cabecera IPv6 es de 40 octetos, y la cabecera IPv4 sin los campos de opciones y relleno es de 20 octetos. La cabecera básica IPv6 tiene una longitud fija, y la cabecera IPv4 cuando se utiliza con el campo de opciones puede tener una longitud variable.

IPv4 Header IPv6 Header

Length: 20 bytes

Fields: 12

Length: 40 bytes

Fields: 8

Todos los campos en la cabecera IPv6 están alineados a 64 bits, lo que permite el almacenamiento directo y acceso a la memoria. Estas mejoras permiten procesamiento basado en hardware, que proporciona la escalabilidad de la tasa de transmisión de la nueva generación de tubos de alta velocidad.

Etiqueta de flujo

IPv6 incluye un campo de flujo nueva etiqueta en la cabecera IPv6, como se ilustra en la figura 1-15. Un nodo de origen puede utilizar este campo especial para solicitar un tratamiento especial para una secuencia específica de paquetes. El campo de etiqueta de flujo es principalmente para la elaboración final de la estación, no para los routers. Esto puede ser útil para aplicaciones de streaming, como la videoconferencia y voz sobre IP que requieren en tiempo real de transmisión de datos. La etiqueta de

Page 111: Tcpip Linux 2012

Implementando IPv6

107

flujo permite por la corriente de procesamiento para aplicaciones que requieren calidad de servicio en los routers en el camino. Esto es mejor que el reenvío de mejor esfuerzo.

Flow Level

IPv6 Header

Cabezal

Dentro de un paquete IPv4, un campo Opciones (RFC 791) pueden estar presentes al final de la cabecera. Este campo de opciones, cuando está presente, tiene una longitud variable, dependiendo de la característica opcional que se utiliza entre los hosts finales.

IPv4 Header

Option

Variable Length

IPv6 utiliza un nuevo enfoque para gestionar la información opcional en el encabezado. En lugar de utilizar un campo de opciones en la final de la cabecera,IPv6 utiliza cabeceras de extensión.

Page 112: Tcpip Linux 2012

Informática Integrada Internetworking

108

IPv6 PacketExtension Header #1

Next Header

Next Header

Extension Header #2

Payload

(TCP, UDP Packets

IPv6

Movilidad

La movilidad es una característica altamente deseable e importante para las empresas, organizaciones, y los empleados que quieran acceder a la web, correo electrónico, sus cuentas bancarias, y el hogar de fuera de esas redes, incluso desde el coche. Nueva tecnologías inalámbricas tales como 802.1 y 3G (tercera generación) pueden ayudar a satisfacer estas necesidades.

Seguridad

El protocolo IPSec, un estándar del IETF para la seguridad de la red IP, puede ofrecer varias funciones de seguridad:

límites de control de acceso el acceso a las personas que tienen autorización.

Autenticación certifica que la persona que envía los datos es que la persona que

dice ser.

La confidencialidad se garantiza que los datos llevados a través de una red

pública, incluyendo contraseñas, es encriptada para que sea muy difícil para que

nadie vea los datos intercambiados.

Integridad asegura que los datos no ha sido modificado durante el transporte.

Protección Replay mantiene sesiones de volver a grabar y luego reproducir

posteriormente por usuarios maliciosos.

Cualquier protocolo IP puede ser usada a través de IPSec. IPSec se utiliza para

crear túneles cifrados sobre IP (redes privadas virtuales) o simplemente para

cifrarlos datos intercambiados entre computadoras.

Protocolos: Authentication Header (AH) y Carga de seguridad

encapsuladora (ESP). AH y ESP están disponibles tanto para IPv4 e IPv6, y son

esencialmente idénticaspara ambos protocolos.

Page 113: Tcpip Linux 2012

Implementando IPv6

109

Transición

La transición de una Internet hecha de las redes IPv4 a IPv6 es otra parte fundamental de un nuevo protocolo. Los organismos de normalización, la industria y la comunidad de Internet no quieren repetir el mismo fenómeno que el problema Y2K, en la que un cambio importante se produjo en un momento determinado (Diciembre 31,1999).

El objetivo final de IPv6 en la sustitución de IPv4 es bien conocida. Sin embargo, no existe una fecha límite para el cambio de la Internet a través de IPv4 a IPv6. Un grupo especial de trabajo en la IETF llama la próxima generación de transición de IPv4 a IPv6 (NGTRANS) fue creado para centrarse en la transición. NGTRANS trabaja en estrecha colaboración con el grupo de trabajo IPv6 (antes llamado IPng)para crear estrategias y mecanismos de transición.

Muchos mecanismos de transición y coexistencia están disponibles y se pueden aplicar a diferentes situaciones:

dual-stack nodos sobre redes IPv4

Islas de nodos sólo IPv6 sobre redes IPv4

nodos sólo IPv4 que pueden hablar de las redes IPv6

nodos sólo IPv6 que pueden hablar de las redes IPv4

Page 114: Tcpip Linux 2012

Informática Integrada Internetworking

110

Encabezado IP

En IPv6, varios campos de la cabecera IPv4 se quitan. Las principales razones para el traslado de estos son los siguientes:

Longitud-La cabecera básica cabecera IPv4 está a sólo 20 bytes de longitud. Sin

embargo, la cabecera básica IPv6 tiene una longitud fija de 40 octetos. La

longitud de la cabecera IPv4 indica la longitud total del paquete, incluyendo el

campo de opciones. Cuando está presente, el campo de opciones aumenta la

longitud de la cabecera IPv4. En lugar del campo de opciones, IPv6 utiliza el

campo Extensión. El campo de extensión se manejan de manera diferente a

como IPv4 maneja el campo Opciones.

Identificación, banderas, y desplazamiento del fragmento de fragmentación se

maneja de manera diferente en IPv6. Ya no se hace por los routers intermedios

en las redes, pero por el nodo fuente que origina el paquete. Quitar el campo de

procesamiento de la CPU elimina la fragmentación en los enrutadores

intermedios.

Suma de comprobación de cabecera de capa de enlace tecnologías (capa 2)

llevar a cabo su propia suma de comprobación y control de errores. La fiabilidad

de la capa de enlace está bien y protocolos de capa superior como TCP y UDP

(capa 4) tienen sus propias sumas de comprobación. Suma de comprobación

UDP, que era opcional en IPv4, es obligatorio en IPv6. Por lo tanto, la suma de

comprobación en la capa 3 es redundante, por lo que el campo de la cabecera de

control es necesario en IPv6 y suprime el proceso de recálculo cada vez que un

paquete pasa a través de un router.

Opciones y padding-El campo de Opciones cambia radicalmente en IPv6. Las

opciones ahora son manejados por las cabeceras de extensión (como se explica

más adelante en este capítulo). El campo de relleno también se elimina. La

eliminación de las opciones y los encabezados de relleno simplifica la cabecera

IP. Por lo tanto, la cabecera básica IPv6 tiene una longitud fija de 40 octetos, lo

que permite menos de procesamiento de los routers a lo largo de la ruta de

entrega en comparación con el IPv4. Los otros campos de la cabecera IPv4, la

versión, tipo de servicio, longitud total, tiempo de vida, número de protocolo, la

dirección IPv4 de origen y destino de direcciones IPv4, o bien no se han

cambiado o se han modificado ligeramente (como se describe en la siguiente

sección) .

Formato básico del encabezado IPv6

Tal como se define en el RFC 2460, Protocolo de Internet versión 6 (IPv6) Specification, la cabecera básica IPv6 contiene ocho campos, en comparación con 12 campos de IPv4 (sin las opciones y los campos de relleno), para una longitud total de 40 octetos.

Page 115: Tcpip Linux 2012

Implementando IPv6

111

Aquí están las descripciones de los campos en la cabecera básica IPv6:

Versión (4 bits) - La versión IP. Este campo contiene el valor 6 en lugar del valor

4 contenida en un paquete IPv4

Clase de Tráfico (8-bit) - Este campo y sus funciones son similares al campo Tipo

de Servicio en IPv4. Esto etiquetas de los campos un paquete IPv6 con un punto

de código de servicios diferenciados (DSCP) que especifica cómo el paquete

debe ser manejado.

Etiqueta de flujo (20-bit) - Este campo se utiliza para etiquetar un flujo de

paquetes IPv6. Esto es nuevo en el protocolo IPv6. El actual estándar de la IETF

no especifica los detalles acerca de cómo manejar y procesar la etiqueta de flujo.

Longitud de carga útil (16-bit) - Este campo representa la longitud de la carga

útil. La carga útil es la parte restante del paquete después de la cabecera IPv6.

Next Header (8 bits)-Como se muestra en la Figura 2-4, este campo define el tipo

de información a raíz de la cabecera básica IPv6. El tipo de información puede

ser un protocolo de capa superior como TCP o UDP, o puede ser una de las

cabeceras de extensión opcionales nuevos. El campo siguiente cabecera es

similar al campo de número de protocolo en IPv4. Admite los protocolos se

definen por la IANA.

Limitar Hop (8-bit) - Este campo define el número máximo de saltos (routers

intermedios) que el paquete IP puede pasar a través. Cada salto reduce este

valor en 1. Al igual que en IPv4, cuando este campo contiene el valor 0, el

paquete es destruido y una Internet Control Message Protocol para IPv6

(ICMPv6) de tipo 3 mensaje (tiempo excedido) se envía al nodo de origen.

Dirección de origen (128-bit) - Este campo identifica la dirección IPv6 de origen

del remitente.

Dirección de Destino (128-bit) - Este campo identifica la dirección de destino del

paquete IPv6.

Page 116: Tcpip Linux 2012

Informática Integrada Internetworking

112

Representación de las direcciones IPv6

Las direcciones IPv6 son cuatro veces el tamaño de las direcciones IPv4. La representación de direcciones IPv6 es también muy diferente. Tal como se define en el RFC 2373, IP versión 6 Aborda tres formatos representan las direcciones IPv6:

El formato preferido es el método más largo que representa todos los

caracteres hexadecimales 32 que forman una dirección IPv6, el formato

preferido también puede verse como la representación que corresponda un

equipo que está "pensando"

El siguiente método es la representación comprimida de una dirección IPv6, para

simplificar la escritura de las direcciones IPv6 por los seres humanos, es posible

comprimir la dirección cuando los valores de cero se encuentran presentes en la

dirección IPv6, esto significa que los formatos preferidos y comprimido son

diferentes representaciones de las mismas direcciones IPv6, un nuevo

concepto en comparación con el IPv4.

Por último, el tercer método para representar una dirección está relacionada con

los mecanismos de transición, donde se halla incorporada de una dirección IPv4

en una dirección IPv6. Esta última representación es menos importante que el

preferido y el formato comprimido, ya que sólo es útil si usted está utilizando los

mecanismos de transición específicos,

Representación preferida de direcciones IPv6

Como se muestra en la siguiente Figura, la representación preferida, también conocida como la forma completa de una dirección IPv6, tiene una serie de ocho campos hexadecimales 16-bits separados por dos puntos (:). Cada campo de 16 bits está textualmente representado por cuatro caracteres hexadecimales, lo que significa que el valor de cada campo de 16 bits pueden tener valores hexadecimales 0x0000 través de 0xFFFF, caracteres alfanuméricos utilizados en hexadecimal se distingue entre mayúsculas y minúsculas.

El formato preferido es el más largo de la representación de una dirección IPv6, un total de 32 caracteres hexadecimales pueden ser representados en esta forma preferida (ocho campos de cuatro caracteres hexadecimales). En comparación, una dirección IPv4 consta de cuatro campos de 8 bits decimales separados por puntos(,) para un total posible de 12 caracteres decimales.

La Tabla muestra ejemplos de las direcciones IPv6 en la representación que prefiera.

Preferred Format of IPv6 Addresses

0000:0000:0000:0000:0000:0000:0000:0000

0000:0000:0000:0000:0000:0000:0000:0001

2001:0410:0000:1234:FB00:1400:5000:45FF

3ffe:0000:0000:0000:1010:2a2a:0000:0001

3FFE:0B00:0CI8:0001:0000:1234:AB34:0002

Page 117: Tcpip Linux 2012

Implementando IPv6

113

FE80:0000:0000:0000:0000:0000:0000:0009

FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

Representación comprimido

En IPv6, es común el uso de direcciones que contienen largas cadenas de 0s. Para que las direcciones de escritura que contienen los bits 0 más fácil para los seres humanos, una sintaxis especial que comprime consecutivos valores 0 en dos situaciones-sucesivos campos de 16 bits hechas de 0s 0s y de liderazgo en campos de 16 bits de una dirección IPv6.

Para simplificar la longitud de una dirección IPv6 cuando uno de varios sucesivos campos de 16 bits de 0 caracteres están presentes, es legal para representar a estos campos de 0s como :: (dos puntos dobles). Sin embargo, sólo uno :: está permitido en una dirección IPv6. Este método hace que muchas direcciones IPv6 muy pequeño. La representación comprimida de una dirección IPv6 también significa que la misma dirección puede tener varias representaciones.

En la siguiente tabla presentan ejemplos de las direcciones IPv6 en el formato preferido que se han comprimido debido a que tienen uno o más sucesivos campos de 16 bits de 0 caracteres. Los caracteres en negrita en las direcciones preferidas en formato representan los valores que deben ser removidos para comprimir las direcciones.

Preferred Format Compressed Format Using ::

0000:0000:0000:0000:0000:0000:0000:0000 : :

0000:0000:0000:0000:0000:0000:0000:0001 : :0001

2001:0410:0000:1234:FB00:1400:5000:45FF 2001:0410::1234:FB00:1400:5000:45FF

3ffe:0000:0000:0000:1010:2a2a:0000:000l 3ffe::1010:2a2a:0000:000l

3FFE:0B00:0C18:0001:0000:1234:AB34:0002 3FFE:0B00:0C18:0001::1234:AB34:0002

FE80:0000:0000:0000:0000:0000:0000:0009 FE80::0009

FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

La dirección FFFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF es un ejemplo de una dirección en la que todos los bits se establece en 1. Por lo tanto, esta dirección no se puede comprimir. Forma de comprimido utilizando el :: sólo está disponible cuando hay varios sucesivos campos de 16 bits de 0 caracteres están presentes.

Ahora se presentan ejemplos de direcciones ilegales comprimidos. El comprimido se dirige representado utilizar el :: más de una vez, que es una representación ilegal IPv6 dirección comprimido.

Page 118: Tcpip Linux 2012

Informática Integrada Internetworking

114

Preferred Format Compressed Format Using ::

0000:0000:AAAA:0000:0000:0000:0000:0001 ::AAAA::0001

3ffe:0000:0000:0000:1010:2a2a:0000:0001 3ffe::1010:2a2a::0001

El segundo método para comprimir las direcciones es aplicable a cada campo hexadecimal de 16 bits de una dirección IPv6 cuando uno o más bits Os están presentes. Es decir, considerar 0000 y reemplazar por 0 para simplificar la longitud de una dirección IPv6. Sin embargo, si cada caracter hexadecimal de un campo de 16 bits se establece en 0, por lo menos un carácter 0 debe mantenerse.

Page 119: Tcpip Linux 2012

Implementando IPv6

115

Examen 4.1

Exprese las siguientes direcciones en formato comprimido:

Preferred Format Compressed Format

0000:0000:0000:0000:0000:0000:206.123.31.2

0000:0000:0000:0000:0000:0000:ce7b:1f01

0000:0000:0000:0000:0000:FFFF:206.123.31.2

0000:0000:0000:0000:0000:FFFF:ce7b:1f01

Page 120: Tcpip Linux 2012
Page 121: Tcpip Linux 2012

Sección 5: Encaminamiento IP

Page 122: Tcpip Linux 2012

Informática Integrada Internetworking

118

Page 123: Tcpip Linux 2012

Encaminamiento IP

119

Seccion 5: Encaminamiento IP

Introducción

Como parte de esta sección, veremos el funcionamiento de los protocolos de ruteo, la implementación de los mismos y configurar ruteadores LINUX..

Objetivos Particulares

Al finalizar esta sección, usted podrá:

Describir lo que es el ruteo

Describir los protocolos de ruteo dinámico

Configurar un router Linux

Page 124: Tcpip Linux 2012

Informática Integrada Internetworking

120

Page 125: Tcpip Linux 2012

Encaminamiento IP

121

Encaminamiento

Las direcciones IP son, en cierto sentido, un mecanismo muy abstracto. Si bien distinguen unívocamente todas las interfaces de Internet accesibles, no codifican ninguna información sobre su ubicación. Internet es una red de redes, lo que significa que es altamente improbable que cualquier par de hosts con direcciones directas, tomados al azar, esté en la misma red física.

Entonces, ¿cómo es posible enviar un datagrama IP desde un sistema en un lugar hasta otro sitio remoto que está potencialmente a miles de kilómetros? En los términos muy sencillos, un datagrama IP se transmite de una red a otra, hasta que alcanza finalmente la red en que se encuentra el host de destino. Algunos sistemas, conocidos como pasarelas (gateways) o encaminadores, están presentes en más de una red, de manera que pueden reenviar los datagramas de una red a otra según se necesite. El término encaminador se reserva a veces para los dispositivos aislados, dejando el de pasarela para denominar a una computadora que realiza esa función entre muchas otras. Sin embargo, no se hace siempre un uso coherente de los nombres.

Aunque el hardware encaminador diseñado específicamente para ello normalmente tendrá un mejor rendimiento que una computadora con funciones generales optativas, es totalmente posible emplear un sistema similar a UNIX (sea un sistema comercial UNIX o un clon como Linux) para realizar un encaminamiento y, en muchos casos, permitirá una mayor flexibilidad. En este libro sólo se hablará del encaminamiento con sistemas Red Hat Linux.

Configuración del encaminamiento

Las pasarelas encaminan los datos entre múltiples redes, pero también deben tomar decisiones de encaminamiento los hosts individuales. En un caso sencillo, en el que el host sólo tiene una interfaz de bucle cerrado y una interfaz física, las decisiones de encaminamiento son bastante triviales. Si se dirige un datagrama a una interfaz en la red de bucle cerrado, se envía a través de la interfaz de bucle cerrado. De otro modo, si se dirige a un host en la red física local, se envía mediante la interfaz física. De no ser así, se debe dirigir a un host en una red remota y se envía a una pasarela en la red física local para que se reenvíe adecuadamente.

El encaminamiento en un sistema concreto se puede configurar de muchas maneras, pero se puede hacer una distinción básica entre el encaminamiento estático y el dinámico. El administrador debe configurar el encaminamiento estático manualmente. Esto es útil para una red con un número limitado de pasarelas a otras redes TCP/IP y en especial para una red con una única pasarela. El encaminado estático puede ayudar también a eliminar los puntos vulnerables de seguridad de las aplicaciones que autentican basadas en una dirección IP, pues puede evitar el spoofing (interceptación, alteración y retransmisión) de la IP. Las LAN pequeñas, especialmente las de uso doméstico, son un ejemplo ideal de este tipo de entorno.

El encaminamiento dinámico, por otra parte, debería utilizarse en redes con más de una ruta posible para el mismo destino. En general, encaminar los paquetes a través de múltiples redes es una tarea difícil. Esto es especialmente cierto para Internet, donde los temas de escalabilidad y de fiabilidad significan que se debe distribuir la información relativa al encaminamiento: ningún sistema o grupo de sistemas puede conocer todas las rotas que existen. Además, los encaminadores deben hacer todo lo

Page 126: Tcpip Linux 2012

Informática Integrada Internetworking

122

posible para dirigir los datagramas por la ruta más corta posible. Este tipo de comunicación la realizan los demonios routed y gated y la información así adquirida

se usa automáticamente para configurar las decisiones de encaminamiento.

La tabla de encaminamiento

En los sistemas bajo UNIX y Linux, la información sobre cómo han de dirigirse los datagramas se almacena en una estructura del kernel llamada tabla de encaminamiento. Es esta tabla de encaminamiento la que hay que manipular para configurar las decisiones de encaminamiento, basándose en la información fija que suministra el administrador (para el encaminamiento estático), o bien en la información de accesibilidad adquirida mediante BGP, (Border Gateway Protocol, Protocolo para pasarelas de frontera), para el encaminamiento dinámico.

En los sistemas Linux también se puede utilizar route en lugar de netstat -r,

pero puesto que otros sistemas no lo permiten, probablemente es conveniente adquirir el hábito de utilizar netstat -r. Se puede dar a netstat -r la opción de que use

el mismo formato de salida que route, o se puede dar a route la opción de que emplee el formato de netstat -r. En cualquiera de los dos programas, la opción -ee les

hace usar el mismo formato de salida, con la información combinada de otros formatos; las líneas de salida en este formato son muy largas.

La opción -n de netstat o de route les impide intentar convertir en nombres las

direcciones IP numéricas. Como señala el manual, esta opción es útil para intentar depurar los problemas de enrutamiento hacia nuestro servidor de nombres; pero también pude ser útil en otras situaciones. Se emplea aquí para hacer rápidamente visible la estructura de la red.

Los campos de salida para netstat -r -ee tienen los siguientes significados:

Destination (destino). Identifica las direcciones IP de destino para las que se

tiene en cuenta esta ruta.

Gateway (pasarela). Proporciona la dirección IP de la interfaz (si la hay) que

enviará paquetes para estos destinos. Si no se necesita pasarela de envío, aparece una dirección de 0.0.0.0, o *, si se omite el argumento -no

Genmask (máscara general). Es la máscara de red usada para las direcciones de

destino.

Flags (indicadores). Indica varios detalles acerca de la ruta. Los indicadores más

importantes son U (la ruta está en funcionamiento), G (se debería usar la pasarela

especificada para esta ruta) y H (la ruta es para un host, no para una red). D

(instalación dinámica), M (modificada) y R (rehabilitada) son indicadores que

advierten que la ruta fue creada o manipulada por un demonio de encaminamiento o después de encontrarse con un mensaje ICMP de redirección. El indicador ! señala el rechazo de una ruta.

Metric (métrica). Es un índice de calidad para la ruta. Normalmente sólo útil

para encaminamiento dinámico.

Ref (referencias). No usado por el kernel de Linux, pero para otros sistemas

representa el número de referencias a la ruta.

Page 127: Tcpip Linux 2012

Encaminamiento IP

123

Use (uso). Informa del número de consultas para esta ruta.

MSS. Maximum Segment Size (tamaño máximo de segmento). El máximo tamaño

de segmento predeterminado para las conexiones TCP en esa ruta.

Window (Ventana). El tamaño predeterminado de ventana para las conexiones

TCP en esta ruta.

Irtt. Initial Round Trip Time (Tiempo para la ronda inicial). El kernello emplea

para seleccionar valores para determinados parámetros TCP sin tener que esperar a las respuestas potencialmente lentas de los hosts remotos.

El resultado de netstat –r en la lista 5.1, muestra que el sistema tiene rutas para

los siguientes destinos:

Listado 3.1. Uso de netstat para mostrar la tabla de encaminamiento

$ netstat –r –n

kernel IP routing table

Destination Gateway GenMask Flags MSS Windows Irtt Iface

192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

127.0.0.0: Ésta es la ruta para la red de bucle de retorno. Para los kernel Linux

de la serie 2.2.x o superior, esta ruta no es en realidad necesaria. El kernel ya sabe cómo encaminar hacia la dirección de loopback.

192.168.1.2: Ésta dirección IP está en realidad conectada con la propia interfaz

eht0 del sistema. De nuevo, esta ruta no es necesaria, pero se crea durante la inicialización de Red Hat.

192.168.1.0. Ésta es una ruta para la red a la que está conectada la interfaz

eht0. No se necesita pasarela.

0.0.0.0. Ésta es la ruta predeterminada; se emplea para cualquier datagrama

que no haya sido tratado por otras rutas. Si se omite el argumento -n, aparece la

palabra default (predeterminada) en lugar de los ceros. Esta ruta especifica que

los datagramas se envíen al sistema de pasarela 192.168.1.1 para su reenvío

a otras redes.

Adición y eliminación de rutas estáticas

El método más fácil de añadir y eliminar rutas estáticas en Red Hat es emplear linuxconf. Sin embargo, a veces es necesario intentar reparar redes en situaciones

de emergencia donde no están disponibles las herramientas complejas. Esto hace que merezca la pena aprender a hacerlo manualmente, usando el comando route.

El primer argumento de route debería ser una de las palabras add o del para

indicar que se está añadiendo o borrando, respectivamente, la ruta descrita por los otros argumentos.

Page 128: Tcpip Linux 2012

Informática Integrada Internetworking

124

La sintaxis de los otros argumentos depende del tipo de la ruta que se esté añadiendo. El caso más simple es añadir la ruta predeterminada. Este comando se parece a esto

route add default gw def_gateway

En dónde def_gateway es la dirección IP del host que va a reenviar los paquetes. Para añadir rutas que no son las predeterminadas, el segundo argumento es normalmente una de las palabras -net o -host, para indicar si la ruta es para una red

o para un host. Sin embargo, este argumento se puede omitir si la ruta es para un host.

El argumento inmediatamente después de -net o -host es la dirección IP de destino

(sea como nombre de host, o como dirección numérica). Esto debería ir seguido de la

palabra netmask y, a continuación, la máscara de red real para emplear con esta

ruta. La máscara de red puede omitirse si se ajusta a la máscara natural para la dirección de destino.

Por último, debe aparecer una indicación de la ruta que tomar para este destino. Si el destino está disponible directamente, se usa la palabra clave dev seguida del

dispositivo que hay que emplear (como ehtO). Si esta es la última parte de la línea del

comando, se puede omitir la palabra dev. Si las rutas para este destino han de ser

transmitidas por un sistema que haga las funciones de pasarela, hay que usar la palabra gw con la dirección IP (nombre o número) del sistema de pasarela.

También es posible añadir una ruta de rechazo. Al añadir la palabra reject al final

del comando route, se instala una ruta de rechazo que fuerza a fallar con la

búsqueda de ruta. Se utiliza para prohibir el enrutamiento a ciertas redes antes de que se llegue a aplicar la ruta predeterminada.

Una vez que se ha visto cómo añadir rutas, eliminarlas es sencillo. Para eliminar una ruta, basta con escribir la línea de comando que añade la ruta en cuestión, sustituyendo la palabra add por la palabra del. Se pueden suprimir algunos

parámetros de la línea de comandos, pero al proporcionar todos los parámetros que se habían establecido funcionará siempre. Si no se proporcionan suficientes parámetros, la respuesta típica es el mensaje SIOCDELRT: Invalid argument,

(argumento no válido).

Ejemplos de comandos para añadir rutas

A continuación se muestran unos ejemplos de comandos para añadir rutas. Los dos primeros podrían emplearse para añadir rutas que aparecen en la tabla de encaminamiento del Listado 5.1, repetido aquí como Listado 6.2.

Listado 3.2. Listado de una tabla de ruteo

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Page 129: Tcpip Linux 2012

Encaminamiento IP

125

Comando:

route add -net 192.168.1.0 netmask 255.255.255.0 dev ehtO.

Añade una ruta para la red 192.168.1.0/24 en el dispositivo ehtO, que,

probablemente, tiene una dirección IP en esa red.

route add default gw 192.168.1.1. Convierte a 192.168.1.1 en la

pasarela para reenviar paquetes en la ruta predeterminada.

route add -net 127.0.0.0 netmask 255.255.255.0 lo. Esta es la

sintaxis correcta para añadir una ruta a la red de bucle cerrado. Incluso aunque esta ruta sea innecesaria en los nuevos kernels, se incluye este ejemplo porque en el manual de route está incorrecto.

route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.17.

Añade una ruta a la red 10.0.0.0/8, usando como pasarela el sistema con la dirección IP 192.168.1.17. La máscara de red es innecesaria en este caso

porque se ajusta a la máscara natural de la red de destino.

Una vez que se puedan añadir las rutas manualmente, como en este caso, usar Linuxconf como interfaz para añadir las rutas y editar los archivos de configuración

hace sencillo todo el proceso.

El primer paso es configurar la pasarela predeterminada, el cuadro de diálogo permite también que el administrador especifique si el host local puede reenviar paquetes.

Los encaminadores para redes o hosts individuales pueden definirse utilizando los cuadros de diálogos Other Routes to Networks (otras rutas a redes) u Other

Routes to Hosts (otras rutas a hast), como en los ejemplos anteriores.

Page 130: Tcpip Linux 2012

Informática Integrada Internetworking

126

Encaminamiento dinámico

Cómo yo se ha visto, los sistemas en los que el administrador toma previamente todas las decisiones de encaminamiento emplean lo se que se llama encaminamiento estático. Pero este no es suficiente para las redes con rutas múltiples para el mismo destino. En estas redes, las decisiones de encaminamiento están controladas de manera dinámica mediante demonios de encaminamiento. Los demonios intentan determinar cual es la mejor ruta para un destino concreto y se comunican con los demonios de encaminamiento 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 encaminamiento.

Protocolos de encaminamiento

Hoy existen varios protocolos de encaminamiento de uso común, cada uno con sus propias características. Los protocolos de encaminamiento se pueden dividir en dos grupos generales: interiores y exteriores. Un protocolo de encaminamiento interior se emplea dentro de una red independiente, o como lo que TCP/IP denomina un Sistema Autónomo (AS). Un protocolo exterior se utiliza para transmitir la información de encaminamiento entre múltiples sistemas autónomos. La información de encaminamiento transmitida se conoce como información de accesibilidad, y describe, de manera muy sencilla, qué sistemas son accesibles desde un sistema concreto. El siguiente listado presenta los protocolos de encaminamiento de uso más común.

RIP (Routing Information Protocol, Protocolo de información de encaminamiento). Es el protocolo interior más empleado en los sistemas LINUX. Toma decisiones de encaminamiento basándose sólo en los resultados de aplicar un algoritmo de vector de distancia a las métricas de las rutas o contadores de saltos. Es sencillo de configurar y adecuado para la mayoría de las redes pequeñas

El RlP tiene algunos inconvenientes serios para su uso a gran escala. Limita el diámetro de la red a 15 saltos. Es de convergencia lenta: la tabla de encaminarniento puede tardar hasta 180 segundos en reflejar la nueva situación si las rutas que antes eran correctas pasan a ser inválidas. Además, no tiene en cuenta las direcciones IP sin clase. Todas las rutas RIP deben ser para direcciones que utilicen su máscara natural.

RIP-2. Es el protocolo de información de encaminamiento versión 2. Es una versión de RIP con compatibilidad inversa, que utiliza campos que se reservaron en el paquete RIP para ampliaciones futuras. RIP-2 soluciona la mayoría de los problemas de RIP y también ofrece opciones como la de autenticación para la información de encaminamiento.

OSPF (Open Shortest Path First, Abrir primero el camino más corto). Es un protocolo interior, como RIP, pero difiere considerablemente en que es un protocolo de estado de conexiones. Allí donde los encaminadores RIP comparten información sobre todo el AS con sus vecinos, los OSPF comparten información de sus vecinos con todo el AS. Esto les permite construir un modelo de la red completa y poner en práctica el bien estudiado algoritmo de Dijkstra del camino más corto para determinar la mejor ruta.

Page 131: Tcpip Linux 2012

Encaminamiento IP

127

BGP (Border Gateway Protocol, protocolo para pasarelas de frontera). Es el protocolo exterior de encaminamiento de uso más extendido en Internet. BGP ofrece soporte de encaminamiento basado en políticas; es decir, el uso de consideraciones que no son de carácter técnico, como la seguridad, el coste y asuntos relacionados con la organización a la hora de tomar decisiones de encaminamiento. BGP aprende todo el camino de una ruta de extremo a extremo, para asegurar que no tienen lugar bucles de encaminamiento.

Otros protocolos

Se han empleado otros protocolos por todas partes, pero no son de uso común. Entre ellos están el protocolo Hello (que se empleó en la red troncal NSFNET original de 56 kbps) e IS-IS (Intermediate System to Intermediate System Protocol, protocolo de "sistema intermedio a sistema intermedio"), que se usó en la red troncal NFSNET TI. Estos dos protocolos son interiores. El protocolo EGP (Exterior Gateway Protocol, protocolo de pasarela exterior), fue muy usado, pero dependía en una autoridad central para determinar las mejores rutas, lo que le hacía escalar mal en una Internet que crecía a un ritmo exponencial. Ese es el motivo por el casi no se usa hoy.

Aunque existen muchos protocolos de encaminamiento, normalmente es fácil seleccionar el adecuado para cada situación concreta. Para las redes de área local, RIP o RIP- 2 siguen siendo la elección más frecuente y, por su simplicidad, también son a menudo la más acertada. Los algoritmos de OSPF, más complicados, lo convierten en el más adecuado para las redes más amplias. Muy pocos sistemas necesitan ejecutar protocolos exteriores: sólo son necesarios cuando un AS tiene que intercambiar información de encaminamiento con otro AS. Los grandes proveedores de servicios de Internet son uno de los pocos entornos donde se necesitan los protocolos exteriores.

Demonios de encaminamiento

Hay dos demonios de encaminamiento principales ejecutables en sistemas afines a UNIX: routed y gated. De estos dos, routed es más fácil de configurar, pero, al ser

más antiguo, también falla en cuanto a flexibilidad: sólo puede manejar RIP. El demonio gated puede trabajar con RIP, RIP-2, OSPF y BGP, así como con Hello y

con EGP.

Para activar routed con Red Hat, se debe instalar primero el correspondiente

paquete RPM. Después, para hacer que arranque al inicializar, puede emplearse el cuadro de diálogo Control Service Activity (control de actividad de servicio) en Linuxconf o ejecutar manualmente el comando equivalente:

chkconfig routed on

Para iniciar o detener el servicio sin que tenga que ser necesariamente al inicio o cierre del sistema, se puede ejecutar uno de estos comandos:

/etc/rc.d/init.d/ routed start

/etc/rc.d/init.d/routed stop

Linuxconf puede llevar a cabo alguna configuración de routed

Page 132: Tcpip Linux 2012

Informática Integrada Internetworking

128

La configuración predeterminada de Red Hat establece que routed "escuche" las

rutas anunciadas por otros sistemas, pero no que "anuncie" las rutas. Esto se consigue iniciando routed con la opción -q. La otra opción en este cuadro de

diálogo determina si routed debe anunciar su ruta predeterminada (la opción -g).

Esto se emplea en pasarelas para Internet, o en pasarelas que emplean otro protocolo de encaminamiento cuyas rutas no estén anunciadas a otros encaminadores locales. Por omisión esta opción está desactivada.

El demonio routed lee el archivo /etc/gateways/ en el arranque y utiliza la

información que encuentra para configurar la tabla de encaminamiento. No es necesario usar este archivo porque los mensajes RIP que se reciben de otros encaminadores serán suficientes para permitir a routed construir una tabla de

encaminamiento operativa. Pero hay situaciones en que esto es útil: quizá para complementar la información de RIP con una ruta inicial predeterminada o con información sobre una pasarela que no anuncia sus rutas.

Todas las entradas en el archivo /etc/gateways tienen básicamente el mismo

formato, el cual es muy similar a la línea de comando para route, por lo que debiera

resultar fácil. Cada entrada es una sola línea que contiene los siguientes elementos:

1. Una de las palabras net o host para indicar si el destino debe ser tratado como red o como host.

2. La dirección de destino, ó 0.0.0.0 para la ruta predeterminada.

3. La palabra gateway.

4. La dirección de la pasarela.

5. La palabra metric.

6. El valor numérico de la ruta. Este puede especificarse con la ruta al añadir una ruta estática, pero en esta situación carece de significado en esencia. RIP utiliza la métrica como el coste de la ruta, por lo que prefiere rutas con valores métricos inferiores. Para RIP el valor debería representar el número de pasarelas a través de las cuales deben pasar los datos para alcanzar el destino concreto, pero en realidad es un valor arbitrario elegido por el administrador. Si sólo existe una ruta para un destino concreto, esa ruta debería tener una métrica de 1.

7. Una de las palabras clave active, passive o external. Las rutas pasivas se

convierten efectivamente en rutas permanentes estáticas: no las borra RIP y no están incluidas en la información RIP transmitida. Por su parte, las rutas activas son anunciadas y actualizadas por RIP. Si no se reciben actualizaciones para una ruta activa en un período de tiempo determinado, será borrada de la tabla de encaminamiento. Las rutas externas son similares a las rutas pasivas, pero routed no las añadirá a la tabla de encaminamiento. La declaración external

indica que otro protocolo de encaminamiento instalará una ruta para el destino en cuestión y que routed no deberá instalar rutas alternativas para el mismo destino.

Casos complejos de encaminamiento

Los casos de encaminamiento más complejos deberán ser resueltos por gated, un

programa más flexible. Como ya se habrá observado, gated puede manejar múltiples

protocolos de encaminamiento. Combina la información de encaminamiento aprendida

Page 133: Tcpip Linux 2012

Encaminamiento IP

129

de los diferentes protocolos y selecciona las mejores rutas disponibles. Puede anunciar rutas en protocolos exteriores cuya existencia fue descubierta por protocolos interiores, de manera que la información de accesibilidad que se anuncia externamente se puede ajustar de manera dinámica para cambiar rutas interiores. Ofrece soporte de políticas de encaminamiento para controlar la aceptación y el anuncio de las rutas.

Quizá, para el administrador, lo más conveniente de todo sea que gated se configure

desde un archivo único (/etc/gated.conf) con una sintaxis coherente. También

existe un grupo, el Gated Consortium (http://www.gated.org), que lo mantiene activamente, por lo que se puede esperar que se solucionen los errores de programación y se añadan nuevas opciones.

Ejecución de gated

Cuando gated está en funcionamiento, va adquiriendo la información de múltiples

protocolos; si recibe rutas hacia el mismo destino desde protocolos distintos, intenta seleccionar la mejor. Esto no es una tarea trivial, pues las métricas utilizadas por los diferentes protocolos no pueden compararse de manera directa. La solución adoptada en gated es emplear las preferencias configurables. El administrador puede utilizar

estas preferencias para optar por las rutas de una interfaz en lugar de las de otra, por el mejor protocolo o la mejor pasarela remota.

La activación de gated en Red Hat es muy parecida a la de routed. Puede activarse

desde el cuadro de diálogo de Control Service Activity en Linuxconf o también se

puede ejecutar

chkconfig gated on

Manualmente (como root). Para iniciar o detener el servicio en momentos diferentes

al arranque o al cierre del sistema, ejecútese uno de los siguientes:

tc/rc.d/init.d/gated start

tc/rc.d/init.d/gated stop

Configuración de /etc/gated.conf

El archivo /etc/gated.conf tiene una serie de instrucciones de configuración que

se dividen en las siguientes categorías. Las instrucciones de cada grupo deben agruparse juntas, y los tipos deben de presentarse en un orden específico. Si se emplea una instrucción fuera de la secuencia correcta, se producirá un error cuando gated analice el archivo.

El demonio gated tiene muchas opciones de configuración; muchas más de las que

se puedan comentar en es sección. Para entender todas las posibilidades que ofrece gated, es necesario leer el manual de referencia. Sin embargo, unos cuantos

ejemplos de configuración serán una buena introducción a lo que se puede hacer.

Page 134: Tcpip Linux 2012

Informática Integrada Internetworking

130

Configuración del encaminamiento de un host

La configuración del encarninamiento de un host mediante gated es en realidad muy

sencilla y es lo adecuado, dado que el trabajo que hay que realizar es también bastante simlple. La siguiente lista ofrece un ejemplo.

Listado 3.3. Configuración para gated

# Activar RIP

rip yes {

# No emitir las propias actualizaciones de RIP

nobroadcast ;

interface 192.168.1.17

# Usar RIP-2

versión 2

# Transmitir actualizaciones mediante multidifusion

# para reducir la carga de los sistems RIP-1

multicast ;

} ;

Este ejemplo muestra la estructura básica del archivo de configuración, incluyendo comentarios que comienzan por el signo #, las instrucciones acabadas en punto y

coma y el agrupamiento de las instrucciones mediante corchetes.

Configuración de una pasarela interior

La configuración de una pasarela interior es sólo un poco menos compleja. Supongamos que una pasarela de nombre igw interconecta las subredes

192.168.5.0 y 12.168.17.0, y que ésta última tiene una pasarela para Internet. La pasarela igw tiene las interfaces 192.168.5.1 y 192.168.17.3. Se anuncia a sí misma a

los hosts en la red 5 como la pasarela predeterminada porque es la pasarela para el mundo exterior. En la subred 17, igw se anuncia como la pasarela para la subred 5,

empleando OSPF. El listado 6.4 muestra la configuración.

Listado 3.4. Configuración para gated de un encaminamlento interior

# No permitir que venza el timeout para la subred 5, porque es

# el único camino para esa subred.

interfaces {

interface 192.168.5.1 passive ;

} ;

# Definir un id de encaminador OSPFj usamos la dirección de la

# interfaz que hable OSPF. La dirección predeterminada es la de

# la primera interfaz que encuentre gated

routerid 192.168.5.1 ;

# Activar RIP-2 y anunciar las rutas OSPF a la subred 5 con un

# coste de 5. El coste es bajo porque ésta es una ruta interna.

rip yes {

# Emitir las actualizaciones RIP-2

broadcast ;

Page 135: Tcpip Linux 2012

Encaminamiento IP

131

# El coste

defau1tmetric 5 ;

interface 192.168.5.1

version 2

multicast ;

} ;

# Activar OSPF en el área tronca1, subred 17

ospf yes {

backbone {

interface 192.168.17.3 {

# Usar una prioridad bastante baja para

# aumentar la probabilidad de que éste sea el

# elegido el encaminador designado.

priority 5 ;

} ;

} ;

} ;

Al configurar gated hay que recordar que un error de sintaxis en /etc/gated.conf

le impedirá arrancar correctamente. Sin embargo, se puede usar el mismo programa para verificar automáticamente la sintaxis. Por ejemplo, al editar una copia de gated.conf en /tmp/gated.conf.new. Se puede comprobar con el comando

gated -c -f /tmp/gated.conf.new /tmp/gated.trace

Así se verifica la sintaxis sin que en realidad se haga ningún encaminamiento y se escribe la información de seguimiento en /tmp/gated.trace. Entonces se puede

examinar la traza para ver los errores antes de mover la nueva configuración del archivo a /etc/gated.conf. Se recomienda que se haga siempre esto al cambiar la

configuración, incluso en los cambios pequeños. Luego se puede hacer que un proceso gated que se esté ejecutando vuelva a cargar su configuración diciendo

/etc/rc.d/init.d/gated reload

Page 136: Tcpip Linux 2012

Informática Integrada Internetworking

132

Page 137: Tcpip Linux 2012

Sección 6: Protocolo de Configuración Dinámica de Hosts

Page 138: Tcpip Linux 2012

Informática Integrada Internetworking

134

Page 139: Tcpip Linux 2012

Instalación y Configuración del DHCP

135

Sección 6: Instalación y Configuración del DHCP

Introducción

En esta sección conocerá las ventajas de la configuración automatica de host conta la configuración manual. Instalará el servicio de DHCP además de que configurará a las máquinas clientes

Objetivos Particulares

Al finalizar esta sección, Usted podrá:

Explicar las ventajas de la configuración automática de hosts

Instalar, configurar y compilar el servicio de DHCPD

Configurar el cliente DHCP

Page 140: Tcpip Linux 2012

Informática Integrada Internetworking

136

Page 141: Tcpip Linux 2012

Instalación y Configuración del DHCP

137

Introducción al Servicio DHCP

La configuración de las direcciones IP de unos pocos servidores es una tarea fácil. Sin embargo, las configuraciones de direcciones IP manualmente para un departamento, edificio, la configuración de direcciones IP manualmente para un departamento, edificio o empresa entera de unos sistemas heterogénos puede llegar a ser dramática.

El cliente y el servidor DHCP (Dinamyc Host Configuration Protocol); Protocolo de Configuación dinámica de Linux puede ayudarle con esta tarea. La máquina cliente se configura para que obtenga su dirección IP de la red. Cuando se inicia el software cliente DHCP, manda un mensaje de petición-broadcast por la red para obtener una IP. Si todo va bien, responderá un servidor DHCP de la red, dándole una dirección y otra información necesaria para completar la configuración de red del cliente.

Como el direccionamiento dinámico es también útil en la configuración máquinas portátiles o temporales. La gente que viaja de oficina en oficina puede enchufar sus máquinas en la red local y obtener las direcciones apropiadas de su ubicación.

En esta sección, estudiaremos el porceso de configuración de un servidor y un cliente DHCP. Esto incluye la compilación e instalación del software necesario y después recorreremos el proceso de escritura de un archivo de configuración para él.

Nota: DHCP es un estándar. Así que cualquier sistema operativo que se comunique con tros servidores y clientes DHCP puede funcionar con las herramientas DHCP de Linux. Una solución común que incluye el uso de componentes del servidor DHCP de Linux se implanta en entornos de oficina donde hay un gran número de clientes Windows. Los sistemas Windows se pueden configurar para que usen DHCP y conecten con servidores Linux para conseguir su dirección IP. Esto reduce la necesidad de otro servidor Windows NT y los costos de licencia asociados a él.

Las raíces del DHCP

Mucho antes de la moda de los equipos de red (NC), y cuando el espacio de almacenamiento en disco tenía un costo muy elevado, los fabricantes de estaciones de trabajo en red construían máquinas sin unidades de disco duro locales, montando en su lugar un servidor compartido. Estas máquinas sin disco debían arrancarse con un protocolo como BOOTP (boot Protocol, Protocolo de arranque), obteniendo su dirección del servidor. DHCP se deriva originalmente del protocolo BOOTP. De hecho muchas características de DHCP se toman directamente de BOOTP

Page 142: Tcpip Linux 2012

Informática Integrada Internetworking

138

Los mecanismos de DHCP

Cuando se configura un cliente para que obtenga su dirección de la red, pedirá una dirección en forma de una petición DHCP. Un servidor DHCP escucha las peticiones de los clientes. Una vez recibida una petición, comprueba su base de datos local y emite la respuesta adecuada. La respuesta siempre incluye la dirección y puede incluir servidores de nombre, una máscara de red y una pasarela por defecto. El cliente acepta la respuesta del servidor y configura sus parámetros locales.

El servidor DHCP mantiene una lista de direcciones que puede conceder. Cada dirección tiene una especie de contrato asociado, que dicta cuánto tiempo permite a un cliente usar la dirección antes de que deba conectarse con el servidor para renovar la dirección. Cuando expira el contrato, no se le permite al cliente utilizar esa dirección.

La implementacion del servidor DHCP de Linux incluye arias características clave comunes con muchas de las implementaciones de servidores DHCP. El servidor se puede configurar para que conceda una dirección libre de un grupo de direcciones o que conceda una dirección específica para una máquina específica. Además de servir peticiones DHCP, el servidor DHCP de Linux también sirve a peticiones BOOTP.

El servidor DHCP

DHCPD, el servidor DHCP es el responsable de servidr direcciones IP y otra información relevante a las peticiones de los clientes. Puesto que el protocolo DHCP es de broadcast, tendrá que haber presente un servidor en cada subred que quiera proporcionar servicio DHCP.

Page 143: Tcpip Linux 2012

Instalación y Configuración del DHCP

139

Descarga, compilación e instalación de un servidor DHCP.

El servidor DHCP de ISC es la implementación por defecto para máquinas UNÍX. Esta versión esta instalada en muchas distribuciones Linux. Si no la encuentra en su distribución puede obtener los códigos fuente del servidor DHCP de ISC en el sitio de ISC en http://www.isc.org. Cuando se escribió este texto, la versión más actual del servidor era 3.0b1p10.

Una vez descargado el paquete, desempaquete el software como se muestra. Para este ejemplo, asumimos como directorio fuente /user/local/src.

[root@delirium src]# tar –xfvz dhcp-3.0b1p10.tar.gz

Introduzca el directorio y configure el paquete con el comando configure

[root@delirium dhcp-3.0b1p10] # ./configure

Actualmente, --with-nsupdate es el único parámetro opcional disponible para el

comando configure. Esta opción se invoca si está instalado Bind 8.2, y se desea el

soporte DNS dinámico en el servidor DHCP. Para compilar e instalar, introduzca los comandos make; make install:

[root@elirium dhcp-3.0b1p10] # make: make install

Configuración del servidor DHCP

El archivo de configuración primario del servidor DHCP de ISC por defecto /etc/dhcpd.conf. El archivo de configuración encapsula dos ideas:

Un conjunto de declaraciones de redes, máquinas o grupos unidos al sistema y posiblemente un rango de direcciones que se conceden a cada entidad. Se pueden usar varias declaraciones para describir varios grupos de clientes. Las declaraciones también se pueden anidar a otra cuando se necesitan varios conceptos para describir un conjunto de cleitnes o máquinas.

Un conjunto de parámetros que describen el comportamiento del servidor y configuran las respuestas apropiadas. Los parámetros pueden ser globales, o locales al conjunto de declaraciones.

Nota: Puesto que cada sitio tiene una red única con una dirección única, es necesario que se configure cada sitio con su propio archivo de configuración. Si ésta es la primera vez que usa DHCP, puede querer empezar con el archivo de configuración de ejemplo que se muestra al final del capítulo y modificarlo para que se adapte a las características de su red.

Como muchos archivos de configuración de UNIX, el archivo está en texto ASCII y se puede modificar usando un editor de texto. La estructura del archivo de configuración es la siguiente:

Parametros globales;

Page 144: Tcpip Linux 2012

Informática Integrada Internetworking

140

Declaraion1 {

[parametros relacionados con la declaracion1]

[subdeclaracion anindada]

}

Declaracion2 {

[parametros relacianodos con declaracion2]

[subdeclaracion anindada]

}

Como se indica en las líneas de arriba, un bloque de declaración agrupa un conjunto de clientes. Se aplican diferentes parámetros a cada bloque de declaración.

Declaraciones

Puede quereer agrupar clientes diferentes por varias razones, como requerimientos organizativos, esquemas de red o dominios administrativos. Para ayudarle con el agripamiento de los clientes, introduciremos las declaraciones siguientes:

GROUPE: la lista de parámetros individuales y las declaraciones para cada máquina repetidas una y otra vez hacen el archivo de configuración difícil de gestionar. La declaracion groupe le permite aplicar un conjunto de parámetros y declaraciones a un conjunto de clientes, redes o subredes. La sintaxis de una delcarion group es la siguiente:

Groupe etiqueta {

[parametros]

[subdeclaraciones]

}

La etiqueta es el nombre definido por el usuario para identificar el grupo. El bloque parámetros consta de una lista de parámetros que se aplican al grupo. Las subdelcaraciones se usan en el casode que necesite un nivel mayor de granulidad para describir ciertos clientes adicionales que puedan ser miembros de la declaración actual.

HOST: una declaración host se usa para aplicar un conjunto de parámetros y declaraciones a una máquina en particular, además de los parámetros indicados al grupo. Se usa normalmente para fijar la dirección de arranque, o para clientes BOOTP. La sintáxis de una declaración host es la siguiente:

Host etiqueta {

[parámetros]

[subdeclaraciones]

}

Page 145: Tcpip Linux 2012

Instalación y Configuración del DHCP

141

La etiqueta es el nombre definido por el usuario para identificar al grupo de la máquina. Parámetros y subdeclaraciones son como se describieron en la declaración previa.

SHARED-NETWORK: Una declaración shared-network agrupa un conjunto de direcciones de miembros de una misma red física. Esto permite agrupar parámetros y declaraciones para propósitos administrativos. La sintaxis es:

Shared-network etiqueta {

[parametros]

[subdeclaraciones]

}

La etiqueta es el nombre definido por el usuario para identificar al grupo de la máquina. Parámetros y subdeclaraciones son como se decriben en la declaración previa.

SUBNET: la declaración subnet se utiliza para aplicar un conjunto de parámetros y/o declaraciones a un conjunto de direcciones que coincidan con la descripción de esta declaración. La sintaxis es la siguiente:

Subnet numero-subred netmask mascara {

[parámetros]

[subdeclaraciones]

}

La etiqueta es el nombre definido por el usuario para la subred. Parámetros y subdeclaraciones son como se describieron para la declaración anterior.

RANGE: para arranques dinámicos, la declaración range especifica el rango de direcciones válidas para los clientes. La sintaxis es la siguiente:

range [dinamic-bootp] dirección-inicial [dirección-final]

La palabra clave dinaci-bootp se usa para alertar al servidor de que el rango de direcciones siguiente es para el protocolo BOOTP. Los campos dirección-inicial y la opcional dirección-final son las direcciones reales de los bloques de inicio y final de las direcciones IP. Los bloques se asumen como consecutivos y en la misma subred de direcciones.

Parámetros

El cambio de estos parámetros modificará el comportamiento del servidor para grupos de clientes.

ALWAYS-REPLAY-RFC1048: se usa principalmente para clientes BOOTP. Hay

clientes que requieren la respuesta del servidor para ser completamente compatibles con BOOTP RFC. Cambie este parámetro para conseguir este requerimiento. Sintaxis:

Always-replay-rfc1048;

Page 146: Tcpip Linux 2012

Informática Integrada Internetworking

142

AUTHORITATIVE: se usa para etiquetar a uan red en particular como “autorizada”. Por

defecto, el servidor asumirá que es autorizado. Cuando un segmento de red es no autorizado, el servidor enviará un DHCPNAK al cliente. El cliente se supone reintentará su petición. Sintaxis:

autoritative;

no authoritative;

DEFAULT-LEASE-TAME: El valor de segundos es el tiempo que dura el contrato

asignado a la direccion IP si el cliente no pide cualquier duración. Sintaxis:

Default-lease-time segundos:

DYNAMIC-BOOTP-LEASE-CUTOFF: Los clientes BOOTP no son conscientes del

concepto contrato. Po defecto, el servidor DHCP asigna una dirección IP que nunca caduca. Hay ciertas situaciones en la que puede ser útil tener al servidor sin dar direcciones para un conjunto de clientes BOOTP. En estos casos, se usa este parámetro. Sintaxis:

Dynami-bootp-lease-cutoff fecha;

La fecha se especifica en la forma SAAAA/MM/DD HH:MM:SS, donde W es el día de

la semana en formato de cron (0=domingo, 6=sábado); AAAA es el año; MM es el mes

(01=enero, 12=diciembre); DD es el día en formato de dos dígitos; HH es la hora con

dos digitos en formato de 24 horas (0=medianoche, 23=11 de la noche ) y SS son los

dígitos que representan los segundos.

DYNAMIC-BOOTP-LEASE-LENGTH: aunque los clientes BOOTP no tienen un

mecanismo de caducidad de direcciones que reciben, algunas veces seguro que tiene el servidor asumiendo que no se usan las direcciones, de forma que se han liberado para su uso. Esto es útil si la aplicación BOOTP dura poco tiempo. Si es así, el servidor puede configurar el número de segundos y caducarla después de que pase el tiempo. Sintaxis:

Dynamic-bootp-lease-length segundos;

Nota: Tenga precaución con esta opción, puesto que puede introducir problemas si concede una dirección antes de que otra máquina deje de usuarla.

FILENAME: en algunas aplicaciones el cliente DHCP puede necesitar saber el

nombre de un archivo para usuarlo en el arranque. Con frecuencia se combina con next-server para recuperar un archivo remoto para configurar la instalcación o arrancar un clilente sin disco. Sintaxis:

Filename nombre _archivo;

GET-LEASE-HOSTNAME. Si se configura como true (cierto, el servidor resuelve todas

las direcciones en el ámbito se la declaración y la usuará para la opción hostname. Sintaxis:

Get-lease-hostname [true / false];

Page 147: Tcpip Linux 2012

Instalación y Configuración del DHCP

143

HARDWARE: a fin de que el servidor identifique una máquina específica, se debe usar

el parámetro hardware. La dirección-hardware (algunas veces llamada dirección MAC) es la dirección física de la interfaz, normalmente en un conjunto de octetos hexadecimales delimitados por los símbolos dos puntos. Este parámetro se usa para fijar las direcciones de los clientes DHCP y se requiere para los clientes BOOTP. Sintaxis:

Hardware [ethernet/token-ring] dirección_hardware

MAX-LEASE-TIME: un cliente tiene la opción de pedir la duración de su contrato. La

petición se concede tanto tiempo siempre no exceda el número de segundos especificados por esta opción. De lo contrario, se concede un contrato al máximo de segundos especificado aquí. Sintaxis:

Max-lease-time segundos;

NEXT-SERVER: Cuando arranca de red, se peude dar a un cliente un nombre de

archivo (especificado por el parámetro filename) y un servidor de donde obtener la información de arranque. Este servidor se especifíca con el parámetro next-server.

Next-server nombre_servidor;

SERVER-IDENTIFIER: parte de la respuesta DHCP es la dirección del servidor. En

sistemas con varias interfaces, el servidor DHCP concede la dirección a la primera interfaz. Desafortunadamente, esta interfaz no se puede alcanzar por todos los clientes de un servidor o del ámbito de la declaración. En estos casos raros, este parámetro se puede usar para enviar la IP a la interfaz apropiada por la que el cliente se comunica con el servidor. Sintaxis:

Server-identifier nombre_máquina;

SEVER-NAME: el nombre de la máquina servidor que arranca el cliente remoto. Este

parámetro se usa por los clientes remotos o aplicaciones de instalación de red.

Server-name nombre;

USE-HOST-DECL-NAMES: Este parámetro se usa en el mismo ámbito que las otras

declaraciones de máquina. Añadirá la opción host-name a la declaración host, usando el nombre de máquina en la declaración de la opción host. Sintaxis:

Use-host-decl-names [true / false]

USE-LEASE-ADDR-FOR-DEFAULT-ROUTE: Algunas configuraciones de red usan una

técnica conocida como proxyarp de forma que una máquina puede seguir la pista a otras máquinas de fuera de su subred. Si su red está configurada para soportar proxyarp, querrá configurar sus clientes para que la usen como ruta por defecto. Esto forzará a que use arp para encontrar todas las direcciones remotas (remota significa fuera de la subred). Sintaxis:

use-lease-addr-for-default-route [true] [false] ;

Nota: el comando use-lease-addr-for-defaul-route debería usarse con

precaución puesto que no todos los clientes pueden configurar el uso de su propia interfaz como ruta por defecto.

Page 148: Tcpip Linux 2012

Informática Integrada Internetworking

144

Opciones

Actualmente se soportan más de 60 opciones para el servidor DHCP. La sintaxis general de una opción es la siguiente:

option nombre-opción [modificadores]

La siguiente tabla es un sumario de las opciones de uso más común.

Opción Descripción

Broadcast-address Una dirección de una subred de cliente se especifica como dirección de broadcast.

Domain-name El nombre del dominio que debería usar el cliente como nombre de dominio local cuando se realizan bucles locales.

Domain-name-servers La lista de servidores DNS para que use el cliente para resolver nombres de máquinas.

Host-name La cadena usada para identificar el nombre del cliente

Nis-domain Elnombre del dominio NIS

Nis servers La lista de servidores NIS disponibles para unirse a ellos

Routers Una lista de enrutadores que puede usar el cliente

Subnet-mask La máscara a usar por el cliente

Ejemplo de dhcpd.conf

Este es un ejemplo de un archivo se configuración sencillo:

Subnet 192.168.1.0 netmask 255.255.255.0 {

# opciones

option routers 192.168.1.1

option subnet-mask 255.255.255.0

option domain-name “uidzero.com”;

option domain-name-servers delirium.uidzero.com;

# parametros

defualt-lease-time 21600;

max-lease-time 43200;

# declaraciones

Page 149: Tcpip Linux 2012

Instalación y Configuración del DHCP

145

range dynamic-bootp 192.168.1.25 192.168.1.49;

# declaraciones anidadas

host vertigo {

hardware ethernet 00:80:c6:f6:72:00;

fixed-address 192.168.1.50;

}

}

Comportamiento general en tiempo de ejecución

Una vez iniciado, el demonio espera a que las peticiones de cliente lleguen para realizar cualquier proceso. Cuando se procesa una petición y se concede una dirección, se sigue la pista de la dirección en un archivo llamado dhcp.lease. en el caso de que falle el servidor, los contenidos de este archivo se usan para conceder qué direcciones están asignadas a qué cliente.

Page 150: Tcpip Linux 2012

Informática Integrada Internetworking

146

El Demonio DHCP del Cliente

DHCPCD, el demonio del cliente incluido en muchas distribuciones de Linux más comunes es que el componente software usado para hablar con el servidor DHCP descrito en las secciones previas. Si se invoca, intentará obtener una dirección IP de un servidor DHCP disponible y después configurar su red de acuerdo a la información obtenida.

Descarga, compilación e instalación de un cliente DHCP

En el caso de que el software no forme parte de su distribución Linux, puede obtenerlo, compilarlo e instalarlo manualmente. El cliente DHCP de Linux se puede encontrar en http://www.phystech.com/download. Una vez descargado, el paquete se debe desempaquetar así:

[root@delirium src] # tar –xfvz dhcpcd-1.3.18-pll.tar.gz

La versión actual de software no se puede tratar con la utilidad GNU configure; sin embargo. Su configuración es bastante simple. Edite el mafefile para asegurarse de que están configurados los flgas apropiados.

Esto se puede hacer ejecutándose emacs, vi o incluso pico. Ejecute la utilidad

make cuando quiera construir el demonio cliente. La instalación se completa usando el

comando make install.

Configuración del cliente DHCP

El cliente normalmente se ejecuta desde los archivos de arranque, pero también se puede ejecutar a mano. Se inicia normalmente antes que otros servicios de red, puesto que otros servicios de red no arrancan si el demonio cliente DHCP no obtiene una dirección.

Por otro lado, el cliente se puede invocar desde la línea de comandos después del arranque. El demonio cliente se puede arrancar sin opciones adicionales. Si se realiza con éxito, el cliente hará una copia de sí mismo en modo background y saldrá. Las versiones más antiguas imprimen la dirección asignada.

[root@delirium src] # dhcpcd

Opcionalmente, el demonio cliente se puede iniciar con flags adicionales que modifican ligeramente el comportamiento del software. La sintaxis completa de este comando es como sigue:

dhcpcd [-dkrDHR] [-t timeout] [-c filename] [-h hostname]

[-I vendorClassID] [-I clientID] [-l leasetime] [interface]

Page 151: Tcpip Linux 2012

Instalación y Configuración del DHCP

147

Las opciones se describen en detalle en la siguiente tabla:

Opción Descripción

-c filename Ejecutará el nombre de archivo especificado después de obtener y configurar su red. Esto es util si hay servicios que se necesita iniciar sólo después de que se configure la red. Normalmente, muchos servicios de red se pueden iniciar sin que esté presente la red y debería actuar cuando la red se configure.

-d Est flag cambia a modo de depuración. En modo depuración dhcpcd proporciona una salida detallada para el syslog.

-D Si invoca esta opción, dhcpcd configurará el nombre de dominio de la máquina local a la que especifique el servidor. El cliente no hace esto por defecto.

-i vendorClassID Proporciona información adicional para el servidor DHCP. La clase del vendedor es una cadena que se puede para ayudar al servidor a clasificar el cliente dentro de un grupo particular. Por defecto, dhcpcd envía como cadena el nombre del sistema, versión del sistema y tipo de máquina.

-I clientID En lugar de enviar la dirección Ethernet, puede forzar al cliente a enviar otra cadena de identificación. Muchos servidores usan la dirección Ethernet como identificador pero hay excepciones.

-h hostname Incluye el nombre de máquina en los mensaje DHCP enviados por dhcpcd. Hay servidores DHCP que se pueden configurar para aceptar mensajes DHCP de una lista de clientes.

-H Fuerza a dhcp a configurar el nombre de la máquina al enviado por el servidor. El cliente no hace esto por defecto.

-k Termina la ejecución actual del demonio cliente dhcpcd

-l leasetime El número requerido de segundos que el cliente quiere para su contrato DHCP. Naturalmente, el servidor puede rechazar este valor y dar un contrato menor que el valor requerido.

-r Si invoca esta opción, dhcpcd actuará como un cliente BOOTP. Esto es para el caso raro de que haya un solo cliente BOOTP disponible o para pruebas.

-R Por defecto, reemplazará el archivo /etc/resolv.conf para la resolución DNS por los valores enviados por el servidor, hay situaciones donde no querrá que esto ocurra. Especifique esta opción para prevenirlo.

-t timeout El timeout es el número de segundos que dhcpcd tratará de obtener una dirección.

Interface Especifica una interfaz para configurar dhcpcd. Si no se especifica nada, dhcpcd configurará la primera interfaz Ethernet (eth0)

Page 152: Tcpip Linux 2012

Informática Integrada Internetworking

148

Administrando las máquinas a distancia

Para administrar sus máquinas a distancia tiene estas opciones:

Utilice el programa telnet para entrar en el sistema en una cuenta de usuario en la

máquina en la que necesita trabajar, y luego utilice el programa su para conseguir status de superusuario si conoce la contraseña root de la máquina.

Utilice el programa vnc, disponible en www.uk.search.att.com/vnc/, para conectarse a

distancia con máquinas Linux, Macintosh, Unix o Windows. Esta herramienta le permite trabajar con una máquina remota que también tiene instalado el vnc como si

estuviera sentado delante de su consola.

Page 153: Tcpip Linux 2012

Instalación y Configuración del DHCP

149

Page 154: Tcpip Linux 2012

Informática Integrada Internetworking

150

Examen 6-1

Configurando un servidor DHCP. En este ejercicio, usted podrá configurar un servidor DHCP para distribuir información de direcciones a las máquinas de su red cuando arranquen arrancar.

1. Entre en el sistema como root.

2. Escriba “man dhcpd” para comprobar rápidamente si el servidor ya está instalado. Si es así, pase al punto no. 6.

3. Escriba df para ver si el CD ROM de Red Hat ya es parte de su sistema de archivos. Si no esta montado, póngalo en su unidad y escriba:

Mount /dev/cdrom /mnt/cdrom

4. Para cambiar al directorio de los paquetes de Red Hat escriba

Cd /mnt/cdrom/RedHat/RPMS

5. Para instalar el RPM de DHCP teclee el siguiente comando y después la tecla de tab para completar el nombre:

rpm –ivh dhcp-

6. Para abrir y editar el archivo de configuración del servidor DHCP escriba

vi dhcp.conf

7. primero necesita introducir las normas globales. Esta sección debería parecerse a la siguiente si hablamos de la red 192.168.14.0, con un ISP que tiene un nombre de servidor secundario 192.168.87.9:

max-lease-time 43200:

default-lease-time 144000:

option all-subnets-local 1:

option domain name-servers 192.168.14.1, 192.168.87.9

8. Ahora llega el momento mas interesante, vamos a dar por hecho que cuenta con una solo red la cual necesita para el servicio. Con el fin de evitar que este ejemplo resulte demasiado simple, supongamos que esta red se encuentra dividida en ocho subredes, a dos de las cuales el DHCP les ha proporcionado su información de red y comparten también el mismo cableado de Ethernet. El resto de su archivo de configuración DHCP es el siguiente:

Shared-network ADMIN.{

Subnet 192.168.14.96 netmask 255.255.255.224 {

Page 155: Tcpip Linux 2012

Instalación y Configuración del DHCP

151

Range 192.168.14.97. 192.168.14.127:

}

subnet 192.168.14.160 netmask 255.255.255.224 {

range 192.168.14.161 192.168.14.191:

}

}

Nota: note que sin la sangría, este archivo resultaría muy difícil de seguir. Algunas veces la pulcritud cuenta bastante a la hora de escribir en clave.

9. Pulse la tecla ESC cuando escriba ZZ con objeto de guardar y cerrar el archivo.

10. Para reiniciar su daemon DHCP con su nueva configuración escriba:

/etc/rc.d/INIT.d/dhcpd restart

Page 156: Tcpip Linux 2012

Informática Integrada Internetworking

152

Examen 6-2

Configurando el cliente pump. Para configurar el cliente pump para el servicio DHCP o

BOOTP, haga lo siguiente:

1. Entre al sistema como root

2. Para abrir el archivo de configuración pump, escriba a continuación:

vi /etc/pump.conf

3. Construya el archivo de configuración, un ejemplo de configuración de una máquina con única interfaz podría contener:

Reties 5

Timeout 15

Domainsearch “home.net kitchen.home.net”

4. Después de que termine de crear el archivo, pulse la tecla Esc y luego escriba ZZ para cerrar y guardar el archivo.

5. asegúrese de el cliente pump es llamado al arrancar. Un buen lugar para poner poner esta sentencia es /etc/rc.d/rc.local, que es uno de los archivos llamados por Red Hat de Linux durante el proceso de arranque. Para abrir y editar el archivo escriba:

vi /etc/rc.d/rc.local

6. Escriba G para ir al final del archivo

7. Escriba o para abrir una línea en blanco después de las otras líneas.

8. Escriba:

/sbin/pump – i interfaz –l horas_contrato

Las variables son las siguientes:

Interfaz: la interfaz de red que utiliza pump para contactar con el servidor DHCP, y a la que pump va a tratar de asignar la información de dirección, por ejemplo eth0

Horas contrato: cuanto tiempo llega a mantener esta interfaz la información de su dirección, por ejemplo, 100. cuando finaliza el tiempo, pump contacta con el servidor DHCP de nuevo para una actualización.

Después de introducir esta información pulse la tecla Esc, y después escriba ZZ para cerrar y guardar el archivo.