Mostrando las entradas con la etiqueta internetworking. Mostrar todas las entradas
Mostrando las entradas con la etiqueta internetworking. Mostrar todas las entradas

lunes, 19 de abril de 2010

Protocolos de Ruteo, las bases

Como ya vimos, el ruteo dinámico nos provee información de las redes que están conectadas en cada router de nuestra red, y está basado en distintos parámetros, como la distancia administrativa, el ancho de banda, el número de saltos, etc.

La distancia administrativa (AD) es usada para calificar la confianza que tenemos en la información de ruteo, siendo 0 lo mejor y 255 una ruta que nunca sería utilizada, por eso es que una red directamente conectada aparece en la tabla de ruteo con una AD de 0.

Cuando el router recibe dos anuncios de la misma red por rutas diferentes, lo primero que se revisará es la AD, y si una de las rutas tiene una AD menor, esa será colocada en la tabla de ruteo. En caso de que la AD de ambas sea igual, entonces se determinará la mejor ruta por el número de saltos o el ancho de banda de los enlaces; y si en ambas rutas las métricas son iguales, entonces el router usará ambas rutas, balanceando la carga entre ambas.

Las rutas directamente conectadas son las que tienen mayor prioridad, después las rutas estáticas, y luego las aprendidas por medio de un protocolo de ruteo (tabla de distancias administrativas). Cuando una tabla de ruteo contiene información de las rutas hacia cada una de las redes existentes, entonces se dice que alcanzamos la convergencia de la red.

Hay 3 clases de protocolos de ruteo:
  • Vector-Distancia (distance-vector), encuentran la mejor ruta a una red en base a la distancia. Cada vez que un paquete pasa por un router (los llamados saltos) la métrica hacia esa red se incrementa. La ruta con menos saltos hacia esa red es la mejor. El vector nos indica la dirección hacia la red remota. RIP e IGRP son protocolos de Vector-Distancia y envían la tabla de ruteo completa a los vecinos directamente conectados. Es importante notar que no toman en cuenta el ancho de banda, por lo que una ruta con menos saltos, pero un ancho de banda muy pequeño podría ser preferida sobre otra más "óptima"
  • Estado del Enlace (link state), o también llamados Protocolos de la ruta más corta primero (Open Shortest Path First), crean 3 tablas separadas; una de los vecinos directamente conectados, una que determina la topología de la red completa, y una última que es utilizada como tabla de ruteo. Estos protocolos dan más información de la red que un protocolo de Vector-Distancia. OSPF es un protocolo basado en Estado del Enlace y hace que un router envíe información de sus propios enlaces a otros routers en la red.
  • Protocolos híbridos, que son una mezcla de los protocolos Vector-Distancia y Estado del Enlace, por ejemplo EIGRP.
La decisión de que tipo de protocolo usar debe ser tomada en cada caso particular de acuerdo a las necesidades de cada red; pero conocer las ventajas y debilidades de cada protocolo nos ayudará a hacer una excelente decisión que cubra nuestras necesidades.

Ruteo

Un router se encarga de reenviar paquetes entre redes, eso se llama ruteo; sin embargo, por si solo conoce únicamente las redes directamente conectadas a él, no entiende de hosts, sólo de redes, y cuando un host conectado en una red que está en la interfase de un router tiene un paquete para una red desconocida, hace lo siguiente:

El host crea el paquete con la dirección IP de destino y de origen, pone la información que enviará y lo manda a su capa de enlace de datos, donde se coloca la dirección MAC de la tarjeta ethernet del host y la dirección MAC de nuestro Default Gateway, usualmente la interfase del router.

Esto ocurre porque las direcciones MAC son locales y no pueden salir de un dominio de broadcast, por eso, aunque la dirección de destino sea externa a nuestra red local, la MAC address utilizada para transportar ese frame es la del router. Cuando el router recibe el frame lo procesa y ve que la MAC address de destino es la de su interfase, por lo que quita la información capa 2 y procesa el contenido, un paquete IP, que tiene una dirección de destino que no es suya, y podría o no estar en una red que conoce el router.

El router procesa el paquete IP y revisa si conoce la red de destino en su tabla de ruteo, donde habrá una lista de rutas hacia las redes que conoce; Si el router conoce esa red como directamente conectada, crea un nuevo frame y cambia la MAC de origen por la de su interfase de salida, y pone la MAC de destino del host indicado; en caso de no conocerla directamente conectada, elabora el nuevo frame y lo manda a través de la intefase que está conectada en la dirección que la tabla de ruteo le indica, y hará un forward del paquete.

Podría ser el caso que no tenga una ruta espécifica para la red que busca, pero si hay una ruta de default o una red de default, el router entregará todo el tráfico cuya ruta es desconocida a esa ruta o red de default. En caso de no tener una ruta de default y de no concoer una ruta hacia el destino, el router crea un nuevo paquete IP, lo encapsula en un frame y lo reenvía de regreso por la interfase de donde llegó el paquete con la respuesta de "destino inalcanzable"

Ahora, es importante saber que hay dos tipos de protocolos, de ruteo y ruteables.
Generalmente usamos IP que es un protocolo ruteable, para encargarnos del direccionamiento entre las redes; y usamos BGP, OSFP, RIPv1 y RIPv2, IGRP, EIGRP, etc. como protocolos de ruteo.

Un protocolo de ruteo nos sirve para anunciar entre los distintos routers de la red las redes que cada quien conoce, y de esa manera construir rutas desde todos los puntos de la red hacia esas redes.

Hay 3 tipos de ruteo:
  • Ruteo Estático
  • Ruteo por Default
  • Ruteo Dinámico
En el ruteo estático, nosotros administramos las rutas y las escribimos directamente en cada router, lo que es tedioso y difícil de mantener cuando la red es de un tamaño considerable.

En el ruteo por default, podría o no haber rutas estáticas o dinámicas en mi tabla de ruteo, pero todo aquel destino desconocido será alcanzado a través de una ruta de salida por default; en el caso de RIP también se anuncian en la red las rutas por default.

