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.
