Instalación y configuración de Computadores y Periféricos
Escuela Técnica de Ingeniería Informática de Gijón
3º Ingeniería Técnica en Informática de Sistemas

Transferencia de archivos

Autores: Daniel Carrocera Melero y Angel Suarez Fernandez

Fecha: 18 de mayo de 2007

Índice

Objetivos

El objetivo de este trabajo es probar algunas formas de transferencia de ficheros entre ordenadores, nosotros nos centraremos en las redes de tipo Peer to Peer y las de tipo Ftp, explicaremos en que se basan, cuales son sus características, implementaremos un servidor ftp sencillo en una red local con un router que hace NAT, y explicaremos también la forma de hacer que dos ordenadores de una red local usen simultaneamente un servicio P2P. Por otro lado estudiaremos las ventajas y desventajas que presentan ambas tipos de conexiones, y trataremos de mostrar cual es para determinadas tareas y cual mejor para otras.

Arriba

Teoría básica

eMule: Uno de los mas conocidos programas de transferencia de archivos, esta basado en redes Peer to Peer; es decir entre pares. No posee ni clientes ni servidores fijos, sino una serie de nodos que se comportan simultáneamente como clientes y como servidores respecto a los demás nodos de la red.


Imagen de ejemplo
Una red Peer to Peer.

Para tener buena conexión con el eMule es importante tenerlo bien configurado; os voy a mostrar a que se deben la mayoría de los problemas que aparecen con la conexión:

Normalmente suele haber problemas con ID:


Imagen de ejemplo
Disposicion de internet.


Imagen de ejemplo
Icono de la barra de estado.


Imagen de ejemplo
Barra de descarga del eMule.

Bit Torrent: es también un sistema de descarga de archivos bastante conocido y se esta empezando a imponer, ya que es un hibrido que mezcla las ventajas del FTP y del Peer to Peer. Esto se debe a que permite la descarga directa como si fuese un FTP simple, pero a la vez se trata de un tipo de red donde no hay ni clientes ni servidores fijos sino que se basa en una serie de nodos que se comportan simultáneamente como clientes y servidores.

La gran ventaja de BitTorrent sobre otros clientes P2P es su velocidad, y ademas funciona mejor para compartir archivos grandes a diferencia del FTP donde la descarga del archivo debe ser de un solo tirón. A continuación se muestra el funcionamiento del protocolo BitTorrent:


Imagen de ejemplo
Funcionamiento del protocolo Bit Torrent.

Componentes de una red con protocolo Bit Torrent:

Acciones a realizar para subir, y posteriormente descargar, un archivo de Bit Torrent:


Imagen de ejemplo
Vemos como este usuario esta conectado a 18 peers y a 13 seeds.

Servidor Ftp: Cuando un router está configurado en multipuesto dinamico utiliza NAT para dirigir la información que llega de la WAN hacia un equipo determinado de la red local. Veamos en que consiste el multipuesto dinamico.

Cada línea de acceso a Internet está dividida en una serie de puertos para facilitar el paso de información, y cada aplicación o juego hace uso de uno o varios puertos. En Multipuesto el paso de información por estos puertos se ve más controlado y por esta razón muchas veces la información entrante o saliente es rechazada. Esto no significa que no pueda pasar información, sino que determinado tipo de esta es rechazado. Esta es la razón por la cual muchas veces, estando en Multipuesto, nos vemos imposibilitados a jugar online con cierto juego o usar cierta aplicación que requiera el uso de nuestra conexión. Para solucionar este problema los routers incorporan una funcionalidad llamada NAT.

El NAT nos permitirá mapear los puertos que necesitemos, de tal forma que toda la información que llegue a ellos será remitida al puesto que indiquemos. Pero debemos tener en cuenta que solo podremos mapear el mismo puerto para un solo puesto (PC).

Como consecuencia de la configuración multipuesto veremos que para hacer que un ordenador de la red local se comporte con un servidor habrá que configurar una serie de parámetros en el router. Además de lo anteriormente dicho nuestra ip publica es dinámica lo que quiere decir que cada vez que reiniciamos el router o por alguna razón la conexión se cae, tendremos cada vez una direccion ip publica distinta, lo cual para establecer un servidor para dar servicio a equipos fuera de nuestra red local no es lógico, ya que de esta manera los clientes tendrían que preguntar al administrador del servicio cuál es su ip cada vez que deseen conectarse al servidor.

