Está en la página 1de 14

REDES Y COMUNICACIONES – 07-06-2023

Se utilizaron 2 formas para definir direcciones ante la situación de que se estaban acabando:
- Una manera fue al utilización de los NUMEROS PRIVADOS, que eran redes que podemos duplicar en
todas las redes que sean internas y que no iban a tener en definitiva o en principio una necesidad de
conectarse a internet.
- El otro recurso utilizado fue el NAT para poder darles salida a esas redes que tenían numeración
privada.
-

194
Lo que hace es básicamente utilizando una única IP PUBLICA (que se puede conectar a internet)
enmascaramos todos los números de la red interna nuestra, de la red con NUMERACION PRIVADA. Si en
nuestro hogar tenemos 10 / 15 dispositivos no vamos a necesitar para cada uno de ellos un IP PUBLICO, sino
que cada dispositivo va a tener un NUMERO PRIVADO interno de la red hogareña y con un único NUMERO
IP PUBLICO vamos a poder darles salida a todos esos dispositivos utilizando este PROTOCOLO LLAMADO
NAT.

La idea es cambiar la dirección fuente de los DATAGRAMAS IP al momento de salir de nuestra red al momento
de salir de nuestra red por la dirección del router, de esta manera le vamos a dar al paquete una dirección de
origen que sea ruteable para que después el datagrama que tiene que regresar en respuesta a ese datagrama
que sale, pueda regresar a ese número que es público.

En nuestra red interna vamos a tener 10.0.0.0/24 que significa que vamos a poder colocar en esta red privada
254 dispositivos, y el ISP nos va asignar en la boca WAN un número público que seria 138.76.29.7, entonces
el router va a tener cada interfaz conectada a una red distinta una INTERNA y la otra EXTERNA, y lo que va a
hacer es todos los datagramas que vengan de la red INTERNA PRIVADA, que vayan con destino a INTERNET,
el data grama va a tener una IP FUENTE / IP DESTINO en la IP fuente va a tener 10.0.0.2 y un IP Destino (Ej.
suponemos que consultamos algo al IP de Google 8.8.8.8).

195
Cuando ese IP Salga vamos a tener el mismo datagrama con los mismos datos pero el IP Destino va a ser el
mismo 8.8.8.8 pero el IP Fuente lo va a reemplazar por el IP que tiene en la boca WAN 138.76.29.7

De esta manera el paquete ISP va a salir, y cuando quiera regresar va a volver a la dirección IP Fuente
138.76.29.7. Dentro del el router va a tener otra lista interna para cuando regrese el paquete se defina a que
equipo de la red interna será dirigido la respuesta.

Cuando el datagrama sale reemplaza el IP Fuente y el Número de Puerto en la capa de transporte que define
el Socket, por un IP que va a ser el Publico con un nuevo puerto, cambia el socket de origen completo. Cuando
alguien responda a ese data grama va a responder a ese IP y Puerto = socket como destino.

A cambiar el socket completo el IP NAT va a ser siempre el mismo pero va a usar diferentes números de
puertos, y esto lo va a registrar en una tabla que lleva en la memoria, la tabla de NAT que IP interno con
puerto interno, corresponde a que IP público con Puerto Publico, registra el par.

Cuando el paquete vuelva va a volver al mismo socket, mismo IP y mismo puerto del cual salió, que va a
poder hacer el NAT? El datagrama entrante va a llegar al IP Publico + Puerto con el que lo habíamos
reemplazado, ira a la tabla, va a buscar el IP del NAT y puerto que habíamos reemplazado, a que IP Fuente y
a que Puerto Fuente originalmente correspondían y va a volver a modificarlo para que en la red interna se
entregue al emisor original de ese datagrama.

196
197
Porque NAT solucionar ese problema pero introduce otros problemas? Porque por concepto los routers
trabajan hasta la capa 3 osea implementan la capa física, la capa de enlace y la capa de red, pero no tienen
capa de transporte, entonces para poder leer el puerto y cambiar al otros nosotros estaríamos cambiando el
datagrama de origen 10.0.0.1, 3345 cambiando el puerto del origen al destino, con lo cual estaríamos tocando
la capa 4, entonces esto ya sería un problema, estaríamos violando el modelo de capas, en cuanto a que cada
capa sea independiente de las otras, entonces la capa 3 y 4 no las podemos tomar como totalmente
independiente por que tienen algún tipo de interdependencia.

