viernes, diciembre 02, 2005

Skype vs SIP: el NAT transversal y la estructura P2P

Hace algunos días escribí un post "Skype vs SIP"
En este post aunque reconocía la superioridad de Skype en muchos aspectos, me decantaba por SIP porque se trata de un protocolo abierto . Los siguientes puntos desgranan desde un punto de vista técnico las diferencias más significativas entre ambos protocolos.


- Skype en contraposición con otras plataformas VoIP emplea una estructura P2P pura, es decir, no hay una dependencia de un servidor determinado. Para ello basa su estructura en nodos (los clientes normales) y supernodos (clientes que dan su permiso para hacer más cosas). Lo que si deben tener son BBDD más o menos centralizadas para alimentar a los supernodos.

- Lo de los supernodos (son máquinas con direccionamiento público y muy expuestas, es decir con muchos puertos TPC y UDP abiertos y controlados por Skype) parece que es un secreto bien guardado, no hay mucha información por ahí. Parece ser que los clientes normales establecen sesiones TCP o UDP con estos supernodos y son localizados a través de los mismos.

- Una de las ventajas de Skype con relación a SIP en esto del NAT transversal es que el cliente hace un scan de lo que permite el FW desde dentro hacia Internet (observando que recibe respuesta del supernodo), es decir, si el FW no permite paquetes UDP prueba con TCP hasta que consigue enlazar con el supernodo. El caso extremo es usar puertos well-known como el 80, es difícil encontrar FW que bloqueen este tipo de puertos (esto se hace en el emule), si los FW los bloquearan también, pues no habría salida a Internet.

- Hay FW que bloquean Skype, pero lo tienen que hacer por patrones de tráfico tal y como se hace para bloquear aplicaciones P2P.

- Todo lo de arriba es para la señalización, luego hay que hablar. Los paquetes de voz en protocolos estandar van sobre UDP RTP. Si un FW bloquea estos paquetes desde dentro hacia fuera (o no permite la vuelta de estos) no hay conversación posible. Skype en estos casos (y de esto realmente no he visto información, hay que ponerse con un sniffer), para que funcione tiene que establecer conversaciones de voz por TCP, esto es un poco antinatural. Desconozco si Skype puede cursar voz sobre TCP.

- Parece claro que los supernodos actúan como rtpproxies (los paquetes de voz "rebotan" en los mismos) en las conversaciones de voz. Estrategia esta inteligente para que Skype no se "coma" el tráfico de voz. Si la gente que hace de supernode lo hace gratis, pues nada, negocio para Skype.

SIP no tiene nada que ver con esta estructura no obstante ya hay gente que está trabajando en ello . Algunos sitios que están ofreciendo el servicio también dicen que son P2P (??????) (damaka).

De todas formas son dos temas (aunque relacionados) diferentes: uno es la estructura (P2P o centralizada) y otro es el nat transversal. Lo cierto es que conviene tener una estructura P2P para hacer nat transversal, ya que el trafico de voz desde usuarios nateados a otros también nateados no te llega a ti sino que se queda en un supernodo.

1 Comments:

Blogger swanky.voiper said...

You should check out damaka

damaka is feature-rich and very easy to use. They are standards based (SIP, P2P) and completely secure. They have Video, voicemail, call recording, RSS, text to speech besides free phone calls, presence, IM, conferencing and a lot of other very useful collaboration features...

Give them a try and let us know what you think?

You can download damaka from here:

http://www.damaka.com


swanky-voiper

6:30 a. m.  

Publicar un comentario en la entrada

Links to this post:

Crear un enlace

<< Home