César

Direccionamiento IPv4 en la práctica: subnetting

Hemos trabajado con direcciones IP pero todavía no hemos explorado la mecánica de asignar direcciones IP. Pues llegó la hora, en ésta publicación les voy a describir los diferentes tipos y usos de direcciones IPv4 y cómo diseñar esquemas de direccionamiento. En la publicación siguiente expondré el mismo tema pero aplicado a IPv6. Éste contenido ayuda a comprender el módulo 11 del curso de CCNA7 ITN. Disfrútenlo.

Configuración de una red básica para CCNAv7 ITN: Mod 10

En ésta entrada les voy a describir cómo configurar la red que hemos venido usando en las últimas publicaciones, la cual es una red típica para enseñar los fundamentos de una red de datos. La red de la que hablamos comprende dos hosts, un servidor, un switch y dos routers. Una vez repasados los procesos, procederemos a configurar todos los elementos. Éste tema resume con un poco más de contenido el módulo 10 de CCNAv7 ITN. Disfrútenlo.

Introducción: comunicación en una red básica

Vamos a comenzar describiendo los procesos que van a ocurrir y que debemos observar una vez configurada. Tenemos dos hosts que comparten la misma red con una interfaz del router LAN, se preguntarán: por qué no menciono el switch? Simple: el switch es transparente para los hosts, su trabajo no lo deben detectar los otros nodos de la red, sin embargo, si el switch es gestionable, es decir, tiene una IP y se puede ingresar a él remotamente, entonces actúa como un host más. Que el switch tenga una ip y sea gestionable no cambia su condición de dispositivo transparente, tener o no tener IP no afecta directamente su funcionamiento.

Éstos dos hosts (igual que la interfaz del router y el switch en caso de tener IP) envían broadcasts arp para conseguir las direcciones MAC si se envían tráfico unos a otros. Como la IP del router es la puerta de enlace, ésta en particular va a ser objeto de muchas de éstas peticiones arp: recuerden, cada vez que un host envía información fuera de su propio segmento de red debe preguntar por la mac del router. Éste proceso de resolución de direcciones, lo realiza en cualquier dispositivo con una IP, en particular, en los entornos ethernet (sólo allí existen direcciones MAC).

Los routers deben tener en sus tablas de enrutamiento las direcciones de red de todos los segmentos de la red, eso probablemente lo veamos en mucho más detalle en las próximas publicaciones, sin embargo, hoy lo vamos a configurar. Como todavía estamos analizando el funcionamiento de la capa 3 del modelo OSI, sólo analizaremos la configuración y la comprobación inicial de conectividad que es punto a punto.

Opciones de simulación: Packet Tracer, Red real, Eve-NG/GNS3

Como el objetivo es conocer y practicar la configuración de routers y switches Cisco, tenemos que tener alguna forma de acceder a su software (o un sustituto razonablemente fiel), es decir al IOS o Internetwork Operating System propietario de Cisco. Existen dos alternativas: un simulador o un emulador, aunque antes los simuladores eran populares, han caído en desuso y ahora el único popular es el Packet Tracer. Éste programa es gratuito pero está vinculado con una cuenta en el sistema de academias de Cisco, que no sé si se pueda tener sin haber pagado un curso. De otro lado el usuario nunca caduca y se puede seguir usando. Menciono el usuario, porque la actual versión de PT inicia con una pantalla de autenticación que se va al sistema de autenticación global de Cisco y si no tienes un usuario válido no te deja usarlo 🙁 PT es un simulador muy fiel a la realidad pero orientado a la enseñanza: todo está diseñado para aprender cómo se configuran los dispositivos así como el comportamiento del tráfico en una red pequeña. A pesar de lo anterior, el PT está diseñado con fines educativos, no de análisis de capacidades o planeación.

La otra alternativa son los emuladores, siendo GNS3 el más famoso y con Eve-NG y sus variantes volviéndose cada vez más populares. Los emuladores son los preferidos para quienes persiguen certificaciones avanzadas como CCNP o CCIE dado que ejecutan imágenes reales, es decir, sus comportamientos son idénticos a los de routers reales y generan tráfico en tiempo real, haciendo la experiencia casi igual que acceder a una red física, incluso permitiendo que su uso sirva para planificar y calcular el uso de las redes a diferencia del PT. Éstos programas son mucho más exigentes en términos de cómputo, memoria y configuración, por ende no los vamos a estudiar hoy pero ya he escrito algunas cosas sobre ellos y al finalizar ésta serie voy a dedicar un rato a crear una buena red de CCNAv7 usando Eve-NG que es mi emulador preferido en éste momento.

