Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. INTRODUCCIN ........................................................................................................................................ 2
3. PROTOCOLO IP ......................................................................................................................................... 6 3.1 3.2 3.3 3.4 3.5 3.6 3.6.1 3.7 3.8 DIRECCIONAMIENTO IP ..........................................................................................................................6 SUBREDES .................................................................................................................................................7 DATAGRAMAS IP .....................................................................................................................................9 ENCAPSULADO .........................................................................................................................................9 INTEGRACIN DE SUBREDES .................................................................................................................10 ENCAMINAMIENTO ................................................................................................................................10 DETERMINAR EL SISTEMA INTERMEDIO ............................................................................................13 ICMP ......................................................................................................................................................14 IPV6.........................................................................................................................................................15
4. NIVEL DE TRANSPORTE....................................................................................................................... 17 4.1 4.2 4.3 DIRECCIONAMIENTO .............................................................................................................................17 UDP ........................................................................................................................................................18 TCP.........................................................................................................................................................19
5. NIVELES ALTOS ...................................................................................................................................... 22 5.1 5.2 5.3 5.3.1 5.3.2 5.3.3 5.4 CONEXIN REMOTA...............................................................................................................................22 TRANSFERENCIA DE FICHEROS .............................................................................................................22 CORREO ELECTRNICO ........................................................................................................................22 FORMATO DE MENSAJES ...................................................................................................................22 SERVICIO DE ENVO DE MENSAJES: SMTP.......................................................................................24 SERVIDORES DE DESCARGA DE MENSAJES: POP E IMAP ................................................................25 SERVICIO DE PGINAS WEB ...................................................................................................................26
2 El modelo TCP/IP
1.
INTRODUCCIN
Poco antes de la aparicin del modelo OSI, el departamento de defensa de EEUU inicia un proyecto encaminado a proporcionar una red de datos extraordinariamente robusta, capaz de comunicar dos puntos incluso aunque alguna de las partes de la red hubiera sido severamente daada, siguiendo una arquitectura distribuida. Dicha red fue llamada ARPAnet, y creada en 1977-79. En 1983 se dividi en dos subredes: MILNET (fines militares) y ARPAnet (investigacin). Actualmente dicha red se extiende por todo el mundo, con un crecimiento exponencial y se la conoce como Internet. Se basa en la jerarqua o pila de protocolos TCP/IP. Estos protocolos son abiertos, en el sentido de que no pertenecen a ningn fabricante en concreto. Sus especificaciones son pblicas y gratuitas. El conjunto resultante no constituye un modelo de referencia propiamente dicho, ya que no existe ninguna especificacin de ste, por lo que resulta ms adecuado el nombre de jerarqua o familia. Como los protocolos de nivel de transporte TCP (Transport Control Protocol) y de nivel de red IP (Internet Protocol) son los ms conocidos, se suele utilizar el nombre de jerarqua de protocolos TCP/IP para denominar la familia completa.
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
2.
JERARQUA TCP/IP
En la jerarqua TCP/IP las funciones correspondientes a las capas de sesin, presentacin y aplicacin de OSI se integran en una nica capa, llamada de aplicacin, como se aprecia en la figura 1. Esta jerarqua tiene menos niveles que el modelo OSI (5 frente a 7), con lo que se gana en sencillez aunque se obtiene un modelo menos completo.
Fig. 1: Modelo de capas TCP/IP vs. OSI En la jerarqua TCP/IP se pueden distinguir los siguientes niveles, mostrados en la figura 1: Fsico o Hardware: equivalente al del modelo OSI visto anteriormente. Subred, o de interfaz de red: Nivel especfico de la subred empleada (ethernet, X.25, ATM, FDDI). Acepta los datagramas IP y los transmite hacia el nivel fsico desacoplando los niveles superiores del tipo de subred usada. Interred: Servicio de transferencia de datagramas entre sistemas finales. Acepta datos de la capa de transporte, los encapsula en paquetes IP, determina mediante un algoritmo de encaminamiento el equipo al que enviarlo y pasa el paquete a la interfaz de red. Transporte: Servicios de comunicacin extremo a extremo entre aplicaciones. Aplicacin: Es el nivel ms alto. Los usuarios utilizan esta capa para acceder a programas o Servicios de aplicacin, como Transferencia de ficheros: FTP (File Transfer Protocol). Correo electrnico: SMTP (Simple Message Transfer Protocolo). Login o acceso remoto: Telnet.
Redes y Servicios
1 Ingeniero Electrnico
4 El modelo TCP/IP
Adems es frecuente agrupar estos cinco niveles en dos grandes bloques: servicios de aplicacin y servicios de red, como muestra la figura 2.
Fig. 2: Modelo de capas TCP/IP Podemos enumerar algunas caractersticas de esta jerarqua: Independencia de la tecnologa de red subayacente (local, extensa, punto a punto...). Conexin universal entre dos nodos (no importa el lugar). Estndares de protocolos de aplicacin creados partir de: Abundante software preexistente. Numerosas herramientas de uso.
Dentro de los elementos conectados a una red TCP/IP distinguiremos: Sistemas finales (host), normalmente conectados a una nica subred. Sistemas Intermedios (SI) o encaminadores (routers): interconectan dos o ms redes.
En la figura 3 se muestran los niveles TCP/IP, y algunos de los protocolos que se definen para esos niveles.
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
Redes y Servicios
1 Ingeniero Electrnico
6 El modelo TCP/IP
3.
PROTOCOLO IP
Es el protocolo de interred utilizado en Internet: Internet Protocol. J. Postel. Sep-01-1981. RFC 791 (Request For Commment). Nos ofrece un servicio de interred no orientado a conexin y no confirmado, es decir, la red hace lo que puede (best effort) para entregar los datos al destino. Los datagramas pueden perderse, duplicarse o desordenarse y la red no detecta esos hechos, ni informa de ellos. Se necesitan, por tanto, mecanismos adicionales para superar estos problemas.
3.1
Direccionamiento IP
Cada sistema en una red tiene asignada una direccin de 32 bits, 4 octetos. Conceptualmente se pueden distinguir en estos 32 bits un identificador de red, y un identificador de sistema final. Todos los equipos en la misma subred comparten el mismo identificador de red. Por lo tanto, una direccin IP identifica a una subred y a un sistema conectado a dicha subred (host). Para hacer ms flexible este mecanismo el identificador de subred puede ser de varios tipos. Como podemos apreciar en la figura 3, existen 5 tipos de direcciones IP (A,B,C,D y E), que se muestran en la figura 4. Las dos ltimas estn reservadas para multicast y para uso futuro. Las tres primeras, A, B y C sirven para configura redes de distintos tamaos, ya que el nmero de bits dedicados a la parte de identificador de host (host-id) es distinta. Por ejemplo, las direcciones de tipo C permiten formar redes donde el identificador de sistema tiene 8 bits, es decir, hasta 256 equipos distintos. Como se reserva una de estas 256 direcciones para la direccin de subred (0), y otra para difusin (255), nos quedan 254 direcciones de red. Existen adems otras direcciones especiales, como la denominada bucle local (loopback, 127.0.0.0), usada, para comunicar dos procesos en el mismo sistema.
16 host-id
24
host-id host-id
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
Como trabajar con secuencias de 32 bits es incmodo para los usuarios se utiliza una notacin decimal, consistente en representar con un entero cada uno de los octetos que forman la direccin IP. Cada uno de estos enteros tendr un valor que oscila entre 0 y 255. Para formar la direccin se separan los enteros por puntos. Esta notacin decimal puede resultar familiar, nos encontraremos direcciones del tipo: 128.10.2.30 62.143.168.92 Esta notacin (utilizada previamente por ejemplo al mencionar la direccin del bucle local, loopback) es la que se utiliza en la figura 6, donde se aprecian varias redes interconectadas mediante encaminadores (R, routers). Para facilitar el manejo de las direcciones IP a cada direccin se le asocia un nombre. Por ejemplo, a la direccin 193.168.157.20 se le asocia el nombre esixl.esi.us.es La asignacin de nombres se realiza de forma jerrquica, separando los distintos dominios de menor a mayor de izquierda a derecha: Sistema_final.subsubdominio.subdominio.dominio Esix. esi. us. es Existe una aplicacin distribuida, DNS (Domain Name System) que permite resolver las asociaciones entre nombres y direcciones IP, y devolver a las aplicaciones de usuario la direccin IP que corresponde a un nombre de sistema final.
3.2
Subredes
Dentro de cualquiera de estos tipos de direcciones es posible aplicar subredes (subnetting): a partir de una nica direccin de red podemos tener varias redes fsicas, como se muestra en la figura 5. Recordemos que la direccin IP tiene un identificador de red y un identificador de sistema final. Para aplicar subredes interpretamos que la parte de identificador de sistema final est dividida en un identificador de subred y un identificador de equipo en esa subred. Esto se aprecia en la figura 5 aplicado a una direccin del tipo B.
Redes y Servicios
1 Ingeniero Electrnico
8 El modelo TCP/IP
0 B 10
8 net-id
16
24 host-id
10
net-id
subnet-id
host-id
Figura 5: Direccionamiento y Subredes En la figura 6 se muestra la red 138.4.0.0. En este ejemplo se divide dicha red en varias subredes fsicas, para lo que usamos el tercer octeto de la direccin IP, y obtenemos las subredes 138.4.x.0
Fig. 6: Ejemplo de uso de subredes Como se dijo anteriormente la direccin de red se especifica con un identificador de host cero. Una direccin IP identifica a una red y a un sistema conectado a dicha red. Por tanto si un sistema est conectado a dos redes tendr dos direcciones IP. Es el caso de los encaminadores de la figura previa que tendrn una direccin IP para cada interfaz en cada subred.
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
3.3
Datagramas IP
Los datagramas IP, o comnmente, paquetes IP (PDUs de nivel interred), son la unidad bsica de transferencia en Internet. El datagrama IP tiene dos partes: la cabecera y los datos. En la cabecera viaja, entre otra informacin, la direccin IP del equipo origen y destino, la longitud del datagrama, el tiempo de vida.... El formato detallado se muestra en la figura 7.
0 VERS
4 LONG
8 TIPO SERV.
16
19
24 LONG. TOTAL
31
FLAGS
Fig. 7: Formato datagrama IP Podemos destacar algunos campos, como la versin del protocolo, 4 bits que permiten que convivan en la red distintas versiones del protocolo IP. Lo primero que deber hacer un equipo en la red es verificar dicho campo antes de procesar el resto del paquete. El campo LONG (longitud de la cabecera) especifica el nmero de palabras de 32 bits que posee la cabecera). Como el campo OPCIONES es opcional y de tamao variable a veces ser necesario aadir un relleno en la parte final de la cabecera, antes del campo datos del paquete, ya que la cabecera siempre debe ser un mltiplo de 4 octetos. Si la cabecera no tiene campos opcionales su tamao ser de 20 octetos. En el paquete se especifican tambin la direccin IP del sistema que genera el paquete, y la direccin IP del equipo destinatario de dicho paquete. Adems existe en la cabecera un campo de redundancia cclico para detectar errores en la cabecera durante la transmisin. El campo Longitud Total, de 16 bits, especifica el tamao total del datagrama en octetos. Si deseamos conocer la longitud de los datos basta restarle la longitud de la cabecera. 3.4 Encapsulado
El datagrama IP debe ser transmitido dentro de una trama de subred, una trama fsica, como se muestra en la figura 8. A esto se le conoce como encapsulado, el datagrama IP viajar en el rea de datos de la trama. Ser necesario que en la cabecera de la trama se especifique de alguna forma el tipo de datos que est transportando. Por ejemplo, Ethernet utiliza el valor 0x0800 para especificar que transporta un datagrama IP.
Redes y Servicios
1 Ingeniero Electrnico
10 El modelo TCP/IP
Datagrama IP
cabecera datos
Cabecera trama
Datos trama
Trama Subred
Figura 8: Encapsulado de datagramas IP 3.5 Integracin de subredes
El protocolo IP funciona como protocolo de interred, integrando las diferentes subredes existentes. Se necesitar un mecanismo que permita asociar direcciones fsicas o de subred con direcciones de red. (p.e. IP sobre Ethernet, IP sobre RDSI, etc.). En la figura 9 se aprecia como son necesarias capas de adaptacin diferentes para cada subred. En el caso concreto de IP sobre X.25, la RFC 1356 especifica la forma de encapsular IP (y otros protocolos de nivel de red) sobre redes X.25.
3.6
Encaminamiento Hay dos tipos de encaminamiento, directo e indirecto, que se muestran en la figura 10.
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
A Directo
Indirecto
SI
Fig.10: Tipos de encaminamiento Directo: Se da entre mquinas conectadas a la misma subred fsica. No participan sistemas intermedios (routers). El remitente deber: 1. Construir el paquete IP con las direcciones IP origen y IP destino final. 2. Hallar la direccin fsica correspondiente a la direccin IP destino. Para ello utiliza un protocolo que se ejecuta de forma dinmica y que independiza las direcciones IP de las fsicas. Este es el protocolo ARP (Address Resolution Protocol) , cuyo funcionamiento se muestra en la figura 11. El equipo origen, mediante un mensaje de difusin (ARPrequest), solicita en la red la direccin fsica del equipo destino. El equipo destino deber contestar (ARP-reply con su direccin fsica, que en este caso ser su direccin MAC. Los equipos en la red tienen una memoria intermedia en la que almacenan estas correspondencias entre direcciones IP y direcciones fsicas para evitar los mensajes de difusin. Adems en la peticin inicial el equipo enva su direccin IP y su direccin MAC, con lo que todos los equipos pueden capturar esa informacin para su uso posterior.
Redes y Servicios
1 Ingeniero Electrnico
12 El modelo TCP/IP
Fig.11: Protocolo ARP 3. Encapsular el datagrama IP en la trama 4. Enviar la trama resultante al destinatario final. Indirecto: El destino y el origen no estn conectados a la misma subred fsica. El origen deber utilizar un sistema intermedio para que reenve su mensaje. El remitente deber identificar el SI al que enviar el datagrama, utilizando para ello tablas de encaminamiento. Dicho SI se encargar de encaminar el datagrama hacia el sistema destino. Los pasos son similares a los del encaminamiento directo, excepto la determinacin de la direccin fsica, que no ser la del equipo final sino la del equipo intermedio. Por lo tanto, la principal diferencia con los 4 pasos previos est en el paso 2. 1. Construir el paquete IP con las direcciones IP origen e IP destino. 2. Obtener la direccin fsica del Sistema intermedio. Para ello Determinar el sistema intermedio. Obtener la direccin fsica del SI.
3. Encapsular el datagrama IP en la trama 4. Enviar la trama resultante al sistema intermedio. A su vez el SI repetir los pasos 2-4 para alcanzar el destino final o el siguiente SI. La direccin IP destino en el datagrama es la del destino final, no la de los sistemas intermedios por los que pase..
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
id .de red
id. subred
id. sistema
direccin mscara
111111111111
11111111111111
000000
Fig.12: Mscara de red En la figura 13 se muestra una red compuesta de 4 subredes y la tabla de encaminamiento del encaminador G2. En ella se aprecia que si el destino final est en las redes 20.0.0.0 o 30.0.0.0 el encaminamiento es directo. En cambio, para las redes 10.0.0.0 40.0.0.0 es indirecto, y debe usar los encaminadores G1 y G3 respectivamente. Podemos observar tambin que los encaminadores tiene direcciones IP distintas en cada interfaz. G2 tiene dos direcciones IP: 20.0.0.6 en la subred 20.0.0.0 y 30.0.0.6 en la subred 30.0.0.0.
Redes y Servicios
1 Ingeniero Electrnico
14 El modelo TCP/IP
10.0.0.0 10.0.0.5
G1 20.0.0.5
20.0.0.0
40.0.0.7 40.0.0.0 G3
30.0.0.7 30.0.0.0
Fig. 13: Subredes y tablas de encaminamiento El mecanismo bsico de encaminamiento en este caso consiste en: 3.7 Si la direccin IP destino del datagrama es directamente encaminable, encapsular y enviar. Si es un prefijo que viene en la tabla: Enviar al SI que indique la tabla. Si no viene en la tabla: Enviar al SI por defecto
ICMP
El nivel de red est basado en software, y el hardware de red no informa sobre condiciones excepcionales. Por lo tanto necesitamos mecanismos para suministrar informacin sobre errores. Estos mecanismos son proporcionados por el protocolo ICMP (Internet Control Message Protocol). Este protocolo nicamente informa de errores o da informacin de control, as que ser un protocolo de nivel superior, p.e. TCP, el que se encargue de solucionar los problemas. Dichos mensajes viajan como datos en los datagramas IP, como muestra la figura 14, y permiten a los encaminadores mandar mensajes de error o de control a otros sistemas intermedios o finales. Si un sistema intermedio detecta un error al procesar un datagrama IP slo podr reportarlo a la fuente de dicho datagrama, puesto que es la direccin IP que viaja en el datagrama y no la de los sistemas intermedios recorridos. Ejemplos de mensajes que define este protocolo: Destino inalcanzable, tiempo de vida excedido, redireccin, congestin, problemas en los parmetros, etc.
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
Mensaje ICMP
Datagrama IP
cabecera
datos
Cabecera trama
Datos trama
Trama Subred
Figura 14: Encapsulado de mensajes ICMP en datagramas IP Hay herramientas de gestin que utilizan este protocolo, como el comando ping. Este comando sondea un destino final utilizando para ello el mensaje ICMP Solicitud de eco y esperando del destino final una mensaje ICMP del tipo Respuesta de eco. El recibir una respuesta significa que todos los sistemas intermedios encaminan correctamente, y que el sistema final est encendido, y funcionan sus protocolos IP e ICMP. 3.8 Ipv6
Ya existe una nueva versin del protocolo IP, IPv6 (frente a Ipv4). Ipv6 viene a resolver algunos de los problemas de Ipv4: Aumentar el espacio de direcciones. Frente a los 32 bits de Ipv4 Ipv6 ofrece direcciones ms largas, de 128 bits. Simplificar la cabecera del paquete IP: Longitud fija (40octetos) sin campos opcionales, con 6 campos y dos direcciones. Soporte de nuevas aplicaciones (sonido, vdeo) en tiempo real con mecanismos que aseguren el control de retardos. Incluir mecanismos de seguridad en el propio protocolo. Mecanismos que faciliten la extensin del protocolo en el futuro. Mecanismos de auto- configuracin.
Esta nueva versin debe reemplazar gradualmente a Ipv4 pero tendr que coexistir con la versin previa durante el periodo de transicin. La especificacin base se puede encontrar en la RFC 2460, Internet Protocol, Version 6 (IPv6).
Redes y Servicios
1 Ingeniero Electrnico
16 El modelo TCP/IP
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
4.
NIVEL DE TRANSPORTE
El objeto del nivel de transporte es comunicar las aplicaciones entre si (comunicacin extremo a extremo). Utiliza el servicio de red no orientado a conexin proporcionado por el protocolo IP. Existen dos mecanismos de transporte en la jerarqua TCP/IP (ver figura 3): 4.1 TCP (Transmision Control Protocol) descrito en la recomendacin RFC793. UCP (User Datagram Protocol) descrito en la recomendacin RFC 768. Direccionamiento
Es necesaria la extensin del direccionamiento de red para permitir la comunicacin entre dos procesos de aplicacin. Surge el concepto de puerto. Existen dos enfoques: Universal, en el que una entidad central asigna los nmeros de puerto a determinados servicios. Estos puertos reservados se conocen como asignaciones bien conocidas de puerto (well-known). En general se reservan los puertos bajos, de rango inferior a 1024, aunque este lmite puede ser superado. Dinmica, en el que solicitan cuando hacen falta. Se utilizan puertos altos, por encima de 1024.
En la figura 15 se muestra como las aplicaciones utilizan distintos puertos (p1, p2, p3,..) sobre la capa de transporte, y como en los sistemas intermedios no existe capa de transporte. La capa de transporte es la primera capa extremo a extremo.
... p3
... p3
Redes y Servicios
1 Ingeniero Electrnico
18 El modelo TCP/IP
4.2
UDP
Proporciona un servicio de transporte de datos entre aplicaciones no orientado a conexin: los mensajes pueden perderse, duplicarse o llegar desordenados. UDP toma los datos de las aplicaciones, aade una cabecera y luego se envan dentro de un datagrama IP, como se muestra en la figura 16.
Mensaje UDP
cabecera
Datos
Datagrama IP
cabecera
datos
Cabecera trama
Datos trama
Trama Subred
Datos ...
Fig. 17: Formato datagrama UDP
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
Los puertos Origen y Destino identifican los puertos de comunicacin, y permiten distinguir varios destinos o aplicaciones en los sistemas origen y destino. La longitud se calcula sobre todo el mensaje UDP, y el clculo de la redundancia es opcional.
4.3
TCP
Frente a UDP, TCP ofrece un servicio de transporte de datos entre aplicaciones dplex, fiable (chequeo y recuperacin de errores), y orientado a conexin. Proporciona un flujo de octetos. Los datos de usuario se dividen en segmentos que suelen ser transmitidos como datagramas IP. Este protocolo tiene mecanismos para el control de flujo. Antes de la transmisin de datos es necesario el establecimiento de una conexin, que se produce entre un par (IP, puerto) origen y destino. La conexin se establece en tres pasos, como se muestra en la figura 18:
T-PDUs
T_CON_CONFIRM
ACK
TX datos
Fig. 18: Establecimiento conexin TCP El hecho de que la conexin se defina entre origen y destino mediante el par IP y puerto permite que un sistema pueda recibir distintas conexiones sobre un mismo puerto, siendo distinto el equipo origen o el puerto origen.
Redes y Servicios
1 Ingeniero Electrnico
20 El modelo TCP/IP
Para que la entrega de mensajes sea fiable se utiliza una tcnica conocida como acuse de recibo positivo con retransmisin. Cada vez que se enva un mensaje, el origen espera confirmacin del destino de que el mensaje lleg correctamente, como se muestra en la figura 19.
Mensajes
Receptor
Recepcin mensaje 1 Envio acuse recibo 1 Recepcin acuse recibo 1 Envo paquete 2 Recepcin mensaje 2 Envio acuse recibo 2 Recepcin acuse recibo 2
Fig. 19: Acuse de recibo Para mejorar el rendimiento de esta tcnica (observe que el emisor debe esperar sin trasmitir hasta que recibe el asentimiento o ACK, acknowledged), se introduce el concepto de ventana deslizante: el emisor puede enviar ms de un mensaje (hasta el tamao de la ventana) sin esperar asentimiento. El emisor deber mantener informacin sobre qu mensajes estn pendientes de confirmar pero aprovecha mejor el ancho de banda. En la figura 20 se observa que el emisor enva el segundo mensaje antes de recibir el ACK del primero.
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
Emisor
Mensajes
Receptor
Envo paquete 1 Envo paquete 2 Recepcin acuse recibo 1 Recepcin acuse recibo 2 Recepcin mensaje 1 Envio acuse recibo 1 Recepcin mensaje 2 Envio acuse recibo 2
Fig. 20: Uso de ventanas deslizantes Como es de esperar, el formato del mensaje TCP es ms complejo, y se detalla en la figura 21. A la unidad de transferencia se le conoce como segmento. Como en niveles previos, el segmento se divide en cabecera y datos. El nmero de secuencia identifica los datos del segmento dentro del flujo de datos entre puerto origen y destino. El campo HLEN identifica el nmero de palabras de 32 bits de la cabecera, ya que el tamao de sta es variable debido al campo opciones. El campo code bits determina el propsito y contenido del segmento, y qu campos del mismo tienen validez o no.
10 PUERTO ORIGEN
16
19
24 PUERTO DESTINO
31
NMERO SECUENCIA NMERO ACUSE RECIBO HLEN RESERVADO REDUNDANCIA OPCIONES (OPCIONAL) DATOS ...... CODE BITS VENTANA PUNTERO URGENCIA RELLENO
Redes y Servicios
1 Ingeniero Electrnico
22 El modelo TCP/IP
5.
NIVELES ALTOS
En esta apartado presentamos una introduccin de los principales servicios de los niveles altos de la jerarqua TCP/IP: conexin remota, transferencia de ficheros, correo electrnico, servicios web, etc. 5.1 Conexin remota
El servicio de conexin remota permite acceder a un equipo remoto y ejecutar comandos en ese sistema remoto. Esto permite compartir recursos, e independizar la localizacin fsica del servidor, normalmente un equipo ms potente, de los terminales de acceso. En la jerarqua TCP/IP el protocolo que define el acceso remoto se denomina Telnet, y est definido principalmente en las recomendaciones RFC 854 y RFC 855. Para acceder al servicio telnet hay que especificar la direccin IP del sistema remoto, y el acceso se hace por defecto en el puerto 23. Es necesario tambin identificarse con un cdigo de usuario (login) y clave (password). Existen servicios similares en sistemas UNIX, como el rlogin (login remoto) o la ejecucin remota (rsh). Destacar que el envo del cdigo y la clave se hace en texto claro, por lo que esa informacin podra ser capturada en su recorrido por la red. Existe una versin ms segura de acceso remoto, Secure Shell (ssh), que cifra el intercambio de datos entre terminal y servidor. 5.2 Transferencia de ficheros
El servicio de transferencia de ficheros remoto permite la manipulacin del sistema de ficheros de un sistema remoto, para aadir ficheros, borrarlos, o leerlos y modificarlos. El protocolo FTP (File Transfer Protocol) est definido en la recomendacin RFC 959, y est basado en TCP, que le proporciona fiabilidad. Adems, para el control de las conexiones utiliza una versin reducida del protocolo Telnet. El protocolo permite su uso desde programas o mediante una interfaz interactiva, y permite al usuario especificar el formato de los datos que se transfieren. Adems incorpora mecanismos de autenticacin del usuario, aunque es frecuente habilitar un usuario con permisos restringidos de lectura, el usuario annimo (anonymous). El servicio se ofrece sobre el puerto 21 (conexin de control), y puerto 20 (conexiones de datos). 5.3 Correo electrnico
El servicio de correo electrnico es uno de los ms usados en Internet. La especificacin se divide actualmente en varias: una que define el formato de los mensajes (RFC 822), otra que define el intercambio de mensajes, la RFC 821 SMTP (Simple Message Transfer Protocol), otros que define la descarga de mensajes del servidor a un cliente (POP3, o IMAP), o la que define el envo de datos no textuales sobre SMTP, MIME (RFCs 2045-2049).
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
El formato de los mensajes de correo electrnico est definido en la RFC 822, y consiste en texto claro o plano, agrupado en cabecera (uno o ms campos de cabecera) y cuerpo del mensaje, separados por una lnea en blanco. Los campos de cabecera consisten en un nombre de campo y un valor de campo, separados por el carcter dos puntos. Nombre_campo: valor_del_campo
Los principales campos que nos podemos encontrar son: To: especifica la direccin del destinatario. CC: especifica direcciones de destinatario secundarias. From: especifica la direccin del usuario que origina el mensaje. Subjetc: Resumen corto del mensaje para ser presentado en una lnea. Date: fecha y hora de envo del mensaje Etc.
Observe este ejemplo de mensaje: Date: Thu, 29 Apr 2004 19:25:56 +0200 From: Antonio Lopez alopez@trajano.us.es To: Jose Ruiz jruiz@trajano.us.es Subject: enunciado de la parte optativa del TFC2004 Os envo la primera versin de la parte optativa. Plis, revisadla y lo comentamos en una reunin el mircoles por la tarde. A las 4:30??. Indicad las horas a las que sera imposible asistir a la reunin. Gracias.
Posteriormente este formato se ampla con extensiones multipropsito. La idea fundamental de estas extensiones es seguir utilizando el formato de la RFC 822, pero agregando al cuerpo del mensaje una estructura que permita el envo de mensajes binarios. Esto permite seguir usando los mismo protocolos de envo y recepcin, y slo hay que modificar los clientes de correo (si se quieren usar estas extensiones). En el cuerpo del mensaje se especifica el tipo de contenido, y si es binario, que codificacin se ha utilizado para transformar el fichero binario a texto claro. En el siguiente ejemplo se muestra en el cuerpo, resaltado en negrita, como se especifica que es un mensaje MIME (Mime-Version:1.0), los distintos tipos de contenido (Content-Type ) en el mensaje (text/plain, image/gif ,etc..) y los tipos de codificacin (Content-Transfer-Encoding: quoted-printable, base64). Date: Tue, 19 Nov 2002 13:46:41 +0100 To: fango@giga.us.es From: joangoar@tenter.es
Redes y Servicios 1 Ingeniero Electrnico
24 El modelo TCP/IP
Subject: Envio fichero gif.. Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_21481415==_" Status: O --=====================_21481415==_ Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: quoted-printable Hola a todos: Esto es una prueba de env=EDo de fichero gr=E1fico con MIME. Saludos, JA --=====================_21481415==_ Content-Type: image/gif; name="teacher.gif"; x-mac-type="47494666"; x-mac-creator="4A565752" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="teacher.gif" R0lGODlhIAAhAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKT . 0xIA//zzzz///NMSQgCUVdZCAJRVVlkAlFVWWWVRRBFFFAUEADs= --=====================_21481415==_--
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
[49]pts/1-gamo:~> telnet trajano.us.es 25 Trying 193.147.162.130... Connected to trajano.us.es. Escape character is '^]'. 220 trajano.us.es ESMTP Sendmail 8.10.0/8.10.0; Wed, 20 Nov 2002 16:03:01 +0100 (CET) HELO 501 5.0.0 HELO requires domain address HELO US.ES 250 trajano.us.es Hello gamo.us.es [193.147.162.131], pleased to meet you MAIL FROM: <nose@us.es> 250 2.1.0 <nose@us.es>... Sender ok RCPT TO: joangoar@terra.es 250 2.1.5 joangoar@terra.es... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Esta es la primera lnea, y al acabar pulso RC Y esta es la segunda Y esta la tercera Adios JA . 250 2.0.0 gAKF3ZL20151 Message accepted for delivery TURN 502 5.5.1 Command not implemented: "TURN" QUIT 221 2.0.0 trajano.us.es closing connection Connection closed by foreign host. [50]pts/1-gamo:~>
Por ello lo habitual en los clientes de correo (Outlook, Eudora, Pegasus, Netscape Mail, Evolution, etc.) es especificar un servidor para enviar el correo (servidor de correo saliente), que utiliza el protocolo SMTP, y otro para descargar los mensajes de correo para su lectura (servidor de correo entrante), que sigue el protocolo POP3 o IMAP. Por ejemplo, el protocolo POP3 se ofrece sobre TCP, en el puerto 110. En el siguiente ejemplo se muestra una sesin POP3 y algunos de los comandos utilizados, que por supuesto quedarn ocultos en el caso de usar la interfaz grfica de un cliente de correo.
Redes y Servicios
1 Ingeniero Electrnico
26 El modelo TCP/IP
[55]pts/1-gamo:~> telnet pop3.terra.es 110 Trying 213.4.129.129... Connected to pop3.terra.es. Escape character is '^]'. +OK Bienvenido al servidor POP3 de TERRA USER joangoar.terra.es +OK password required for user joangoar.terra.es PASS ********* // Sustituida por motivos evidentes.. +OK Maildrop ready LIST +OK scan listing follows 1 7157 2 791 . RETR 2 +OK 791 octets Return-Path: <nose@us.es> Received: from tsmtp1.mail.isp ([10.10.21.10]) by mb0.terra.es (terra.es) with ESMTP id H5VR8F00.SB7 for <joangoar@terra.es>; Wed, 20 Nov 2002 16:05:03 +0100 Received: from trajano.us.es ([193.147.162.130]) by tsmtp1.mail.isp (terra.es) with ESMTP id H5VR8E00.V4P for <joangoar@terra.es>; Wed, 20 Nov 2002 16:05:02 +0100 Received: from US.ES (gamo.us.es [193.147.162.131]) by trajano.us.es (8.10.0/8.10.0) with SMTP id gAKF3ZL20151 for joangoar@terra.es; Wed, 20 Nov 2002 16:04:10 +0100 (CET) Date: Wed, 20 Nov 2002 16:04:10 +0100 (CET) From: nose@us.es Message-Id: <200211201504.gAKF3ZL20151@trajano.us.es> Esta es la primera lnea, y al acabar pulso RC Y esta es la segunda Y esta la tercera Adios JA . NOOP +OK LIST +OK scan listing follows 1 7157 2 791 . QUIT +OK goodbye Connection closed by foreign host. [57]pts/1-gamo:~>
5.4
El servicio de pginas web es uno de lo ms populares de Internet. Este servicio, del nivel de aplicacin, sigue el modelo cliente-servidor: el cliente, normalmente un navegador web, solicita un
Redes y Servicios
1 Ingeniero Electrnico
El modelo TCP/IP
recurso o pgina, y el servidor contesta con un mensaje que incluye el recurso solicitado. El cliente a continuacin muestra al usuario el recurso solicitado. El protocolo que regula este intercambio de mensajes (solicitudes y respuestas) y el formato de esos mensajes es el protocolo HTTP (HipeText Transfer Protocol), definido en la RFC 3616. Utiliza el protocolo TCP, y se ofrece por defecto en el puerto 80. El formato de los mensajes es: Una lnea de comienzo, que en el caso de la solicitud incluye la operacin solicitada y el recurso, y en la respuesta un cdigo de estado. Cabeceras, similares a las de correo electrnico. Una lnea en blanco. El cuerpo del mensaje (si lo hay).
Este es el formato de una solicitud: GET / HTTP/1.1 Host: www.cica.es If-Modified-Since: Fri, 29 Nov 2002 13:29:00 GMT
Y este el de su respuesta, que incluye en el cuerpo la pgina web (en cdigo HTML) que debe mostrar el navegador.
HTTP/1.1 200 OK Date: Fri, 29 Nov 2002 15:21:12 GMT Last-Modified: Fri, 29 Nov 2002 13:30:07 GMT Accept-Ranges: bytes Content-Length: 8853 Content-Type: text/html Content-Language: es <html> <!doctype html public "-//W30//DTD W3 HTML 3.0//ES"> <head> <title>Bienvenido al Servidor Web del CICA</title> <!-- Meta caracteres --> <meta name="robots" content="noindex, nofollow"> <meta name="keywords" content="cica"> <meta name="description" content="CICA"> <style type="text/css"><!--A {text-decoration: ></style> </head> <body bgcolor="ffffff" link="004400" vlink="006600"> <!-- Cabecera del CICA --> <!-- Comienzo del cuerpo de la pagina -->
Redes y Servicios 1 Ingeniero Electrnico
none}--
28 El modelo TCP/IP
... </body> </html> Como ya hemos indicado, el servicio de pginas web es uno de lo ms populares de Internet, e incluso servicios previos como la transferencia de ficheros o el correo electrnico se ofrecen en muchos caso como pginas web. La gran ventaja de ofrecer servicios sobre pginas web es que el usuario slo debe tener instalado un navegador web.
Redes y Servicios
1 Ingeniero Electrnico