File Transfer Protocol FTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de Archivos) en informática, 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 Aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos. 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 tráfico. El Modelo FTP En el modelo, el intérprete de protocolo (PI) de usuario, inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el PI de usuario y se transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían desde el PI del servidor al PI de usuario por la conexión de control como respuesta a las órdenes. Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos (almacenar, recuperar, añadir, 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 conexión al puerto de datos especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros que se hayan especificado. Vemos también en el diagrama que la comunicación entre cliente y servidor es independiente del sistema de archivos utilizado en cada computadora, 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. También hay que destacar que la conexión de datos es bidireccional, es decir, se puede usar simultáneamente para enviar y para recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP. Dominio de Internet Un dominio de Internet es una red de identificación asociada a un grupo de dispositivos o equipos conectados a la red internet. El propósito principal de los nombres de dominio en internet y del sistema de nombres de dominio (DNS), es traducir las direcciones IP de cada modo activo en la red, a términos memorizables y fáciles de encontrar. Esta abstracción hace posible que cualquier servicio (de red) pueda moverse de un lugar geográfico a otro en la red internet, aun cuando el cambio implique que tendrá una dirección IP diferente. Sin la ayuda del sistema de nombres de dominio, los usuarios de internet tendrían que acceder a cada servicio web utilizando la dirección IP del nodo (Ej. Sería necesario utilizar http://74.125.45.100 en vez de http://google.com). == URL vs nombre de dominio == El siguiente ejemplo ilustra la diferencia entre una URL (Uniform Resource Locator) y un nombre de dominio: URL: http://www.example.net/index.html Nombre de dominio: www.example.net Nombre de dominio registrado: example.net Dominios de nivel superior Cuando se creó el Sistema de Nombres de Dominio en los años 80, el espacio de nombres se dividió en dos grandes grupos. El primero incluye los dominios, basados en los dos caracteres de identificación de cada territorio de acuerdo a las abreviaciones del ISO-3166. (Ej. *.do, *.mx) y se denomina ccTLD (Dominio de nivel superior de código de país ó Country Code Top level Domain), los segundos, incluyen un grupo de siete dominios de primer nivel genéricos, (gTLD), que representan una serie de nombres y multi-organizaciones: GOV, EDU, COM, MIL, ORG, NET e INT. Los dominios basados en ccTLD son administrados por organizaciones sin fines de lucro en cada país, delegada por la IANA y o ICANN para la administración de los dominios territoriales El crecimiento de internet ha implicado la creación de nuevos dominios gTLD. A junio de 2009, existen 20 gTLD y 248 ccTLD. Ejemplos de nombres de dominio • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • .es, para servicios de España. .cat, para servicios en lengua catalana .eu, la región de Europa .cr, para servicios de Costa Rica .ni, para servicios de Nicaragua .ru, para servicios de Rusia .fr, para servicios de Francia .do, para servicios de República Dominicana .gt, para servicios de Guatemala .mx, para servicios de México .cl, para servicios de Chile .co, para servicios de Colombia .cn, para servicios de China .ar, para servicios de Argentina .bo, para servicios de Bolivia .ec, para servicios de Ecuador .py, para servicios de Paraguay .uy, para servicios de Uruguay .ve, para servicios de Venezuela .edu, para servicios de Educación .gov y .gob, para Gobierno y Entidades Públicas .info, para Información .int, para Entidades Internacionales, organizaciones como la ONU .jobs, para Departamentos de empleo y recursos humanos en empresas .mil, para el Departamento de Defensa de los Estados Unidos (Único país con dominio de primer nivel para el ejército) .mobi, para empresas de telefonía móvil o servicios para móvil. .museum, para los Museos .name, para Nombres de personas .net, para Infraestructura de red .org, para organizaciones .pe, para páginas de Perú .pro, para profesionales con una titulación universitaria. .tel, para servicios de comunicación por internet .travel, para páginas de la industria de viajes y turismo. .fm, para páginas del país Estados Federados de Micronesia, pero usado también para estaciones de radio de frecuencia modulada .tv, para páginas del país Tuvalu, pero usado también para estaciones de televisión .tk, para páginas del país Tokelau; sin embargo se usan también como dominio y servidor propio ( "Autónomas" ). Actualmente pueden obtenerse de forma gratuita. Host El término Host, es usado en informática para referirse a los computadores conectados a la red, que proveen y/o utilizan servicios a/de ella. Los usuarios deben utilizar hosts para tener acceso a la red. En general, los hosts son computadores mono o multiusuario que ofrecen servicios de transferencia de archivos, conexión remota, servidores de base de datos, servidores WWW, etc. Los usuarios que hacen uso de los hosts pueden a su vez pedir los mismos servicios a otras máquinas conectadas a la red.