miércoles, 13 de mayo de 2015

Tablas MAC en switches y tablas ARP en equipos I

Objetivo

Dado un diseño de red esquemático básico como el de la imagen, aprender cómo se rellenarán las tablas MAC de los switches y las tablas ARP de los equipos tras comunicarse mediante un "ping" entre el equipo 10.0.0.2 y el equipo 10.0.0.4. 




Nota:

Las tablas están vacías justo antes de comenzar el proceso. Se debe recordar que el ping es un mensaje de ida y de vuelta.
En esta entrada al blog, no voy a contar la teoría paso a paso de cómo aprende un switch y cómo se van cargando las tablas MAC y ARP.  Facilito una hoja Excel que se autocorrige para practicar.
Un ejemplo de cómo se ve esa Excel está en esta imagen
Es importante descargar la práctica en formato Excel pues la "gracia" de las caras sonrientes y tristes está hecho con el timpo de letra Wingdings que viene en Microsoft Excel.









 Licencia de Creative Commons


Tablas MAC en switches y tablas ARP en equipos I:  by Miguel Ángel Zunda Calderón is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

lunes, 4 de mayo de 2015

Encapsulación: mensaje ICMP dentro de paquete IP dentro de trama Ethernet

Objetivo

Encapsulación:

  • Aprender cómo se encapsula un mensaje ICMP dentro de un paquete IP
  • Aprender cómo se encapsula un mensaje IP dentro de una trama Ethernet

Wireshark:

  • Aprender a interpretar los datos generados por el Wireshark.
  • Conocer cómo utilizar filtros en el Wireshark
  • Reconocer los campos de la cabecera de un paquete IP.
  • Reconocer los campos de la cabecera ICMP

Tarea a realizar

Se enviarán 100  bytes en un mensaje ICMP de tipo pregunta (request). Un mensaje ICMP está dividido siempre en una sección de cabecera ICMP y en una sección de datos ICMP. En esta simulación se envían 100 bytes en la sección de datos del mensaje ICMP.

Para generar este mensaje, dependiendo del sistema operativo utilizado, se ejecutará el comando “ping” de la siguiente manera:
  • Desde Linux, “ping 192.168.1.100 -c 1 -s 100” 
  • Desde la consola de Windows “ping 192.168.1.100 -l 100”. 

Notas: 

  • El parámetro “-c 1” en Linux hace que se envíe solamente 1 mensaje ICMP de tipo pregunta (request). No existe un parámetro equivalente para entornos Windows por lo que en Windows siempre se generarán 4 mensajes ICMP de tipo pregunta.
  • El parámetro “-s 100” hace que se envíen 100 bytes dentro del campo “datos” del mensaje ICMP. El parámetro “-l 100” hace lo mismo que “-s” pero en Windows.

Notas de ayuda y recursos

Filtros en el Wireshark:
Durante la captura se puede haber obtenido muchas tramas (al estar dentro de un aula podemos recibir broadcast del resto de los equipos). Para identificar las tramas generadas por nuestro comando “ping” se debe identificar el paquete ICMP de tipo “echo request”.   Para ello, en el apartado “Filter” se ha puesto: “icmp && ip.src==192.168.1.104 && ip.dst==192.168.1.100”.
  • icmp hará que se muestren sólo las tramas que contengan mensajes ICMP,
  • ip.src hará que se muestren sólo aquellos paquetes cuya IP origen sea 192.168.1.104 (el equipo que realiza el “ping”)
  • ip.dst hará que se muestren sólo los paquetes cuya IP destino sea 192.168.1.100 (el equipo al que se realiza el “ping”)
 
En la RFC 791 se muestran todos los campos de la cabecera IP http://www.ietf.org/rfc/rfc0791.txt


Explicación detallada del proceso de encapsulación.

Primer paso: analizar el mensaje ICMP con wireshark

