28
__________________________ Análisis y Diseño de Redes de Computadoras PROTOCOLOS FTP y TFTP

Ftp tftp

Embed Size (px)

DESCRIPTION

File Transfer Protocol

Citation preview

Page 1: Ftp tftp

__________________________Análisis y Diseño de Redes de Computadoras

PROTOCOLOS FTP y TFTP

Page 2: Ftp tftp

__________________________Protocolos FTP y TFPT

• FTP (File Transfer Protocol) es un protocolo usado para transferir archivos de un host a otro.

• Utilizado para subir páginas web y otro tipo de documentos desde un host privado a un servidor público.  

• Está construido en la arquitectura Cliente-Servidor

Introducción

Page 3: Ftp tftp

__________________________Protocolos FTP y TFPT

• Usa conexiones de control y datos separadas entre el cliente-servidor.

• Los usuarios pueden iniciar sesión utilizando texto plano.

• Los primeros clientes FTP utilizaban solamente herramientas de comandos.

Introducción

Page 4: Ftp tftp

__________________________Protocolos FTP y TFPT

CLIENTE-SERVIDOR

Introducción

Page 5: Ftp tftp

__________________________Protocolos FTP y TFPT

• Es un modelo de aplicación distribuida en el cual las tareas de distribuyen entre los proveedores de servicios llamados Servidores y los que requieren el servicio llamados Clientes.

• Los clientes y servidores pueden trabajar en una red utilizando hardware diferente, o bien, utilizando el mismo hardware.

Introducción (Cliente-Servidor)

Page 6: Ftp tftp

__________________________Protocolos FTP y TFPT

Introducción (Cliente-Servidor)

Page 7: Ftp tftp

__________________________Protocolos FTP y TFPT

DIFERENCIAS CON HTTP

Page 8: Ftp tftp

__________________________Protocolos FTP y TFPT

• Cuando FTP aparece en una URL ( uniform resource locator or universal resource locator ) significa que el usuario esta conectado a un servidor de archivos y no a un servidor web.

• Cuando HTTP aparece en una URL significa que el usuario esta conectado a un servidor web y no a un servidor de archivos. Los archivos son transferidos, pero no descargados.

DIFERENCIAS CON HTTP

Page 9: Ftp tftp

__________________________Protocolos FTP y TFPT

• FTP, es un protocolo usado para subir archivos desde una terminal a un servidor FTP o descargar archivos de un servidor FTP a una terminal 

• HTTP, es un protocolo usado para  transferir archivos desde un servidor web a un navegador web para poder visualizar una página web que reside en el internet

DIFERENCIAS CON HTTP

Page 10: Ftp tftp

__________________________Protocolos FTP y TFPT

• FTP es un sistema de dos vías, ya que los archivos son transferidos entre el servidor y la terminal.

• HTTP, es un sistema de una vía, ya que los archivos son transferidos desde el servidor a el navegador de la terminal.

http://www.tech-faq.com/ftp.html http://www.differencebetween.net/technology/difference-between-ftp-and-http/ 

DIFERENCIAS CON HTTP

Page 11: Ftp tftp

__________________________Protocolos FTP y TFPT

COMUNICACIÓN Y TRANSFERENCIA DE DATOS

Page 12: Ftp tftp

__________________________Protocolos FTP y TFPT

• El servidor responde a la conexión de control con un código de tres dígitos en ASCII (American Standard Code for Information Interchange) con un mensaje de texto adicional.

• El número representa el código de respuesta y el mensaje adicional representa una respuesta que puede leerse fácilmente. 

• FTP puede funcionar en modo activo y modo pasivo, lo cual determina como la conexión de datos se establece.  

COMUNICACIÓN Y TRANSFERENCIA DE DATOS 

Page 13: Ftp tftp

__________________________Protocolos FTP y TFPT

• 1xx Respueta preliminar positiva• 2xx Finalización de respuesta positiva• 3xx Respuesta intermedia positiva.• 4xx Respuesta transitoria negativa de terminación• 5xx Respuesta permanente negativa de Terminación• 6xx Respuesta protegida.

ttp://en.wikipedia.org/wiki/List_of_FTP_server_return_codes 

COMUNICACIÓN Y TRANSFERENCIA DE DATOS 

Page 14: Ftp tftp

__________________________Protocolos FTP y TFPT

Modo Activo