Finalmente, quienes estén cursando un CCNA en alguna academia les recomiendo hacer buen uso del hardware que tengan a disposición porque es costoso y no es fácil conseguir acceso a ellos precisamente por eso. De otro lado, siempre es mejor acceder a equipos reales, sobre todo al principio de ésta carrera, dado que pueden existir pequeñas diferencias de configuración que pueden dificultar el aprendizaje y hacer una mala jugada para aprobar la certificación.

Configuración de los hosts

Como lo indiqué en la sección anterior, vamos a usar PT y a describir cómo se configuran los dispositivos en él. Observe detenidamente la siguiente imagen (ya la hemos venido usando en publicaciones anteriores, pero esta vez tenemos direcciones de red IPv6):

Si se fijan, hay 3 redes IPv4: 172.16.0.0/16, 10.0.0.0/8 y 192.168.0.0/24, las máscaras escritas en decimal serían 255.255.0.0 (/16), 255.0.0.0 (/8) y 255.255.255.0 (/24). IPv6 trabaja en paralelo a IPv4, es decir, que haya conectividad IPv4 no significa que la haya en IPv6, el nuevo protocolo se debe configurar como si la red sólo tuviera éste protocolo, por ende, se ven 3 redes IPv6, exactamente igual que las IPv4. Las redes en cuestión son 2001:db8:acad:10::/64, 2001:db8:feed:10::/64 y 2001:db8:cafe:10::/64, éstos son unas excelentes elecciones de direcciones para red de enseñanza! Recuerden que en IPv6 cada grupo de dígitos son 16 bits (cada dígito son 4 bits representados por un dígito hexadecimal), es decir que las 4 redes tienen 64 bits escritos y otros 64 que son sólo ceros, eso representa la terminación :: (lo que falta se rellena con ceros). Para simplificar ésta descripción vamos a completar las direcciones IPv6 con el mismo dígito del último octeto de la IPv4, es decir, la dirección IPv6 completa del PC0 es 2001:db8:acad:10::2/64 y la del router es 2001:db8:acad:10::1/64.

El router LanRouter Gi0/1 hacia la Lan y Gi0/0 hacia el otro router, que simularía la conexión con la WAN, es decir Internet o el proveedor de servicio. El router DataCenter se conecta a la WAN con la interfaz Gi0/0 y Gi0/1 al server directamente. Observen el uso de dis tipos de conexiones: una punteada y otra sólida, la conexión sólida es una conexión de cable de cobre UTP directo (cada alambre de un lado del cable lleva a la misma posición en el otro lado), la línea punteada representa un cable de cobre (UTP) cruzado, es decir, uno en el cual el par de alambres que hacen parte del par de transmisión en un lado del cable salen en las posiciones de recepción del otro lado, por eso se llama cruzado y es un tipo de conexión que ya no se usa con frecuencia pero que hace parte de lo que se pregunta en el examen. Noten también que para los hosts de la red LAN (PC0 y Laptop0) el gateway (GW en el diagrama) es el mismo y es la dirección del router (su puerta de enlace) en la interfaz que da a la LAN.

PT también simula una conexión por cable de consola, lo pueden ver como una línea curva azul claro en el panel de conexiones, ésta se conecta del puerto RS232 del PC o Laptop al puerto de consola de los dispositivos, sin embargo, para usar ésta conexión directa debemos ingresar al escritorio del PC y usar el ícono de terminal, que en un dispositivo real sería un programa como Putty, SecureCRT o minicom (linux).

La configuración de los hosts la hacemos por la interfaz gráfica, lo cual es equivalente a configurar un windows:

El resto de la configuración la haremos por consola o CLI que es el objetivo de ésta publicación.

Configuración de routers Cisco por CLI