Al capturar la trama Ethernet mediante el Wireshark (la trama número 1 encuadrada en rojo), se puede ver con detalle el mensaje ICMP, tanto su cabecera como sus datos. En la imagen se aprecia que la sección de datos ocupa 100 bytes y que en total el mensaje ocupa 108 bytes, por lo que deducimos que la cabecera ocupa 8 bytes.

Segundo paso: encapsular mensaje ICMP dentro de un paquete IP

Un mensaje ICMP no puede viajar a través del nivel de red. Siempre debe viajar dentro (encapsulado) de un paquete IP, es decir, siempre viaja encapsulado dentro de un paquete IP. Un paquete IP tiene dos partes diferenciadas, una cabecera y los datos.

  • La cabecera IP: ocupa por defecto 20 bytes. Existen un campo en la cabecera que indica cuántos bloques de 4 bytes ocupa la cabecera. En una cabecera por defecto de 20 bytes, en este campo aparece un 5 que indica que la cabecera tiene 5x4 bytes.
  • El campo de datos IP: En este campo va el mensaje ICMP anterior. Por lo tanto, ocupará 108 bytes.

Visto de otra forma, tendríamos el mensaje IP siguiente:

Tercer paso: analizar el mensaje IP con wireshark

Al capturar la trama Ethernet mediante el Wireshark (la trama número 1 encuadrada en rojo), se puede ver con detalle el mensaje IP, tanto su cabecera como sus datos. En la imagen se aprecia que la sección de cabecera ocupa 20 bytes (tamaño por defecto) y que en total el paquete IP ocupa 128 bytes tal y como era de esperar: cabecera IP 20 bytes + datos IP 128 bytes (el mensaje ICMP al completo es lo que va dentro de la zona de datos IP).


Cuarto paso: encapsular el paquete IP dentro de una trama Ethernet

Un paquete IP no puede viajar a través del nivel de enlace en una red de área local Ethernet.
Siempre debe viajar dentro de una trama Ethernet, es decir, siempre viaja encapsulado dentro de una trama. 

Una trama tiene tres partes diferenciadas, una cabecera, los datos y el CRC o control de errores.
  • La cabecera de la trama: tiene un campo preámbulo de 7 bytes, un campo start field delimiter de 1 byte, un campo MAC destino con 6 bytes, un campo MAC origen con 6 bytes y un campo Tipo o Longitud con 2 bytes.
  • El campo de datos de la trama: En este campo va el paquete IP anterior. Por lo tanto,  ocupará 128 bytes.
  • El campo CRC: ocupa 32 bits

Visto de otra forma, tendríamos la trama Ethernet siguiente (no se muestra el CRC):

Preguntas para ampliar conocimientos

  1. ¿Qué tamaño tiene la sección de datos de los mensajes ICMP de tipo request por defecto? En esta simulación se ha forzado a que tenga 100 bytes añadiendo al comando “ping” el parámetro “–l 100”
  2. ¿Cómo se consigue enviar en la sección de datos del mensaje ICMP request bytes de relleno como en este ejemplo en los que se aprecia la cadena “MIGUEL ZUNDA” repetida?
  3. ¿Cuántos bytes ocupa la cabecera IP por defecto?
  4. Para una cabecera IP de tamaño estándar, ¿cuántos bytes como mínimo debe ocupar el campo datos de un paquete IP que va encapsulado dentro de una trama Ethernet para que no se tengan que generar bytes de relleno a nivel de enlace? ¿Por qué?
  5. Para una cabecera IP de tamaño estándar, ¿cuántos bytes como máximo debe ocupar el campo datos de un paquete IP que va encapsulado dentro de una trama Ethernet? ¿Por qué?
  6. ¿Cuántos bytes ocupa la cabecera del mensaje ICMP de tipo request?
  7. Para una cabecera IP de tamaño estándar que en su campo datos contiene un mensaje ICMP request con tamaño estándar ¿cuántos bytes como mínimo debe ocupar el campo datos de ese mensaje ICMP cuando va encapsulado dentro un paquete IP que, a su vez, va encapsulado dentro de una trama Ethernet para que no se tengan que generar bytes de relleno a nivel de enlace? ¿Por qué?
  8. Para una cabecera IP de tamaño estándar que en su campo datos contiene un mensaje ICMP request estándar, ¿Cuántos bytes como máximo debe ocupar el campo datos de ese mensaje ICMP cuando va encapsulado dentro un paquete IP que, a su vez, va encapsulado dentro de una trama Ethernet? ¿Por qué?
  9. Teniendo en cuenta las respuestas anteriores, ¿se podría ejecutar el comando ping -c 1 -s 1500? ¿Qué ocurriría?  … ¡bienvenidos al apasionante mundo de la fragmentación!


 Licencia de Creative Commons