Una conexión FTP puede funcionar de dos modos: Activo(el modo por defecto) y pasivo (conocido como passive mode).

Para entender cómo funcionan estos modos, debemos profundizar un poco más en el esquema cliente/servidor y explicar cómo se realiza paso a paso una conexión entre la máquina cliente y servidor. Un puerto es un identificador de conexión remota. No es más que un número, e identifica la conexión de tal modo que para conectarnos a una máquina remota, debemos utilizar un puerto que esté libre. Normalmente, se admiten números de puerto desde 1 hasta 65535, y los 1024 primeros están reservados para el sistema (esto depende el sistema operativo). Cuando nos conectamos a una máquina remota, debemos indicar la dirección o nombre de la máquina (dirección IP y nombre de dominio) y el número de puerto del servidor (el identificador de nuestra conexión). De este modo, cuando llega un dato a la máquina remota, sabe perfectamente a qué conexión pertenece dicho dato. Si no existiera el puerto, una máquina sólo podría atender una conexión remota simultáneamente, porque no sería capaz de diferenciar los datos de las distintas conexiones. Tanto el cliente como el servidor deben tener un puerto activo durante la conexión. Normalmente, el que inicia la conexión (cliente) decide el puerto del servidor al que quiere conectarse y es el sistema el que asigna un número de puerto libre para el cliente.



A continuación vamos a ver el modo activo:

En el modo activo, o por defecto, vemos que el cliente inicia la conexión con el servidor a través de un puerto X hacia el puerto 21 del servidor que será el puerto de control de ftp. A continuación el servidor establece siempre el canal de datos a través de su puerto 20 hacia el puerto Y del cliente, lo que a veces puede suponer un problema. Se verá mas adelante el por qué.


Imagen de ejemplo
Conexion en modo activo.

A continuación vamos a ver el modo pasivo:

El cliente arranca e intenta conectarse contra el servidor. Para ello crea un canal de control estableciendo una conexión física a la dirección IP (o nombre de dominio) del servidor, y desde cualquier puerto del cliente (puerto X) hacia el puerto 21 del servidor. (este punto es igual que en el modo activo).


Conexion en modo pasivo.
Conexion en modo pasivo.

Esto, aunque parezca un detalle sin importancia, puede ser vital en algunas situaciones. Supongamos que nuestra conexión a internet utiliza un cortafuegos. El principal cometido del cortafuegos es cerrar los puertos para conexiones entrantes, es decir: que sobre ciertos puertos sea imposible realizar una conexión remota. Si el cliente FTP utiliza un cortafuegos, y se utiliza el modo activo de conexión, tendremos muchas posibilidades de que no funcione correctamente, ya que cuando el servidor necesite abrir el canal de datos, se podría utilizar uno de los puertos que el cortafuegos mantiene cerrado. Sin embargo, en el modo pasivo, un cortafuegos no supone ningún problema, ya que las conexiones siempre las inicia el cliente, y el servidor nunca intentará abrir una conexión con el cliente.

Así que, sabiendo esto, es recomendable utilizar el modo pasivo si tenemos alguna sospecha de que puede haber sus cortafuegos en nuestra conexión.

Esto es todo lo que se puede decir a grades rasgos sobre los modos de conexión a un servidor ftp. Ahora explicaremos brevemente las dos formas de autitentificarse como usuario frente un servidor ftp.

La primera de las formas es de manera anónima, para ello cuando configuramos le servidor tenemos que habilitarlas, cosa que nosotros hemos hecho. Conectandonos de esta forma, el servidor ftp no sabe quien somos, en realidad no hay ninguna cuenta de usuario que nos identifique creada en el servidor, solo hay una cuenta anónima que utilizarán todos los usuarios que deseen conectarse de esta forma.