En PT tenemos dos opciones para configurar por CLI: 1) abrir el dispositivo con un click y entrar a la pestaña CLI: si hemos configurado alguna cosa por la interfaz gráfica seguro estaremos en un contexto diferente el modo usuario que es el contexto inicial en la vida real. 2) Conectar un PC o Laptop mediante cable de consola: ésta opción es más realista y reflejará el comportamiento de éste tipo de conexión de una forma más fiel que la interfaz gráfica. Si notaron, el diagrama tiene un cable azul claro desde la PC0 hasta el router LanRouter, ésta es la conexión de consola. En la vida real, el cable es como una cinta y tiene un conector RJ45 de un lado y un conector DB9 del otro, el RJ45 no se conecta en puertos de red, sólo en el puerto de consola que también tiene una marca azul clara para diferenciarlo. No pasa nada si lo conecta en un puerto de red, sólo que las señales eléctricas son diferentes y no habrá conexión de ningún tipo. Una vez que conectamos el cable (en los puertos correctos), entramos al escritorio del PC, pestaña Desktop y le damos click al ícono de Terminal. No lo confundan con el siguiente (command prompt), ese simula comandos en el sistema operativo local, es decir el CMD de Windows. A continuación la serie de imágenes:

Yo les sugiero que comenzando hagan el mismo procedimiento para configurar los otros dispositivos (conecten el cable de consola e ingresen a la terminal), ésto les ayudará a recordar los parámetros de conexión de la consola que también serán preguntados en el examen.

Configuración básica en Cisco IOS

Ya en otra ocasión hablamos de lo que Cisco denomina configuración básica así que no nos vamos a detener allí. En resumen, la configuración básica consiste en poner un nombre al dispositivo, establecer un banner de ingreso, establecer contraseñas de consola, enable y vty, es decir, conexión directa, configuración y conexión remota (por red). Los comandos son los siguientes:

enable
config terminal
 hostname LanRouter
 enable secret Class
 line console 0
  password Cisco
  login
 line vty 0 4
  password Cisco
  login
  transport input ssh
  exit
 service password-encryption
 banner motd #
ADVERTENCIA: Dispositivo de acceso restringido!
 #
 end
copy run start

Lo anterior se puede usar como Script, es decir, lo pueden copiar y pegarlo en su router y quedará configurado. Si se fijan hay unos espacios iniciales, esos espacios los escribí para que noten qué comandos están dentro de algún contexto, por ejemplo, después de config terminal los siguientes comandos tienen un espacio inicial: se ingresó al contexto de configuración global. Después de line console 0 los siguientes comandos tienen otro espacio inicial y así sucesivamente. Ésta configuración básica es idéntica a los switches, con pequeñas diferencias.

La configuración anterior hace lo siguiente (en el orden de los comandos): entra en modo privilegiado, entra en configuración global, establece un nombre de dispositivo, establece una contraseña para configurar, ingresa a configuración de acceso por consola, establece una contraseña, establece que hay que pedir contraseña en la consola, ingresa a configuración de acceso remoto, establece una contraseña, establece que hay que pedir contraseña por acceso remoto, establece que el acceso remoto va a ser por ssh, sale del contexto de configuración de acceso remoto y queda en configuración global, establece que las contraseñas no van a quedar en texto plano en la configuración, establece el texto ADVERTENCIA: Dispositivo de acceso restringido como mensaje de ingreso al router, sale de cualquier contexto al modo privilegiado y guarda toda la configuración para que sea permanente y sobreviva un reinicio del sistema.

Configuración de red IPv4/6: interfaces y rutas

La configuración de red es más simple: ya configuramos los hosts para que usen a su router como puerta de enlace (si no lo han hecho con la laptop y el server, éste es el momento!). Lo que hay que configurar en los routers son dos cosas: las interfaces de red y las rutas (tema de la póxima publicación). Entonces en el mismo router y mediante la misma conexión vamos a ejecutar los siguientes comandos:

NOTA: Si se han salido o el routers los ha sacado de la sesión deberán ingresar las contraseñas que acabaron de configurar 🙂

conf t
ipv6 unicast-routing
interface giga0/1
 description TO_LAN
 ip address 172.16.0.1 255.255.0.0
 ipv6 address 2001:db8:acad:10::1/64
 no shutdown
int gi0/0
 description TO_WAN
 ip add 10.0.0.1 255.0.0.0
 ipv6 address 2001:db8:feed:10::1/64
 no shut
 exit
ip route 192.168.0.0 255.255.255.0 10.0.0.2
ipv6 route  2001:db8:cafe:10::/64 2001:db8:feed:10::2

