Transferencia y Acceso Remoto de Archivos

18
1 Capítulo 26: Transferencia de Archivos y Acceso Remoto a Archivos ICD-326: Redes de Computadores

Transcript of Transferencia y Acceso Remoto de Archivos

Page 1: Transferencia y Acceso Remoto de Archivos

1

Capítulo 26: Transferencia de Archivos y Acceso Remoto a Archivos

ICD-326: Redes de Computadores

Page 2: Transferencia y Acceso Remoto de Archivos

2

Introducción

• Muchos programas están escritos para manejar archivos como datos de entrada y salida.

• Antes de tener redes, la transferencia de datos involucró la trasferencia de datos vía medios removibles como discos o cintas magnéticas.

• Las redes permitieron la comunicación directa:– Transferencia de archivos: equivalente a transferencias de cintas o

discos.

– Sistemas de archivos remotos: acceso a archivos remotos como si ellos fueran locales.

Page 3: Transferencia y Acceso Remoto de Archivos

3

Dos Problemas• La posibilidad de usar archivos remotos creó dos

problemas:– 1. Es necesario coordinar el acceso distribuido de los archivos

– 2. Es necesario guardar resultados intermedios para no perder grandes cantidades de procesamiento debido a una falla en la red.

• Solución: Modelo de transferencia de archivos: Los programas escriben resultados intermedios en archivos en disco.– Las componentes de una aplicación distribuida no necesitan correr

concurrentemente.

– Resultados intermedios pueden ser usados para reiniciar computaciones fallidas .

Page 4: Transferencia y Acceso Remoto de Archivos

4

Tras una transferencia de archivos generalizada

• El problema de transferir archivos desde una máquina a otra pasó a ser un problema recurrente que los programadores debían programar en cada caso.

• Una solución genérica debe permitir la transferencia de archivos arbitrarios. Esto es:

– Acomodar diferentes tipos de archivos.

– Hacer conversiones entre sistemas heterogéneos:

• Tipos de datos (ASCII, binario)

• Largo de palabras

• Reglas para definir nombres de archivos.

• Login de usuarios: propiedad y permisos de archivos. ¿Qué hacer si un usuario no posee una cuenta en el sistema remoto? ¿Con qué atributos es almacenado el archivo localmente?

Page 5: Transferencia y Acceso Remoto de Archivos

5

Transferencias en modo “Batch” y modo Interactivo

• Transferencia en modo Batch:– El usuario crea una lista de archivos a ser transferidos,

– El requerimiento es puesto en una cola,

– El programa de transferencia lee los requerimientos y efectúa la transferencias.

• Transferencia Interactiva– Los usuarios ejecutan el programa de transferencia,

– Las acciones incluyen comandos para listar directorios y transferir archivos,

– Los usuarios pueden buscar los archivos y transferirlos inmediatamente,

– Se obtiene una notificación rápida en caso de errores de digitación u otros.

Page 6: Transferencia y Acceso Remoto de Archivos

6

Protocolo de Transferencia de Archivos

• En TCP/IP, el protocolo estándar para transferencia de archivos es FTP, File Transfer Protocol.

• Es un protocolo de propósito general:– Es independiente del sistema operativo y hardware.

– Transfiere archivos arbitrarios.

– Acomoda la propiedad de los archivos y las restricciones de acceso.

• Es previo a TCP/IP. Fue adaptado después para TCP/IP.

Page 7: Transferencia y Acceso Remoto de Archivos

7

Modelo e Interfaz

• El protocolo trabaja en modo interactivo o batch.– Por ejemplo: el cliente ftp provee una interfaz

interactiva,

– MIME, HTTP puede usar el protocolo directamente en modo batch.

• Las acciones del protocolo incluyen:– Listar el contenido de los directorios,

– Cambio de directorio

– Traer archivos (get)

– poner archivos (put)

Page 8: Transferencia y Acceso Remoto de Archivos

8

Comandos del Cliente ftp

Page 9: Transferencia y Acceso Remoto de Archivos

9

Comandos del Cliente ftp (cont..)• La interfaz del cliente ftp tiene su origen en BSD UNIX

(Berkeley Software Distribution) y se transformó en un estándar de-facto.

• Muchos comandos están obsoletos y no se usan: Ej: tenex, carriage control,

• Los más usados: cd, dir, ls, get, put, mget, mput.

• Otros útiles: lcd, pwd

• Es un proceso de dos pasos:– Ejecutar ftp

– Conectarse a la máquina remota. • La conexión involucra el uso de una cuenta en una máquina remota.

• Los servidores ftp proveen cuenta de usuario anonymous para ofrecer acceso a usuarios que externos al sistema. Una dirección e-mail se usa como password.

Page 10: Transferencia y Acceso Remoto de Archivos

10

Transferencias en Dos Sentidos• get: transfiere archivos desde el servidor FTP a la

máquina desde donde se corre el cliente.

• put: transferencia hacia el servidor FTP desde la máquina donde corre el cliente.

• En caso de omisión se usa el mismo nombre en ambas máquinas. El cliente ftp permite especificar otro nombre.

