¿Cómo se usan las tecnologías P2P en Skype?

Mi información puede estar desactualizada.
Si se ejecutan dos instancias de Skype en Internet público, una puede llamar a la otra directamente. La llamada se realiza a través de un servidor central, pero una vez configurada, los paquetes de audio / video se dirigen directamente.
Si una instancia de Skype se ejecuta durante más de un cierto tiempo (quizás 24 horas) y tiene una conexión a Internet pública directa, puede elevarse al estado de supernodo y usarse para enrutar llamadas a usuarios de Skype no relacionados que están detrás de NAT. Dado que Skype se inicia habitualmente en el momento del arranque (de qué otra forma podría aceptar llamadas entrantes) y continúa ejecutándose en segundo plano después de colgar una llamada, esto no es tan inusual. Se supone que está contento de contribuir con el ancho de banda a un servicio que está recibiendo de forma gratuita. Para una red de campus con miles de usuarios y una tubería de red finita, eso no siempre es cierto.
Así es como Skype inicialmente pudo crecer rápidamente sin una inversión significativa en su propia infraestructura de red. Funcionó bien hasta un infame “parche martes” cuando todos los supernodos de Windows se reiniciaron al mismo tiempo y la “red” de Skype dejó de funcionar. Desde entonces, Skype ha creado una infraestructura central para ser más robusto.

Fui el autor original de la página “Explicación de la telefonía P2P: solo para geeks” y el gerente de producto original de Skype para poder responder con cierta autoridad al respecto.

Cuando comenzamos Skype, el ancho de banda y el procesamiento eran caros. Utilizamos nuestra experiencia en tecnología P2P para externalizar el procesamiento y el ancho de banda a nuestros usuarios siempre que sea posible para crear una red altamente escalable sin escalar nuestra estructura de costos. Específicamente, utilizamos P2P para enrutar llamadas entre usuarios que no pudieron crear una conexión directa porque estaban detrás de un Firewall / NAT. Este era un problema real para las personas que usaban un enrutador antes de que UPnP se volviera omnipresente. Al usar P2P, podríamos crear una conexión sin necesidad de configurar el reenvío de puertos en el enrutador. Skype simplemente funcionó.

Otro lugar donde lo usamos fue para alojar nuestro directorio de usuarios para que las personas pudieran encontrarse entre sí en Skype y saber cuándo alguien estaba en línea o disponible, etc.

Entonces Andrew Daviel lo tiene esencialmente hasta este punto. Lo que sucedió después es que Skype creció rápidamente y maduró rápidamente desde una startup de arranque hasta una startup bien financiada y una empresa establecida con ingresos, mientras que el ancho de banda y los precios de procesamiento bajaron radicalmente.

La primera característica P2P que se utilizó fue el directorio de usuarios P2P. La tecnología detrás de esto (que llamamos Global Index) fue increíble, pero mantener este servicio esencial ejecutándose en miles de nodos distribuidos resultó poco confiable e innecesario cuando los precios bajaron. Confieso que probablemente deberíamos haberlo matado antes, pero estábamos enamorados de nuestra propia tecnología y tuvimos problemas para dejarla ir.

Mucho más tarde, en el verano de 2016, Microsoft decidió desconectar los supernodos P2P ejecutados por los usuarios que también se utilizan para el enrutamiento de llamadas. No puedo estar seguro de si esto significa que simplemente están ejecutando sus propios supernodos propiedad de MSFT o si han cambiado por completo la arquitectura. Quizás algunas personas más familiares puedan arrojar luz sobre esto. Pero creo que es seguro decir que si la misma compañía propietaria de los servidores es dueña de sus pares, ya no es realmente la arquitectura P2P. Para un viaje por el carril de la memoria y más detalles, vea el artículo vinculado anteriormente.