martes, 22 de abril de 2008

Kazaa, Emule, Ares y nuestra red comprometida

This is a diagram of a Wikipedia:Peer-to-Peer computer network, which I created, derived from the :Image:Computer n screen.svg which is under the GNU LGPL.

Todos sabemos lo que es el emule, kazaa, ares o bit torrents, y sabemos que cuando queremos escuchar un tema musical, ver un video o bajar un programa ahí está casi todo.
Las redes P2P (peer to peer - persona a persona) están basadas en un sistema colaborativo de traspaso de información. Cuando estamos bajando algo estamos conectados otros equipos perteneciente a esa red P2P. Esta conexión revela que uno está conectado y que tenemos partes del archivo que estamos bajando, esto es informado a la red P2P para que otros puedan descargar el archivo desde nuestra conexión. Para nosotros esto ya no es una bajada sino que es una conexión de subida.

Cuando comenzamos a bajar un archivo nos conectamos a una gran cantidad de miembros de la red P2P para traer información y prácticamente nadie se conecta a nosotros (al principio). Esto es bastante obvio porque tenemos muy poca información para brindar.

A medida que tenemos más información tenemos más datos para brindar a otros y cada vez más miembros o personas se conectan a nosotros para obtener la información.

Aquí comienza el problema!!

Todas la conexiones a internet que se utilizan en los hogares, en las pequeñas empresas y en la gran mayoría de las medianas empresas son de tipo ADSL, Cable Modem, WiFi o GPRS. Independientemente del medio utilizado para tener internet siempre son conexiones con anchos de banda asimétricos. El ancho de banda de bajada es distinto al de subida y generalmente la relación es de uno a diez. Ejemplo:

Cuando tenemos una conexión de 1 Mbps lo que en realidad es de 1 Mbps es el ancho de banda de bajada, pero el de subida es generalmente de 128kbps. Esto obviamente depende del país en el que nos encontremos y del producto que nos ofrezca la compañía que provee internet, pero por lo general esta regla se mantiene.

Bien, si para bajar x megas a 1 Mbps de bajada demoramos 10 mins, es casi proporcional que para subirlo a 128 kbps necesitamos 8 veces más de tiempo.. o sea 80 mins.

Quiero dejar bien claro la diferencia entre subida y bajada, y que nuestras conexiones a internet económicas o no corporativas tienen mucho menos ancho de banda de subida que de bajada.

Antes de seguir les quiero comentar que vengo analizando este tipo de tráfico con firewalls basados en Linux configurados personalmente para identificar y analizar puntualmente estas situaciones. Las conclusiones que desarrollo están basadas en el análisis de tráfico en empresas de entre 10 y 30 puestos de trabajo donde al menos una persona y no más de 3 utilizan sistemas P2P para bajar cosas.

Los problemas prácticos que se perciben en empresas donde hay quienes utilizan software P2P son:

  • Lentitud la navegación y en el acceso a internet
  • Problemas de ingreso desde internet hacia aplicaciones que estén dentro de la empresa cómo VPN, web mail, Escritorios Remotos, Etc.
  • Errores de envío de correos electrónicos con adjuntos
  • Errores en la recepción de correos grandes.
  • Totalmente imposible utilizar sistemas de transmisión en tiempo real como la voz sobre internet, videoconferencias, etc.

Por que pasa todo esto?

Cómo decíamos antes cuando mayor cantidad de información tenemos bajada (pero pendiente de finalización) mayor cantidad de conexiones tenemos hacia nosotros. A veces podemos llegar a ver entre 20 y 100 personas de internet conectadas para llevarse parte de la información. Cada persona conectada establece una conexión con determinado tráfico, la suma de todas estas conexiones satura nuestro ancho de banda de subida.

Cuando esto sucede e intentamos navegar o bajar un correo necesariamente tenemos que enviar algo de información a internet pero como en ese momento hay un montón de conexiones ya establecidas por el tráfico P2P nuestra petición tiene que hacerse paso entre todos los que están conectados.