En el ruteo dinámico, donde usamos los protocolos de ruteo, cada router anuncia las redes que conoce y les da una distancia administrativa y un costo, aunque no todos los protocolos asignan o usan las mismas variables.

En general, las distancias administrativas son tomadas por el router como en la tabla de nuestro post anterior, a menos que especifiquemos lo contrario; por ejemplo, podríamos configurar una ruta por default y darle una distancia adminsitrativa de 130, y luego configurar RIP, cuyas rutas tendrán un distancia administrativa de 120, siendo sus rutas utilizadas preferentemente sobre las rutas estáticas; sin embargo, si en determinado momento RIP no tiene una ruta hacia una red, nuestra ruta estática sería utilizada.
Ruteo

Podemos ver estos conceptos en las topologías de Packet Tracer que puedes descargar:
  • En el primer ejemplo tenemos la topología de 3 routers, cada uno con su LAN y con las interfases configuradas, pero sin ruteo, 
  • y en el segundo ejemplo tenemos la misma red, pero con rutas de default en los routers de los extremos y rutas estáticas en el central

sábado, 10 de abril de 2010

¿Cómo funciona el balanceo de carga?

El load balancing es una función del IOS, y está disponible en todas las plataformas de ruteo. Es parte del proceso de forwarding y se activa autmáticamente si la tabla de ruteo tiene trayectorias múltiples hacia el destino. Se basa en los protocolos estándar de ruteo, tales como RIP, RIPv2,EIGRP, IGRP, OSPF; o se deriva de las rutas estáticas y los mecanismos de reenvío de paquetes configurados. Le permite a un router usar múltiples caminos a un destino cuando reenvía paquetes.

Cuando un router conoce múltiples rutas a un destino por medio de procesos de ruteo, instala la ruta con la distancia administrativa más baja en la tabla de ruteo.
Distancias Administrativas por Default
Connected:           0
Static:                  1
eBGP:                 20
EIGRP (internal): 90
IGRP:               100
OSPF:              110
IS-IS:               115
RIP:                 120
EIGRP (external): 170
iBGP:               200
EIGRP summary route: 5

A veces el router debe seleccionar una ruta entre vairas que aprendió por el mismo proceso con la misma distancia administrativa. En ese caso, escoge cual tiene el menor costo hacia el destino. Cada proceso de ruteo calcula sus costos diferente y a veces se requiere manipularlos para lograr el balanceo.

Si el router recibe varias trayectorias con la misma distancia administrativa y costo hacia un destino, el balanceo de cargas puede ocurrir. El número de trayectorias usadas está limitado por el número de entradas que el protocolo de ruteo pone en la tabla de ruteo. Cuatro entradas en el default in IOS para la mayoría de los protocolos de ruteo, a excepción de BGP, donde el default es una entrada. El máximo a configurar es 6.

Los procesos de ruteo de IGRP e EIGRP también soportan trayectorias múltiples balanceo de cargas con costos distintos. Usamos el comando maximum-paths para determinar el número de rutas que puede ser instalado basado en el valor configurado en el protocolo. Si fijamos la tabla de ruteo a una entrada, se desactiva el balanceo de cargas. El proceso de balanceo entre trayectorias con costos distintos se llama varianza (variance)

Podemos usar el comando show ip route para encontrar rutas con costos iguales; en este ejemplo su salida tiene dos bloques, cada uno es una ruta. El asterisco corresponde a la ruta activa que es usada para tráfico nuevo, es decir, un único paquete o un flujo entero de datos, dependiendo del tipo de conmutación configurada.
  • Para el balanceo por process-switching, el balanceo de cargas está basado por paquete y el asterisco señala la interfase sobre la que se enviará el próximo paquete.
  • Para el balanceo por fast-switching, que es efectuado basado en los destino, el asterisco señala la interfase sobre la que se enviará el siguiente flujo de datos basados en su destino.
La posición del asterisco se mantiene rotando entre las trayectorias de costo igual cada vez que un paquete o flujo es enviado.
M2515-B# show ip route 1.0.0.0
Routing entry for 1.0.0.0/8
Known via "rip", distance 120, metric 1
Redistributing via rip
Advertised by rip (self originated)
Last update from 192.168.75.7 on Serial1, 00:00:00 ago
Routing Descriptor Blocks:
* 192.168.57.7, from 192.168.57.7, 00:00:18 ago, via Serial0
Route metric is 1, traffic share count is 1
192.168.75.7, from 192.168.75.7, 00:00:00 ago, via Serial1
Route metric is 1, traffic share count is 1

Podemos configurar el balanceo para que trabaje por destino o por paquete.

jueves, 10 de diciembre de 2009

Historia de Internet


History Of The Internet from Billy Wanzi on Vimeo.

Navegando entre blogs di con un artículo de Bitelia que me llevó a un post en sixrevisions sobre una breve historia del Internet que me pareció interesante y que traduciré aún más brevemente. El objetivo es mostrar los logros claves que han formado lo que hoy conocemos como Internet en sus primeros 40 años de vida.

1969 Nace Arpanet, la primera red en utilizar conmutación de paquetes, tal como hoy en día hace TCP/IP que tiene conmutación orientada a conexión (TCP) y no orientada a conexión (UDP). El 29 de octubre de 1969 las computadoras de Stanford y de UCLA se conectaron por vez primera, el primer link de Internet que transmitió el mensaje "login" y que falló en la letra g.

1969 Unix, el sistema operativo que influenció el diseño de Linux y FreeBSD, los sistemas operativos más populares en los servicios de webhosting y webservers. También influyó un poco en el diseño del IOS de Cisco. Y de hecho, uno de los programadores de FreeBSD trabaja en CIsco.

1970 La red de Arpanet se establece entre Harvard, MIT y BBN, la compañía que creó las computadoras usadas para conectar la red en 1970.

jueves, 15 de octubre de 2009

Para recordar:

Un Dominio de Colisión es un término Ethernet usado para describir un grupo de equipos de dispositivos en red, en el cual un dispositivo en particular envía un paquete hacia un segmento de red, y todo dispositivo en ese segmento es forzado a escuchar. En un Dominio de Broadcast, un conjunto de dispositivos de red sólo escucha los broadcasts enviados, y no cada paquete.