El cliente se conecta desde un puerto aleatorio sin privilegios (N>1023) al puerto de comandos del servidor FTP (Puerto 21), después, el cliente comienza a escuchar al puerto N+1 y manda el puerto de comandos (N+1) al servidor FTP.El servidor se conectará otra vez con el puerto de datos desde el puerto de datos local (Puerto 20)

Comunicación y Transferencia de datos

Page 15: Ftp tftp

__________________________Protocolos FTP y TFPT

Del punto de vista del firewall del servidor, para apoyar al modo activo los siguientes canales de comunicación necesitan estar abiertos:

• El puerto 21 del servidor FTP desde donde sea (El cliente inicialza la conexión)

• El puerto 21 del servidor FTP a los puertos > 1023 (El servidor responde al puerto de control del cliente)

• El puerto 20 del servidor FTP a los puertos > 1023 (El servidor inicializa la conexión de datos con el puerto de datos del cliente) 

• El puerto 20 del servidor FTP a los puertos > 1023 (El cliente envía ACKs (reconocimiento) al puerto de datos del servidor)

Comunicación y Transferencia de datos

Page 16: Ftp tftp

__________________________Protocolos FTP y TFPT

Modo Pasivo (PASV).

• El cliente inicializa ambas conexiones con el servidor, arreglando los problemas del firewall filtrando los datos entrantes en el puerto de conexión del cliente al servidor.

• Cuando se abre una conexión FTP, el cliente abre dos puertos aleatorios sin privilegios (N>1023 y n+1).

• El primer puerto contacta al servidor en el puerto 21, pero en lugar de a continuación, emitir un comando de puerto y permitiendo que el servidor se conecte de nuevo a su puerto de datos, el cliente emite el comando PASV.

Conexión y Tranferencia de Datos

Page 17: Ftp tftp

__________________________Protocolos FTP y TFPT

• El resultado de esto es que el servidor abre un puerto aleatorio sin privilegios (P > 1023) y manda el comando del puerto p al cliente. El cliente inicializa la conexión desde el puerto N+1 al puerto p en el servidor para transferir los datos.

• Desde el punto de vista del firewall del servidor, para apoyar al modo pasivo los siguientes canales de comunicación necesitan estar abiertos:

• El puerto 21 del servidor FTP desde donde sea (El cliente inicializa la conexión)

• El puerto 21 del servidor FTP a los puertos > 1023 (El servidor responde al puerto de control del cliente) 

• El puerto 21 del servidor FTP a los puertos > 1023 desde donde sea (El cliente inicializa la conexión de datos a un puerto aleatorio especificado por el servidor)

• El puerto 21 del servidor FTP a los puertos > 1023 a puertos remotos > 1023 (El servidor envía ACKs (reconocimiento) (y datos) al puerto de datos del cliente)

Comunicación y Transferencia de Datos

Page 18: Ftp tftp

__________________________Protocolos FTP y TFPT

•Mientras los datos se transfieren por la red, cuatro representaciones de datos pueden usarse:

•Modo ASCII: Usado para texto. Los datos son convertidos, si es necesario, de la representación de caracteres en el host emisor a "8-bit ASCII" antes de la transmisión, y (otra vez, si es necesario) a la representación de caracteres del host receptor.

•Modo EBCDIC (Extended Binary Coded Decimal Interchange Code): Se usa para texto plano entre host usando el conjunto de caracteres EBCDIC.

•Modo Local: Permite dos computadoras con configuraciones identicas para envíar datos en un formato apropiado sin necesidad de convertirlo a ASCII.

Comunicación y Transferencia de Datos

Page 19: Ftp tftp

__________________________Protocolos FTP y TFPT

• El inicio de sesión en FTP utiliza esquema normal de usuario y contraseña para garantizar el acceso. El nombre de usuario se manda al servidor usando el comando USER, y la contraseña se manda usando el comando PASS. Si la información que es aceptada por el servidor, el servidor mandará un saludo al cliente y la sesión comenzará. Si el servidor lo soporta, el usuario se podrá conectar sin un usuario y contraseña, pero el servidor puede autorizar acceso limitado para tal sesión.

Inicio de Sesión

Page 20: Ftp tftp

__________________________Protocolos FTP y TFPT

