BandaAncha.eu

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

El messenger y el NAT

overpeer

Primero decir que pongo esto aki porque no hay un foro de redes donde tratar estas cosillas ¬¬

Dicen, que el msn messenger a partir de "noseque" version , no necesita de puertos abiertos para transferir archivos.... O_O.

Entonces , los archivos que transfiera un cliente a otro pasan por los servidores de M$ .... no hay otra forma no?

Un saludo.

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

ten en cuenta que las conversaciones si que pasan por los servidores de M$. Y van en clarito ... x'DDD

Respecto a lo de los ficheros, siguen siendo conexiones p2p. Lo que pasa "segun he leido por ahi" es que ahora no da problemas las transferencias de ficheros aunque se esté detrás de un router que haga NAT. A decir verdad, me pregunto como se lo habrá currado M$ para resolver el problema. Si encuentras algun sitio donde se explique de una manera más o menos "teznica", ya me contarás algo ;)

Saludos 8)
P.D : Por lo visto el kit de la cuestión radica en que las últimas versiones del MSN messenger consiguen usar la ip pública del router, en vez de la ip privada de la maquina detrás del router con NAT (multipuesto para los amiguetes).

🗨️ 3
Luke

Hace poco leí en un sitio una técnica NAT que me pareció que podía ser la que utiliza Microsoft con el messenger 6... Consiste en que cuando dos equipos detrás de NAT, un equipo manda una rafaga de paquetes udp a otro, y el otro otra de udp al primero por el mismo puerto, ambos dispositivos NAT abren una "conexión" en su tabla, haciendo que los paquetes siguientes se dirigan a esa máquina, consiguiendo así una conexión directa entre los dos equipos. Es UDP, pero sigue siendo directa. Yo, por ejemplo, cuando mando por MSN a alguien detrás de NAT (yo también estoy detrás de NAT) y miro las conexiones en mi 812, veo que hay una conexión a la ip de destino en conexiones udp. No se si esto será lo que usa el messenger, pero parece lo más lógico que se me ocurre...

Otra cosa es cuando este tipo de conexiones no es posible, que entonces la transferencia sí que pasa por servidores de MSN, y es entonces cuando el messenger nos dice "si está experimentando una velocidad de transferencia lenta, haga clic aquí pasa saber por qué".

Es sólo una suposición mía, y quizá mi descripción del proceso no es del todo exacta ya que lo estoy diciendo completamente de memoria...

Saludos.

🗨️ 2
JoeDalton

"Consiste en que cuando dos equipos detrás de NAT, un equipo manda una rafaga de paquetes udp a otro, y el otro otra de udp al primero por el mismo puerto, ambos dispositivos NAT abren una "conexión" en su tabla."

Yo no lo recuerdo a ciencia exácta, pero creo recordar que los dispositivos uPNP con versiones antiguas de msn si que eran capaces de hacer envíos a través de NAT (creo que es lo que comentas tú) por eso era factible con algunos routers con nat activado (speedstream entre otros, creo que soportaba upnp).

🗨️ 1
Luke

a lo que yo me refería es a esto, no se como pero he encontrado el documento. Explico mi suposición de una manera un poco diferente en el thread "que es nat?" de este foro... aunque explicar no es lo mío :P

UPnP es un pelín diferente, es añadir redirecciones estáticas de puertos en un router a petición de un programa, algo bastante inseguro pero bueno.. además, el 812 no dispone de este "feature" :P

saludos,

XPi

Yo tengo un router con NAT y no he tenido que abrirle ningun puerto para transferir archivos en el MSN v6, no he probado si me deja transferir en versiones anteriores, pero a partir de la 6 no hace falta abrile ningun puerto al router, de todas maneras... cual es el puerto que utiliza el messenger para transferir archivos? siempre es el mismo?

🗨️ 1
Tuks

Antes de la version 6 el puerto que usaba para reansferir archivos era el 6891 y siguientes, pero si estabas detras de NAT no rulaba, a no ser que mapearas esos puertos claro :-D