Las posibles causas de congestión en una red son:
  • demasiados hosts en el dominio de broadcast
  • tormentas de broadcast
  • multicasting
  • poco ancho de banda
Los hubs crean un dominio de colisión y un dominio de broadcast. un bridge divide el dominio de colisión pero crea un dominio  de broadcast; ambos usan direcciones físicas para filtrar la red. Los switches son realmente bridges con muchos puertos y más inteligencia de filtrado basado en direcciones físicas (MAC addresses), dividen los dominios de colisión pero crean un dominio de broadcast grande por default. Los routers dividen los dominios de broadcast y los dominios de colisión y usan direcciones lógicas para filtrar la red (direcciones IP).

Recuerda las capas del modelo OSI, las capas de Aplicación, Presentación y Sesión son responsables de comunicarse de la interfase de usuario a la aplicación. La capa de Transporte provee segmentación, secuenciamiento y circuitos virtuales. La capa de red provee direccionamiento lógico en la red y ruteo entre las redes (internetwork). La capa de enlace de datos provee en encapsulado en frames o tramas y pone los datos en el medio de red. La capa física es responsable de tomar 1s y 0s en codificarlos en una señal digital para su transmisión en un segmento de red.

Recuerda que la diferencia entre servicios orientados a conexión y no orientados a conexión es que los servicios orientados a conexión (encapsulados en TCP) usan acuse de recibo (acknowledgement) y control de flujo para crear una sesión confiable. Se requiere un overhead mayor que lo usado en un servicio no orientado a conexión. Los servicios no orientados a conexión (UDP) se usan para enviar datos sin un acuse y sin control de flujo; por eso se consideran no confiables.

Debemos recordar que hay 3 tipos de cables Ethernet:
  1. los straight-through usados de una PC o un router hacia un hub o un switch
  2. los cross-over, usados hub-hub, de router-router, switch-switch o PC-PC;
  3. y el rolled, usado para conectarse a la consola de un router o switch desde una PC, recordemos que para usar la Hyperterminal y conectarnos a la consola debemos usar 9600BPS y flow control none
Recordemos también las 3 capas del modelo jerárquico de Cisco, Core, Distribution y Access.

lunes, 3 de agosto de 2009

Cisco Router IOS

El IOS es un kernel propietario que provee funciones de ruteo, conmutación (switching) internetworking y comunicaciones; el primero fue desarollado por William Yeager en 1986.

Entre sus responsabilidades están:

  • Dar soporte para protocolos de red y funciones
  • Conectar tráfico de alta velocidad entre dispositivos
  • Agregar seguridad para controlar el acceso y detener usos no autorizados de red
  • Proveer escalabilidad para facilidad de uso, crecimiento y redundancia
  • Proveer confiabilidad de red para conectar los recursos de red

La interfase de línea de comando (CLI command line interface) se puede alcanzar desde un puerto de consola, o en un router más nuevo, desde el puerto auxiliar (Aux port), desde una sesión de telnet o ssh, y se establece una sesión llamada EXEC session.

El puerto de consola es usualmente un puerto RJ45 que puede o no tener una contraeña; en los nuevos routers ISR el nombre de usuario y el password son cisco por default.

También es posible usar el puerto Auxiliar, que es lo mismo que el de consola, pero que además soporta que le sea conectado un MODEM para administración remota cuando el router está fuera de la red.

También podemos conectarnos al router con una sesión de Telnet desde una interfase ethernet o serial conectada a la red.

viernes, 15 de mayo de 2009

Implementando Firewalls en la organización

del documento Deploying Firewalls Throughout Your Organization.
Evitar las intrusiones requiere filtrado de firewalls en múltiples perímetros, tanto internos como externos.
Los firewalls han sido la primera línea de defensa en las infraestructuras de defensa de las redes, y cumplen este objetivo comparando las políticas acerca de los derechos de acceso de red de los usuarios con la información de cada intento de conexión. Las políticas de usuario y la información de conexión deben coincidir, o el firewalll no dará acceso a los recursos de red; así se previenen las intrusiones.
En años recientes, una de las mejores prácticas más aceptadas es implementar firewalls no sólo en los perímetros de red tradicionales, donde la red corporativa y la Internet se encuentran, sino también a través de la red corporativa en ubucaciones internas clave, así como en las fonteras de las oficinas remotas con la WAN. Esta estrategia de firewalls distribuidos ayuda a protegernos contra amenazas itnernas, las cuales han sido históricamente causantes de un enorme porcentaje de cyber-pérdidas, de acuerdo al estudio anual que conduce el Computer Security Institute (CSI).
El crecimiento de las amenazas internas se ha acelerado por el surgimiento de nuevos perímetros de red que se han formado al interior de las LAN corporativas. Algunos ejemplos de esos perímetros o fronteras de confianza, están entre los switches y los servidores de respaldo, entre diferentes departamentos, y donde una red inalámbrica se encuentra con la red cableada. El firewall previene la existencia de brechas de acceso en estas coyonturas de red claves, asegurando, por ejemplo, que el departamento de ventas no podrá entrar al sistema de finanzas.
También se ayuda a cumplir con los últimos mandatos de la industria al ubicar varios firewalls dentro de múltiples segmentos de red. Por ejemplo, Sarbanes-Oaxley, Gramm-Leach-Bliley, etc; tienen requerimientos acerca de la seguridad, auditorías y rastreo de la información.
Protegiendo todos los puntos de acceso.
El borde entre la red pública y la privada es considerado particularmente vulnerable a intrusos, porque la Internet es una red públicamente accesible y cae bajo el manejo de múltiples operadores. Por esa razón, la Internet es una red que se considera no es de confianza; así como las LANs inalámbricas, las cuales sin la seguridad apropiada pueden ser violentadas desde fuera de la empresa, ya que sus señales llegan más allá de las puertas y paredes.
Es por ello que es crítico proteger el borde LAN-WAN; pero ahora los firewalls también deben mantener la comunicación entre segmentos internos de red, y revisar que los empleados internos no puedan acceder a recursos o segmentos que las políticas de la compañía dictan como fuera de su alcance. Haciendo particiones de la intranet con firewalls, los departamentos dentro de la organización ganan defensas adicionales contra amenazas de otros departamentos.
Además, crece la utilización de la red, porque los empleados se vuelven goegráficamente más dispersos, entre las oficinas remotas y el incremento de los medios móviles y redes remotas. De acuerdo a Nemertes Research, una firma especializada en cuantificar el impacto de negocio de la tecnología, ahora, la mayoría de los empleados trabajan en oficinas remotas, lejos de los cuarteles corporativos. Esto resulta en un nuevo borde LAN-WAN en cada oficina filial o remota, donde un router de acceso WAN se encuentra con la Internet pública u otra red WAN. Este nuevo borde debe ser protegido.
El firewall entonces, en su papel de primera línea de defensa tiene un lugar en los siguientes segmentos de red:
  • En el perímetro tradicional de la red corporativa (donde el Data Center se encuentra con las redes WAN e Internet).
  • Entre departamentos, para segregar el acceso de acuerdo a las políticas entre grupos de usuarios.
  • Entre los puertos LAN de los switches y las granjas de servidores Web, de aplicación o de bases de datos del centro de datos.
  • Donde la wireless LAN se conecta a la red cableada (entre los LAN switches Ethernet y los LAN controllers)En el borde WAN de la oficina remota.
  • En las Laptops, smartphones, y otros dispositivos móviles inteligentes que guardan datos de la organización (en forma de software de firewall personal) y en el caso de trabajadores móviles.