Encapsulación: mensaje ICMP dentro de paquete IP dentro de trama Ethernet by Miguel Ángel Zunda Calderón is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

domingo, 19 de abril de 2015

VMWare - Adaptador de Red: ¿Qué es el modo NAT?

Objetivo: 

Comprender qué estamos haciendo al configurar el interfaz de una máquina virtual creada con VMWARE en modo NAT.

Situación inicial:

Un ordenador en el que está instalado el software VMWARE se le denomina anfitrión o host.
Una máquina virtual (MV) y hemos instalado ya en ella cualquier sistema operativo.
El router que da acceso a internet tiene la IP 192.168.1.100.
El equipo anfitrión está conectado al switch del aula a través de una tarjeta de red 192.168.1.101





































Descipción del modo NAT:

NAT significa Network Address Translation. Al modificar el adaptador de red de la máquina virtual y configurarlo en modo NAT, se está haciendo lo que se muestra en la imagen anterior:

  • Se crea una nueva red con un switch ficticio virtual. La red es la configurada en VMnet8 (se explicará más adelante)
  • Se añade un servidor DHCP que entregará IPs de la red VMnet8 a los equipos que se conecten a este switch.
  • Se crea una conexión de red entre el anfitrión y este switch virtual a través de la tarjeta virtual con una IP de la red VMnet8 que VMWare crea en el anfitrión al instalarse. Esta IP será la puerta de enlace de la máquina virtual para que dicha MV pueda acceder al exterior.
  • Se crea una conexión de red entre la máquina virtual y este switch. Si el Sistema Operativo de la MV tiene una tarjeta de red configurada para obtener IPs automáticamente, obtendrá una del rango de la red VMnet8 gracias al servidor DHCP virtual. Si no, deberemos configurar estáticamente una IP de ese rango. Además, se le asigna automáticamente a esta máquina virtual como puerta de enlace la IP VMnet8 que se le ha asignado a la máquina anfitriona.
  • Se añade un servidor proxy NAT ficticio que enmascarará (translation) todas las IPs de la red virtual VMnet8 (incluida la de la MV), por lo que la máquina virtual nunca será vista desde el exterior. Desde fuera del anfitrión no se conoce nunca la IP de la máquina virtual.
  • La máquina virtual SI tiene acceso al switch del aula a través del Proxy NAT, y por extensión, a internet.

Análisis de la red VMnet8:

En el Virtual Network Editor de VMWare aparecen los 3 adaptadores de red por defecto de VMWare. Al seleccionar VMNet8 (NAT) se ve la configuración por defecto de esta red.


En la imagen se aprecia que el servidor DHCP servirá IPs de la red 192.168.83.0/24 tanto al anfitrión como a la máquina virtual. Estos parámetros pueden modificarse en esta ventana de configuración del Virtual Network Editor. Además, se aprecia que se crea un router ficticio cuya IP es 192.168.83.2 que será la puerta de enlace de la máquina virtual. Por lo tanto, tal y como se aprecia en la imagen general, la máquina virtual queda oculta al resto de ordenadores del aula puesto que estos ordenadores desconocen la existencia de este router. Por lo tanto, si desde algún equipo del aula se intenta acceder a la máquina virtual (por ejemplo, la IP 192.168.83.100) enviará la información al router del aula pero este desconoce dónde se encuentra esa red. La máquina virtual sí que accederá a internet. Sus peticiones irán a su puerta de enlace 192.168.83.2, este router virtual se los enviará a la puerta de enlace del anfitrión 192.168.1.100 y se accede a internet.