En la version 6 ya no usa esos puertos, si no que usa otros aleatorios y aunque estes detras de NAT, puedes transferir archivos, segun me he fijado, lo hace a traves de los servidores de microsoft, tambien por el puerto 1863, cuando me ha pasado archivos alguien que tenia router, me he fihado que se abre una conexion al 1863 que va a varios kB/s

Esa es mi teoria, si alguien tiene alguna mejor ya sabe xD

MainFrame

Está sacado de docs.microsoft.com/en-us/?url=%2Ftechnet…isaimsec.asp

...
The instant text messaging chat feature is essentially a client/server application where the client logs onto the messenger server on TCP port 1863, and sends a chat session request. The server mediates the communication between the two clients, and this avoids NAT issues that arise when an external client needs to have the IP address of the internal client.
...
The file transfer feature requires the computer sending the file to pass its IP address to the receiving computer through the messenger server, and this presents NAT problems. Firewall clients can use file transfer by making a change to the Firewall client application settings, and by creating a protocol definition with secondary connections to define the ports required for file transfer

Pero en el caso de que sea el ordenador que está detrás de NAT el que reciba la petición de transferencia de un archivo, solo se me ocurre que sea el servidor de M$ el que solicite la conexión primero, de tal manera que ya quede abierta y se pueda usar posteriormente el puerto para una transferencia saliente. ¿es muy descabellado? (el aviso de que se pretende realizar una transferencia se haría mediante el canal de la conversación, por ejemplo...)

Salu2.

🗨️ 5
Luke

como ya he repetido un par de veces.... según lo que yo pienso, y es más lógico:

1) entre dos clientes detrás de NAT se puede establecer una conexión UDP si los dos clientes se mandan paquetes uno al otro por el mismo puerto, funciona con la mayoría de routers NAT (editado: SI, la transferencia es por UDP)

2) Si lo anterior no funciona, pasa por un "proxy" de Microsoft. Sólo entonces salta lo de "Si está experimentando una velocidad de transferencia lenta...."

Alguien tiene algo que decir sobre esto? gracias.

🗨️ 4
MainFrame

... por qué funciona con UDP y no con TCP? El firewall que suelen incorporar los routers con NAT bloquea los puertos UDP por defecto también, nop?

Salu2.

🗨️ 3
BDPR

perdón por tardar tanto, soy Luke en otro ordenador.

Sí, efectivamente los routers bloquean todo lo UDP también, pero lo que pasa es, al ser un poco diferente las conexiones udp a las tcp, (udp no tiene conexiones en sí, son más bien paquetes sueltos...) bueno, pues para que se abra un canal bidireccional entre dos dispositivos que están detrás de NAT esto sólo es posible hacerlo con udp, ya que la idea de conexión es más abierta y es posible si se hacen un par de cosas (mandar desde los dos lados al lado opuesto paquetes por el mismo puerto) pues haciendo esto es posible que ambos routers NAT abran una conexión (bueno, no conexión... más bien una "entrada" en su tabla NAT para que todo lo que llegue futuramente por ese puerto vaya a una IP interna determinada) ya que con UDP tienen que "adivinar" más que con TCP. Esto no es posible con TCP ya que si mandas paquetes a la ip opuesta el router del otro lado se queda "y .. que quieres que haga con esto" ya que para abrir una conexion tcp no basta con tirar paquetes, en tcp hay que establecer una conexion en condiciones.

Las conexiones directas (entre ordenadores no detrás de NAT, o uno detrás de NAT y el otro no) por supuesto van por TCP ya que es mucho mas fiable blahblah y es posible ya que uno de los dos lados siempre será capaz de aceptar conexiones entrantes.

Cuando no es posible ninguno de los anteriores casos va por TCP, por proxy de Microsoft.

No se si está suficientemente claro.... eso espero.

🗨️ 2
Luke