El día 17 de septiembre de 2008 18:00, Herr Groucho
<[EMAIL PROTECTED]> escribió:

> En particular, cómo es que un windowso NATeado en mi red y sin que yo
> configure nada puede enviar y recibir archivos con su cliente de MSN
> messenger. Entiendo que pueda ser que pueda si ambos clientes de IM están
> en la red local, pero no cuando uno está en la red local y el otro en
> Internet, o incluso detrás de otro router que haga NAT. Consideremos
> hostil mi red: nada de uPNP por ejemplo para perforar mi router/firewall.
>
> Qué mierda hacen?

Muy sencillo, los servidores de MSN tienen tanto ancho de banda
disponible que se pueden dar el lujo de recibir y reenviar la
información que haga falta.

> Y eso que hacen, podría hacerse con XMPP?

El problema es que como no hay intereses comerciales de por medio, los
servidores de estas redes no tienen suficiente ancho de banda para
soportar transferencias de archivos entre sus usuarios. En cuando se
les ocurriera a algunas decenas de usuarios ponerse a transferir
archivos, se colapsaría el canal del servidor.

Microsoft hace tiempo que demostró que tiene suficiente ancho de banda
para aguantarse una denegación de servicio tirada por un virus desde
millones de computadoras al mismo tiempo.

> Y si se pudiera hacer hacer con XMPP, lo podría hacer un transporte de MSN
> messenger a XMPP como el del LUGMen?

Seguro que el transporte MSN podría hacerlo, porque los que lo
implementan son los servidores de MSN.


Para establecer comunicaciones entre dos usuarios nateados hay pocas
alternativas. O usan un relevador que no esté nateado (como puede ser
el servidor u otros usuarios como en una red P2P, que es lo que hace
skype) o implementan "trampitas" como lo que se usa para el RTP del
protocolo SIP. Se basa, como siempre, en transmitir UDP y no TCP. Cada
uno de los usuarios envía paquetes UDP a un servidor, cuya función es
contestarles diciéndoles "yo veo tus paquetes como si vinieran del
puerto xxxx". Entonces, el cliente sabe a qué puerto de orígen esta
siendo traducido su tráfico por el NAT. Usando esa información, se
comunica con el otro usuario y le dice: "mandame el tráfico al puerto
xxxx". El protocolo se llama STUN, y "generalmente" funciona bien.
Cabe aclarar también que Asterisk implementa esa tarmpita internamente
diciéndole "nat=yes" o "nat=auto" así que no requiere configurar nada
especial en los clientes.

Responder a