Esta figura es el ejemplo de un despliegue de firewalls en la empresa (tomado de cisco.com)

Se recomienda filtrado básico en cada frontera de confianza, tanto externa como interna por toda la red.

El papel en la arquitectura de seguridad total.

martes, 28 de abril de 2009

Cómo funciona una Red Privada Virtual (Virtual Private Network)


from:IPSec Negotiation/IKE Protocols/How Virtual Private Networks Work

El mundo ha cambiado últimamente y ya no sólo nos interesa tratar con asuntos locales o regionales, ahora muchas empresas tienen que lidiar con mercados y logística globales. Algunas empresas deciden hacerlo mediante presencia en todo su país, su continente, o incluso en todo el mundo; pero siempre hay algo que necesitan: comunicación segura, confiable y rápida, sin importar donde estén sus oficinas.

Hasta hace poco, comunicación confiable significaba tener enlaces dedicados para mantener redes WAN, que podían ir desde una línea ISDN (144Kbps) hasta un OC3 (Optical Carrier-3 a 155Mbp o también llamado STM1). Obviamente una red WAN tiene ventajas sobre una red pública, como Internet, en cuanto a confiabilidad, disponibilidad, performance, latencia, seguridad, etc.; pero mantener una red WAN, particularmente usando enlaces dedicados, se puede volver demasiado costoso, y dependiendo del tipo de servicio, puede que la distacia incremente ese costo aún más. Adicionalmente, las redes privadas no son la solución para una empresa que tiene usuarios con alta movilidad (como puede ser el personal de mercadeo), y que requiere conectarse a recursos corporativos para acceder a datos sensiblemente importantes o confidenciales.

Mientras crece la popularidad del internet, las empresas lo han utilizado como un medio para extender sus propias redes. Primero llegaron las intranets, sitios diseñados para el uso de los empleados únicamente. Ahora, muchas compañías tienen sus propias VPNs para dar solución a las necesidades de sus empleados y oficinas remotos.



Una red típica de VPN puede tener una red local (LAN) principal en el edificio corporativo, otras LANs en oficinas remotas y usuarios individuales que se conectan desde campo.
Una VPN es una red privada que usa una red pública (usualmente el internet) para conectar sitios remotos o usuarios. Y en lugar de usar enlaces dedicados, tales como una línea privada, usa conexiones "virtuales" enrutadas a través de internet desde la red privada de la compañía hasta el sitio remoto.

¿Qué hace una VPN?

lunes, 20 de abril de 2009

Ejemplo de Encapsulamiento (ilustración del datagrama)

Tomando el caso del ejemplo anterior, el datagrama será analizado en fragmentos de 8 bytes, indicando la longitud de cada campo; recordemos que es un paquete de ICMP encapsulado en IP.

Del byte 0 al 7:




y tenemos la siguiente información de sus campos:



IHL: Especifica la longitud del encabezado de IP en palabras de 32 bits (4 Bytes) y el valor mínimo es 5.

TOS: Type of service, 8 bits, especifica los parámetros para el tipo de servicio solicitado. Los parámetros pueden ser utilizados por las redes para defini el manejo del datagrama durante el transporte. El bit M fue agregado en el RFC 1349.



Total Lenght: es la longitud total del datagrama, en este caso es 0x003C (60 bytes).

Identification: Usado para indentificar fragmentos de un datagrama deaquellos de otro. El módulo de protocolo que origina al datagrama fija el valor del campo de identificación a un valor que debe ser único para el par de Fuente-Destino y protocolo por todo el tiempo que el datagrama estará activo en el sistema de red. El módulo de protocolo de origen de un datagrama completo pone los bits MF y el Fragment Offset a cero.



Fragment Offset, 13 bits: usado para dirigir el reensamblado de un datagrama fragmentado. En este caso es cero porque no hay más fragmentos.

Del byte 8 al 15:




TTL: Time to live, es un temporizador para llevar un control del tiempo de vida del datagrama. Cuando el TTL es decrementado a cero, el datagrama es desechado.

Protocol: este campo especifica el protocolo encapsulado, en este caso el valor es 1, lo que nos indica que se trata de un paquete de ICMP (ping). Consulta los valores en la tabla (click aquí).

Header Checksum: 16 bits de la suma de verificación del encabezado de IP y las opciones IP.

Source IP Address: Es la dirección IP del transmisor, en este caso 192.168.1.1 (0xC0.A8.01.01).