Si una servidor posee servicio 'FTP anonymous' solamente con teclear la palabra anonymous, cuando pregunte por tu usuario tendrás acceso a ese sistema. No se necesita ninguna contraseña preestablecida, aunque tendrás que introducir una sólo para ese momento, normalmente se suele utilizar la dirección de correo electrónico propia.

Solamente con eso se consigue acceso a los ficheros del FTP, aunque con menos privilegios que un usuario normal. Normalmente solo podrás leer y copiar los ficheros existentes, pero no modificarlos ni crear otros nuevos.

El segundo de estos métodos el la identificación como un usuario normal, el cual tiene una cuenta creada dentro del servidor con su nombre de usuario y contraseña correspondiente, con lo que cuando tenga que autentificarse ante el servidor esta información será la que suministre el cliente.

Arriba

Configuración de partida

Configuración de partida de la red local antes de montar el servidor ftp: Se trata de un terminal con Windows xp conectado a un router en multipuesto dinamico.

Para el montaje del servicio P2P en los dos ordenadores también usaremos la misma red local.

Arriba

Desarrollo (Primera Parte)

Vamos a tratar en primera instancia todo lo que tiene que ver con la configuración del router.

Se trata de un router zyxel P660HW-D1 de los que te ponen en casa cuando contratas el conocido trío de imagenio.

Cuando lo contratas, por defecto solo puedes configurar algunos aspectos del router a traves de un llamado portal Alejandra a traves de cual solo puedes abrir puertos pero nada mas allá por lo que necesitamos obtener una contraseña para configurar el router a través de telnet.

Pasos a seguir:


Ventana de comando
Ventana de comando: Telnet


Ventana de comando
Ventana de comando: Telnet


Ventana de comando
Ventana de comando: Telnet


Ventana de comando
Ventana de comando: Telnet


Ventana de comando
Ventana de comando: Telnet


Ventana de comando
Ventana de comando: Telnet


Ventana de comando
Main menu


Ventana de comando
NAT setup


Ventana de comando
NAT server setup


Ventana de comando
Filter Rules Sumary


Ventana de comando
ICP/IP Filter Rules

Para acceder a el vamos al siguiente portal www.dyndns.com y una vez alli seguimos los siguientes pasos:

Configuracion del programa Serv-U FTP:


Ventana de comando
Filter Rules Sumary


Ventana de comando
Filter Rules Sumary


Ventana de comando
Filter Rules Sumary


Advertencia: Si tiene algún firewall instalado en su ordenador como puede ser simplemente el firewall de windows deberá permitir que este deje pasar información por todos los puertos que hemos redireccionado anteriormente en el router.Para el caso del firewall de windows que viene con el service pack 2 de windows xp haga lo siguiente:
Inicio --> Panel de control--> Firewall de windows-->excepciones
Una vez aquí pinchar en agregar programa y seleccinamos Serv U ftp para que el firewall no bloquee las conexiones de nuestro programa. Tambien sería recomendable dejar pasar trafico por los puertos que se han abierto para las conexiones en modo pasivo. 6446 y 6447 . Para ello pinchamos en agregar puerto y simplemente se teclea el nº de puerto que queremos liberar.

Dudas respecto al uso del eMule

Una de las dudas mas frecuentes en cuanto al uso de emule en mas de un equipo dentro de una red LAN es si se puede usar el mismo servicio en distintos equipos simultaneamente. La respuesta es que si.
Pongamos el siguiente ejemplo con dos equipos A(192.168.2.2) y B(192.168.2.3). Para lograr nuestro propósito deberemos ir a la tabla del NAT de nuestro router y mapear para la direccion del equipo A el puerto que queremos utilizar para el emule y para la dirección del equipo B redireccionaremos otro puerto distinto del que hemos utilizado para el quipo A. El proceso de redireccionamiento de puertos es análogo al explicado para el servidor ftp.


Ventana de comando
Configuracion de puertos

Arriba

Desarrollo (Segunda Parte)