Con la anterior configuración hemos establecido la configuración de las interfaces de red y las rutas necesarias para que los paquetes se vayan por las interfaces correctas. Noten el comando ipv6 unicast-routing, necesario para poder configurar IPv6, noten que las direcciones usadas en las rutas (comando ip route) son direcciones de red (terminadas en cero) y el último parámetro es una IP que no pertenece a éste router: es el siguiente salto! Éste tema lo veremos en más detalle en una próxima publicación, pero por ahora quédense con que ésta config es necesaria mientras no hayan protocolos de enrutamiento. NOTA: No olviden que toda configuración debe terminar con end y copy run start, escríbanlos antes de continuar!

Cómo verificar la configuración anterior? Mediante los comandos show ip interface brief, show ipv6 interface brief, show ip route y show ipv6 route. Desde los hosts y desde el router mismo, un ping hacia las IPs de los vecinos debe ser exitoso:

LanRouter#sh ip int bri
Interface              IP-Address      OK? Method Status                Protocol 
GigabitEthernet0/0     10.0.0.1        YES manual up                    up 
GigabitEthernet0/1     172.16.0.1      YES manual up                    up 
Vlan1                  unassigned      YES unset  administratively down down
LanRouter#sh ipv6 inte bri
GigabitEthernet0/0         [up/up]
    FE80::2E0:F7FF:FE6E:AA01
    2001:DB8:FEED:10::1
GigabitEthernet0/1         [up/up]
    FE80::2E0:F7FF:FE6E:AA02
    2001:DB8:ACAD:10::1
Vlan1                      [administratively down/down]
    unassigned
LanRouter#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 10.0.0.2 to network 0.0.0.0

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       10.0.0.0/8 is directly connected, GigabitEthernet0/0
L       10.0.0.1/32 is directly connected, GigabitEthernet0/0
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C       172.16.0.0/16 is directly connected, GigabitEthernet0/1
L       172.16.0.1/32 is directly connected, GigabitEthernet0/1
S    192.168.0.0/24 [1/0] via 10.0.0.2
S*   0.0.0.0/0 [1/0] via 10.0.0.2

LanRouter#sh ipv6 route 
IPv6 Routing Table - 6 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
C   2001:DB8:ACAD:10::/64 [0/0]
     via GigabitEthernet0/1, directly connected
L   2001:DB8:ACAD:10::1/128 [0/0]
     via GigabitEthernet0/1, receive
S   2001:DB8:CAFE:10::/64 [1/0]
     via 2001:DB8:FEED:10::2
C   2001:DB8:FEED:10::/64 [0/0]
     via GigabitEthernet0/0, directly connected
L   2001:DB8:FEED:10::1/128 [0/0]
     via GigabitEthernet0/0, receive
L   FF00::/8 [0/0]
     via Null0, receive
LanRouter#
LanRouter#ping 172.16.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/3 ms

LanRouter#ping 172.16.0.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.3, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms

LanRouter#ping ipv6 2001:db8:acad:10::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:db8:acad:10::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/3 ms

LanRouter#ping ipv6 2001:db8:acad:10::3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:db8:acad:10::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/11 ms

LanRouter#

No se apresuren: el primer ping siempre pierde un paquete, eso ocurre porque el router descarta cualquier paquete si no tiene la MAC destino, es decir, si el router no tiene la MAC en su tabla arp envía la solicitud pero el paquete que disparó esa petición se descarta. Ésto sólo ocurre en los routers, los hosts no tienen el mismo comportamiento.

Por ahora no podemos hacer ping al siguiente router ni al server porque no hemos configurado el otro extremo, los comandos en el otro router serían los siguientes (asumo que ya se ejecutó la configuración básica correspondiente):

conf t
ipv6 unicast-routing
interface giga0/1
description TO_LAN
ip address 192.168.0.1 255.255.0.0
ipv6 address 2001:db8:cafe:10::1/64
no shutdown
int gi0/0
description TO_WAN
ip add 10.0.0.2 255.0.0.0
ipv6 address 2001:db8:feed:10::2/64
no shut
exit
ip route 172.16.0.0 255.255.255.0 10.0.0.1
ipv6 route 2001:db8:acad:10::/64 2001:db8:feed:10::1

Con eso terminamos la configuración, lo que haga falta les queda de tarea. Si todo salió bien y quedó completamente configurado, se debe poder hacer ping de extremo a extremo, es decir, desde los hosts hasta el server y viceversa:

