El principio de llamar a teléfonos fijos o móviles utilizando el software Skype
Del análisis se extraen tres conclusiones principales:
1. La calidad de las llamadas de Skype es mejor que la de MSN y las herramientas de mensajería instantánea de Yahoo;
2. se utiliza sin problemas detrás de NAT y firewall;
3. Es realmente fácil de instalar y usar.
La mayor diferencia entre Skype y las herramientas de mensajería instantánea anteriores, como MSN, es que, excepto el inicio de sesión del usuario, el resto del trabajo básicamente no depende del servidor central. Skype utiliza un método completamente punto a punto cuando se comunica a través de firewalls y no utiliza un servidor central. El pequeño punto negro en la imagen de arriba es el cliente, el punto negro grande es el supernodo (utilizado para proporcionar pedales de inicio de sesión y servicios de transmisión para otros clientes) y el punto gris es el servidor de inicio de sesión de Skype.
Después de que el usuario descargue e instale Skype, el cliente de Skype enviará una solicitud HTTP 1.1 al servidor central para indicarle qué versión tengo instalada:
GET/ui/0/ 97/es/HTTP/1.1 instalado
Agente-usuario:Skype? Coeficiente beta 0,97
Moderador: ui.skype.com
Control de caché: Sin caché
El servidor devolverá un mensaje 200 OK:
HTTP/1.1 200 OK
Fecha: martes, 20 de abril de 2004 04:51:39 GMT
Servidor: Apache/2 0 47 (Debian GNU/Linux). PHP/4 3 . 5
mod_ssl/2.0.47 OpenSSL/0.9.7b
X-Powered-By: PHP/4.3.5
Caché Control: Sin caché, se debe volver a validar
Pragma: Sin caché
Tiempo de caducidad: 0
Longitud del contenido: 0
Contenido type :Text/html; charset=utf-8
Content-Language:en
El cliente realizará la inicialización de inicio de sesión, que contiene una gran cantidad de contenido. Para tres tipos diferentes de situaciones de red, existen tres métodos de inicio de sesión diferentes:
1. Utilice la IP pública directamente.
2. En la intranet, puede acceder a la red externa a través de TCP.
3. En la red interna, pero solo puede acceder a la red externa a través de un número limitado de puertos (como 80 y 443).
Skype utilizará primero UDP para solicitar la IP en el HC al iniciar sesión. De lo contrario, utilizará TCP para solicitar la IP y el puerto en el HC. Si eso no funciona, utiliza TCP para solicitar la IP y el puerto 80 en el HC. Si eso no funciona, solicitará la IP y el puerto 443 en el HC. Si no funciona en este momento, no podrás iniciar sesión. La cantidad de datos transferidos en todo el proceso es de aproximadamente 8k-10k y la duración es de 3 a 35 segundos.
Continúa mañana.
Los componentes principales del análisis del protocolo de comunicación Skype-Skype (2) 1, puerto
En el cuadro de diálogo de propiedades de conexión de Skype, puede configurar el número de puerto de escucha. Cuando se instala, Skype seleccionará aleatoriamente un puerto como puerto de escucha, que es diferente del protocolo HTTP. Skype no tiene un puerto de servicio predeterminado. Al mismo tiempo, también abrirá el seguimiento de los puertos 80 y 443. 80 es el puerto predeterminado para los servicios HTTP normales y 443 es el puerto predeterminado para los servicios HTTPS.
2. Lista de hosts (HC, caché de hosts)
El host aquí se refiere al supernodo (SN) que puede proporcionar servicios de pedaleo y transmisión. Normalmente se almacena en el registro: HKEY_Current_Users/Software/Skype/Phones/lib/Connections/HostCache. Generalmente, después de dos días de funcionamiento, habrá alrededor de 200 direcciones de máquina y los números de puerto correspondientes en el HC.
3. Códecs de señales digitales multimedia
Los códigos son esenciales para las comunicaciones de voz. Global IP Sound afirma específicamente en su sitio web que proporciona software de comunicación de voz de igual a igual para Skype: Global IP Sound proporciona software de procesamiento de voz para el software de comunicación de voz de igual a igual de Skype. Skype debería usar su códec para la comunicación de voz.
4. Lista de amigos
Cuando cambias de computadora, puedes encontrar que falta la lista de amigos en Skype. No te sorprendas, la lista de amigos de Skype no se guarda en el servidor, sino en el registro local. Cifrado por supuesto.
5. Cifrado
Skype utiliza el estándar de cifrado AES.
6.NAT y firewall
Skype debe utilizar los protocolos STUN y TURN para detectar entornos NAT y firewall. Skype actualiza periódicamente esta información, que también se almacena en el registro. A diferencia de Kazza, otro sistema de intercambio de archivos peer-to-peer, los clientes comunes no pueden evitar convertirse en supernodos (SN), es decir, proveedores de servicios de inicio de sesión y servicios de transmisión que pueden activarse en cualquier momento, similar al papel de semilla. proveedores en BT.
Las funciones principales de Skype - Análisis del protocolo de comunicación de Skype (3) Las funciones de Skype se pueden dividir principalmente en: inicialización, inicio de sesión, búsqueda de usuarios, establecimiento y terminación de llamadas, transmisión de medios y mensajes de estado.
1. Inicialización
Después de la primera instalación, Skype enviará una solicitud HTTP 1.1 al servidor central, incluida la palabra clave "instalado" y el número de versión del Skype instalado. Cada vez que inicie sesión en Skype en el futuro, se enviará una breve solicitud HTTP 1.1 que contiene la palabra clave "getlatestversion" al servidor central para consultar si hay una nueva versión de Skype.
2. Iniciar sesión
Iniciar sesión puede ser la función más importante de Skype. Durante este proceso, la terminal de Skype verifica el nombre de usuario y la contraseña en el servidor de inicio de sesión, los transmite a amigos y otros pares, verifica el tipo de NAT y firewall y encuentra nodos de Skype en línea con direcciones IP públicas. Estos segmentos recién descubiertos se utilizan para mantener las computadoras conectadas a la red de Skype después de que el supernodo deja de estar disponible.
Ya hemos hablado del proceso de inicio de sesión. Conecte primero UDP, luego TCP, luego TCP al 80, luego TCP al 443. Si es válido, se conectará. De lo contrario, se mostrará que no puede iniciar sesión. Los objetos conectados se guardan en la caché del host local.
La IP del servidor de inicio de sesión es 80.160.91.11 y el registro nslookup muestra que sus nombres de dominio son: ns14.inet.tele.dk y ns15.inet.tele.dk, dk es el nacional danés nombre de dominio jerárquico.
Cuando inicia sesión por primera vez después de la instalación, el HC se inicializa y contiene 7 pares de IP y puertos, y básicamente siempre son estos 7 IP y puertos, incluso si hay más de 7 pares. , estos 7 pares están incluidos. Cuando un usuario inicia sesión por primera vez después de la instalación, Skype establece una conexión TCP a través de un par de IP y puerto.
Los siete pares de puertos IP y los nombres de host correspondientes de estas IP son:
Dirección IP: resultado de la búsqueda inversa de puerto
66.235.180.9:33033 SLS- CB 10p 6 . DCA . susc .net .
80.161.91.25 . .ADSL-DHCP.dk
80.160.91.12:33033 0x50a 15b0c. 9.ADSL-DHCP. 246-49-60 ev 1 . :33033 NS2 . ev 1 . net
Se puede ver que los hosts anteriores pertenecen a cuatro ISP, incluidos Superb, Suscom y EV1. NET es un ISP en los Estados Unidos.
Materiales de referencia:
1, "Análisis del protocolo telefónico de Internet punto a punto de Skype".