Curso2-Semana2-La Capa de Red
Curso2-Semana2-La Capa de Red
Curso2-Semana2-La Capa de Red
DIRECCIONES IP
ENCAPSULACION Y DATAGRAMAS IP
De la misma forma que todos los paquetes de datos en la capa Ethernet tienen por
nombre específico
tramas de Ethernet, también lo tienen los paquetes en la capa de red.
En virtud del protocolo IP,
a un paquete se lo conoce, por lo general, como un datagrama IP.
Al igual que cualquier trama de Ethernet,
un datagrama IP es una serie de campos altamente estructurados que están estrictamente
definidos.
Las dos secciones principales de un datagrama IP son el encabezado y la carga útil.
Podrás notar que un encabezado de datagrama IP
contiene muchos más datos que un encabezado de trama de Ethernet.
El primer campo es de 4 bits,
e indica qué versión de protocolo de Internet se está utilizando.
La versión más común de IP es la versión cuatro o IPv4.
La versión seis o IPv6
está siendo adoptada rápidamente de forma generalizada,
pero esto lo veremos en un módulo posterior.
Después del campo de versión,
tenemos el campo de longitud de encabezado.
Este también es un campo de 4 bits que muestra qué tan largo es todo el encabezado.
Casi siempre tiene una longitud de 20 bytes cuando se trata de IPv4.
De hecho, 20 bytes es la longitud mínima de un encabezado IP.
No sería posible acomodar todos los datos necesarios
de un encabezado IP correctamente formateado en un espacio menor.
A continuación, tenemos el campo Tipo de servicio.
Estos 8 bits pueden usarse para especificar detalles
sobre la calidad de servicio o las tecnologías QoS.
Lo importante de la QoS es que hay servicios que permiten a los routers
tomar decisiones sobre qué datagrama IP puede ser más importante que otros.
El siguiente campo es un campo de 16 bits.
conocido como el campo Longitud total.
Se utiliza exactamente para lo que suena:
para indicar la longitud total del datagrama IP al que está asociado.
El campo de identificación es un número de 16 bits que se utiliza para agrupar mensajes.
Los datagramas IP tienen un tamaño máximo,
y es posible que a estas alturas ya sepas cuál es.
Dado que el campo Longitud total es de 16 bits,
y este campo indica el tamaño de un datagrama individual,
el tamaño máximo de un solo datagrama es el número más grande
que se puede representar con 16 bits: 65,535.
Si la cantidad total de datos que debe enviarse
es más grande de lo que puede caber en un solo datagrama,
la capa IP necesitará dividir estos datos en muchos paquetes individuales.
Cuando esto sucede, el campo de identificación se utiliza para que el extremo receptor
entienda que cada paquete
con el mismo valor en ese campo es parte de la misma transmisión.
A continuación, tenemos dos campos estrechamente relacionados.
El campo Indicador y el campo Desplazamiento de fragmentación.
El campo Indicador se utiliza para indicar si un datagrama puede fragmentarse,
o para indicar que el datagrama ya fue fragmentado.
La fragmentación es el proceso de tomar
un solo datagrama IP y dividirlo en varios datagramas más pequeños.
Si bien la mayoría de las redes operan con configuraciones similares
en términos de cuál es el tamaño permitido para un datagrama IP,
en algunas ocasiones podría haber configuraciones diferentes.
Si un datagrama tiene que cruzar desde una red que permite
un datagrama de mayor tamaño a otra red con un menor tamaño de datagrama,
se deberá fragmentar el datagrama en otros más pequeños.
El campo Desplazamiento de fragmentación contiene valores utilizados por el extremo
receptor
para tomar todas las partes
de un paquete fragmentado y reunirlos en el orden correcto.
Avancemos hacia el campo Tiempo de vida o TTL.
Este campo es un campo de 8 bits que indica
cuántos saltos de router puede cruzar un datagrama antes de ser desechado.
Cada vez que un datagrama llega a un nuevo router,
dicho router disminuye el campo TTL en una unidad.
Una vez que este valor llega a cero,
el router sabe que no tiene que reenviar más el datagrama.
El objetivo principal de este campo es asegurarse de que
cuando haya un error de configuración en el enrutamiento que cause un bucle sin fin,
los datagramas no se queden toda la eternidad tratando de llegar a su destino.
Un bucle sin fin podría ser cuando el router A piensa que el router B es el siguiente salto,
y el router B piensa que el router A es el siguiente salto; mala señal.
En un próximo módulo,
aprenderás que el campo TTL tiene cualidades valiosas para la resolución de problemas,
pero los secretos como estos solo se revelan a quienes perseveran.
Después del campo TTL,
encontrarás el campo Protocolo.
Este es otro campo de 8 bits
que contiene datos sobre qué protocolo de capa de transporte se está usando.
Los protocolos de capa de transporte más comunes son TCP y UDP,
y veremos ambos en detalle en las siguientes lecciones.
A continuación, encontramos el campo Suma de verificación de encabezado.
Este campo es una suma de verificación del contenido de todo el encabezado del
datagrama IP.
Funciona de manera muy similar al campo de suma de verificación de Ethernet que
analizamos en el último módulo.
Dado que el campo TTL debe recalcularse en cada router que toque un datagrama,
el campo Suma de verificación también cambia obligatoriamente.
Después de todo eso, finalmente llegamos a dos campos muy importantes,
los campos de las direcciones IP de origen y de destino.
Recuerda que una dirección IP es un número de 32 bits,
por lo que no debería sorprenderte que estos campos tengan una longitud de 32 bits.
A continuación, tenemos el campo Opciones de IP.
Este es un campo opcional y se utiliza para establecer
características especiales para datagramas usados principalmente con fines de prueba.
El campo Opciones de IP suele ir seguido de un campo de relleno.
Dado que el campo Opciones de IP es opcional y de longitud variable,
el campo de relleno es solo una serie de ceros utilizados
para asegurarse de que el encabezado tenga el tamaño total indicado.
Ahora que conoces todas las partes de un datagrama IP,
podrías preguntarte cómo se relaciona todo esto con lo que aprendimos hasta ahora.
Quizás recuerdes que en nuestro desglose de una trama de Ethernet
mencionamos una sección que describimos como la sección de carga útil de datos.
Un datagrama IP es exactamente esto,
y este proceso se conoce como encapsulación.
Todo el contenido de un datagrama IP
se encapsula como la carga útil de una trama Ethernet.
Tal vez hayas notado que nuestro datagrama IP también tiene una sección de carga útil.
El contenido de esta carga útil es la totalidad
de un paquete TCP o UDP, los cuales veremos más adelante.
Con suerte, esto te ayudará a entender mejor
la razón por la que hablamos de redes en términos de capas.
Cada capa es necesaria para la anterior.
CLASES DE DIRRECIONES DE IP
CIDR
Las clases de direcciones fueron el primer intento de dividir el espacio IP global de Internet.
La división en subredes se introdujo cuando fue evidente
que las clases de direcciones en sí mismas no eran tan eficientes para mantener todo
organizado.
Pero a medida que Internet siguió creciendo,
la división tradicional en subredes no pudo seguir el ritmo.
Con las subredes tradicionales y las clases de dirección,
la ID de la red siempre es de 8 bits para redes de clase A,
16 bits para redes de clase B,
o 24 bits para redes de clase C.
Esto significa que solo podría haber 254 redes de clase C,
pero también significa que hay 2,970,152 redes de clase C potenciales.
Son muchísimas entradas en una tabla de enrutamiento.
Para colmo, el tamaño de estas redes no siempre es apropiado
para las necesidades de la mayoría de las empresas.
254 hosts en una red de clase C son demasiado pocos para muchos casos de uso,
pero los 65,534 hosts disponibles en una red de clase B a menudo son demasiados.
Muchas compañías terminaron con varias redes de clase C contiguas para satisfacer sus
necesidades.
Eso implicó que las tablas de enrutamiento terminaran con un montón de entradas
para un grupo de redes de clase C que, en realidad, se enrutaban al mismo lugar.
Aquí es donde entra en juego CIDR, o enrutamiento entre dominios sin clase.
CIDR es un enfoque aún más flexible para describir bloques de direcciones IP.
Expande el concepto de división en subredes: usa máscaras de subred para demarcar redes.
Demarcar algo significa poner de relieve algo.
Al hablar de redes de computadoras,
a menudo oirás el término "punto de demarcación"
para describir dónde termina una red o sistema y comienza otro.
En nuestro modelo anterior, confiamos en una ID de red,
una ID de subred y una ID de host para entregar un datagrama IP a la ubicación correcta.
Con CIDR, la ID de red y la ID de subred se combinan en una sola.
Con CIDR obtenemos
esta notación de barra abreviada que analizamos en el video anterior sobre la división en
subredes.
Esta notación de barra también se conoce como notación CIDR.
CIDR básicamente abandona por completo el concepto de clases de dirección,
lo que permite que una dirección se defina con solo dos ID individuales.
Tomemos 9.100.100.100 con una máscara de red 255.255.255.0.
Recuerda, esto también puede escribirse como 9.100.100.100/24.
En un mundo donde ya no nos importa la clase de direcciones de esta IP,
todo lo que necesitamos es lo que la máscara de red nos diga para determinar la ID de la red.
En este caso, eso sería 9.100.100,
la ID de host sigue siendo la misma.
Esta práctica no solo simplifica cómo los routers
y otros dispositivos de red deben pensar en partes de una dirección IP,
sino también permite tamaños de red más arbitrarios.
Antes, los tamaños de red eran estáticos.
Piensa solo en clase A, clase B o clase C,
y solo las subredes podían ser de diferentes tamaños.
CIDR permite que las propias redes tengan diferentes tamaños.
Antes, si una empresa necesitaba más direcciones de las que una sola clase C podría
proporcionarle,
necesitaba una segunda clase completa C. Con CIDR,
podrían combinar ese espacio de direcciones en una porción contigua con una máscara de
red
de / 23 o 255.255.254.0.
Esto significa que los routers ahora solo necesitan conocer una entrada
en su tabla de enrutamiento, en lugar de dos, para entregar tráfico a estas direcciones.
También es importante destacar que obtienes
ID de host adicionales disponibles con esta práctica.
Recuerda que siempre pierdes dos ID de host por red.
Por lo tanto, si una red /24 tiene 2 a la octava (2Λ8) o 256 hosts potenciales,
en realidad solo tienes 256 - 2,
o 254 IP disponibles para asignar.
Si necesitas dos redes de este tamaño,
tienes un total de 254 + 254, o 508 hosts.
Una sola red única /23, en cambio,
es dos a la novena (2Λ9) o 512.
512 - 2, 510 hosts.
Tómate un segundo y guárdalo en tu memoria.
Entonces, cuando estés listo,
tenemos una breve evaluación sin calificación para ti antes de pasar a la próxima lección:
enrutamiento.
TABLAS DE ENRUTAMIENTO
Durante nuestro video anterior sobre los conceptos básicos del enrutamiento,
tal vez notaste un montón de referencias a algo conocido como una tabla de enrutamiento.
El enrutamiento en sí es un concepto bastante simple
y verás que las tablas de enrutamiento no son mucho más complicadas.
Los primeros routers eran simplemente las computadoras comunes de ese momento.
Tenían dos interfaces de red,
un puente a las redes y una tabla de enrutamiento automático que se actualizaba
manualmente.
De hecho, todos los principales sistemas operativos actuales
siguen teniendo una tabla de enrutamiento que consultan antes de transmitir datos.
Todavía podrías construir tu propio router hoy
si tuvieras una computadora con dos interfaces de red y actualizaras la tabla de enrutamiento
a mano.
Las tablas de enrutamiento pueden variar muchísimo según la marca y la clase del router,
pero todas tienen algunas cosas en común.
La tabla de enrutamiento más básica tendrá cuatro columnas.
Red de destino: esta columna contendrá
una fila para cada red que el router conoce,
esto es exactamente la definición de la red remota,
una ID de red y la máscara de red.
Podrán almacenarse en una columna dentro de una notación,
o la ID de red y la máscara de red pueden estar en una columna separada.
De cualquier manera, es el mismo concepto,
el router tiene una definición para una red y, por lo tanto,
sabe qué direcciones IP pueden existir en esa red.
Cuando el router recibe un paquete entrante,
examina la dirección IP de destino y determina a qué red pertenece.
Una tabla de enrutamiento generalmente tendrá una entrada genérica
que coincida con cualquier dirección IP para la que no tenga una lista de red explícita.
Siguiente salto: esta es la dirección IP del siguiente router que debe recibir los datos
destinados
a la red de destino en cuestión, o bien podría simplemente indicar
que la red está conectada directamente y no se necesitan saltos adicionales.
Saltos totales: esto es crucial para entender el enrutamiento y cómo funcionan las tablas de
enrutamiento.
En cualquier red compleja, como Internet,
habrá muchos caminos diferentes para llegar desde el punto A al punto B.
Los routers intentan elegir el camino más corto posible
todo el tiempo para garantizar la entrega oportuna de los datos,
pero el camino más corto posible
para una red de destino es algo que podría cambiar con el tiempo,
a veces, rápidamente: los routers intermedios podrían quedar fuera de servicio,
los enlaces podrían desconectarse,
podrían incorporarse nuevos routers,
la congestión del tráfico puede hacer que ciertas rutas se vuelvan demasiado lentas para
usar.
En un próximo video, sabremos cómo los routers detectan la ruta más corta.
Por ahora, es importante saber que para cada próximo salto y cada red de destino,
el router deberá rastrear a qué distancia se encuentra ese destino actualmente.
De esa manera, cuando recibe información actualizada de routers vecinos,
sabrá si conoce actualmente
el mejor camino o si hay un nuevo mejor camino disponible.
Interfaz: el router también tiene que saber
a cuál de sus interfaces debe reenviar el tráfico que coincida con la red de destino.
En la mayoría de los casos, las tablas de enrutamiento son bastante simples.
Lo realmente impresionante
es que muchos routers centrales de Internet tienen millones de filas en las tablas de
enrutamiento.
Se las debe consultar para cada paquete
que fluye a través de un router en su camino hacia su destino final.
Lo que también es impresionante es lo que aprendiste sobre routers,
enrutamiento y tablas de enrutamiento.
Buen trabajo. Te veré en el siguiente video sobre los protocolos de puerta de enlace interior.
Los protocolos de puerta de enlace exterior se usan para comunicar datos entre routers
que representan el perímetro de un sistema autónomo.
Como los routers que comparten datos usando protocolos de puerta de enlace interior
están todos bajo el control de la misma organización,
los routers usan protocolos de puerta de enlace exterior
cuando necesitan compartir información entre diferentes organizaciones.
Los protocolos de puerta de enlace exterior son realmente claves para que Internet funcione
como lo hace hoy.
Así, gracias a los protocolos de puerta de enlace exterior,
Reproduce el video desde ::40 y sigue la transcripción0:40
Internet es una enorme malla de sistemas autónomos.
En los niveles superiores, los routers centrales de Internet
necesitan saber sobre los sistemas autónomos con el fin de reenviar correctamente el tráfico.
Reproduce el video desde ::51 y sigue la transcripción0:51
Dado que los sistemas autónomos son conjuntos
conocidos y definidos de redes, enviar datos al router perimetral
de un sistema autónomo es el objetivo número uno de los routers centrales de Internet.
Reproduce el video desde :1:3 y sigue la transcripción1:03
La IANA, o Autoridad de Números Asignados de Internet,
es una organización sin fines de lucro que ayuda a administrar cosas como la asignación de
direcciones IP.
Internet no podía funcionar sin una sola autoridad
para este tipo de cuestiones.
De lo contrario, cualquiera podría intentar usar
cualquier espacio IP que quisiera, lo que causaría un caos total en línea.
Junto con la gestión de la asignación de direcciones IP, IANA también es responsable
de ASN, o asignación de números de sistemas autónomos.
Los ASN son números asignados a sistemas autónomos individuales.
Al igual que las direcciones IP, los ASN son números de 32 bits.
Pero, a diferencia de las direcciones IP, en general se los menciona
como un solo número decimal, en lugar de dividirlos en bits legibles.
Hay dos razones para esto.
Primero, las direcciones IP necesitan poder representar una parte de ID de red
y una parte de ID de host para cada número.
Esto se logra con más facilidad dividiendo el número en cuatro secciones
de ocho bits, especialmente en aquellos días en que las clases de dirección dominaban el
mundo.
Un ASN nunca necesita cambiar para representar más redes o hosts.
Solo hace falta actualizar las tablas de enrutamiento centrales de Internet para saber
qué representa un ASN.
En segundo lugar, los humanos vemos un ASN con mucha menos frecuencia que una
dirección IP.
Entonces, ya que puede ser útil
ver la IP 9.100.100.100 y saber que el espacio de direcciones 9.0.0.0/8
es propiedad de IBM, los ASN representan sistemas autónomos completos.
Con solo el hecho de ver que AS19604 pertenece a IBM es suficiente.
Reproduce el video desde :2:48 y sigue la transcripción2:48
A menos que algún día termines trabajando en un proveedor de servicios de Internet,
entender más detalles sobre cómo funcionan los protocolos de puerta de enlace exterior
está fuera del alcance de la mayoría de las personas en TI.
Pero comprender los fundamentos de los sistemas autónomos, los ASN
y cómo los routers centrales de Internet dirigen el tráfico entre ellos
es importante para entender algunos de los fundamentos básicos de Internet.
Durante muchas décadas, las RFC han pasado a pertenecer al IETF, o Grupo de trabajo de
ingeniería de Internet , que es una comunidad abierta encargada de desarrollar y mantener
los estándares necesarios para que Internet siga funcionando.
Por cierto, los RFC tienen una larga historia de bromas sobre el Día de los Inocentes . Mis
favoritos personales son RFC 1149 y RFC 3514 , los cuales podrían ser más divertidos una
vez que hayamos abordado el siguiente módulo.