Acceso remoto: telnet o SSH

Toda la configuración que hemos hecho hasta ahora ha sido mediante un cable conectado directamente al router. Pero qué pasa si el router está en un cuarto de datos al que no se puede acceder? Ésta es la situación normal y para ello está el acceso remoto, que en las configuraciones anteriores lo configuramos con los comandos line vty. Ésta configuración permite hacer un telnet o un SSH a una IP del dispositivo y acceder a su CLI. En éste momento tenemos dos posibilidades: 1) cambiar la configuración para conectarnos por telnet (la más fácil) o 2) cambiar la configuración para conectarnos por ssh (la más segura). Yo opto por la 2a que es la más común hoy en día, pero debo advertirles que ésto tendrá consecuencias en la forma en la que nos conectamos. Para habilitar el uso de SSH en el router debemos ejecutar los siguientes comandos:

conf t
 username cisco password cisco
 ip domain-name cisco.com
 ip ssh version 2
 crypto key generate rsa
 line vty 0 4
  transport input ssh
  login local
  end
copy r s 

Qué hace la configuración anterior? crea un usuario local, establece las condiciones para generar la llave pública de ssh (dominio, versión y generación de llave), establece que el protocolo de conexión remota va a ser ssh, indica que para conectarse hay que usar un usuario local (ya configurado), sale y guarda.

Si podemos hacer ping desde la PC podemos ingresar a su escritorio y usar el cliente de Telnet/ssh:

Configuración básica del Switch

Antes de terminar, vamos a ver cómo se configura al switch. Observen que a pesar de que no lo hemos tocado, la red funciona perfectamente una vez que configuramos los routers y los hosts. La configuración básica del switch nos permite conectarnos a él para administrarlo remotamente como acabamos de hacerlo con el router.

La configuración del switch es un poco diferente, sus interfaces son capa 2, es decir, no soportan comandos de IP por ende se configura una interfaz virtual llamada vlan1 (el 1 es el valor por defecto) y se configura el default-gateway directamente. A continuación los comandos estrictamente necesarios (pueden agregar los adicionales de la config básica que ya mencionamos):

config terminal
 ena sec Class
 line vty 0 15
  pass Cisco
  login
  exit
 interface vlan 1
  ip add 172.16.0.10 255.255.0.0
  no shut
  exit
 ip default-gateway 172.16.0.1
 end
copy r s

Con ésta configuración podemos abrir el mismo cliente que usamos para el router, pero como en ésta ocasión no habilitamos ssh, cambiamos el protocolo a telnet y procedemos a conectarnos remotamente. También noten que como establecimos una contraseña de enable podemos configurar, de otra forma no. Intentelo y observen qué pasa si habilitamos telnet pero no ponemos la contraseña de enable.

Conclusiones y próximas publicaciones





Aunque en ésta entrada no se explota completamente la versatilidad de Packet Tracer, se puede ver que es muy útil para empezar a simular situaciones realistas como configuración de una red pequeña. Hemos recorrido la configuración básica y de capa 3, tanto en IPv4 como en IPv6, desde los hosts hasta los routers, es sencilla pero involucra conocer muy bien el funcionamiento de los protocolos y los dispositivos. Una conclusión importante es que IPv6 tampoco es tan complejo de configurar como uno creería, falta mucho, pero a nivel básico es muy parecida a la de su predecesor, lo malo: hay que configurarla completamente como si no hubiera conectividad.

En las próximas publicaciones exploraremos uno de los temas más importantes del temario para aprobar el examen 200-301 CCNA: el direccionamiento IP y las subredes. Espero que les haya sido de utilidad y si así fue por favor comenten, compartan y sigan el blog en Facebook.

ARP, captura de tráfico y análisis de protocolos: CCNAv7 ITN mod9

Nos faltan dos procesos básicos para cubrir el tema técnico de la primera parte de CCNA, ya les he insistido que deben prestarle mucha atención dado que es la base de todo lo «avanzado». Los procesos de los cuales hablo son resolución de direcciones y enrutamiento. En ésta entrada les voy a describir el proceso de resolución de direcciones en IPv4 e IPv6 y vamos a aprovechar para mirar cómo se ve ese tráfico en una red real. Disfrútenlo.

Capa 3 del modelo OSI, direccionamiento IP y routing (CCNAv7 ITN mod 8)

