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.
Introducción a las redes
Hoy en día es un poco innecesario explicar por qué son importantes las redes de datos para nuestra actividad cotidiana, sin embargo, es importante reconocer, que actualmente todas nuestras actividades están soportadas por las tecnologías de datos que se estudian en CCNA y las certificaciones subsecuentes. Hay algunos términos un poco mercadológicos como BYOD o Bring your own device que permiten trabajar con equipos como teléfonos móviles y tablets. Hay otro elemento histórico que será de importancia más adelante que consiste en que antes de que la red de datos fuera ubícua, es decir, que está en todas partes, las tecnologías de voz y video usaban redes separadas con tecnologías independientes. Hoy en día tanto teléfonos, como redes de video usan las redes de datos y ésto genera retos en el diseño de las redes ya que no fueron diseñadas para tráficos de ésta naturaleza (interactivos o con alta sensibilidad a la latencia -lentitud).
Este primer grupo de temas consiste en tres módulos, en el 1 se hace una contextualización y se enseña a instalar Packet Tracer, una herramienta muy importante para comprender el funcionamiento de la red y simular configuraciones. Aunque el contenido es muy viejo, les recomiendo ver ésta serie de publicaciones en las que describí los tópicos principales de uso de Packet Tracer. Para mí hay dos temas clave en ésta primera parte: configuración básica de routers y switches Cisco, la cual se ve en el módulo 2 y la conectividad básica como introducción a las comunicaciones de datos que se ve en el módulo 3. Me voy a enfocar en el tema del módulo 3, ya que luego tendremos oportunidad de practicar configuraciones, sin embargo, les dejo otra entrada vieja en la que colgué una clase completa sobre configuración básica de routers Cisco. El tema en sí es el mismo, para el actual examen han cambiado algunos términos y espero poder actualizarles el contenido.
Conectividad básica: MAC e IP
Aunque el tema parece fácil y de relleno, comprender muy bien cómo funciona la red es fundamental para aprobar el examen de certificación. Según la descripción oficial de la certificación, casi el 40% del examen recae en el curso de ITN. Hay varios conceptos que aprender: protocolos, modelos, opciones de entrega (delivery: unicast, multicast y broadcast). En el módulo 3 se ofrece introducción a varios temas que se verán con mucho más detalle más adelante, como el modelo OSI, los protocolos TCP/UDP y el protocolo IP. A éstas alturas todo es introductorio por lo que no se deben apurar en comprenderlo todo, sólo los principios de funcionamiento y sus términos. Por lo pronto es importante que tengan en cuenta que cuando se habla de TCP/IP no se habla de un protocolo solamente, sino de un conjunto de protocolos (o suit de protocolos) que vienen juntos y que comprenden una serie de herramientas de comunicación para los diferentes sistemas operativos. Es decir, TCP/IP incluye protocolos como IP, TCP, UDP, ARP, DHCP, estos protocolos, comparados con el modelo OSI ofrecen funciones de capas superiores (más adelante se verá en detalle el modelo OSI y sus funciones). De otro lado, si existen éstos protocolos de capas superiores, deben existir otros de capas inferiores que lidian más con las tripas de la electrónica y señales necesarios para que la información viaje. El protocolo de «bajo nivel» más universal que tenemos hoy en día es Ethernet, que poco a poco se vuelve tan ubícuo como IP. Como ven, los protocolos se complementan, coexisten de manera «simbiótica», cada uno hace una parte de la comunicación completa.
El proceso más importante que se describe en el módulo 3 es la comunicación desde el host, es decir, la PC, tablet o el dispositivo que sea que use la suit de protocolos TCP/IP para comunicarse con el mundo. Todo host tiene dos direcciones básicas: una de enlace de datos y otra de red, la de enlace permite identificar de manera única a cada host en el mismo «segmento», es decir, en el alcance de una misma tecnología de bajo nivel, generalmente Ethernet. La dirección de red no sólo identifica el host, también identifica la red siendo a la vez independiente de la tecnología de capa de enlace, es decir, es una especie de mecanismo de ubicación de nodos y segmentos. Ambas direcciones son necesarias, la primera porque es obligatorio que cada nodo tenga un identificador único en su tecnología y la otra, porque dos hosts pueden estar en diferentes ubicaciones y cada ubicación podría tener una tecnología diferente. En otras palabras, la dirección de enlace es como el nombre y apellido de una persona y la dirección de red es como la dirección de la casa de esa persona. En la misma casa nos identificamos por el nombre, pero si enviáramos una camisa, un celular o cualquier otra cosa a un amigo, necesitaríamos la dirección de su casa, para que quien lleve el paquete al destinatario sepa cómo llegar.
Nuestras dos direcciones más comunes serán la dirección MAC y la dirección IP, la primera es la dirección de enlace de datos y es una dirección usada en redes Ethernet (casi todas). La dirección IP, la famosísima, es una dirección diseñada para ser usada en cualquier tecnología, no sólo Ethernet y es la dirección de red. En el módulo 1 se estudia cómo configurar los parámetros IP de una PC, lo mínimo necesario es una IP y una máscara, la puerta de enlace es una dirección IP opcional, generalmente pertenecienta a un router y sólo se usa cuando la PC que estamos configurando necesita comunicarse con otras redes o con Internet como veremos a continuación. La dirección MAC no se configura porque viene fija en cualquier tarjeta de red Ethernet, es una dirección de hardware y en teoría no se debe cambiar. Recuerden: una MAC o una IP son sólo las direcciones más comunes de enlace de datos y de red respectivamente. Una dirección MAC consiste en 48 bits representados en dígitos hexadecimales: 74-C6-3B-D0-81-26, cada dígito representa 4 bits. Una dirección IP es una dirección de 32 bits representados en 4 octetos en dígitos decimales: 192.168.1.1, a esta notación se le llama decimal punteada. En algún lugar de la memoria debe existir un mapeo o correspondencia entre una IP y la MAC.
Dado que las comunicaciones de datos se basan en protocolos, nuestra información se transforma en mensajes de petición y respuesta de diferentes protocolos. Una sola acción nuestra puede desencadenar mensajes de múltiples protocolos, cada protocolo toma la información proveniente del protocolo superior, agrega información pertinente a su función y lo entrega al protocolo inferior, al final todos éstos mensajes, así como la información misma se traducen en bits. A la acción de convertir nuestra información en bits se le denomina encapsulación (no confundir con el formato de trama que se ve en los temas de WAN) y a reensamblarla en su forma original a desencapsulación. Cada capa tiene un nombre para su unidad de datos y ésta es una pregunta típica del examen. Los datos del usuario se transforman en unidades de datos genérica (PDU por sus siglas en inglés: Packet Data Unit), Segmentos (o Datagrama), Paquetes, Tramas y Bits respectivamente.
Primera decisión de enrutamiento: elección de siguiente salto
Continuando con el tema de hacer llegar el paquete al destino, cuando la PC tiene un paquete que requiere llegar a cierto destino, la primera decisión que se toma es: cuál es el siguiente salto? Sólo hay dos posibilidades:
- El destino está en la misma red
- El destino no está en la misma red
Podría existir un tercer caso: no hay acceso a la red 🙂 En el primer caso, si el destino de la comunicación está en la misma red, la tarjeta de red (o NIC por sus siglas en inglés Network interface card), intentará hallar la dirección de enlace del destino, en éste caso la dirección IP y la MAC son las del destino final. En el segundo caso ocurre un proceso muy bonito e importante: la dirección de enlace no es la misma del destino final sino la de la puerta de enlace (dispositivo intermediario). En principio ésto suena un poco ilógico, pero hay que tener en cuenta que si el destino no está en la misma red, no es posible encontrar la dirección MAC. De otro lado, el router, que es la puerta de enlace, no usa la MAC sino la IP para llevar el paquete al destino final. Veamos el proceso.
Observen detenidamente la siguiente red:
En éste diagrama tenemos una PC y una Laptop, ambos en el mismo segmento, conectados a un switch (invisible para los hosts) y, mediante éste, a un router que a su vez es la puerta de enlace para todos los dispositivos conectados al mismo segmento. Noten que la IP del router, que conecta al switch, es la misma que usan todos como GW (gateway o puerta de enlace), el switch no tiene IP, lo cual significa que éste no hace parte de la red todavía y no es necesario, por ahora el switch es transparente para los hosts de la red. Cada interfaz de un router es un segmento diferente, también llamado subred si hablamos en términos de direccionamiento IP. En otras palabras, en el diagrama tenemos tres segmentos: la PC, la Laptop y una interfaz del router Lan; el enlace entre los dos routers y por último el enlace entre el router de Datacenter y el Servidor. El diagrama es tomado de Packet Tracer 7.2.2 y los tipos de enlace son importantes para ésta primera parte del curso: la línea punteada es un cable UTP (cobre) cruzado, la línea contínua es un cable de cobre (UTP) directo. Como ven, cuando los dispositivos se conectan con el Switch usan cables directos y cuando se conectan dispositivos iguales o de host a router se usan cables cruzados. Por último, las direcciones IP que usa el ejemplo son especiales: pertenecen a los rangos de direcciones privadas. En éste diagrama hay mucho que recordar para el examen de certificación y lo usaremos mucho en subsiguientes ejemplos. A continuación les dejo un video que hice hace varios años ya, la interfaz del PT ha cambiado muchísimo, pero los conceptos siguen siendo los mismos.
Volviendo al tema de la comunicación básica, los dispositivos deben decidir cuál es el siguiente salto, es decir, qué MAC destino debe tener la trama o «paquete». En el caso del diagrama, la PC debe decidir si el siguiente salto es el destino final o el router. Si la PC envía un paquete al servidor, el cual está en un segmento de red diferente al de la PC, la IP destino será 192.168.0.5 pero la MAC será la del router; de otro lado si la PC envía un paquete a la laptop (la cual se encuentra en el mismo segmento) tanto IP como MAC destino serán las de la laptop. El criterio para saber si es el mismo segmento o no se basa con comparar las direcciones IP origen y destino en una cierta cantidad de bits, los que indique la máscara del origen. Un pequeño paréntesis antes de continuar, la máscara 255.255.255.0 en binario tiene los primeros 24 bits en 1 y los últimos 8 están en cero, la máscara 255.255.255.240 consiste en 28 bits en 1 seguidos de 4 ceros, este límite entre unos y ceros es la porción de las IPs origen y destino son las que serán comparadas para saber si están en el mismo segmento o no. El proceso de aplicar la máscara es un AND bit a bit y se verá más adelante, pero por ahora con máscaras de octetos enteros podemos asumir que cada 255 en la máscara significa que el número de las IP serán comparados (o quedan igual tras el AND) y cada cero de la máscara hace que el nro correspondiente en la IP se vuelva cero. Todo lo aclara un ejemplo: si la IP origen es 172.16.0.2 con máscara 255.255.0.0 (/16) y la IP destino es 192.168.0.5 (la PC desconoce la máscara del destino), la PC aplica la máscara a su IP y obtiene 172.16.0.0 (que es su dirección de red), cuando aplica la misma máscara a la IP destino obtiene 192.168.0.0 lo cual, evidentemente, es diferente, por ende el destino está fuera de su segmento. De otro lado si el destino fuera la laptop, aplicar la máscara daría 172.16.0.0, es decir, lo mismo que para su propia IP, por ende están en el mismo segmento. Para refrescarles: en el primer caso la PC envía la trama con IP destino el server pero con la MAC del router, en el segundo caso tanto IP como MAC son las de la laptop. Ésta idea es crítica para aprobar el examen de certificación.
Observando el tráfico en Packet Tracer: elección de primer salto
Para generar tráfico podemos usar ping en el CMD de la PC. Ping genera paquetes ICMP, pero éste protocolo es básicamente paquetes IP con un encabezado adicional muy simple. En PT se puede observar el comportamiento de los protocolos usando el modo de Simulación y seleccionando los protocolos a observar, en nuestro caso queremos ver ICMP y ARP. Ya sabemos para qué ICMP, ARP es un protocolo que permite mapear direcciones IP con sus correspondencias MAC, es decir, guardar qué IP y MAC tiene cada nodo en el mismo segmento.
Entrando a modo simulación abrimos el CMD de la PC y hacemos un ping a la laptop. Inmediatamente aparecen dos sobres al lado de la PC, éstos representan un paquete de ARP y un paquete de ICMP, el primero se enviará para preguntar por la MAC de un host cuya IP es 172.16.0.3 y el segundo usará el resultado para ensamblar el paquete definitivo. ARP se basa en broadcast, es decir, en enviar un paquete con una dirección destino especial que llega a todos los nodos conectados, los obliga a leer el paquete y si deben responder lo harán. Si la PC ya tuviera en su tabla de arp la correspondencia IP-MAC de la laptop no se enviaría paquete ARP, dado que éste tiene el propósito de conocer tal correspondencia, en otras palabras, sólo la 1a vez se verá un paquete ARP, la segunda vez no.
En modo simulación, el usuario controla los eventos de la red. Si seleccionaron en los filtros sólo ARP e ICMP, la simulación va a mostrar sobres de diferentes colores cuando se genere un paquete de cada protocolo. La ventana panel de simulación mostrará los eventos y allí mismo uds pueden controlar paso a paso las decisiones y acciones que hacen los elementos de red. Una vez que ingresamos al modo simulación, seleccionamos ARP e ICMP, damos clic sobre la PC, buscamos Desktop, luego Command prompt y escribimos ping 172.16.0.3. Cuando damos enter aparecen los sobres en la red y en el panel. Noten que en el panel aparecen los pasos, tiempos, de qué dispositivo sale y a qué dispositivo ingresa así como el tipo de protocolo, al cual se le puede dar clic para descripciones de qué ocurre de entrada y de salida en el dispositivo de la segunda columna (At device). Exploren!
Cuando dan click en el sobre o en el cuadro de color del panel verán lo siguiente:
En ésta ventana pueden ver que en la capa 3 dice la dirección IP origen y destino y en la capa 2 la dirección MAC. Para terminar, descarguen el archivo de PT que les dejo y hagan el ping que les acabo de describir, observando qué ocurre con las direcciones MAC cuando pasa entre los enrutadores. Si lo hacen notarán que las direcciones IP no cambian en todo el recorrido, mientras que las direcciones MAC van a cambiar en cada segmento y en el primero será la MAC del router, es decir la puerta de enlace. Desde la PC deberían ver lo siguiente:
Como ven, después del primer ping (a la laptop) se ve una entrada arp para la IP de la laptop, luego del segundo ping (al servidor) se ve sólo una nueva entrada arp: la puerta de enlace. Por qué no está la IP del servidor? porque no es accesible desde la PC, éste usa el router para hacer llegar el paquete y ni siquiera el router mismo sabe la MAC del servidor. Éstos comandos se pueden ejecutar sin riesgo en cualquier computadora Windows o Linux. También es normal que se pierdan los primeros paquetes: los routers son dispositivos que transfieren muchos paquetes por segundo, por lo tanto, cuando un router no tiene la MAC del destinatario descarta el paquete, pero dispara una petición ARP, por lo que el próximo paquete que tenga ese destino no será descartado. Éste comportamiento es normal en los routers pero no en los hosts, dado que éstos no tienen la responsabilidad de enviar tráfico masivamente como sí lo hacen los routers. En el caso anterior, el primer paquete se pierde cuando el router 1 no conoce la MAC del router 2 y el segundo cuando el router 2 no conoce la MAC del servidor.
Conclusiones y siguientes publicaciones
En resumen, el concepto más importante de ésta primera parte es: cómo se determina el siguiente salto? No es un concepto trivial, es fundamental que recuerden cómo interactúan las direcciones IP y MAC a éste nivel. En otros capítulos verán los detalles de cada dirección, la estructura de las unidades de datos respectivas y otros detalles más sofisticados de cada protocolo, pero por ahora sólo comprendan eso y exploren la interfaz del Packet Tracer. Más adelante, verán lo importante que es saber usarlo para entender la red y aprobar el examen de certificación. Gracias por la lectura y si les pareció valioso el contenido por favor compartan y recomienden. Hasta pronto.