• Un host que tiene el servicio de FTP también puede tener acceso al servicio de FTP Anónimo.Los usuarios tipicamente inician sesión al servicio con una cuenta anónima cuando pide un usuario.Además los usuarios pueden usar su correo electrónico como contraseña.Muchos hosts FTP que tienen como propósito proveer actualizaciones de software van a usar un inicio de sesión anónimo.

FTP Anónimo

Page 21: Ftp tftp

__________________________Protocolos FTP y TFPT

Donde el acceso de FTP esta restringido, un servicio de FTPmail puede ser usado para evitar este problema. Un email que contiene comandos de FTP es enviado a un servidor FTPmail, el cual convierte el email, ejecuta los comandos FTP y envía un email con los archivos descargados adjuntos en dicho email

FTPmail

Page 22: Ftp tftp

__________________________Protocolos FTP y TFPT

• La sintaxis de un URL FTP se describe en RFC1738,[13] tomando la forma: ftp://[<user>[:<password>]@]<host>[:<port>]/<url-path>[13] (Lo que esta entre corchetes es opcional)

• Por ejemplo:ftp://public.ftp-servers.example.com/mydirectory/myfile.txtor:ftp://user001:[email protected]/mydirectory/myfile.txt

Sintaxis

Page 23: Ftp tftp

__________________________Protocolos FTP y TFPT

• FTPS Explícito es una extensión del FTP estándar que permita a los clientes encriptar las sesiones. Esto se hace mandando el comando “AUTH TLS”. El servidor tiene la opción de permitir o rechazar conexiones que no ha pedido el TLS. Esta extensión del protocolo esta definida en el estándar RFC 4217

• FTPS Implícito es un estándar descontinuado que requiere el uso de una conexión SSL o TLS. Se especificó para ser usado en diferentes puertos en vez de solo usar FTP

• FTP sobre SSH Se refiere a la practica de hacer un túnel de una sesión FTP a través de una conexión SSH.

FTP Seguro

Page 24: Ftp tftp

__________________________Protocolos FTP y TFPT

TFTP

Page 25: Ftp tftp

__________________________Protocolos FTP y TFPT

•TFTP (Trivial File Transfer Protocol) es un protocolo de envío de archivos notable por su sencillez. Generalmente se usa para automatizar la configuración de transferencia o los archivos de arranque entre terminales en un ambiente local.

•Comparado con FTP, TFTP está muy limitado, no tiene opciones de autentificación, y es muy raro que interactúe con el usuario.

TFTP

Page 26: Ftp tftp

__________________________Protocolos FTP y TFPT

• El host A envía iniciar un RRQ (solicitud de lectura) o WRQ (petición de escritura) de paquetesde S acogerlo en el número de puerto bien conocido de 69 años, que contiene el nombre de archivo y el modo de transferencia.

• S responde con un ACK (reconocimiento) de paquetes de WRQ y directamente con un paquete de datos a RRQ. El paquete se envía desde un puerto recién asignado efímera, y todos los paquetes futuros de S receptores deben tomar a este puerto.

Tutorial del protocolo

Page 27: Ftp tftp

__________________________Protocolos FTP y TFPT

• El host de origen envía paquetes de datos numerados al host de destino, todos excepto el último que contiene un bloque de tamaño completo de datos (512 bytes). Las respuestas host de destino con paquetes ACK numerados para todos los paquetes de datos.

• El paquete de datos final debe contener menos de un bloque de tamaño completo de datospara indicar que es la última. Si el tamaño del archivo transferido es un múltiplo exacto deltamaño de bloque, el origen envía un paquete de datos final que contiene 0 bytes de datos.Receptor responde a cada uno asociado con DATOS numeradas ACK. Del remitente responde a la confirmación recibió por primera vez de un bloque con los datos del siguiente bloque.Si el ACK no se recibe con el tiempo, un temporizador de retransmisión reenvía paquetes de DATOS

Tutorial del protocolo

Page 28: Ftp tftp

Referencias

• http://www.nurdletech.com/ftp.html •  http://tools.ietf.org/html/rfc959• http://www.tcpipguide.com/free/

t_FTPOverviewHistoryandStandards.htm • http://slacksite.com/other/ftp.html • http://www.ietf.org/rfc/rfc1738.txt • http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html• http://www.ietf.org/rfc/rfc1635.txt • http://en.wikipedia.org/wiki/File_Transfer_Protocol • http://www.faqs.org/rfcs/rfc1350.html • http://www.3cx.es/blog/servidor-tftp/