El módulo 8 de CCNA ITN, el primer curso de la versión actual (2020) de CCNA es la introducción a la capa de red y a IP en particular. A continuación resumiré un poco éste contenido concentrándome en los aspectos clave para comprender el tema y aprobar el examen. Disfrútenlo.

Conceptos ethernet (CCNAv7: Mod 7)

En ésta entrada voy a entrar en más detalle sobre la tecnología Ethernet y al final explicaré de manera muy simple como funciona un switch. El módulo 7 del curso ITN de CCNAv7 menciona un concepto importante al cual los estudiantes no prestan la atención suficiente: cómo funciona un switch? El tema es muy importante para esta etapa en una carrera de redes de datos, incluso hay conceptos de conmutación que los ingenieros con experiencia todavía no comprenden bien y se basan en el tema de éste módulo. Espero que les quede muy claro y además quiero hacer un pequeño corte dado que hasta acá llegan los temas introductorios del curso. Disfrútenlo.

Introducción

Como les mencioné, los temas introductorios terminan en éste módulo. Cuáles son algunas preguntas clave hasta ahora?:

  1. Qué es un segmento de red?
  2. Qué tecnologías de Capa 2 existen?
  3. Cómo se determina el siguiente salto?
  4. Cómo funciona un switch?
  5. Cómo se usa el CLI de Cisco y cuál es la configuración básica de un dispositivo?
  6. Cómo se configura una PC/Laptop y un switch/router para tener conectividad básica?

Esas son preguntas abiertas que se deben tener muy claras, no las puedo resolver ahora porque nos gastaríamos mucho texto, pero repasa tanto el contenido inicial como mis escritos anteriores con la etiqueta de CCNA ITN para tenerlas muy claras. Yo siempre he sugerido que se lleve una bitácora con los términos y datos duros que puedan ser necesarios para aprobar el examen, por ejemplo, qué significa 802.3z, qué otros nombres tiene, qué parámetros tiene la conexión de consola de los dispositivos Cisco, nomenclatura de Ethernet, estándares IEEE equivalentes a Ethernet pero en fibra óptica, órganos de estandarización: IEEE, IETF, ITU, ISO, etc..

Ethernet otra vez: resumen de la tecnología

En la publicación anterior describí Ethernet como un ejemplo de tecnología de capa 2 o capa de enlace de datos, para refrescar, existen tecnologías LAN y tecnologías WAN. En las redes de área local o LAN, casi todas son Ethernet, en la WAN o Wide-area network, hay varias alternativas y la transmisión por la WAN va a ser mucho más compleja que en la LAN. Los ejemplos típicos e importantes para CCNA de tecnologías WAN son PPP y HDLC, se menciona Frame Relay pero ya no se usa y no se va a preguntar en el examen.

Entonces Ethernet es la tecnología más importante de capa 2, principalmente por su uso en entornos LAN. Ethernet es el nombre comercial de uno de los estandares IEEE802, casi todos son variantes de 802.3. Básicamente es una tecnología asíncrona con tramas de longitud variable con un arbitraje del medio no determinístico diseñada para distancias cortas (inicialmente). Éste último divide el protocolo en tres partes, una que define los medios, otra que no depende directamente de los medios y una tercera que hace prepara los datos para la entrega al protocolo de capa superior. La subcapa dependiente del medio se llama MAC y la no dependiente se llama LLD, dentro de la subcapa MAC se definen los medios, es decir, 802.11 es Ethernet inalámbrico, el que conocemos como WiFi (nombre comercial) o las variantes de 802.3: u, z, ea que son variantes cableadas, unas de cobre y otras de fibra.

En qué consiste una trama ethernet?

La estructura básica de todas las tramas Ethernet cableado es igual, los primeros 4 campos se consideran el encabezado o Header:

  1. Preambulo o SFD (Start frame delimiter)
  2. Destination MAC
  3. Source MAC
  4. Type/Length
  5. Datos, carga o Payload (diferente nombres para lo mismo)
  6. FCS o Frame Check Sum (suma de verificación)