Imagínense una puerta de 1 metro de ancho (-que pasan 2 personas a la vez-) donde 1000 personas están intentando pasar al mismo tiempo. Nuestro ancho de banda de subida es como la puerta y pueden pasar 5 personas, pero cuando hay 200 tratando de pasar al mismo tiempo es obvio que todo colapsa.

Sin embargo con la bajada de datos no tenemos este problema, primero porque el ancho de banda de bajada es mayor, y segundo que la cantidad de conexiones concurrentes nunca son más que la cantidad de PCs que hay en la empresa.

En los análisis se demuestra que el 40 % del tráfico en una red P2P es de subida, y si tenemos presente que el ancho de banda de subida es casi 10 veces menor que el de bajada deducimos que para subir ese 40% se necesita mucho más tiempo que para bajarlo.

Si el tráfico total fue de 1 Gb quiere decir que bajamos 600Mb pero subimos 400Mb. Si nuestra conexión es de 1 Mbps de bajada, quiere decir que bajamos a 100 kb por seg y demoraríamos 100 minutos en bajar los 600 mb. Pero como nuestro ancho de banda de subida es de 128 kbps, o sea aprox. 12 kb por seg nos llevará 9,26 hr para subir los 400Mb.

Son 9,26 hr donde aproximadamente más del 75 % de ese tiempo estamos saturando el ancho de banda.
Los sistemas P2P nos retienen conectados sin que podamos finalizar nuestras bajadas así otros pueden obtener más información. Tengamos presente que es un sistema colaborativo y está bien que así sea, pero si el ancho de banda de subida fuera igual al de bajada no se degradarían tanto las conexiones de internet.

Consejo, no utilice sistemas P2P en su empresa, comprometen los recursos de su red.

En las redes hogareñas o para un solo equipo sigue siendo válido el análisis, cuando uno utiliza estos programas p2p, nos encontramos con las siguientes situaciones:

  • Abrimos puertos de nuestros firewall, dejamos que por determinados puertos se pueda acceder a nuestro equipo.
  • Cada tema, video, archivo que estemos bajando, lo estamos al mismo tiempo compartiendo cada peer o cliente que este bajando el mismo archivo tiene un lazo a nuestro equipo o sea una conexión activa.
  • Todo lo que tengamos en la carpeta compartida y no fue removido, esta compartiéndose y creando conexión activas con otros equipos.

Cómo funciona el tcp/ip el protocolo para comunicación de datos a través de la red?
Por cada petición que hacemos al ver una página web, recibir un correo o simplemente al chatear es el siguiente, cada "x" cantidad de bytes que deseamos, mandamos otra cantidad "x" de bytes de respuesta, esto es para avisar que hemos recibido correctamente la primera tanda de bytes y así consecutivamente. En el ejemplo hablamos de una línea con una bajada de 1 mb pero 128 de subida, estos son proporcionales uno al otro, sino enviamos con la misma rapidez la confirmación de que recibimos, no recibiremos hasta que el que envía reciba el ok de recepción.
Al utilizar los programas p2p el ancho de banda de subida o nuestras confirmaciones de recepción para este protocolo entran en un efecto de cuello de botella, colapsando nuestra conexión.

Es importante ser consciente de esto, que no exijamos que nuestra conexión o red, funcione con velocidad cuando tenemos el ancho de banda consumido.
Eh visto casos, en los que la gente deja todo lo bajado en la carpeta compartidos simplemente para usarlo como catalogo del reproductor, ejemplo dejar todo en compartidos y escuchar la música con el reproductor del ares o kazaa y justamente no estar utilizándolo para bajar nada, el usuario compromete el rendimiento de la red y no atiende que aunque no esté bajando la red esta ofuscada por que al estar abierto el programa esta compartiendo todos sus archivos, poco importa que no esté bajando.

Fuente: esclaro.com

No hay comentarios.:

Titulares