Del byte 16 al 27:




Destination IP Address: es la dirección IP del destino, en este caso 192.168.1.17 (0xC0.A8.01.11).

C, Class y Option: en este caso indican (tabla de valores):

  • 0x0: no copiar

  • 0x00: mensaje de control

  • 0x1000: solicitud de Echo (RFC 792, Summary of Message Types, 8 Echo).


Padding: es de longitud variable y sirve como relleno para asegurar que los datos comienzan tras de una frontera de 32 bits después de la dirección de destino.

Aquí es importante destacar que al tratarse de un mensaje de control (ICMP) se utilizan los bytes del 20 al 27 para información de control; y se usan de la siguiente manera (RFC792):
    20                  21                  22                  23
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type Code Checksum
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Identifier Sequence Number
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data ...

+-+-+-+-+-

De aquí obtenemos que:

  • byte 20, es un paquete tipo 8 (echo request)
  • byte 21, siempre va a cero
  • byte 22 y 23, es el checksum de ICMP
  • bytes 24 y 25, si el byte 21=0 el identificador ayuda a hacer match entre las solicitudes y las respuestas de eco; puede ser 0 o puede usarse para identificar una sesión.
  • bytes 26 y 27 son para llevar la secuencia de las solicitudes de eco, y quien responde debe usar el mismo número; la secuencia debe incrementarse con cada nueva solicitud (en una instrucción típica de ping se envían 4 paquetes, y pueden enviarse cuantos se desee).

Bytes del 28 al 59 (32 bytes)

Son los datos de relleno que se colocaron dentro del mensaje de Echo, y se trata de una secuencia, del 0x61 al 0x77, y se vuelve a comenzar. Cuando se responde la solicitud de eco se debe incluir exactamente la misma información en el campo de datos.









miércoles, 1 de abril de 2009

Ejemplo de Encapsulamiento

Para comenzar, la dirección de origen usada 192.168.1.1 se escribe así en hexadecimal: C0 A8 01 01

Cuando escribimos el comando:

C:\>ping 192.168.1.1

Este es el paquete de Ping (74 Bytes)como aparece en la red Ethernet, y cada par de números representa un byte (8 bits) de información dentro del frame o paquete:

[sourcecode language='css']
000000: 00 A0 CC 63 08 1B 00 40 : 95 49 03 5F 08 00 45 00 ...c...@.I._..E.
000010: 00 3C 82 47 00 00 20 01 : 94 C9 C0 A8 01 01 C0 A8 .<.G.. ...... ..
000020: 01 11 08 00 48 5C 01 00 : 04 00 61 62 63 64 65 66 .@..H\....abcdef
000030: 67 68 69 6A 6B 6C 6D 6E : 6F 70 71 72 73 74 75 76 ghijklmnopqrstuv
000040: 77 61 62 63 64 65 66 67 : 68 69 wabcdefghi......
[/sourcecode]

donde tenemos que los primeros 14 bytes componen el encabezado Ethernet, y son:

  • 00 A0 CC 63 08 1B la dirección MAC de destino
  • 00 40 95 49 03 5F la dirección MAC de origen
  • 08 00 el campo Tipo de Ethernet (0x0800 IP Datagram)


sigue el datagrama de IP (60 Bytes), que ya sin el encapsulado de Ethernet nos queda así:

[sourcecode language='css']
000000: 45 00 00 3C 82 47 00 00 : 20 01 94 C9 C0 A8 01 01 E..<.G.. ......
000010: C0 A8 01 11 08 00 48 5C : 01 00 04 00 61 62 63 64 ...@..H\....abcd
000020: 65 66 67 68 69 6A 6B 6C : 6D 6E 6F 70 71 72 73 74 efghijklmnopqrst
000030: 75 76 77 61 62 63 64 65 : 66 67 68 69 uvwabcdefghi......
[/sourcecode]

y comienza con un valor 0x4500, el 4 indica que es un paquete de IPv4 y el 5 que el encabezado de IP tiene una longitud de 5 palabras de 32 bits; es decir, 160 bits o 20 bytes.

tenemos una dirección de origen 192.168.1.1 (C0 A8 01 01)
y una dirección de destino 192.168.1.17 (C0 A8 01 11)

y nos quedan 40 bytes de datos IP, que en este caso son de una solicitud de eco (ICMP Echo Request), incluyendo 32 bytes de datos (longitud por default para un paquete de ping).

Este post es un complemento al anterior:

http://ipref.wordpress.com/2008/06/03/encapsulamiento/

y posteriormente pondré una descripción detallada de cada uno de los números presentes en el frame de ejemplo.

miércoles, 18 de marzo de 2009

Movilidad IPv6

del documento de cisco: IPv6 Mobility At-a-Glance

Los objetivos de la movilidad de IPv6 son:
  • no estar limitado a una ubicación
  • tener siempre conectividad IP
  • que sea independiente del transporte
  • conexiones en roaming robustas
  • movilidad de las aplicaciones
  • continuidad de las aplicaciones
  • que un server pueda ser un dispositivo móvil

Mobile IPv6 (MIPv6) se define en:
  • RFC 3775: Mobility Support in IPv6
  • RFC 3776: Using IPSec to Protect Mobile IPv6 Signalling between Mobile Nodes and Home Agents

Existen los mismos componentes básicos en MIPv6 como en MIPv4, excepto que no hay agentes externos en MIPv6.

figura 1

[caption id="" align="alignnone" width="445" caption="MIPv6"]MIPv6[/caption]

viernes, 20 de febrero de 2009

Encabezado IPv6

Del documento de Cisco IPv6 Headers

Hay varios cambios al formato de encabezados de IPv6. Los diagramas describen en alto nivel la comparación entre IPv4 e IPv6.

[caption id="" align="alignnone" width="369" caption="IPv6 Headers"]IPv6 Headers[/caption]

lunes, 15 de diciembre de 2008

VoIP