Inconvenientes / ventajas

Como se acaba de explicar, por defecto, otros equipos del aula no podrán acceder a esta máquina virtual. La máquina virtual, por el contrario, sí que tiene acceso a internet.

  Licencia de Creative Commons
VMWare - Network Adapter NAT by Miguel Ángel Zunda Calderón is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

miércoles, 15 de abril de 2015

VMWare - Adaptador de Red: ¿Qué es el modo Host Only?

Objetivo:

Comprender qué se está haciendo al configurar un adaptador de red de una máquina virtual creada con VMWare en modo Host Only

Situación Inicial:

Un ordenador en el que está instalado el software VMWARE y que se denomina anfitrión o host.
Una máquina virtual (MV) con cualquier sistema operativo instalado en ella
El router que da acceso a internet tiene la IP 192.168.1.100.
El equipo anfitrión está conectado al switch del aula a través de una tarjeta de red.
























Descipción del modo Host Only:

Al modificar el adaptador de red de la máquina virtual y configurarlo en modo Host Only, se está haciendo lo que se muestra en la imagen anterior:
  • Se crea una nueva red con un switch ficticio virtual. La red es la configurada en VMnet1 (se explicará más adelante)
  • Por defecto se añade un servidor DHCP que entregará IPs de la red VMnet1 a los equipos que se conecten a este switch.
  • Se crea una conexión de red entre el anfitrión y este switch virtual a través de la tarjeta virtual con una IP de la red VMnet1 que VMWare crea en el anfitrión al instalarse
  • Se crea una conexión de red entre la máquina virtual y este switch. Si el Sistema Operativo de la MV tiene una tarjeta de red configurada para obtener IPs automáticamente, obtendrá una del rango de la red VMnet1 gracias al servidor DHCP. Si no, deberemos configurar estáticamente una IP de ese rango.
  • La máquina virtual no tiene acceso al switch del aula ni a ningún equipo conectado al switch del aula puesto que pertenece a una red distinta y no hay ni NAT ni routers que le permitan conectarse a otra red. Se trata de un equipo aislado (Host Only).

Análisis de la red VMnet1:

En el Virtual Network Editor de VMWare aparecen los 3 adaptadores de red por defecto de VMWare. Al seleccionar VMNet1 (Host Only) se ve la configuración por defecto de esta red.  En la imagen se aprecia que el servidor DHCP servirá IPs de la red 192.168.139.0/24 tanto al anfitrión como a la máquina virtual. Estos parámetros pueden modificarse en esta ventana de configuración del Virtual Network Editor.















En el ordenador anfitrión en el que está instalado VMWare, al mostrar sus tarjetas de red mediante el comando "ipconfig" en la línea de comandos de Microsoft Windows, se reconoce la tarjeta de red real del equipo "Adaptador de Ethernet Conexión de área local" y dos tarjetas ficticias más creadas por VMWare.  La primera de ellas "Adaptador de Ethernet VMWare Network Adaptar VMNet1" es la que ha recibido la IP 192.168.139.1 y se la ha proporcionado el servidor DHCP virtual que está configurado en el Virtual Network Editor para la red VMnet1 mostrada en el apartado anterior















No habrá nombre de máquina duplicado en la red:

