You are on page 1of 7

La capa de Aplicación

FTP

TFTP

ÏT
UC3M FTP 1
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

El protocolo FTP

El protocolo FTP (File Transfer Protocol) permite transferir ficheros


entre máquinas remotas de un modo fiable.
Características:

• Utiliza conexiones TCP


• Proporciona un acceso interactivo
• Permite especificar el formato (estructura, tipo y modo)
• Realiza control de la autentificación

ÏT
UC3M FTP 2
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

1
Modelo de funcionamiento

• Proceso de control
• Proceso de transferencia de datos

Servidor FTP Usuario FTP


Respuestas Comandos
FTP FTP Interfaz
Intérprete de Intérprete de
Sistema Operativo

Sistema Operativo
Conexión de control de
Protocolo Protocolo
Usuario

Internet
Proceso de Datos Datos Proceso de
Sistema Transferencia Conexión de datos Transferencia Sistema
de de Datos de Datos de
ficheros ficheros

ÏT
UC3M FTP 3
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

Establecimiento conexiones
Conexión de control: Conexión de datos:
Puerto cliente cualquiera libre Puerto cliente cualquiera libre
Puerto servidor el 21 Puerto servidor el 20
Utiliza el protocolo TELNET La inicia el servidor

Comando PORT para especificar un puerto cualquiera, incluso el de


otra máquina.

Conexión de Control Usuario FTP Conexión de Control


"C"

Servidor FTP Conexión de Datos Servidor FTP


"A" "A"
Puerto (A) Puerto (B)

ÏT
UC3M FTP 4
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

2
Tipos de datos

• Tipo ASCII: Definido para transmisión de texto. Usa el NVT ASCII de 8 bits

• Tipo EBCDIC: Entre máquinas que usan EBCDIC

• Tipo IMAGEN: Serie continua de 8 bits. Datos binarios

• Tipo LOCAL: Permite especificar el tamaño lógico del byte

ÏT
UC3M FTP 5
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

Estructuras de datos

• FICHERO: No hay estructura interna. Secuencia continua de bytes

• REGISTRO: Fichero dividido en registros continuos


– EOR final de un registro, EOR EOF fin de fichero

• PÁGINA: Archivos discontinuos formados por páginas indexadas.


– Cada página lleva una cabecera (tamaño, número, etc.)

ÏT
UC3M FTP 6
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

3
Modos de transmisión
• Modo FLUJO: Los datos se transmiten como un flujo de bytes
11111111 xx000000 (01 EOR, 10 EOF, 11 EOR-EOF)

• Modo BLOQUE: El fichero se transmite como una serie de bloques de datos


Descriptor Longitud del Bloque en bytes
(128 EOR, 64 EOF,
32 Errores, 16 Marcador)
8 Bits 16 Bits

• Modo COMPRIMIDO: Permite mandar datos comprimidos


– Datos regulares 0 n d(1) ... d(n)

Byte cabecera n bytes de datos

– Datos comprimidos 1 0 n d 1 1 n

ÏT
(a) Bytes Repercutidos (b) Bytes de Relleno
Bytes repetidos Bytes de relleno
UC3M FTP 7
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

Comandos FTP

! cr macdef proxy send


$ delete mdelete sendport status
account debug mdir put struct
append dir mget pwd sunique
ascii disconnet mkdir quit tenex
bell form mls quote trace
binary get mode recv type
bye glob mput remotehelp user
case hash nmap rename verbose
cd help ntrans reset ?
cdup lcd open rmdir
close ls promt runique

ÏT
UC3M FTP 8
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

4
Las respuestas FTP
Primer dígito, evolución de la acción
– 1yz Respuesta preliminar positiva
– 2yz Respuesta completa positiva
– 3yz Respuesta intermedia positiva
– 4yz Respuesta de acción no completada
– 5yz Respuesta permanente de acción no completada
Segundo dígito, categorización
– x0z Sintaxis
– x1z Información
– x2z Conexiones
– x3z Autentificación y cuentas
– x4z No especificada
– x5z Sistema de ficheros
ÏT
UC3M
Tercer dígito, división fina FTP 9
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

Ejemplo de sesión FTP

%ftp ftp.cs.purdue.edu
Connected to arthur.cs.purdue.edu
220 arthur.cs.purdue.edu FTP server (Version 6.8) ready
Name (ftp.cs.purdue.edu:usera) : anonymous
331 Guest login ok, send e-mail address as password
Password: guest
230 Guest login ok, access restrictions apply.
ftp> binary
Binary mode on
ftp> get pub/comer/tcpbook.tar bookfile
200 PORT command okay
150 Opening BINARY mode data connection for tcpbook.tar (9895469 bytes).
226 Transfer complete.
9895469 bytes received in 22.76 seconds (4.3e+02 Kbytes/s)
ftp> close
221 Goodbye
ftp> quit

ÏT
UC3M FTP 10
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

5
FTP sobre Windows

ÏT
UC3M FTP 11
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

El protocolo TFTP

TFTP (Trivial File Transfer Protocol) ofrece un servicio de transferencia


de ficheros barato y sencillo y está pensado para aplicaciones que no
necesitan una compleja interacción entre el cliente y el servidor.

• No necesita un servicio de transporte fiable (funciona sobre UDP)

• Los datos se transmiten en bloques de tamaño fijo (512 bytes)

• Utiliza asentimientos y retransmisiones con ventana 1

• Se basa en el intercambio de 5 tipos de mensaje

ÏT
UC3M FTP 12
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

6
Los mensajes de TFTP
Cód. operación n octetos 1 octeto n octetos 1 octeto
LEER (1) NOMBRE FICHERO 0 MODO 0

Cód. operación n octetos 1 octeto n octetos 1 octeto


ESCRIBIR (2) NOMBRE FICHERO 0 MODO 0

Cód. operación 2 octetos hasta 512 octetos


DATOS (3) Nº BLOQUE OCTETOS DE DATOS

Cód. operación 2 octetos


ACK (4) Nº BLOQUE

Cód. operación 2 octetos n octetos 1 octeto


ERROR (5) CODIGO ERROR MENSAJE DE ERROR 0

• Los mensajes perdidos se pueden retransmitir, los errores cierran la transferencia


• La retransmisión es simétrica. Temporizador para datos y para asentimientos
• La simetría puede provocar que se envíe la información por duplicado
• TFTP permite enviar ficheros a buzones de correo
ÏT
UC3M FTP 13
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

El sistema de acceso a ficheros: NFS

• Desarrollado por Sun MicroSystems


• Proporciona acceso compartido a los ficheros transparente e integrado
• NFS está integrado en el sistema operativo
• Se diseñó en base a tres piezas independientes:

– NFS: Se interrelaciona con el sistema operativo para acceder a discos remotos y


locales de la misma manera.
– RPC: (Remote Procedure Call) permite ejecutar procedimientos en máquinas
remotas pero con la apariencia de que lo están haciendo localmente.
– XDR: (eXternal Data Representation) Permite a los programadores pasar datos
entre máquinas heterógeneas, definiendo librerías y compiladores que realizan la
ÏT
UC3M
conversión.
FTP 14
© 2003 IT-UC3M Redes y Servicios de Comunicaciones I

You might also like