Agustín Jaime Núñez Rodríguez UNIDAD III PROTOCOLOS ORIENTADOS A APLICACIONES DE SISTEMAS ABIERTOS INTRODUCCIÓN Un protocolo es un conjunto de reglas de comunicaciones entre dispositivos: computadoras, teléfonos, enrutadores, switches, etc. Los protocolos gobiernan el formato, sincronización, secuencia y control de errores. Sin estas reglas, los dispositivos no podrían detectar la llegada de bits. Los protocolos van más allá que sólo una comunicación básica. Si se desea enviar un archivo de una computadora a otra, cierta información debe ser agregada al paquete para decirle al receptor donde pertenece cada grupo en relación con los otros, pero éste es un asunto menor. Para mejorar la confiabilidad de la información, información de sincronización y corrección deberá ser agregada al paquete. Al mensaje, junto con la información adicional se le conoce como protocolo. PROTOCOLOS DE APLICACIÒN TCP/IP TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware. TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. La arquitectura del TCP/IP consta de cinco niveles o capas en las que se agrupan los protocolos y que se relacionan con los niveles OSI de la siguiente forma: Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales como correo electrónico (SMTP), transferencia de ficheros (FTP), conexión remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol) El TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que proporcione sus propios protocolos para el nivel de enlace del Internet. Por esto, hay que tomar en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y tecnologías que inicialmente son incompatibles. Para transmitir información, ésta se debe dividir en unidades de menor tamaño, ya que proporciona grandes ventajas en el manejo de los datos que se transfieren. En TCP/IP, cada una de estas unidades de información recibe el nombre de “datagrama” y son conjuntos de datos que se envían como mensajes independientes. Todos los protocolos de alto nivel tienen algunas características en común: Pueden ser aplicaciones escritas por el usuario o aplicaciones estandarizadas y distribuidas con un producto TCP/IP. De hecho, la pila TCP/IP incluye protocolos de aplicación tales como: TELNET para el acceso interactivo de una terminal a un host remoto. FTP ("File Transfer Protocol"). Sirve para transferencias de alta velocidad de un disco a otro. SMTP ("simple mail transfer protocol"). Funciona como sistema de correo de Internet. RPC (Remote Procedure Call). Permite llamadas a procedimientos situados remotamente. SNMP (Simple Network Managment Protocol). Se trata de una aplicación para el control de la red. NFS (Network File System). Permite la utilización de archivos distribuidos por los programas de la red. X-Windows (Es un protocolo para el manejo de ventanas e interfaces de usuario). Estas son las aplicaciones implementadas más ampliamente, pero existen muchas otras. Cada implementación TCP/IP particular incluye un conjunto más o menos restringido de protocolos de aplicación. Usan UDP o TCP como mecanismo de transporte. Recordar que UDP no es fiable ni ofrece control de flujo, por lo que en este caso la aplicación ha de proporcionar sus propias rutinas de recuperación de errores y de control de flujo. Suele ser más fácil desarrollar aplicaciones sobre TCP, un protocolo fiable, orientado a conexión. La mayoría de los protocolos de aplicación utilizan TCP, pero algunas aplicaciones se construyen sobre UDP para proporcionar un mejor rendimiento reduciendo la carga del sistema que genera el protocolo. La mayoría de ellas usa el modelo de interacción cliente/servidor. PROTOCOLO TELNET: El protocolo TELNET proporciona una interfaz estandarizada, a través de la cual un programa de un host (el cliente de TELNET) puede acceder a los recursos de otro host (el servidor de TELNET) como si el cliente fuera una terminal local conectada al servidor. Por ejemplo, un usuario de una estación de trabajo situada en una LAN se puede conectar al host. Por supuesto, TELNET se puede usar tanto en LANs como en WANs. El servicio Telnet permite conectarse a ordenadores que no están comunicados directamente para ejecutar programas y consultar información como si nuestro ordenador personal fuese una terminal más del ordenador con el que nos conectamos. Una vez nos conectamos con el ordenador (servidor) en cuestión, podremos utilizar las aplicaciones instaladas en él. Para realizar las conexiones necesitaremos utilizar un programa cliente telnet. PROTOCOLO FTP: FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados a una red TCP basado en la arquitectura cliente-servidor, de manera que desde un equipo cliente nos podemos conectar a un servidor para descargar archivos desde él o para enviarle nuestros propios 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 lo tiene muy fácil para 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 siguiente modelo representa el diagrama de un servicio 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 ordenador, 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. PROTOCOLO SMTP: El correo electrónico (E-mail) es probablemente la aplicación TCP/IP más usada. Los protocolos de correo básicos de correo proporcionan intercambio de correo y mensajes entre hosts TCP/IP hosts; se han añadido servicios para la transmisión de datos que no se pueden representar con texto ASCII de 7 bits. El término SMTP se emplea con frecuencia para referirse a la combinación de los tres protocolos, por su estrecha interrelación, pero estrictamente hablando, SMTP es sólo uno de los tres estándares que se aplican a este tipo de correo. En la siguiente tabla se enumeran los comandos SMTP que ofrece el servicio SMTP de Microsoft Windows® (SMTPSVC). Comandos SMTP Comando SMTP Función del comando HELO Lo envía un cliente para identificarse a sí mismo, normalmente con un nombre de dominio. EHLO Permite al servidor identificar su compatibilidad con los comandos del Protocolo simple de transferencia de correo extendido (ESMTP). MAIL FROM Identifica al remitente del mensaje; se utiliza con el formato MAIL FROM:. RCPT TO Identifica a los destinatarios del mensaje; se utiliza con el formato RCPT TO:. TURN Permite que el cliente y el servidor intercambien las funciones, y envíen correo en la dirección contraria sin tener que establecer una conexión nueva. ATRN El comando ATRN (TURN autenticado) toma uno o más dominios como parámetro de forma opcional. El comando ATRN debe rechazarse si la sesión no se ha autenticado. SIZE Proporciona un mecanismo por el cual el servidor SMTP puede indicar el tamaño máximo del mensaje aceptado. Los servidores compatibles deben proporcionar extensiones de tamaño para indicar el tamaño máximo de mensaje que pueden aceptar. Los clientes no deben enviar mensajes mayores que el tamaño indicado por el servidor. ETRN Una extensión de SMTP. ETRN lo envía un servidor SMTP para solicitar que otro servidor envíe todos los mensajes de correo electrónico que tenga. PIPELINING Permite enviar una secuencia de comandos sin esperar una respuesta de cada comando. CHUNKING Un comando ESMTP que reemplaza al comando DATA. Como el host SMTP no tiene que buscar continuamente el fin de los datos, este comando envía un comando BDAT con un argumento que contiene el número total de bytes de un mensaje. El servidor de recepción cuenta los bytes del mensaje y, cuando el tamaño del mensaje es igual que el valor enviado por el comando BDAT, supone que ha recibido todos los datos del mensaje. DATA Lo envía un cliente para iniciar la transferencia del contenido del mensaje. DSN Un comando ESMTP que permite la entrega de notificaciones de estado. RSET Anula toda la transacción del mensaje y restablece el búfer. VRFY Comprueba que un buzón está disponible para la entrega de mensajes; por ejemplo, vrfy ted comprueba que hay un buzón para Ted en el servidor local. Este comando está desactivado en las implementaciones de Exchange de manera predeterminada. HELP Devuelve una lista de los comandos compatibles con el servicio SMTP. QUIT Termina la sesión. En la siguiente tabla se enumeran los comandos SMTP extendidos que Exchange pone a disposición del servicio SMTP. Comandos SMTP extendidos Comando SMTP extendido Función del comando X-EXPS GSSAPI Un método utilizado por los servidores de Microsoft Exchange Server 2003 y Exchange 2000 Server para autenticarse. X-EXPS=LOGIN Un método utilizado por los servidores de Exchange 2000 y Exchange 2003 para autenticarse. X-EXCH50 Permite propagar propiedades de los mensajes durante la comunicación entre servidores. X-LINK2STATE Agrega compatibilidad con el enrutamiento de estado de los vínculos en Exchange. Receptores de sucesos Puede utilizar receptores de sucesos para ampliar y modificar el comportamiento del servicio SMTP de Microsoft Windows 2000 Server y Windows Server? 2003. Exchange 2003 necesita que funcione el servicio SMTP de Windows 2000 o Windows Server 2003 porque la mayoría de la funcionalidad de transporte de Exchange 2003 se realiza con esta arquitectura. Por tanto, después de reinstalar Servicios de Internet Information Server (IIS), o el servicio SMTP de Windows 2000 o Windows Server 2003, debe reinstalar también Exchange. Un suceso del servicio SMTP es alguna actividad que tiene lugar dentro del servicio SMTP, como la transmisión o la recepción de un comando SMTP o el envío de un mensaje al componente de transporte del servicio SMTP. Cuando se produce un suceso determinado, el servicio SMTP utiliza un despachador de sucesos para notificar el suceso a los receptores de sucesos registrados. Al notificar a los receptores de sucesos, el servicio SMTP pasa información al receptor en forma de referencias a objetos del Modelo de objetos componentes (COM). Hay dos categorías generales de sucesos del servicio SMTP: Sucesos de protocolo Los sucesos de protocolo se producen cuando se reciben o se transmiten comandos SMTP a través de la red. Estos sucesos tienen lugar cuando: Un servicio SMTP o un agente de usuario de correo cliente utiliza SMTP para transmitir mensajes que deben entregarse al servicio local. El servicio SMTP retransmite mensajes a otros servicios SMTP. Sucesos de transporte Los sucesos de transporte se producen cuando el servicio SMTP recibe un mensaje y dicho mensaje pasa por el transporte básico de SMTP. Durante su paso por el transporte, se categoriza el mensaje (se examina y se pone en categorías) y después se entrega a una ubicación de almacenamiento local o bien, si no es local, se retransmite a otro destino. Los sucesos predeterminados de protocolo y transporte de Windows 2000 y Windows Server 2003 sólo son accesibles mediante la escritura de objetos del Modelo de objetos componentes (COM) en Microsoft Visual C++®. Estos sucesos son rápidos, no requieren ningún procesamiento adicional y ofrecen acceso a las propiedades del mensaje de menor nivel; sin embargo, son más complejos de escribir. Para los trabajos más pequeños que no requieran un rendimiento elevado, puede utilizar el evento CDO_OnArrival, que puede escribir mediante Microsoft Visual Basic® Scripting Edition (VBScript). Para obtener más información acerca de cómo escribir uno de estos receptores de sucesos, descargue Platform SDK o consulte el artículo técnico para programadores de MSDN® Microsoft Windows 2000 SMTP Service Events. Puertos frecuentes utilizados por Exchange En la siguiente tabla se enumeran los puertos utilizados con frecuencia por Exchange. Para obtener más información acerca de qué puertos deben abrirse interna o externamente, consulte Using Microsoft Exchange 2000 Front-End Servers. Puertos utilizados por Exchange Protocolo Puerto Descripción SMTP TCP: 25 El servicio SMTP utiliza el puerto TCP 25. DNS TCP/UDP: 53 DNS escucha en el puerto 53. Los controladores de dominio utilizan este puerto. LSA TCP: 691 El servicio Motor de enrutamiento de Microsoft Exchange (RESvc) escucha la información de estado de los vínculos de enrutamiento en este puerto. LDAP TCP/UPD: 389 El Protocolo ligero de acceso a directorios (LDAP) utilizado por el servicio de directorio Microsoft Active Directory®, el Conector de Active Directory y el directorio de Microsoft Exchange Server 5.5 utilizan este puerto. LDAP/SSL TCP/UDP: 636 LDAP sobre Secure Sockets Layer (SSL) utiliza este puerto. LDAP TCP/UDP: 379 El Servicio de replicación de sitios (SRS) utiliza este puerto. LDAP TCP/UDP: 390 Éste es el puerto alternativo recomendado para configurar el protocolo LDAP de Exchange Server 5.5 cuando Exchange Server 5.5 está ejecutándose en un controlador de dominio de Active Directory. LDAP TCP: 3268 Catálogo global. El catálogo global de Active Directory (una "función" de controlador de dominio) de Windows 2000 y Windows Server 2003 escucha en el puerto TCP 3268. LDAP/SSLPort TCP: 3269 Catálogo global sobre SSL. Las aplicaciones que se conectan al puerto TCP 3269 de un servidor de catálogo global pueden transmitir y recibir datos cifrados mediante SSL. IMAP4 TCP: 143 El Protocolo de acceso a correo de Internet (IMAP) utiliza este puerto. IMAP4/SSL TCP: 993 IMAP4 sobre SSL utiliza este puerto. POP3 TCP: 110 El Protocolo de oficina de correo versión 3 (POP3) utiliza este puerto. POP3/SSL TCP: 995 POP3 sobre SSL utiliza este puerto. NNTP TCP: 119 El Protocolo de transferencia de noticias a través de la red (NNTP) utiliza este puerto. NNTP/SSL TCP: 563 NNTP sobre SSL utiliza este puerto. HTTP TCP: 80 HTTP utiliza este puerto. HTTP/SSL TCP: 443 HTTP sobre SSL utiliza este puerto. http://neo.lcc.uma.es/evirtual/cdd/tutorial/Indice.html Direcciones IP La dirección IP es el identificador de cada host dentro de su red de redes. Cada host conectado a una red tiene una dirección IP asignada, la cual debe ser distinta a todas las demás direcciones que estén vigentes en ese momento en el conjunto de redes visibles por el host. En el caso de Internet, no puede haber dos ordenadores con 2 direcciones IP (públicas) iguales. Pero sí podríamos tener dos ordenadores con la misma dirección IP siempre y cuando pertenezcan a redes independientes entre sí (sin ningún camino posible que las comunique). Las direcciones IP se clasifican en: Direcciones IP públicas. Son visibles en todo Internet. Un ordenador con una IP pública es accesible (visible) desde cualquier otro ordenador conectado a Internet. Para conectarse a Internet es necesario tener una dirección IP pública. Direcciones IP privadas (reservadas). Son visibles únicamente por otros hosts de su propia red o de otras redes privadas interconectadas por routers. Se utilizan en las empresas para los puestos de trabajo. Los ordenadores con direcciones IP privadas pueden salir a Internet por medio de un router (o proxy) que tenga una IP pública. Sin embargo, desde Internet no se puede acceder a ordenadores con direcciones IP privadas. A su vez, las direcciones IP pueden ser: Direcciones IP estáticas (fijas). Un host que se conecte a la red con dirección IP estática siempre lo hará con una misma IP. Las direcciones IP públicas estáticas son las que utilizan los servidores de Internet con objeto de que estén siempre localizables por los usuarios de Internet. Estas direcciones hay que contratarlas. Direcciones IP dinámicas. Un host que se conecte a la red mediante dirección IP dinámica, cada vez lo hará con una dirección IP distinta. Las direcciones IP públicas dinámicas son las que se utilizan en las conexiones a Internet mediante un módem. Los proveedores de Internet utilizan direcciones IP dinámicas debido a que tienen más clientes que direcciones IP (es muy improbable que todos se conecten a la vez). Las direcciones IP están formadas por 4 bytes (32 bits). Se suelen representar de la forma a.b.c.d donde cada una de estas letras es un número comprendido entre el 0 y el 255. Por ejemplo la dirección IP del servidor de IBM (www.ibm.com) es 129.42.18.99. Dirección IP Clase A, B, C, D y E Las direcciones IP están compuestas por 32 bits divididos en 4 octetos de 8 bits cada uno. A su vez, un bit o una secuencia de bits determinan la Clase a la que pertenece esa dirección IP. Cada clase de una dirección de red determina una máscara por defecto, un rango IP, cantidad de redes y de hosts por red. Cada Clase tiene una máscara de red por defecto, la Clase A 255.0.0.0, la Clase B 255.255.0.0 y la Clase C 255.255.255.0. Al direccionamiento que utiliza la máscara de red por defecto, se lo denomina “direccionamiento con clase” (classful addressing). Siempre que se subnetea se hace a paritr de una dirección de red Clase A, B, o C y está se adapta según los requerimientos de subredes y hosts por subred. Tengan en cuenta que no se puede subnetear una dirección de red sin Clase ya que ésta ya pasó por ese proceso, aclaro esto porque es un error muy común. Al direccionamiento que utiliza la máscara de red adaptada (subneteada), se lo denomina “direccionamiento sin clase” (classless addressing). En consecuencia, la Clase de una dirección IP es definida por su máscara de red y no por su dirección IP. Si una dirección tiene su máscara por defecto pertenece a una Clase A, B o C, de lo contrario no tiene Clase aunque por su IP pareciese la tuviese. Máscara de Red La máscara de red se divide en 2 partes: Porción de Red: En el caso que la máscara sea por defecto, una dirección con Clase, la cantidad de bits “1” en la porción de red, indican la dirección de red, es decir, la parte de la dirección IP que va a ser común a todos los hosts de esa red. En el caso que sea una máscara adaptada, el tema es más complejo. La parte de la máscara de red cuyos octetos sean todos bits “1” indican la dirección de red y va a ser la parte de la dirección IP que va a ser común a todos los hosts de esa red, los bits “1” restantes son los que en la dirección IP se van a modificar para generar las diferentes subredes y van a ser común solo a los hosts que pertenecen a esa subred (asi explicado parece engorroso, así que más abajo les dejo ejemplos). En ambos caso, con Clase o sin, determina el prefijo que suelen ver después de una dirección IP (ej: /8, /16, /24, /18, etc.) ya que ese número es la suma de la cantidad de bits “1” de la porción de red. Porción de Host: La cantidad de bits "0" en la porción de host de la máscara, indican que parte de la dirección de red se usa para asignar direcciones de host, es decir, la parte de la dirección IP que va a variar según se vayan asignando direcciones a los hosts. Ejemplos: Si tenemos la dirección IP Clase C 192.168.1.0/24 y la pasamos a binario, los primeros 3 octetos, que coinciden con los bits “1” de la máscara de red (fondo bordó), es la dirección de red, que va a ser común a todos los hosts que sean asignados en el último octeto (fondo gris). Con este mismo criterio, si tenemos una dirección Clase B, los 2 primeros octetos son la dirección de red que va a ser común a todos los hosts que sean asignados en los últimos 2 octetos, y si tenemos una dirección Clase A, el 1 octeto es la dirección de red que va a ser común a todos los hosts que sean asignados en los últimos 3 octetos. Si en vez de tener una dirección con Clase tenemos una ya subneteada, por ejemplo la 132.18.0.0/22, la cosa es más compleja. En este caso los 2 primeros octetos de la dirección IP, ya que los 2 primeros octetos de la máscara de red tienen todos bits “1” (fondo bordo), es la dirección de red y va a ser común a todas las subredes y hosts. Como el 3º octeto está divido en 2, una parte en la porción de red y otra en la de host, la parte de la dirección IP que corresponde a la porción de red (fondo negro), que tienen en la máscara de red los bits “1”, se va a ir modificando según se vayan asignando las subredes y solo va a ser común a los host que son parte de esa subred. Los 2 bits “0” del 3º octeto en la porción de host (fondo gris) y todo el último octeto de la dirección IP, van a ser utilizados para asignar direcciones de host. Convertir Bits en Números Decimales Como sería casi imposible trabajar con direcciones de 32 bits, es necesario convertirlas en números decimales. En el proceso de conversión cada bit de un intervalo (8 bits) de una dirección IP, en caso de ser "1" tiene un valor de "2" elevado a la posición que ocupa ese bit en el octeto y luego se suman los resultados. Explicado parece medio engorroso pero con la tabla y los ejemplos se va a entender mejor. La combinación de 8 bits permite un total de 256 combinaciones posibles que cubre todo el rango de numeración decimal desde el 0 (00000000) hasta el 255 (11111111). Algunos ejemplos. Calcular la Cantidad de Subredes y Hosts por Subred Cantidad de Subredes es igual a: 2N, donde "N" es el número de bits "robados" a la porción de Host. Cantidad de Hosts x Subred es igual a: 2M -2, donde "M" es el número de bits disponible en la porción de host y "-2" es debido a que toda subred debe tener su propia dirección de red y su propia dirección de broadcast. PROTOCOLO DNS: El DNS usa el concepto de espacio de nombres distribuido. Los nombres simbólicos se agrupan en zonas de autoridad, o más comúnmente, zonas. En cada una de estas zonas, uno o más hosts tienen la tarea de mantener una base de datos de nombres simbólicos y direcciones IP y de suministrar la función de servidor para los clientes que deseen traducir nombres simbólicos a direcciones IP. Estos servidores de nombres locales se interconectan lógicamente en un árbol jerárquico de dominios. Aplicaciones de DNS: Muchas implementaciones de DNS proporcionan tres utilidades bastante comunes para consultar a servidores de nombres: Host: Obtiene una dirección IP asociada con un nombre de host o un nombre de host asociado con una dirección IP. Nslookup: Permite localizar información acerca de los nodos de red, examinar los contenidos de la base de datos de un servidor de nombres y establecer la accesibilidad a servidores de nombres. dig("Domain Internet Groper") Permite probar los servidores de nombres, reunir grandes volúmenes de información de nombres de dominio y ejecutar simples consultas de nombres de dominio. PROTOCOLOS HTTP: El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol) es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP, atendiendo a las necesidades de un sistema global de distribución de información como el World Wide Web. Desde el punto de vista de las comunicaciones, está soportado sobre los servicios de conexión TCP/IP, y funciona de la misma forma que el resto de los servicios comunes de los entornos UNIX: un proceso servidor escucha en un puerto de comunicaciones TCP y espera las solicitudes de conexión de los clientes Web. Una vez que se establece la conexión, el protocolo TCP se encarga de mantener la comunicación y garantizar un intercambio de datos libre de errores. Los elementos software de la arquitectura web (clientes, servidores, proxies) utilizan el protocolo HTTP para comunicarse. HTTP define la sintaxis y la semántica que utilizan estos elementos para comunicarse. Las últimas versiones HTTP/1.0 y HTTP/1.1 Es un protocolo en la capa de aplicación. Por debajo está TCP/IP. Es un protocolo de comunicaciones estándar que comunica servidores, proxies y clientes, permite la transferencia de documentos web, sin importar cuál es el cliente o cual es el servidor esta basado en el esquema petición/respuesta. El cliente envía un mensaje de petición y el servidor contesta con un mensaje de respuesta, cuyo contenido es función de la petición hecha por el cliente. El usuario escribe en la barra de dirección del navegador el recurso al que desea acceder: http://www.uv.es/~uvalen/cat/index.html El navegador descompone la URL en 3 partes: El protocolo ("http") El nombre del servidor ("www.uv.es") El camino ("/~uvalen/cat/index.html") El navegador se comunica con servidor de nombres para traducir el nombre del servidor "www.uv.es" en una Dirección IP, que es utilizada para conectarse a la máquina servidora. PROTOCOLO SNMP: El protocolo Simple Network Management Protocol (SNMP) permite gestionar redes TCP/IP. Fue aprobado por el IAB en 1988 y está basado en SGMP que permite manejar los routers en Internet. Servicio en el puerto UDP 161. SNMP puede también dispositivos no-SNMP utilizando agentes proxy. Un agente proxy es un conversor de protocolo que traduce las órdenes SNMP a las comprensibles por el protocolo de gestión propio del dispositivo. Actualmente SNMP está soportado en muchos sistemas distintos tales como puentes, PC’s, estaciones de trabajo, encaminadores, terminales, servidores, hubs, concentradores, y tarjetas avanzadas ethernet, token ring y FDDI. SNMP se basa en un sistema de petición-respuesta. La autoridad gestora no es la red como sistema sino una o varias estaciones distinguidas (NMS). PROTOCOLOS DE APLICACIÓN ISO Según el modelo OSI, la capa de aplicación ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico, gestores de bases de datos y servidor de ficheros. Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el número de protocolos crece sin parar. Entre sus protocolos más conocidos destacan. HTTP (Hyper Text Transfer Protocol) El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol) es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP. La especificación completa del protocolo HTTP 1/0 está recogida en el RFC 1945. Fue propuesto por Tim Berners-Lee, atendiendo a las necesidades de un sistema global de distribución de información como el World Wide Web. Desde el punto de vista de las comunicaciones, está soportado sobre los servicios de conexión TCP/IP, y funciona de la misma forma que el resto de los servicios comunes de los entornos UNIX: un proceso servidor escucha en un puerto de comunicaciones TCP, y espera las solicitudes de conexión de los clientes Web. Una vez que se establece la conexión, el protocolo TCP se encarga de mantener la comunicación y garantizar un intercambio de datos libre de errores. HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente establece una conexión con un servidor y envía un mensaje con los datos de la solicitud. El servidor responde con un mensaje similar, que contiene el estado de la operación y su posible resultado. Todas las operaciones pueden adjuntar un objeto o recurso sobre el que actúan; cada objeto Web es conocido por su URL. FTP (File Transfer Protocol) FTP es un protocolo estándar con el STD 9. Su status es recomendado. La copia de ficheros de una máquina a otra es una de las operaciones más frecuentes. La transferencia de datos entre cliente y servidor puede producirse en cualquier dirección. El cliente puede enviar o pedir un fichero al servidor. Para acceder a ficheros remotos, el usuario debe identificarse al servidor. En este punto el servidor es responsable de autentificar al cliente antes de permitir la transferencia de ficheros. Desde el punto de vista de un usuario de FTP, el enlace está orientado a conexión. Es necesario que ambos hosts estén activos y ejecutando TCP/IP para establecer una transferencia de ficheros. La interfaz de usuario se comunica con el PI, que está a cargo del control de la conexión. Este intérprete de protocolo ha de comunicar la información necesaria a su propio sistema de archivos. En el otro extremo de la conexión, el PI, además de su función de responder al protocolo TELNET, ha de iniciar la conexión de datos. Durante la transferencia de ficheros, los DTPs se ocupan de gestionar la transferencia de datos. Una vez que la operación del usuario se ha completado, el PI ha de cerrar la conexión de control. SMTP (Simple Mail Transfer Protocol) Protocolo simple de transferencia de correo electrónico. Es un protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras y/o distintos dispositivos (PDA´s, celulares, etc). POP (Post office protocol) Protocolo de oficina de correos. Al contrario de los otros protocolos creados con anterioridad como el SMTP, el POP no necesita una conexión permanente a internet, puesto que es en el momento de la conexión cuando solicita al servidor el envío de la correspondencia almacenada en el servidor para dicho usuario. Si se está permanente conectado a internet pueden configurarse los programas cliente de correo de tal forma que la petición al servidor de correo se efectúe automáticamente cada cierto tiempo y de esta forma avise al usuario de que tiene correo pendiente de recibir. SSH (Secure Shell) SSH es el nombre de un protocolo y del programa que lo implementa. Este protocolo sirve para acceder a maquinas a través de una red, de forma similar a como se hacía con telnet. La diferencia principal, es que SSH usa técnicas de cifrado para que ningún atacante pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos. Al igual que telnet, solo permite conexiones tipo terminal de texto, aunque puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un servidor X arrancado. TELNET TELNET permite la conexión remota entre dos ordenadores conectados a Internet. Se utiliza para acceder a ordenadores donde tenemos definida una cuenta. Para acceder a un ordenador remoto necesitamos su dirección o nombre de dominio y disponer de una cuenta ( login y passwort ) en dicho ordenador. Una vez conectado a él, podemos ejecutar aplicaciones que se encuentran en el ordenador remoto como si fuese nuestro propio, de una forma totalmente transparente para nosotros. El servicio TELNET consta de dos partes que colaboran entre sí, un programa TELNET cliente que se ejecuta en un ordenador local y un servicio TELNET que se ejecuta en un ordenador remoto. En general una conexión TELNET consistirá en: Ejecutar un programa TELNET cliente en el ordenador local. Conectar, mediante el programa TELNET, con el servicio TELNET del ordenador remoto. Para ello es imprescindible la dirección IP de la máquina remota. Identificarse en el sistema remoto. Para acceder a la cuenta en este ordenador, deberemos introducir su correspondiente nombre de usuario y contraseña, ( login y passwort ). Lógicamente se podrá acceder a un sistema si se dispone de una cuenta de usuario en el mismo. Sesión remota: ejecutar mandatos y aplicaciones en estos momentos los dos ordenadores están conectados, visualizando en la pantalla del ordenador local los resultados de las aplicaciones y los mandatos ejecutados en el ordenador remoto. Esta conexión decimos que es transparente, puesto que el usuario no percibe el entramado existente entre ambos ordenadores. Finalizar la conexión remota. Consiste en ejecutar un comando que nos desconecta de la máquina remota. Hay otros dos protocolos de nivel de aplicación que facilitan el uso y administración de la red. Snmp (Simple Network Managment Protocol). DMS (Domain Name Server).