Cuando se comparte una máquina virtual a los alumnos con un Sistema Operativo ya instalado, siempre tiene un nombre de máquina (en el sistema operativo). Por ejemplo, en Windows 7 se puede ver este nombre de máquina en el Panel de Control/Sistema (en este caso se llama PROFESOR).
A diferencia del ejemplo del adaptador de red en modo bridge, en el modo Host Only si los 25 alumnos del aula se copian esta máquina virtual en sus anfitriones y todos la encienden, no habrá problemas de nombres duplicados ya que, como se ha comentado, las máquinas virtuales Host Only solo las ve el propio anfitrión y nunca el resto de ordenadores del aula.


Licencia de Creative Commons
VMWare - Network Adapter Host Only by Miguel Ángel Zunda Calderón is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

lunes, 13 de abril de 2015

VMWare - Adaptador de Red: ¿Qué es el modo bridge?

Objetivo: 

Comprender qué estamos haciendo al configurar el interfaz de una máquina virtual creada con VMWARE en modo bridge.

Situación inicial:

Nuestro PC en el que está instalado el software VMWARE se le denomina anfitrión o host.
Hemos creado una máquina virtual (MV) y hemos instalado ya en ella cualquier sistema operativo.
El router que da acceso a internet tiene la IP 192.168.1.100.
Nuestro PC (anfitrión) está conectado al switch del aula a través de una tarjeta de red.

























Descripción del entorno bridge:

Al modificar el adaptador de red de la máquina virtual y configurarlo en modo bridge, estamos haciendo lo que se muestra en la imagen anterior, es decir, conectamos directamente la máquina virtual al switch del aula a través de su tarjeta de red. Acabamos de añadir un nuevo equipo en el aula, de la misma manera que si traemos un PC recién comprado y lo conectamos al switch del aula.

Posibles incidencias a tener en cuenta:

Nombre de máquina duplicado en la red:

Cuando compartimos una máquina virtual a los alumnos con un Sistema Operativo ya instalado, siempre tiene un nombre de máquina (en el sistema operativo). Por ejemplo, en Windows 7 se puede ver este nombre de máquina en el Panel de Control/Sistema (en este caso se llama PROFESOR). 


Si los 25 alumnos se copian la máquina virtual en sus anfitriones y todos la encienden, acaban de añadir 25 nuevos ordenadores al aula visibles por todos y todos se llaman PROFESOR lo cual es una fuente de problemas.  La solución es que cada alumno entre a su Sistema Operativo y en el Panel de Control / Sistema cambie el nombre a su máquina.

IPs duplicadas en la red:

Imaginemos también que la máquina virtual que hemos compartido tenía configurada la tarjeta de red con una IP estática. Por ejemplo, en Windows 7 se puede ver esta configuración en el Panel de Control / Ver el estado y las tareas de red










Si los 25 alumnos se copian la máquina virtual en sus anfitriones y todos la encienden, acaban de añadir 25 nuevos ordenadores al aula visibles por todos y todos tienen la misma IP, lo cual es una fuente de problemas. La solución es que cada alumno entre a su Sistema Operativo y en el Panel de Control cambie la IP fija por otra que no esté siendo utilizada en la red (o si hay un servidor DHCP que configure la tarjeta de red como dinámica)

Cuidado al montar sevidores DHCP en estas máquinas virtuales:

Al hacer prácticas con servidores DHCP en estas máquinas, hay que darse cuenta que todos los equipos del aula están viendo a los servidores DHCP de todas las máquinas virtuales puesto que, como se ha mostrado en la visión general, es como si las máquinas virtuales estuvieran conectadas al switch del aula. Por lo tanto, cuando un cliente pida una IP, todas las máquinas virtuales reciben el mensaje y responderán todas a la vez.  Para evitar confusiones, no se debe utilizar esta configuración de modo bridge para este tipo de prácticas.

¿Cómo configurar el modo bridge en la MV?

Es muy sencillo, En las propiedades de la máquina virtual, se selecciona la opción Network Adaptar y dentro de las opciones que se sugieren, se elige la opción Bridge.










Licencia de Creative Commons
VMWare - Network Adapter Bridge by Miguel Ángel Zunda Calderón is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.