Redes de Datos

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.

Enlaces interesantes: Sem. 8/2020

Videotutorial de GIT en español

Aunque éste es un blog de redes, el rol de DevOps involucra saber de muchos sistemas de apoyo al desarrollo de aplicaciones de automatización, por ende, me tocó aprender de GIT y no sólo de cómo se usa sino de crear un server local. Por lo pronto les recomiendo éste tuto, en Español, relativamente actualizado (2015) y fácil de seguir. Fuente: https://www.youtube.com/watch?v=jSJ8xhKtfP4&list=PLTd5ehIj0goMCnj6V5NdzSIHBgrIXckGU

CCNAv7 ITN: Temas y recomendaciones

Éste año planeo enfocarme en contenidos más concretos, así que voy a empezar a escribir temas alineados con el contenido de éstos cursos. Les recomiendo estar pendientes. En esta nota, les voy a resumir el contenido del primer curso de CCNA en la versión 7, recién cocinada en el 2do semestre del 2019 y a su vez será el derrotero de las siguientes publicaciones. Disfrútenlo.

Obstáculos de la automatización

La automatización de tareas en operación de redes de datos comienza desde crear un excel con fórmulas hasta sdn. Pero el principal problema de iniciar el proceso de transición es la mentalidad de los ingenieros y de los liderazgos en la organización.

Pasé a un área nueva y lo 1o que pregunté fue qué creían que se puede automatizar y la respuesta (común a muchas áreas) es que difícilmente se podría automatizar. Aunque lo que he escrito no tiene una orientación particular, yo me desempeño en redes de datos y lo que voy a escribir está orientado a la automatización de redes, seguro que ésto aplica a cualquier otro ámbito de aplicación, pero ese es mi contexto.

Enlaces interesantes Semana I/2020

Feliz año a los lectores, especialmente aquellos que están pendientes de las publicaciones. Para éste año voy a hacer un esfuerzo por alinear los contenidos de éste blog con el temario de la última versión de CCNA, la 7a, vigente desde finales del año pasado. Estén pendientes.

Qwiklabs: plataforma de laboratorios de Google

Yo estaba un poco alejado de las tecnologías de programación y el año pasado me topé con una gigantesca transformación, una serie de tecnologías de prototipado rápido basadas en virtualización de diferentes niveles. Docker, Kubernetes y ambientes virtuales son los nuevos entornos de desarrollo. El enlace reseñado es un laboratorio para aprender de éstas tecnologías de la mano de Google y Amazon, pensé que eran gratuitos pero sólo cursos muy básicos lo son. Reseña: https://www.qwiklabs.com/

Movistar retorna frecuencias en México

Telefónica Movistar, ingresó a latinoamérica con todo el poder y excelente servicios, pero toda esa gracia ha caido poco a poco hasta el momento actual en el que se está contrayendo su capacidad. Muestra de ello son los años de contracción que ha tenido en todos los países en los que opera. La nota reseñada menciona el retorno de frecuencias como una forma de mejorar sus finanzas, un convenio con AT&T y la intención de reinvertir más inteligentemente, pero también menciona que en Colombia no va a participar en una subasta por espectro que se va a llevar a cabo éste año. Nota original en: https://www.eleconomista.com.mx/empresas/Telefonica-renuncia-a-sus-concesiones-mexicanas-en-las-bandas-de-800-MHz-y-PCS-20200101-0012.html

2020 será el año de las telecomunicaciones en México?

La nota reseñada menciona un crecimiento en 2019 del 7%, situación que, combinada con una inversión importante del sector estatal, genera un ambiente de confianza en el sector. Se mencionan varios rubros de inversión y algunos de los retos. Nota original en: https://expansion.mx/opinion/2020/01/01/2020-el-ano-de-las-telecomunicaciones

10 cursos gratuitos para aprender Docker

Aunque mi mundo es de redes, la frontera entre redes y programación se empieza a diluir, por ende, el recurso reseñado me resulta muy atractivo dado que los contenedores son la forma moderna de desarrollar debido a la facilidad de desplegar versiones sin muchos riesgos. Docker es una de las más populares plataformas de contenización (?) y la nota reseñada tiene cursos de diferentes niveles para aprender sobre la herramienta. Nota original en: https://dev.to/javinpaul/10-free-courses-to-learn-docker-in-2019-56n0

eNSP: el poderoso emulador de Huawei

Toda persona que haya asistido a un curso de CCNA conoce el Packet Tracer, una gran herramienta de índole pedagógica diseñada y mantenida por Cisco pero que entra en la categoría de simulador, es decir, un programa que imita el comportamiento de los dispositivos. Más interesante y en otro nivel está GNS3, muy conocido en entornos de mayor nivel porque es un emulador, es decir ejecuta imágenes reales de equipos, en otras palabras, crea redes virtuales que se comportan igual que redes reales. Y, finalmente, quien haya leído mi blog durante los últimos meses conoce bien Eve-NG que es como un GNS3 pero mucho más escalable y ajustable. En todos los casos nos quedamos sin la posibilidad de emular dispositivos Huawei, los cuales en general no se pueden emular en éstas aplicaciones de terceros. En ésta entrada les quiero describir el emulador propio de Huawei, llamado eNSP o Enterprise Network Simulation Platform y aunque el nombre refiere simulación, en realidad es un emulador con imágenes sintonizadas para el programa. Disfrútenlo.