Cuando decimos Datos (o payload) es la información que se debe llevar de una estación a otra, éste contenido a su vez tiene otra estructura dictada por un protocolo de capa superior, por ejemplo encabezados IP o encabezados de algún otro protocolo. Los campos anteriores son la trama básica, una trama WiFi puede tener algunos campos adicionales para mejorar la transmisión por el aire pero en las capturas usualmente no se ven, adicionalmente hay tecnologías compatibles con Ethernet que introducen campos adicionales en el encabezado, por ejemplo las VLAN son una tecnología de capa dos que introduce un campo llamado Etiqueta o TAG que contiene una serie de información; también MPLS introduce un campo en éste encabezado en este caso llamado LABEL, otras tecnologías que afectan el encabezado Ethernet son QinQ y 802.1q pero éstos no son temas que se deban comprender a éste nivel.

Los campos MAC origen y destino son direcciones MAC de las estaciones, sólo se pueden ver dentro del mismo segmento de red, éstas son 48 bits (o 6 bytes) escritos en hexadecimal, por ejemplo: 0C-54-15-E7-C2-07, cada dígito es hexadecimal, es decir son caracteres de 0 a 9 y de 1 a f, adicionalmente representa 4 bits, osea que cada «unidad» separada por guión en éste caso es un octeto. No siempre están separados por guión, a veces se usa espacio o dos puntos. Los primeros 3 octetos tienen una serie de consideraciones especiales, se les conoce como OUI por sus siglas en inglés Organization Unique Identifier e identifica al fabricante del hardware.

El campo Type/Length o tipo/longitud es un campo curioso porque tiene dos usos: identificar el protocolo que contiene ésta trama en el campo Datos o definir la longitud de la trama. La regla básica es muy simple, si éste campo tiene un valor menor a 1500 se interpreta como longitud de los datos y si tiene un valor mayor se interpreta como tipo de contenido, así mismo, valores menores implican que la trama es Ethernet y valores mayores que es IEEE802. Una trama debe llevar en su carga de 64 a 1500 bytes, el campo type/length se lee en hexadecimal, usualmente notada con 0x, 0x600 equivale a 1536 (Bytes), si la trama lleva un contenido IP el campo se interpreta como Type y contiene el valor 0x0800 (el identificador de IP), si lleva contenido IPv6 el campo Type lleva el contenido 0x86dd y así. Si quieren conocer todos los tipos de datos o protocolos que puede llevar una trama ethernet, busquen ethertype en la página de la autoridad de numeración de internet conocida como IANA (Internet Assigned Numbering Authority en inglés).

La suma de verificación o FCS es un mecanismo básico para evitar que se lea información equivocada, es decir, evitar que una trama que se haya corrompido en el medio se interprete como información válida.

Familias de direcciones MAC

Existen tres posibilidades de comunicación:

  • Uno a uno, llamada Unicast
  • Uno a varios, llamada Multicast
  • Uno a todos, llamada Broadcast

Para poder implementarlas, se necesitan direcciones especiales. La dirección MAC de una estación cualquiera es una dirección unicast y se usa para enviar información a un destino específico o para identificar un nodo dentro del mismo segmento. Como ya lo habíamos mencionados, los primeros 3 octetos de una dirección MAC tienen usos especiales, uno de esos usos es identificar el fabricante, pero hay algunas direcciones especiales que no pertenecen a un fabricante, por ejemplo la MAC de un protocolo de red. Existen dos bits de uso especial en el primer octeto, uno llamado U/L o Universal/Local y otro llamado I/G individual/group. Si una MAC es única, el caso más común, el último bit del primer octeto debe tener el valor 0. Veamos: 0C-54-15-E6-C3-0A, ésta es una MAC de mi laptop (editado). Si se fijan, el primer octeto es 0C, en binario 0000 1100 (ver sistemas numéricos), el bit en negrita es el bit I/G, en éste caso esta MAC es única (o individual según el nombre del bit). De otro lado la mac 01-80-C2-00-00-08 es una MAC que se usa para alcanzar todo switch que hable el protocolo STP. En éste caso, el primer octeto es 01, en binario 0000 0001, como ven, el último bit es 1, lo que significa que es una MAC de grupo. El bit U/L va a ser importante para el tema de IPv6, por ahora, recordar que éstos bits hacen parte de cualquier MAC y tienen significado especial. En resumen: tenemos MAC de Unicast cuyo primer octeto debe tener un 0 en su último bit (cualquier nro par o letras A, C y E) y direcciones de Multicast que deben tener un 1 en el último bit del primer octeto (cualquier nro impar o letras B, D y F).