Vamos a probar dos tipos de redes de transferencia de archivos, para ello vamos a usar el eMule y el programa Serv-U FTP de manipulación de redes FTP. Para realizar las pruebas lo que haremos será descargarnos 3 archivos de diferentes tamaños desde el programa eMule y recogeremos los tiempos, velocidades, etc. Posteriormente subiremos los archivos al servidor FTP, y los volveremos a descargar recogiendo tiempo y velocidades, posteriormente compararemos los resultados.

Los archivos son:

Nota: la disponibilidad se refiere al numero de usuarios que poseen ese archivo en el eMule.


El tiempo y velocidad de descarga del eMule:


El tiempo y velocidad de descarga del FTP:

Comparando las mediciones vemos que: el eMule para archivos pequeños es bastante rápido, por el contrario el FTP es muy lento. A medida que se va incrementando el tamaño del archivo, el FTP va reduciendo sus tiempos de descarga, incluso con una velocidad de descarga menor.

Podriamos decir que hay una relacion entre el tamaño y tiempo de descarga entre ambos programas.

Y la relacion seria la siguiente:


Ventana de comando
Relacion eMule-FTP

Arriba

Enlaces

Arriba

Conclusiones

Hemos observado que en algunas ocasiones las descargas con el eMule pueden volverse lentas y tediosas. Pondremos a continuación un ejemplo que clarificará de alguna manera el por qué de estas situaciones.
Supongamos que tenemos una canal de un Mb de ancho, es decir, que por el puede pasar un 1Mb o lo qu e es lo mismo 125KBs. Tenemos hasta un maximo de 2000 grifos cuyo caudal es variable y que va desde 56kbs=2,8 a 2000kbs=196KBs. Pero cada grifo no surte solo a ese canal sino simultáneamente a varios canales distintos variando el numero de canales surtidos por cada grifo entre 1-10, normalmente.Surge entonces la siguiente pregunta: ¿Cuántos grifos necesitamos que viertan agua simultáneamente para que por el canal pase su caudal máximo?
Hay que tener en cuenta también que hemos instalado unas sondas en el canal para saber qué grifos dan agua y qué tipo de agua dan, lo que puede dar lugar a una merma a veces significativa de la capacidad del canal de datos.
Sin embargo, aunque es cierto que hay 8 bits en cada byte, la naturaleza asíncrona de la transmisión de datos por Internet requiere recibir 2 bits (de inicio y fin) por cada 8 de datos útiles. Así, hacen falta 10 bits para recibir 8 de información solicitada. Este factor, unido a variables como la pérdida de paquetes de información, calidad de la línea, congestión de redes y servidores, etc., convierte el rendimiento 'verdadero' de la línea en una ciencia inexacta.

En cuanto a las bajas velocidades de transferencia observadas en el uso del servidor ftp puede ser debido a no utilizar un servidor dedicado para este fín, ya que este se ha montado en un ordenador de sobremesa preparado para utilizarse como cliente y no para ofrecer este tipo de servicios además de alguna de las razones comentadas anteriormente como puede ser la calidad de las lineas de la operadora. Con lo cual, en el momento que estemos accediendo a internet y debamos compartir la conexión con un cliente que se conecta a nuestro servidor, el rendimiento de este caerá considerablemente debiendose a que nuestro ancho de banda está preparado para ser cliente.

El servicio ftp además tiene serios problemas de seguridad que con la conexión anónima no quedan tan a la vista como pueden ser el envio de claves y datos en texto claro(sin cifrar), lo que les convierte en objetivos fáciles de espiar.
Tanto los serviciós Ftp como p2p no éstuvieron exentos nunca de ciertas controversias legales por exponer al público contenidos que solo se puede acceder a ellos mediante pago y actualmente aún se sigue debatiendo sobre la legalidad de estos servicios que tanto usa la gente y tantos quebraderos de cabeza está creando a los encargados de regular la propiedad intelectual.

Como cunclusión final podríamos decir que si no se dispone de los suficientes medios para ofrecer un servicio ftp con unas velocidades de descarga aceptables se recomienda hacer uso de los servicios p2p ya que con él se podrían llegar a alcanzar unas tasas de transferencia aceptables con equipos de sobremesa normales.

Arriba

Licencia

Creative Commons License
Este trabajo utiliza una Licencia Creative Commons.

Arriba