BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Qué es el NAT??

MainFrame

Bueno, hasta ahora creía que lo entendía... pero dadas las respuestas de la gente a la pregunta del MSN, me parece que se me escapa algo.

Según creía yo, las peticiones de conexión salientes eran modificadas por el router, de tal manera que cambie el número de puerto a usar y manteniendo una tabla de asociaciones "ordenata interno - nº puerto" para diferenciar las respuestas que lleguen a dichas peticiones.
Además de esto, las conexiones entrantes son rechazadas si no se especifica qué ordenador de la red interna acepta peticiones de conexión en ese puerto, bien con una entrada "default", o bien poniéndolo clarito (tal ordenador tiene un servidor en el puerto número tal).

Si todo esto fuese así (cosa que pongo en duda), qué ventaja tiene usar los servidores de M$ o usar la IP pública para abrir las conexiones? En qué ayudaría eso al router con NAT para decidir a quién van? :-?
joeeeerrrr... y me duele la cabeza si trato de imaginarme la comunicación entre dos ordenatas detrás de NAT...

Gracias por las respuestas que me vais a dar :-P. Salu2.

Editado: mierda! siempre se me olvida que no se puede usar el símbolo "menor que" :-)

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
anthrax

es totalmente cierto. De todas maneras si quieres convertirte en un guru de los diferentes sabores del NAT, te aconsejo que te pases por:

rfc-editor.org

y te documentes ;)

Saludos 8)

🗨️ 3
MainFrame

...prefiero seguir suponiendo, y así igual me ahorro algunas páginas :-D

Se me ocurre que el ordenata detrás de NAT abra la conexión con el servidor de M$ como intermediario. Bien, entonces tenemos un ordenador que abre una conexión en el puerto 40000 (por decir algo) con el servidor de M$, y le pone en el campo de datos que lo que en realidad pretende es establecer una conexión con su amigo Pepito en el puerto habitual del MSN para transmitir ficheros. El servidor actúa como un buen padrazo y les resuelve la papeleta (incluso podría determinar si el ordenador destino está detrás de NAT, si lo complicamos un poco...)

Pero sigo sin entender el caso en el que usan la dirección pública. Abro una conexión con la dirección pública del router y el puerto que quiero usar y.... el router me dice: ¿y et-to qué é lo qué éeeeeeehhhh?... pa kien vaaaaa?? :-o

Ahora resulta que he habierto un hilo paralelo sobre el MSN, que era lo que no quería que ocurriese... en fin. Si veo muchos insultos a continuación de este post, me leeré la RFC, pero como tenga que recurrir a ellas cada vez que tenga una duda me parece que me voy a poder pasar más bien poquito por el foro: necesitaré el tiempo para ir preparando cafés!! :-D Gracias por contribuir a ordenar mis neuronas.

Salu2.

🗨️ 2
Luke

Cita:

"Pero sigo sin entender el caso en el que usan la dirección pública. Abro una conexión con la dirección pública del router y el puerto que quiero usar y.... el router me dice: ¿y et-to qué é lo qué éeeeeeehhhh?... pa kien vaaaaa?? :-o "

Esto se explica más o menos en el link que doy abajo... aplicándolo a mi suposición del messenger: el "servidor central" de MSN tiene las ips publicas de todos, y se las comunica a los dos lados. Por un mismo puerto, los dos lados mandan un paquete UDP a ese puerto que ha sido acordado a la ip del otro, al encontrarse los routers con esto dicen "coñe, si ha mandado a traves de este puerto y ahora recibo una respuesta a través de este puerto debe ser que todo lo que venga a continuación tiene que ir a tal IP interna" y así se crea una entrada en la tabla NAT de cada router, haciendo que sea posible comunicación directa..

Así es más o menos como lo veo, qué opinais?

anthrax

For instance, in the example of figure 2, both stubs A and B
internally use class A address 10.0.0.0. Stub A's NAT is assigned the
class C address 198.76.29.0, and Stub B's NAT is assigned the class C
address 198.76.28.0. The class C addresses are globally unique no
other NAT boxes can use them.

\ | /
+---------------+
|Regional Router|
+---------------+
WAN | | WAN
| |
Stub A .............|.... ....|............ Stub B
| |
{s=198.76.29.7,^ | | v{s=198.76.29.7,
d=198.76.28.4}^ | | v d=198.76.28.4}
+-----------------+ +-----------------+
|Stub Router w/NAT| |Stub Router w/NAT|
+-----------------+ +-----------------+
| |
| LAN LAN |
------------- -------------
| |
{s=10.33.96.5, ^ | | v{s=198.76.29.7,
d=198.76.28.4}^ +--+ +--+ v d=10.81.13.22}
|--| |--|
/____\ /____\
10.33.96.5 10.81.13.22

Figure 2: Basic NAT Operation

El NAT se hace de forma transparente. El router cambia la ip origen privada y la cambia por la ip (única) pública que te ha asignado tu ISP.

Saludos 8)
P.D: Sacado de una RFC :P
Vaya "kuesko" que queda hacer el copy & paste directamente ... x'DD
Mejor te paso el link : ftp://ftp.rfc-editor.org/in-notes/rfc1631.txt (hay unos cuantos RFC's sobre los diferentes sabores del NAT)
Curiosamente comentan que la implemetación del NAT en linux se llama "ip masquerading" :D

Luke

creo que mi comentario te ha confundido.. sí, NAT es eso. Cuando leí el documento en cuestión también me quedé un poco "ein?"

Buscando un poco, lo he encontrado, la verdad no sé cómo:

(link roto)

Es un poco antiguo, y cita algunos software NAT, al ser antiguo supuse que hoy en dia la mayoria de dispositivos NAT tendrían esto implementado lo que lo hace viable para MSN. Está en inglés, espero que no sea demasiado problema.

Echadle un vistazo a ver qué pensais, yo también estoy bastante interesado en saber qué es lo que hace exactamente NAT en todos los casos ;) sobretodo con la transferencia del msn6...