Multicast es un tema largo, por lo que por ahora vamos a comprender que existen direcciones especiales que obligan a cualquier host que pertenezca a ese grupo particular a leer y procesarla. Varios ejemplos simples son protocolos de red, por ejemplo, todos los switches que hablan STP conforman un grupo, leen y responden a cualquier trama que tenga como MAC destino la dirección 01-80-C2-00-00-08, pero no es el único protocolo que usa este mecanismo, de hecho, multicast es uno de los temas más importantes en temas avanzados de datos.

Finalmente el broadcast es una trama especial que obliga a todos los hosts en el segmento a leer y procesar el contenido de la trama. Un ejemplo típico es el protocolo ARP que ya hemos mencionado antes. ARP pregunta por MAC de IPs específicas, por ejemplo la IP del gateway que está almacenada en la configuración, pero la MAC no, por lo que cuando la estación (host) debe enviar tramas fuera de su segmento, primero busca la MAC del gateway en su tabla arp y si no la tiene envía un paquete ARP, el destino de éste paquete es una IP 255.255.255.255 y la dirección MAC correspondiente es FF:FF:FF:FF:FF:FF. De ésta manera todos los nodos en el segmento ven la trama, la procesan pero sólo el Gateway responde y la estación guarda la correspondencia entre IP y MAC en su tabla ARP durante 5 minutos generalmente.

Cómo funciona un switch?

Para terminar, un switch tiene un hardware especial dedicado a reenviar tramas, en otras palabras, las decisiones de reenvío que toma un switch las hace con base en el encabezado Ethernet exclusivamente, por eso se considera un dispositivo de capa 2. A pesar de que ya hemos visto que a un switch se le asigna una IP, ésta es exclusivamente para gestión y no interactúa con el tráfico de los usuarios.

La base de funcionamiento de un switch son las direcciones MAC, ambas se usan para llenar una tabla llamada MAC address-table que relaciona MACs con puertos. Es un tipo especial de memoria que hace la búsqueda con base en el contenido, es decir, busca un puerto con base en la MAC, a éste tipo de memoria se le llama CAM por sus siglas en inglés content-addressable memory. Cuando una trama ingresa a un switch por primera vez, éste toma la MAC destino y busca el puerto por el cual debe salir pero, por ser primera vez, no esta en la tabla de MACs y la envía a todos los puertos excepto aquel por el cual ingresó. A éste fenómeno, que sólo ocurre la primera vez que se ve una MAC en un switch, se le conoce como flooding o inundación de MAC, es normal y no ocurre siempre. En éste mismo momento, el switch guarda la MAC origen y la asocia con el puerto por el cual ingresó y de esa manera va llenando la tabla. En otras palabras: la MAC origen llena la tabla de MAC, la MAC destino es la que se usa para reenviar la trama al puerto correspondiente, sólo cuando no la MAC destino no está en la tabla se hace flooding.

Aunque un switch hace muchas más cosas y es un dispositivo un poco más sofisticado, a éste nivel sólo necesitamos comprender perfectamente el comportamiento que acabo de describir: cómo se usan las MAC origen y destino en un switch.

Conslusiones y siguientes publicaciones





Intenté resumir tanto como es posible el tema, que en realidad es uno de los más importantes para aprobar el examen de certificación. No es difícil y cuando se enseña se involucra mucha terminología innecesaria, así que espero haber hecho un buen trabajo, ya uds. dirán.

En resumen: Ethernet es la tecnología de capa 2 más importante, usa CSMA/CD o CSMA/CA como método de arbitraje del medio, tiene un contenido de tamaño variable (mucho) y tiene unos campos que sirven para que los switches reenvíen el tráfico a una gran velocidad (usualmente se le dice wirespeed).

Espero que les haya gustado y si así es comenten y compartan. En las próximas publicaciones empezaremos con los temas de comunicación entre redes (direccionamiento IP y routing).

Comunicaciones y modelos de protocolos (CCNAv7: Mod 1, 2 y 3)

Como ya lo había mencionado en una publicación anterior, la primera parte del curso ITN o Introduction to networks, agrupa los primeros temas en el tema general de Comunicaciones y modelos de protocolos. Aunque es imposible resumir los tres módulos en una página, como instructor de muchos años de experiencia, les describiré lo que creo que concentra el conocimiento clave de éstas primeras 3 «clases», que dependiendo del instructor y la institución podrían ser una sola clase larga. Disfrútenlo.