La Voz sobre IP se refiere a la transmisión de llamadas telefónicas sobre el protocolo IP, ésto sin importar que tipo de equipo tradicional, computadoras o equipo dedicado tome parte en el proceso, o incluso sin importar si la llamada es transportada en su totalidad por IP o no.

La VoIP es uno de los desarrollos tecnológicos que más rápido se han adoptado por las compañías. Una de las razones principales es que hace más fácil integrar todo tipo de comunicaciones, de medios de comunicación y de dispositivos y medios de transmisión. Así, un usuario puede estar en comunicación constante, sin importar su ubicación, en tiempo real; y es el primer paso hacia las comunicaciones unificadas. Esta disponibilidad reduce costos y aumenta la productividad de un empleado.

La VoIP comenzó en 1995, cuando Vocaltech lanzó su primer teléfono para internet; previo a ese hecho, todo lo que se refería a VoIP era hehco por investigadores, pero desde que se probó que no sólo es técnicamente factible, sino comercialmente viable, muchas compañías han entrado al mercado de la VoIP tratando de tomar la ventaja, lo cual ha fomentado el desarrollo y competencia necesarias para abaratar los costos.

Cómo trabaja la VoIP

La configuración más básica es cuando un usuario ya cuenta con una computadora que tiene capacidad de audio (sound card), así, el usuario puede iniciar y terminar llamadas a través de un software llamado Softphone. Hay una gran variedad de opciones disponibles, algunos incluso totalmente gratuitos.



Este escenario es de telefonía IP pura, y se beneficia de los demás servicios de internet, como el e-mail y la mensajería instantánea.

También existe el escenario donde mezclamos servicios de VoIP con la telefonía tradicional y conectamos a través de un Gateway de voz las líneas" normales". El Gateway de voz hace la conversión de paquetes de IP (transportados en UDP generalmente) hacia la telefonía basada en TDM (time division multiplexing).

Es importante este punto, porque las redes IP trabajan con conmutación de paquetes, es decir, cada paquete es enviado a su destino a través de múltiples circuitos que se comparten entre paquetes de distintos orígenes y con distintos destinos, así como múltiples protocolos o aplicaciones. En el caso de los circuitos conmutados (TDM) el canal se establece físicamente y es usado mientras la llamada está activa, y sólo es ocupado por la aplicación que lo genera; es el caso de la transmisión de datos por ISDN por ejemplo, o de una simple llamada de voz.

VoIP to PSTN
VoIP to PSTN

Entendiendo ésto, tenemos que: se inicia la llamada por el softphone, que usando SIP o H.323 o algún otro protocolo de señalización, se comunicará con el gateway de voz (un router, un IP-PBX, un servidor SIP, etc) y le hará una petición de inicio de llamada; el gateway verificará que puede entregar el servicio hacia la PSTN, y responderá positivamente al IP-phone y se iniciará la comunicación; aquí, la voz se convierte en paquetes de IP con un protocolo (G.729 por ejemplo) que se transportan en datagramas de UDP (encapsulamiento), y se entregarán al gateway, que los decodificará y traducirá a una señal analógica o digital, según el acceso a la PSTN, para poder hacer uso de una línea TDM tradicional.

También tenemos el caso donde tenemos dos gateways de voz, y se inicia la llamada desde un teléfono normal hacia un gateway, y éste a su vez hace el transporte hacia el gateway remoto a través de internet; una vez que el gateway remoto tiene la llamada, la decodifica y la entrega a la PSTN nuevamente, con lo que tenemos un ahorro en las largas distancias. Este caso es muy común en ambientes corporativos donde el volumen de llamdas justifica el uso de enlaces privados o públicos para hacer el transporte de voz y datos.

Los beneficios de la VoIP son que se incrementa la movilidad y la flexibilidad; así como una integración de la voz y los datos, y una reducción de costos para el usuario final.

domingo, 21 de septiembre de 2008

Data Link Layer, el hardware.

En la capa de enlace de datos operan los switches y los bridges, y son hardware de aplicación específica ya que usan procesadores y circuitos que son diseñados únicamente para esta tarea. (application-specific integrated cirtuit), y es lo que permite que los switches alcancen velocidades de proceso de Gigabits con latencias muy bajas.

Menciono brevemente los dispositivos en una entrada previa:

http://ipref.blogspot.com/2009/04/dispositivos-de-red-capa-de-enlace-de.html

El proceso es el siguiente:

El switch recibe un frame y lee su encabezado, determina su origen y lo pone en su tabla para recordar de que puerto provino; entonces, busca el destino en esa misma tabla y envía el frame hacia el puerto asociado a esa dirección MAC; en caso de desconocer el destino, el frame es enviado a todos los puertos excepto al de origen, y cuando reciba un nuevo frame con esa dirección MAC de origen, sabrá de que puerto proviene, y la agregará a su tabla, por lo que conocerá donde está ubicado ese host. Así van formando su tabla de MAC addresses que ayuda a disminuir el tráfico en la red y a formar un mapa de la misma. Todos los dispositivos que reciben este mensaje están en un dominio de Broadcast, y si tenemos muchos mensajes de broadcast, afectarán el desempeño de la red.



Es algo similar a una tabla de ruteo, que contiene redes en un router y que las asocia a una interface, con lo que el router conoce hacia donde enviar paquetes para alcanzar una red.

En el caso de un switch o un bridge, conocemos direcciones MAC que se asocian igualmente a un puerto o interface, y básicamente, un switch es un bridge evolucionado, con más puertos y que igualmente forma un dominio de colisión en cada puerto.

Anteriormente mencioné que Ethernet funciona en un bus lógico y por tanto los hosts presentes en ese dominio deben "competir" para tener acceso al medio (cable) y que no se presenten colisiones; debido a que cada puerto de un switch es un dominio de colisión distinto, todos pueden transmitir simultáneamente siempre y cuando exista sólo un host por puerto, mientras que en un Hub, todos deberán competir por el medio.

Una vez que la tabla está completa en el switch, se enviarán frames sólo hacia la interface que se sabe que tiene conectado al segmento de destino, y en caso de que el frame vaya destinado al mismo puerto del que vino será bloqueado para que no llegue a ningún otro segmento de red. Esto se llama Transparent Bridging.

