Documente Academic
Documente Profesional
Documente Cultură
30 de Septiembre de 2015
INSTITUTO
POLITCNICO NACIONAL
PRACTICA 1
FTP
GRUPO:
3CV5
PROFESORA:
BAUTISTA ROSALES SANDRA
IVETTE
ALUMNOS: RODRIGUEZ MORA
OMAR ARTURO. B: 2011630253
EDUARDO ALTAMIRANO GARCIA
B: 2011630321
30 de Septiembre de 2015
INDICE.
1.
Objetivo....................................................................................................................................... 3
2.
3.
Desarrollo. .................................................................................................................................. 6
4.
Preguntas. .................................................................................................................................. 9
5.
6.
Referencias. ............................................................................................................................. . 10
30 de Septiembre de 2015
1. OBJETIVO
Desarrollar un programa en java, donde se enven archivos cliente-servidorCon el protocolo FTP para la interaccin de informacin entre puertos de una red.
2. INTRODUCCION TEORICA
En la actualidad todos pasamos gran parte del tiempo frente a una computadora ya sea por
ocio o por necesidad pero sin importar cul sea el caso hacemos uso de transferencia de
archivos no importa la plataforma que utilicemos pero las ms comunes para esto
actualmente son mensajeras instantneas y tambin almacenamiento en la nube as como
es Facebook, Outlook, Gmail, Yahoo! y algunas plataformas como Google Drive, Dropbox,
Mega, pero no todas las plataformas nos permiten hacer envos de gran tamao y es por
eso que surge la necesidad de desarrollar aplicaciones que nos permiten hacer envo de
archivos sin importar el tamao
Socket
Los sockets proporcionan una comunicacin de dos vas, punto a punto entre dos procesos.
Los sockets son muy verstiles y son un componente bsico de comunicacin entre
interprocesos e intersistemas. Un socket es un punto final de comunicacin al cual se
puede asociar un nombre. Este tiene un tipo y uno o ms procesos asociados.
Los sockets existen en los dominios de comunicacin. Un socket de dominio es una
representacin que da una estructura de direccionamiento y un conjunto de protocolos.
Los sockets se conectan solamente con sockets en el mismo dominio.
FTP
FTP (siglas en ingls de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en
informtica, es un protocolo de red para la transferencia de archivos entre sistemas
conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura
cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar
archivos desde l o para enviarle archivos, independientemente del sistema operativo
utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicacin del modelo de capas de red TCP/IP al
usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema bsico de FTP es
que est pensado para ofrecer la mxima velocidad en la conexin, pero no la mxima
seguridad, ya que todo el intercambio de informacin, desde el login y password del
usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano
sin ningn tipo de cifrado, con lo que un posible atacante puede capturar este trfico,
acceder al servidor y/o apropiarse de los archivos transferidos.
3
30 de Septiembre de 2015
Para solucionar este problema son de gran utilidad aplicaciones como SCP y SFTP, incluidas
en el paquete SSH, que permiten transferir archivos pero cifrando todo el trfico.
El Modelo FTP
En el modelo, el intrprete de protocolo (IP) de usuario inicia la conexin de control en el puerto 21. Las
rdenes FTP estndar las genera el IP de usuario y se transmiten al proceso servidor a travs de la
conexin de control. Las respuestas estndar se envan desde la IP del servidor la IP de usuario por la
conexin de control como respuesta a las rdenes.
Estas rdenes FTP especifican parmetros para la conexin de datos (puerto de datos, modo de
transferencia, tipo de representacin y estructura) y la naturaleza de la operacin sobre el sistema de
archivos (almacenar, recuperar, aadir, borrar, etc.). El proceso de transferencia de datos (DTP) de
usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexin al puerto de datos
especificado (puerto 20 en modo activo o estndar) y transferir los datos en funcin de los parmetros
que se hayan especificado.
Vemos tambin en el diagrama que la comunicacin entre cliente y servidor es independiente del
sistema de archivos utilizado en cadacomputadora, de manera que no importa que sus sistemas
operativos sean distintos, porque las entidades que se comunican entre s son los PI y los DTP, que usan
el mismo protocolo estandarizado: el FTP.
Tambin hay que destacar que la conexin de datos es bidireccional, es decir, se puede usar
simultneamente para enviar y para recibir, y no tiene por qu existir todo el tiempo que dura la
conexin FTP. Pero tena en sus comienzos un problema, y era la localizacin de los servidores en la red.
Es decir, el usuario que quera descargar algn archivo mediante FTP deba conocer en qu mquina
30 de Septiembre de 2015
estaba ubicado. La nica herramienta de bsqueda de informacin que exista era Gopher, con todas sus
limitaciones.
Servidor FTP
Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado
a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su funcin es
permitir el intercambio de datos entre diferentes servidores/ordenadores.
Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por
lo que un usuario normalmente utilizar el FTP para conectarse remotamente a uno y as intercambiar
informacin con l.
Las aplicaciones ms comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes
utilizan el servicio para subir sus pginas web y sus archivos correspondientes; o como servidor de
backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello,
existen protocolos de comunicacin FTP para que los datos se transmitan cifrados, como el SFTP (Secure
File Transfer Protocol).
30 de Septiembre de 2015
Cliente FTP
Cuando un navegador no est equipado con la funcin FTP, o si se quiere cargar archivos en un
ordenador remoto, se necesitar utilizar un programa cliente FTP. Un cliente FTP es un programa que se
instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y
transferir archivos, ya sea para descargarlos o para subirlos.
Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside
(servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en
caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.
Algunos clientes de FTP bsicos en modo consola vienen integrados en los sistemas operativos,
incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con
opciones aadidas e interfaz grfica. Aunque muchos navegadores tienen ya integrado FTP, es ms
confiable a la hora de conectarse con servidores FTP no annimos utilizar un programa cliente.
3. DESARROLLO
Iniciamos la prctica ejecutando nuestro programa de NetBeans y abriendo un nuevo
proyecto para proceder a la realizar del mismo.
Para ver el resultado obtenido en la prctica necesitamos correr primero el servidor y ya
que est listo pasamos a correr el cliente, ya que hemos corrido el cliente nos aparecer un
ventana de seleccin de archivos que hemos creado en el lado de cliente y en el cdigo
habilitamos la seleccin mltiple como mostramos a continuacin:
30 de Septiembre de 2015
Para cada archivo que queramos mandar se crear un Socket para enviarlo, dentro del cdigo del
cliente, obtendremos el nombre de cada archivo que seleccionamos y despus obtenemos los bytes
de cada uno de los archivos y procedemos a crear los Streams necesarios para poderlos almacenar
temporalmente en los Buffer de entrada y salida respectivamente.
Aqu seleccionamos los archivos que enviaremos.
Inmediatamente despus de elegir el archivo que se desea transmitir desde el JfileChooser se abrira
una nueva ventana que refleja el tamao del archivo y justo al lado el tamao del archivo a
transmitir, una vez concluido el proceso podremos ver el archivo en nuestra carpeta local.
30 de Septiembre de 2015
30 de Septiembre de 2015
Preguntas:
1. Qu tipo de archivos se enviaron ms rpido? Los de texto.
2. Cul fue el nmero mximo de archivos que fue posible enviar a la vez? 8
lijeros, si eran de mas de 5mb solo 4.
3. Cul fue el tamao de archivo ms grande que se pudo transferir? 12mb
por qu? El tiempo de carga se volvia muy lento.
4. Qu es el orden de red? La prioridad con la que el cliente y servidor se
comunicn.
5. Por qu razn es importante utilizar el orden de red al enviar los datos a
travs de un socket? Porque al usar un protocolo este nos indica la forma de
comunicacin.
6. Si deseramos enviar archivos de tamao muy grande, qu cambios sera
necesario hacer con respecto a los tipos de datos usados para medir el tamao
de los archivos, as como para leer bloques de datos del archivo? Cambiar el
tamao de buffer y descomponer los archivos en paquetes mas grandes.
30 de Septiembre de 2015
4. CONCLUSIONES
Los sockets son un sistema de comunicacin entre procesos de diferentes mquinas
de una red. Ms exactamente, un socket es un punto de comunicacin por el cual
un proceso puede emitir o recibir informacin, mediante los sockets de flujo
podemos compartir informacin y diferentes archivos, utilizando una arquitectura
Cliente-Servidor, as mismo los sockets de flujo cuentan con ventajas como son que
no tiene lmite de grabacin y es confiable por su mecanismo de flujo de datos de
dos vas
5. REFERENCIAS
Recuperado el 8 de mayo de 2015
http://librosnetworking.blogspot.mx/2006/10/implementacin-de-port-security
en.html
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/122SX/configuration/guide/book/port_sec.html
https://support.microsoft.com/es-es/kb/894564
10