Buscar en este blog

lunes, 26 de septiembre de 2011

Cómo funciona Internet? (II)

En el post "Cómo funciona Internet?" se explica a grandes rasgos el proceso que siguen los datos para ser enviados y recibidos. En esta ocasión veremos algunos matices más sobre el complejo funcionamiento de Internet. Los sistemas OSI y TCP/IP (que se explicaron en "Cómo funciona Internet?") definen los procesos y características que siguen los datos en su transmisión, aunque como bien se dijo son tan sólo modelos teóricos y la realidad es algo mas compleja. Los protocolos para comunicaciones existentes se pueden contar por miles y las funciones y responsabilidades de cada protocolo varían según las características para las que se ha desarrollado, entremezclándose a menudo. En este post se citan tres puntos que pretenden dar una muestra de la complejidad de los datos que viajan por Internet.

En primer lugar hablaremos del protocolo GTP (GPRS Tunneling Protocol) y las VPNs (Virtual Private Network), que ya vimos en el post "N00ter: una aplicación que detecta si hay Gestión de Tráfico" que interconectan a través de Internet dos redes LAN, se llevan a cabo mediante mecanismos de 'tunneling'. Esta técnica es un claro ejemplo de cómo se entremezclan los protocolos. El GTP se emplea en el transporte de las redes 3G móviles y se lleva a cabo encapsulando el paquete IP original en los protocolos UDP e IP . El resultado es bastante diferente de lo que el modelo OSI o TCP/IP, ya que en la pila de protocolos aparecen dos veces la capa IP y también dos veces la capa de L4 (TCP y UDP). El funcionamiento de VPN es algo mas complejo aunque el principio es similar.


Por otro lado, resulta interesante ver cómo las aplicaciones emplean los protocolos y como generan conexiones. Como conexión se debe entender el flujo de paquetes que van desde una dirección IP y puerto origen a una dirección IP y puerto destino, y según un protocolo de transporte (TCP o UDP). Esto, como ya se ha dicho en anteriores ocasiones, se conoce cómo 5-tuple y es empleado en varios dispositivos de red. El caso es que no existen limitaciones para el número de conexiones que se pueden dar sobre una máquina, y este es uno de los puntos donde se hace fuerte el P2P (ver "El tráfico P2P"), junto con la "Violación de recomendaciones y normas en Internet". Lo que se hace es simple, imaginemos dos clientes que abren varias conexiones en paralelo entre ellos para lograr mayores tasas de transferencia. La matemática es simple: la apertura de diez conexiones en paralelo ofrece una conexión global con una velocidad de transferencia de diez veces mayor que su cuota justa. Si se abren cien...

Por último, es de destacar también la complejidad que se añade al usar infinidad de protocolos entremezclados. Una aplicación no tiene porqué emplear tan sólo un protocolo en concreto, y el número de protocolos existentes es muy elevado (los equipos de análisis actuales reconocen del orden de 1000). Los motivos son varios, aunque generalmente suele deberse a que muchas aplicaciones empelan código de terceros o varios servicios que requieren varios protocolos. Un ejemplo claro de este hecho es Skype, por ejemplo, que emplea protocolos de VoIP, de mensajería instantánea, de video, etc.