Redes de computadores
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ª FUOC • XP04/90786/00020<br />
Software libre<br />
18.1.2. Conceptos básicos <strong>de</strong>l FTP<br />
El FTP está basado en conexiones TCP. El intérprete <strong>de</strong> protocolo <strong>de</strong>l<br />
servidor <strong>de</strong>be estar preparado para recibir peticiones <strong>de</strong> conexión en<br />
un puerto TCP que, por <strong>de</strong>fecto, es el asignado oficialmente al servicio<br />
FTP: el número 21.<br />
Nota<br />
Consultad la <strong>de</strong>scripción <strong>de</strong><br />
las reglas especificadas por<br />
el protocolo Telnet (RFC<br />
854) en el apartado 18.1 <strong>de</strong><br />
la unidad anterior.<br />
El intérprete <strong>de</strong> protocolo <strong>de</strong>l cliente establece una conexión <strong>de</strong> control<br />
con el puerto <strong>de</strong>l intérprete servidor. En esta conexión se utilizan<br />
las reglas especificadas en el protocolo Telnet. Ello significa que, por<br />
<strong>de</strong>fecto, los intérpretes <strong>de</strong> protocolo se intercambian mensajes codificados<br />
con bytes <strong>de</strong> 8 bits, según el juego <strong>de</strong> caracteres ASCII, y representan<br />
los finales <strong>de</strong> línea con la secuencia .<br />
Nota<br />
Las excepciones a la regla<br />
<strong>de</strong> la respuesta secuencial<br />
son los comandos obtener<br />
el estado actual <strong>de</strong> una<br />
transferencia, abortar una<br />
operación y cerrar la sesión.<br />
Los comandos FTP constituyen los mensajes que envía el intérprete<br />
cliente, y los que envía el intérprete servidor son respuestas a dichos<br />
comandos. Las respuestas se generan siguiendo el or<strong>de</strong>n en que el<br />
cliente envía los comandos, puesto que en general el servidor efectúa<br />
las operaciones <strong>de</strong> manera secuencial (no empieza una nueva operación<br />
hasta que no ha acabado la anterior). A continuación, analizamos<br />
por separado los comandos y las respuestas:<br />
1) Comandos FTP: un comando FTP se representa por medio <strong>de</strong> un<br />
código <strong>de</strong> comando <strong>de</strong> hasta cuatro letras (que pue<strong>de</strong>n ser indistintamente<br />
mayúsculas o minúsculas), seguido <strong>de</strong> una lista <strong>de</strong><br />
cero o más argumentos, separados por espacios, acabada con un<br />
final <strong>de</strong> línea.<br />
ANOTACIONES<br />
Nota<br />
Algunas implementaciones<br />
<strong>de</strong> servidores FTP soportan<br />
otros códigos <strong>de</strong> comandos<br />
no estándares, que pue<strong>de</strong>n<br />
tener más <strong>de</strong> cuatro letras.<br />
La especificación RFC 959 <strong>de</strong>fine treinta y tres comandos agrupados<br />
en tres categorías diferentes (representamos entre paréntesis el código<br />
correspondiente a cada comando):<br />
a) Comandos <strong>de</strong> control <strong>de</strong> acceso: nombre <strong>de</strong> usuario (USER),<br />
contraseña (PASS), cuenta (ACCT), cambiar <strong>de</strong> directorio (CWD),<br />
cambiar al directorio padre (CDUP), montar un sistema <strong>de</strong> ficheros<br />
(SMNT), reinicializar (REIN), acabar la sesión (QUIT).<br />
b) Comandos <strong>de</strong> parámetros <strong>de</strong> transferencia: estructura <strong>de</strong> fichero<br />
(STRU), modo <strong>de</strong> transmisión (MODE), tipo <strong>de</strong> representación<br />
(TYPE), puerto <strong>de</strong> datos (PORT), puerto pasivo (PASV).<br />
212