• mget, mput permiten transferir múltiples archivos en combinación de * para especificar parcialmente una lista de archivos. Ej. La lista m* incluye martes, miércoles, mario.– prompt permite desactivar las consultas al usuario en transferencias

en modo batch.

Cliente Servidor

Cliente Servidor

Page 11: Transferencia y Acceso Remoto de Archivos

11

Ejemplo en WinNTZ:\>ftp

ftp> open mateo

Connected to mateo.elo.utfsm.cl.

220 mateo FTP server (UNIX(r) System V Release 4.0) ready.

User (mateo.elo.utfsm.cl:(none)): agv

331 Password required for agv.

Password:

230 User agv logged in.

ftp> help

Commands may be abbreviated. Commands are:

! delete literal prompt send

? debug ls put status

append dir mdelete pwd trace

ascii disconnect mdir quit type

bell get mget quote user

binary glob mkdir recv verbose

bye hash mls remotehelp

cd help mput rename

close lcd open rmdir

ftp> help mget

mget get multiple files

ftp> bye

221 Goodbye. Thanks for using the SunMediaCenter. Z:\>

Page 12: Transferencia y Acceso Remoto de Archivos

12

Nombre de Archivos y sus Tipos• La sintaxis para los nombres en distintos sistemas puede

ser incompatible.– Ej. UNIX permite hasta 128 caracteres, DOS sólo 8 (nombre)

+3(extensión), total 11.

– Caracteres válidos puede variar, como el tratamiento de mayúsculas.

• Hay diferencias en el tipo de los archivos:– Ej. UNIX sin tipo, un archivo puede contener cualquier cosa.

– MacOS- los archivos poseen tipos

• ftp efectúa dos tipos de transferencia:– Texto (ascii) : hace transformación necesaria para mantener

integridad. Caracteres usados para definir el fin de una línea. UNIX <linefeed>, DOS y WINxx <carriage return><linefeed>

– Binario (binary): No hay ninguna transformación.

Page 13: Transferencia y Acceso Remoto de Archivos

13

Mensajes en FTP• Cada mensaje desde el servidor incluye un número de tres

dígitos decimales.

• Esto facilita la comunicación con programas, que ponen atención al código numérico, y personas, que ponen atención en el texto.

• Ej. 220 mateo FTP server (UNIX(r) System V Release 4.0) ready.

User (mateo.elo.utfsm.cl:(none)): agv

331 Password required for agv.

Password:

230 User agv logged in.

ftp> bye

221 Goodbye. Thanks for using the SunMediaCenter.

• Modo verboso (verbose) muestra los mensajes; modo silencioso suprime los mensajes. verbose: permite conmutar entre un modo y el otro.

Page 14: Transferencia y Acceso Remoto de Archivos

14

Modelo cliente-servidor en FTP• Servidor remoto acepta una conexión desde el cliente local. Esta conexión es usada

sólo para datos de control.

– El cliente envía comandos al servidor a través de esta conexión.

– Ésta persiste por toda la sesión.

• El servidor crea una conexión de datos por cada transferencia de datos. Los datos se transfieren en un sentido o en el otro.

Notar sentido de conexión!Permite abortar transferencia

Page 15: Transferencia y Acceso Remoto de Archivos

15

TFTP

• Trivial File Transfer Protocol (TFTP) es mucho más simple que FTP.– Está basado en UDP

– Sólo permite transferencia de archivos: no lista directorios.

– No exige autorización

– Requiere menos memoria que FTP.

• Usado para bootstrap por ejemplo en sistemas basados en ROM y sin disco.

Page 16: Transferencia y Acceso Remoto de Archivos

16

NFS• Pero ¿qué pasa si sólo deseamos agregar unas líneas de texto

a un archivo muy grande? ¿debemos transferir el archivo completo dos veces?

• Network File System (NFS) permite acceso aleatorio a archivos en red.

• Hay otros sistemas de archivos distribuidos– NFS es un estándar TCP/IP

– También AppleShare

– Microsoft/NETBIOS

• NSF está basado en el modelo cliente-servidor.

• NSF es integrado al sistema de archivos del computador. No es una aplicación que se corra como ftp.

• Está disponible en UNIX y muchos sistemas PC.

• Usa TCP.

Page 17: Transferencia y Acceso Remoto de Archivos

17

Funciones en NFS

• NFS provee funciones equivalentes a las de acceso local a archivos: OPEN, READ, WRITE, CLOSE.

• Las operaciones locales son mapeadas a mensajes de red– Cada mensaje contiene la operación.

– Cada mensaje READ/WRITE lleva un bloque de disco.

• Los nombres de archivos están integrados en el sistema de directorio local. El sistema de archivos remoto está montado como un directorio local.

Page 18: Transferencia y Acceso Remoto de Archivos

18

Implementaciones NFS• Las operaciones en NFS son similares a las operaciones

con archivos en sistema UNIX.

• NFS provee mecanismos para bloquear un archivo. Así se previene acceso simultáneo para escritura.

• Los sistemas operativos locales proveen almacenamiento local de los datos. Luego son usados como cache.

• El nombre de los archivos, identificación del dueño y sus permisos son problemáticos porque la forma de especificarlos no es la misma en todos los sistemas operativos.

---- Fin Capítulo ----