Otra cuestión que pasaba, algunas aplicaciones no soportaban NAT por que por alguna cuestión dentro de
la aplicación, tenían contenidos números de IP y a la v haber esa traslación de IP cuando el paquete llagaba
a destino, decía que el número de IP era “x” pero el paquete venia de otro IP porque había sido cambiado.

El otro drama que introduce, surge cuando una máquina que se encuentra en INTERNET se quiere conectar
a la RED PRIVADA (una maquina dentro de esa red) ósea a la inversa de lo visto antes, el paquete se lo enviara
al IP 138.76.29.7 que es el Publico, el cual llegara con IP de la Maquina + Puerto “X” (Ej: 138.76.29.7 puerto
80), en este caso como función el NAT: como es un paquete que ingresa a la red privada sin que haya habido
un paquete que salga previamente, entonces cuando se busca en la TABLA NAT no hay relacion existente
entre el WAN y el LAN privado, que nos indique a donde va dirigido dentro de la red privada. Para solucionar
este inconveniente debemos cargar en la TABLA DE NAT el par de IP+Puerto Externo=Socket Externo y el
IP+Puerto Interno = Socket Interno relacionado al cual correspondería. Entonces todo lo que llegue al socket
que configuramos manualmente, va a ingresar al destino interno (Ej: WAN: 138.76.29.7: 80 / LAN: 10.0.0.1:
80).

Que deberíamos hacer para no tener los problemas mencionados anteriormente del NAT? Usar IPv6 donde
ya no tenemos problemas con la cantidad de números de IP, esto permitirá asignarle IP publica a todos los
dispositivos del Mundo, no requiriendo la utilización del NAT,

198
199
El protocolo ICMP es un protocolo para todo lo que es CONTRO Y ADMINISTRACION DE LAS REDES, las siglas
hacen referencia al PROTOCOLO DE CONTROL DE MENSAJES DE INTERNE, cuando nosotros hacemos un
PING para testear si llegamos a una máquina, bueno ese PING estaría utilizando el protocolo ICMP, nosotros
mandamos un PING: paquete de ECHO REQUEST cuando llega a la computadora nos responde con un
paquete de ICMP: PING de ECHO REPLY, estos 2 paquetes son los que se utilizan para realizar el PING.

TTL expired hace referencia al TIME TO LIVE de los paquetes, el ciclo de vida máximo previo a su expiración,
para que no queden dando vueltas sin respuesta. (Lo vimos anteriormente, es para cortar el ciclo infinito).
Cuando se corta el ciclo, el ROUTER QUE LO DESCARGA INFORMA al IP FUENTE con un mensaje ICMP que
se descartó el paquete por que el TTL expiro. El TTL expired también se utiliza para saber porque ROUTER va
pasando el paquete informando el camino que va haciendo.

200
El ICMP va a estar operando en capa de transporte, porque va a estar sobre IP, por más que este sobre IP no
es un protocolo de CAPA DE TRANSPORTE, porque no cumple las funciones para las cuales está pensado el
protocolo de la CAPA DE TRANSPORTE, es como un protocolo auxiliar de las redes TCP/IP pero si bien estaría
sobre IP no estaría cumpliendo funciones de CAPA DE TRANSPORTE.

Para poder registrar por todos los ROUTERS por los que pasa, en el primer paquete ICMP se va a mandar un
TTL = 1, cuando el paquete llega al primer router, le resta 1 y al convertirse en 0 lo descarta, y la respuesta
sera el N de IP del router que lo descarto, y de esa forma queda definido el primer router del camino, luego
manda un segundo paquete con TTL = 2, y en el 2do router se convierte en cero y se responde con el N IP
del router que lo descarto, y asi sucesivamente para determinar todo el camino de ruteo.

201
Pueden existir errores cuando el camino de ida no es lineal o el mismo que el camino de vuelta generando
que se caiga el paquete con TTL y no saber dónde fue la caída. Errores que se van aprendiendo con la práctica
dijo el profesor.

Esto de ir a cada router lo hace 3 veces por cada uno, y con eso permitirá calcular el TIEMPO MAXIMO, EL
TIEMPO MINIMO, de ir y volver que se lo llama RTT y luego calcula un PROMEDIO. Entonces no solo permite
marcar un camino entre los router sino que va midiendo los tiempos de cada salto de router a touter.