La Capa de Enlace de Datos

La capa de enlace de datos (data link layer) provee la transmisión física de los datos y se encarga de detectar errores, de la topología de la red y del control de flujo; es decir, se encarga de que los mensajes lleguen a sus destinatarios usando la dirección física (MAC address) y traduce los mensajes de la capa de red en bits que la capa física transmitirá.

Los mensajes son divididos en fragmentos que se llaman marco de datos (data frames) y yo me referiré a ellos por su nombre en inglés, ya que considero que parte de entender una materia es conocer su lenguaje técnico. Cada frame, al igual que las unidades de datos de capas superiores (PDU o packet data unit) contienen un encabezado, al que se le agrega la información del destino y el origen (en direcciones MAC, no IP), pero en este caso, tenemos un elemento de empaquetamiento al final, que sirve para detectar errores y es el Cyclic Redundancy Check (CRC revisión de redundancia cíclica) y que es un número que se calcula a través del valor de los bits contenidos dentro del mensaje; en caso de que al recibir el frame y recalcular el CRC, éste no coincida con el enviado, se notificará para que sea transmitido nuevamente.



Es importante distinguir que un router no trabaja en esta capa, ya que sólo conoce redes, no sabe donde se ubica un host en particular, y manda paquetes hacia la red que debe contener ese host, pero no sabe si el host está ahí. Es el switch quien determina en que puerto se encuentra un host particular y lo hace a través de sus tablas de MAC addresses, no usa las direcciones IP, y envía frames que contienen paquetes encapsulados.

La capa de enlace de datos es la capa 2 del modelo OSI, y contiene dos subcapas, LLC (Logical Link Control) y MAC (Media Access Control), ambas están definidas por estándares en cuanto que tareas deben efectuar para que la capa de red se sirva de ellas y la capa física entienda los mensajes.

La subcapa MAC es la que está ubicada sobre la capa física, y sobre la MAC se encuentra la LLC, en contacto directo con la capa de red.

Ahora bien, Ethernet trabaja en la capa 2, y por tanto tiene una capa MAC y una LLC. En este caso, MAC se define por el estándar IEEE 802.3, que especifica como los paquetes entran al medio; también aquí se define el direccionamiento físico (MAC addresses) así como las topologías lógicas, es decir, la manera en la que se transmite en la línea (bus lógico en el caso de Ethernet, aunque un switch presente una topología física de estrella), también la notificación de errores (no corrige), la entrega de frames, y a veces control de flujo.

La LLC se define por IEEE 802.2 y es responsable de identificar los protocolos de la capa de red y de encapsularlos. El encabezado de LLC le dice a la Data Link Layer que hacer con los paquetes una vez que recibe un frame, ya que el host recibe el frame, lee el encabezado LLC y determina el destino de ese paquete encapsulado. La LLC provee también control de flujo y bits de control para las secuencias (orden de los frames).

miércoles, 17 de septiembre de 2008

La Capa de Aplicación

Application Layer, OSI layer 7

La capa de aplicación es donde ocurre toda la interacción del usuario con la computadora, y por ejemplo, cualquier browser funciona aún sin el stack de TCP/IP instalado, sin embargo, el browser (google chrome, mozilla firefox, internet explorer, opera) no es parte de la capa de aplicación, sino que es el programa que se comunica con dicha capa.
Por ejemplo, al hacer la consulta de un documento local de html con el browser no hay comunicación hacia el exterior, sin embargo, al hacer la consulta de un documento remoto se hace uso del protocolo http (hyper text transfer protocol); o podemos transferir archivos por medio de FTP (file transfer protocol) o por medio de TFTP (trivial file transfer protocol). Cada vez que solicitamos una comunicación de ese tipo, el browser interactúa con la capa de aplicación que a su vez sirve de interfase entre las aplicaciones del usuario y el stack de protocolos que le va a proveer la comunicación con ayuda de las capas inferiores.

Las responsabilidades de la capa de aplicación son identificar y establecer la disponibilidad de comunicación del destino desado, así como determinar los recursos para que exista esa comunicación.
Esta es una tarea importante porque algunos programas requieren más que recursos del escritorio, como es el caso de una aplicación de red donde varios componentes colaboran para un objetivo común (tranferencias de archivos y correo electrónico, procesos cliente-servidor).
Es importante recordar que la Capa de Aplicación es la interface con los programas de aplicación, por ejemplo con el microsoft outlook, o el mozilla thunderbird.

Algunos de los protocolos de la capa de aplicación son:

  • FTP: File Transfer Protocol

  • HTTP: Hypertext Transfer Protocol

  • POP3: Post Office Protocol version 3

  • IMAP4: Internet Message Access Protocol rev 4

  • Finger: User Information Protocol

  • IMPPpre/IMPPmes: Instant Messaging and Presence Protocols

  • NTP: Network Time Protocol

  • Radius: Remote Authentication Dial In User Service

  • RLOGIN: Remote Login

  • RTSP: Real-time Streaming Protocol

  • SCTP: Stream Control Transmision Protocol

  • IPDC: IP Device Control

  • IRC: Internet Relay Chat Protocol

  • ISAKMP: Internet Message Access Protocol version 4rev1

  • ISP

  • S-HTTP: Secure Hypertext Transfer Protocol

  • SLP: Service Location Protocol

  • SMTP: Simple Mail Transfer Protocol

  • SNMP: Simple Network Management Protocol

  • COPS: Common Open Policy Service

  • FANP: Flow Attribute Notification Protocol

  • SOCKS: Socket Secure (Server)

  • TACACS+: Terminal Access Controller Access Control System

  • TELNET: TCP/IP Terminal Emulation Protocol

  • TFTP: Trivial File Transfer Protocol

  • WCCP: Web Cache Coordination Protocol

  • X-Window: X Window

martes, 16 de septiembre de 2008

La capa de Red (network layer)