202
La motivación inicial para crear un nuevo protocolo IP versión 6 fue que las direcciones IP de 32 bits se dieron
cuentas que no iban a durar mucho más tiempo. Y además de eso el encabezado de IPv4 tenía un montón
de campos que fueron pensados en otro momento de la historia, y con otras cuestiones de diseño que se
tenían en cuenta, y para las necesidades y redes de hoy en día por ahí no alcanzaban con los campos o había
campos que estaban de más y que nunca se usaron y eso no permitía seguir desarrollando algunas cuestiones,
básicamente todo lo relacionado a la calidad del servicio (No es lo mismo transmitir audio y video que
actualmente se da mucho con respecto a transmitir únicamente información), entonces para poder seguir

203
desarrollando los servicios de todo este tipo de requerimientos, el protocolo IPv4 no nos daba ninguna
herramienta.

Con IPv6 se eliminó todo lo que sobraba y se modificó todo lo que faltaba con relacion al contexto actual.

Con respecto al ENCABEZADO paso de 20 byts a 40 byts se duplico.

Las direcciones de 32 bits IPv4 pasaron a tener 128 bits con IPv6.

Con relacion a la FRAGMENTACION, esta fragmentación generaba mucha demora en los router por el trabajo
que debían realizar para lograrlo, entonces, en IPv6 se tomó como regla o principio que NO SE PERMITE LA
FRFAGMENTACION, ósea un datagrama no podrá ser fragmentado entre el origen y su destino. Esto permite
disminuir el trabajo de los router y aumentar la velocidad de trabajo de los mismos, con la misma potencia
de hardware porque hay una tarea que ya no la tienen que hacer más, fragmentar. Simplifica el proceso de
ruteo.

204
Tenemos muchos menos campos que IPv4, se eliminan muchas cosas.

Ver: indicara la versión, en este caso ser 6.

Pri: es priority, es de 8 bits, van a identificar la prioridad que van a tener los diferentes datagramas y en función
de ello nosotros podremos luego hacer algún tipo de manejo de darle mayor o menor prioridad a los
diferentes datagramas, en función de cómo queramos manejar los diferentes tipos de flujos de datos.

Flow Label: identifica los datagramas del mismo flujo, pero el concepto de flujo no se encuentra definido con
exactitud, sería como un identificador, que nos indican que todos los datagramas pertenecen a la misma
comunicación.

Next header: Las diferentes OPCIONES que necesitemos colocar irán fuera del ENCABEZADO, y vamos a
utilizar el campo NEXT HEADER, que permitirá colocar las opciones disimuladas entre lo datos, identifica el
protocolo de la capa superior, dentro de este campo la vamos a indicar si tenemos TCP / ICMP / UDP, en el
next header va un código que indica que datos tenemos en el paquete. Y las opciones iran disimuladamente
incorporadas dentro de la parte de DATA. Ósea los datos de control estarán camuflados en la DATA y estará
individualizado por un código que estará incluido en el next headr, esa es la idea. Es como que se enganchan
en cadena todas las opciones dentro de los datos. Si en next headr NO HAY OPCIONES el next header
apuntara a los DATOS, y si en el campo next headr TIENE OPCIONES el 1er Next Headr apuntara a la OPCION,
el next header de esa OPCION apunta a la siguiente opción, y así hasta que el ultimo apunta a los datos.
Entonces no vamos a tener más campos que procesar y siempre vamos a tener un ENCABEZADO siempre fijo
de 40 bytes.

ICMPv6: como se hace para trabajar sin FRAGMENTACION, se crea un mensaje especial ICMPv6 para evitar
que un paquete no pase por ser muy grande, hay una técnica de DESCUBRIMIENTO DE MTU que antes de
enviar cualquier datagrama IPv6 el sistema lo que hace es descubre, manda un paquete de descubrimiento
de MTU ese paquete viaja por todo el camino hasta llegar a destino, y va registrando los MTU, y vuelve
informando el MTU más chico que encontró, entonces ya desde el ORIGEN los datagramas IPv6 se arman,

205
con el tamaño del MTU más chico de todo el recorrido, y de esa manera se asegura que llegue y no se necesita
la fragmentación.

En IPv6 el concepto de BroadCast no existe más, no está implementado, no podemos mandar algo a todos
los miembros de la red, se reemplaza por otro concepto que se llama MULTICAST mandar a un grupo de
máquinas a la red, podemos crear un grupo de todos los host/clientes, uno de todo los routers, tiene algunas
funciones para administrar la creación y administración de esos grupos.

206
207

También podría gustarte