La Capa de Red maneja el direccionamiento, da seguimiento de la ubicación de los dispositivos en la red y determina la mejor manera de mover datos; es decir, la capa de red maneja la comunicación entre dispositivos que no están conectados directamente. Los routers trabajan en la capa de red específicamente.

network layer
network layer

Interfase o interfaz (interface), es la puerta de salida de un paquete hacia una red específica.

Métrica (metric), es la distancia a una red remota y diferentes protocolos de ruteo usan diferentes métodos para calcular esta distancia; algunos cuentan los saltos, otros usan una mezcla del acho de banda, la latencia o hasta un reloj. Un salto es un router que un paquete cruza para llegar a su destino.

Dirección de Red (network address); direcciones de red específicas por protocolo. Un router debe mantener direcciones de red para protocolos individuales debido a que cada protocolo de ruteo da seguimiento a la red con un esquema de direcionamiento distinto (IP, IPv6 e IPX por ejemplo).

Los paquetes de datos (data packets) transportan datos de los usuarios a través de toda la red y se hace mediante protocolos de soporte, llamados protocolos ruteables (routed protocols); por ejemplo, IPX, IP e IPv6.

Los paquetes de actualización de rutas (route update packets) se usan para que entre routers vecinos se notifiquen entre si las redes que tienen directamente conectadas o que conocen a través de algún destino y sirven para que los routers construyan y mantengan las tablas de ruteo. Los protocolos que usan la actualización de rutas se llaman protocolos de ruteo (routing protocols) y entre los más comunes tenemos a RIP, RIPv2, EIGRP y OSPF.

Broadcast Domains in a router
Broadcast Domains in a router

Como ya sabemos, un router rompe los dominios de colisión y por tanto un mensaje de broadcast no se reenvía a través de un router, cada interface en un router es un dominio de colisión (broadcast domain), al igual que en un switch (dispositivo capa 2, data link layer). Como cada interface en un router es un dominio de broadcast diferente, cada una tiene su propia dirección única y está en una red diferente, y los hosts conectados a esa interfase deben estar en la misma red. En la ilustración lo podemos ver más claramente.

Hay algunas cosas relativas a los routers que debemos tener presentes:


  • Por deafult, un router no reenvía tráfico de broadcast o de multicast.

  • Los routers usan las direcciones lógicas de la capa de red para determinar el siguiente salto al cual reenviarán un paquete.

  • Los routers pueden usar listas de acceso (access-list) creadas por el administrador para controlar los tipos de paquetes que pasan por una interfase y tener un tipo de seguridad.

  • Los routers pueden tener funciones de capa 2 como bridging, y si es necesario, simultáneamente rutear a través de la misma interfase.

  • Los dispositivos capa 3 nos dan conexión entre LANs virtuales (VLAN).

  • Los routers proveen calidad de servicio (Quality of Service QoS) para tipos de tráfico específicos.

domingo, 27 de julio de 2008

Ventajas de los Modelos de Referencia

El Modelo de Referencia OSI es jerárquico, y de cualquier otro modelo se pueden obtener las mismas ventajas, y su objetivo principal es que las redes de diferentes fabricantes puedan operar en conjunto. Algunas de las ventajas son:

  • Divide los procesos de comunicación de la red en pequñas porciones que son más simples de analizar, permitiendo desarrollar componentes, diseñar y resolver problemas para una capa específica de la red.

  • Evita que cambios en una capa afecten a otras capas, facilitando el desarrollo.

  • Permite que distintos tipos de hardware y software de red se comuniquen entre si.

  • Permite que los desarrollos de múltiples fabricantes se comuniquen entre si por medio de la estandarización de los componentes de red.

sábado, 7 de junio de 2008

Soportando las aplicaciones de TCP/IP

Además de incluir a TCP, IP, y UDP, la pila de protocolos TCP/IP incluye también aplicaciones que soportan otros servicios tales como transferencia de archivos, e-mail, ye ingreso remoto (remote login).


Algunas de las aplicaciones que TCP/IP soporta incluyen:


· Flow Control: si el transmisor está desbordando el buffer del receptor por transmitir demasiado rápido, el receptor descarta paquetes. Los acknowledgement fallidos alertan al transmisor para bajar la tasa de transferencia o dejar de transmitir.


· File Transport Protocol: FTP es un servicio confiable y orientado a la conexión que usa TCP para transferir archivos entre sistemas que soportan FTP. FTP también soporta la transferencia binaria bidireccional y transferencias de archivos ASCII.


· Trivial File Transfer Protocol: TFTP es un servicio no orientado a conexión que usa UDP. Los ruteadores usan TFTP para transferir archivos de configuración e imágenes de Cisco IOS, y para transferir archivos entre sistemas que soportamn TFTP.


· Terminar Emulation (Telnet): telnet provee la capacidad de acceder remotamente a otra computadora. Telnet permite a un usuario entrar en un host remotoy ejecutar comandos.


Los protocolos TCP/IP: soportan las aplicaciones y utilidades que abarcan el internet.


tcpip

UDP, sus funciones


El protocolo User Datagram Protocol, es una expansión de las primeras versiones de la suite de protocolos de IP. Antes consistía dicha suite en TCP e IP solamente, aunque IP no era diferenciado como un servicio separado. Sin embargo, algunas aplicaciones tenían una necesidad de puntualidad más que de precisión. En otras palabras, la velocidad era más importante que la recuperación de paquetes. En transferencias de video o audio en tiempo real, unos cuantos paquetes perdidos son tolerables. Recuperar paquetes crea una excesiva saturación que reduce el desempeño.


Para acomodar este tipo de tráfico, los arquitectos de TCP rediseñaron la suite de protocolos para incluir a UDP. El direccionamiento básico y el servicio de expedición de paquetes en la capa de red era IP. TCP y UDP están en la capa de transporte arriba de IP, y ambos usan los servicios de IP.


UDP ofrece sólo servicios mínimos, no garantizados de transporte, y da a las aplicaciones acceso directo a la capa de IP. UDP es usado por aplicaciones que no requieresn el nivel de servicio de TCP, o que quieren usar servicios de comunicación tales como entrega por multidifusión o difusión, no disponibles en TCP.