Computer Networking: A Top Down Approach Featuring the Internet, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2008. Material original de:

Slides:



Advertisements
Presentaciones similares
PROTOCOLOS JORGE CHAVEZ SANTOS.
Advertisements

CAPA DE TRANSPORTE MODELO OSI
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
Jorge de Nova Segundo UD 6: Instalación y administración de servicios de correo electrónico Funcionamiento del servicio de correo electrónico.
Mail Server Xavier Bustamante. Objetivo: Permitir que usuarios en la red puedan enviar y recibir mail. HUB user10 user20 Mac OS X Server 10.4 user30.
Programación Interactiva Aplicaciones Cliente-Servidor
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Modelos De Referencia OSI y TCP/IP.
Funcionamiento del servicio de correo electrónico.
Capítulo 2: Capa Aplicación
CAPA DE APLICACIÓN REDES I.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Computer Networking: A Top Down Approach Featuring the Internet,
Protocolos de la Capa de Aplicación
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Víctor Toscanini M. & Martín Galaz M.
Correo electrónico Internet
El término servidor hace referencia a un host que ejecuta una aplicación de software que proporciona información o servicios a otros hosts conectados.
SISTEMAS OPERATIVOS ABIERTOS.
PROTOCOLO H T T P.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
DHCP protocolo de configuración dinámica de host.
Unidad didáctica 6 Diseño de páginas Web.
1 Capítulo 25: Correo Electrónico, Representación y Transferencia ICD 327: Redes de Computadores Agustín J. González.
 Epo 165  Profe Luis Daniel Sánchez paz  Alumna: María Guadalupe mondragon mondragon  Grado 1  Grupo 1  2do semestre  Nl 33.
Correo Electrónico Introducción Correo Electrónico: de las aplicaciones de red más el tiempo, se ha ido mejorando, hasta lo que.
RESUMEN CAPITULO 6.
Capítulo 2: Capa Aplicación
En este capitulo se analizo la relación entre cliente y servidor de red habituales, como: HTTP FTP DNS DHCP Correo Electrónico INTRODUCCIÓN.
PROTOCOLO HTTP ALGUNAS DEF.-
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
Conceptos básicos sobre Internet
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
Otras aplicaciones1 FTP Telnet (y ssh) WWW. Otras aplicaciones2 FTP File Tranfer Protocol Protocolo de transferencia de archivos básico pero útil y fácil.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
2: Capa Aplicación 1 Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
1 Correo Electrónico, Representación y Transferencia ELO322: Redes de Computadores Agustín J. González.
Modelo TCP / IP Conjunto de protocolos. La sigla TCP/IP significa "Protocolo de control de transmisión/Protocolo de Internet" y se pronuncia "T-C-P-I-P".
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Funcionamiento del servicio de correo electrónico
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Tema 6 – Servicio de Correo Electrónico
2: Capa Aplicación Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
File Transfer Protocol.
Protocolos del modelo TCP/IP
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Punto 2 – Elementos de Correo Juan Luis Cano. Para que una persona pueda enviar un correo a otra, cada una ha de tener una dirección de correo electrónico.
UD 1: “Introducción a los servicios de red e Internet”
PROTOCOLO TCP Y UDP.
Protocolos de comunicación TCP/IP
Protocolos de Transporte y Aplicación. – TCP y UDP
S ERVICIOS DE RED E I NTERNET T EMA 6 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS DE CORREO ELECTRÓNICO Nombre: Adrián de la Torre López.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Modelo OSI Para redes………
Protocolos de Transporte y Aplicación
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
8. SMTP n 8.1 Objetivos y características. n 8.2 Funcionamiento. u Modelo de comunicación. u Abrir y cerrar el canal. u Envío. u Enacminamiento de los.
Historia Correo Electrónico 1971 Aunque los antecedentes del correo electrónico hay que buscarlos unos pocos años antes, no es hasta 1971 cuando Ray Tomlinson,
FTP Y HTTP. HTTP Y HTTPS El Protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol), uno de los protocolos en el conjunto de aplicaciones.
UNA APROXIMACIÓN A INTERNET Y A SUS HERRAMIENTAS DE BÚSQUEDA.
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: Correo Electrónico
Transcripción de la presentación:

Computer Networking: A Top Down Approach Featuring the Internet, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July Material original de: J.F Kurose and K.W. Ross All Rights Reserved Arquitectura de redes

Algunas aplicaciones en red r r Web  Mensajer í a instant á nea r Acceso remoto  Compartici ó n P2P r Juegos multi-usuario  Streaming de v í deo  Telefon í a por internet  V í deo-conferencia  Computaci ó n masivamente distribuida

Arquitecturas de las aplicaciones r Cliente-servidor r Peer-to-peer (P2P)  H í bridas entre cliente-servidor y P2P

Arquitectura Cliente-servidor servidor: m Servidor siempre encendido m IP fija m Granjas para escalado clientes: m Se comunican con el servidor m Intermitentemente conectados  Pueden tener IP din á micas m No se comunican entre ellos

Arquitectuas P2P puras r Servidores no siempre encendidos r Los sistemas se comunican entre ellos arbitrariamente r Los peers (pares) pueden estar intermitentemente conectados r Los pares pueden cambiar de IP r ejemplo: Gnutella Á ltamente escalable Dif í ciles de gestionar

H í bridos de cliente-servidor y P2P Napster m Trnansferencia de ficheros P2P  B ú squeda centralizeda: Peers registran contenido en un servidor central Peers preguntan al mismo servidor para encontrar informaci ó n Mensajer í a instant á nea  La conversaci ó n entre dos pares es P2P  La detecci ó n/localizaci ó n est á centralizada: Los usuarios registran su IP en el servidor al estar on-line Los usuarios contactan con el servidor central para encontrar la direcci ó n IP de sus amigos

Comunicaci ó n de procesos Proceso: programa ejecutando en un computador.  Dos procesos en la misma m á quina se comunican mediante comunicaci ó n inter-proceso (definida por el SO).  procesos en m á quinas diferentes se comunicancan intercambiando mensajes Proceso Cliente: proceso que inicia la comunicaci ó n Proceso Servidor: proceso que espera a ser contactado r Nota: Las aplicaciones con arquitectura P2P tienen procesos cliente y servidor

Comunicaci ó n de procesos en Internet: Sockets  Los procesos env í an/ reciben mensajes a/de su socket  socket se parece a buz ó n  El proceso que env í a mete el mensaje en el buz ó n  El proceo emisor conf í a en que la infraestrucuta de transporte dejar á en el buz ó n de destino el mensaje enviado proceso TCP (buffers, Variables) socket cliente o servidor proceso TCP (buffers, Variables) socket cliente o servidor Internet controlado por el SO Controlado por el programador  API: (1) elecci ó n del protocolo de transporte, (2) se fijan los par á metros

Direccionamiento r Para que un proceso pueda recibir mensajes necesita un identificador  Cada ordenador tiene una idrecci ó n IP de 32 bits r Pregunta: ¿es suficiente con la IP del ordenador donde corre para identificar al porceso? r Respuesta: No, puede haber muchos procesos ejecutando en el mismo ordenador  El identificador incluye tanto la direcci ó n IP como el n ú mero de puerto asociado con el proceso en el ordenador. r Ejemplos de puertos: m HTTP: 80 m Mail: 25  M á s sobre esto luego

Protocolos de las aplicaciones  Tipos de mensajes intercambiados. Ej: mensajes de petici ó n y respuesta r Sintaxis de los tipos de mensaje: campos en cada mensaje y su tipo  Sem á ntica de los campos: informaci ó n en cada campo  Reglas sobre cu á ndo y c ó mo se procesan los env í os y las recepciones. Protocolos p ú blicos: r Definidos en RFCs r Facilitan la interoperabilidad r Ej: HTTP, SMTP Protocolos propietarios: r Ej: KaZaA Definen:

¿Qu é servicio de transporte necesita? Pérdidas r Algunas aplicaciones pueden tolerar pérdidas (ej: audio) r Otras no (ej: transferencia de ficheros, sesión remota, etc), necesitan transmisión 100% fiable Tiempo de respuesta  Algunas aplicaciones necesitan delays bajos para ser usables. Ej: juegos on- line, telefon í a sobre internet, etc. Ancho de Banda  Algunas aplicaciones (ej., multimedia) requieren un m í nimo de ancho de banda para ser “efectivas”  Otras aplicaciones (“el á sticas”) funcionan con lo que pueden obtener.

Requisitos de transporte de aplicaciones Aplicación file transfer Web real-time audio/vídeo audio/vídeo Juegos interactivos Mensajería instantánea Pérdidas Sin Tolerante Sin Ancho de Banda elástico audio: 5kbps-1Mbps vídeo:10kbps-5Mbps idem Pocos kbps elástico Respuesta no sí, 100’s msec sí, pocos secs sí, 100’s msec sí y no

Protocolos de transporte en internet TCP:  Orientado a conexi ó n: setup required between client and server processes r Transporte fiable entre proceso emisor y receptor r Control de flujo: el emisor no “ahoga” al receptor  Control de congesti ó n: detiene al emisor si hay p é rdidas  No proporciona: garant í as de tiempo ni de ancho de banda UDP: r Transferencia no fiable entre procesos emisores y receptores  No proporciona: establecimiento de conexi ó n, fiabibilida, control de flujo, contrl de congesti ó n, garant í as de tiempo ni de ancho de banda P: ¿por qu é preocuparse? ¿por qu é existe UDP?

Aplicaciones en Internet: protocolos Aplicación correo Acceso remoto Web transferencia de ficheros streaming multimedia Telefonía sobre internet Protocolo de nivel de aplicación SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] propietarios (e.g. RealNetworks) propietarios (e.g., Dialpad) Protocolo de nivel de transporte TCP TCP o UDP típicamente UDP

Web y HTTP Vocabulario  P á gina Web consiste en objetos  Objectos pueden ser ficheros HTML, im á genes JPEG, Java applet, ficheros de audio,…  Una p á gina Web est á formada por un fichero HTML que incluye objetos r Cada object es direccionable por una URL r URL: Nombre host path

HTTP HTTP: HyperText Transfer Protocol  Protocolo de nivel de aplicaci ó n del Web r Modelo cliente/servidor m cliente: navegador que pide, recibe y muestra objetos  servidor: env í a objetos como respuesta a peticiones r HTTP 1.0: RFC 1945 r HTTP 1.1: RFC 2068 PC (Firefox) Servidor (Apache) Mac (Safari) HTTP request HTTP response

HTTP (cont.) Usa TCP:  cliente abre una conexi ó n TCP (crea un socket) con el puerto 80 del servidor  El servidor acepta la conexi ó n TCP del cliente  Intercambio de mensajes HTTP (protocolo del nivel de aplicaci ó n) entre el cliente y el servidor  Se cierra la conexi ó n TCP HTTP “sin estado”  El servidor no mantiene informaci ó n sobre peticiones pasadas del cliente Los protocolos con estado son “complicados”! r Hay que mantener la historia pasada (estado) r Si el servidor o el cliente se caen, sus visiones del estado pueden ser inconsistentes y deben reconciliarse NOTA

Conexiones HTTP HTTP no-persistente  Se env í a como mucho un objeto en una conexi ó n. r HTTP/1.0 es no- persistente HTTP Persistente  Se pueden enviar m ú ltiples objectos sobre una misma conexi ó n TCP entre un cliente y un servidor. r HTTP/1.1 usa conexiones persistentes por defecto

HTTP No persistente Supongamos que un usuario introduce: 1a. El cliente HTTP inicializa la conexi ó n TCP con el servidor HTTP (proceso) en en el puerto El cliente HTTP env í a un mensaje de petici ó n (que contiene la URL) a trav é s del socket TCP. El mensaje indica que el cliente quiere el objecto algundepartamento/home.html 1b. El servidor HTTP en que espera conexiones TCP en el puerto 80 “accepta” la conexi ó n y se lo notifica al cliente 3. El sevidor HTTP recibe el mensaje de petici ó n, genera un mensaje de respuesta que contiene el objeto pedido y envi í a el mensaje a su socket time (contiene texto y referencias a 10 imágenes jpeg)

HTTP no-persistente (cont.) 5. El cliente HTTP recibe el mensaje de respuesta, lo muestra y lo analiza (“parsea”). Al analizarlo encuentra 10 objetos jpeg referenciados. 6. Se repiten los pasos 1-5 para cada uno de los 10 objetos jpeg 4. El servidor HTTP cierra la conexi ó n TCP time

Tiempo de Respuesta Definici ó n de RRT: tiempo que tarda un paquete desde el cliente al servidor y vuelta. Tiempo de respuesta:  Un RTT para inicial la conexi ó n TCP  Un RTT para la petici ó n HTTP y los primeros bytes de respuesta devueltos  Tiempo de transmisi ó n total = 2RTT+transmisi ó n Tiempo de transmisi ó n del fichero Inicio de la conexi ó n TCP RTT petici ó n de fichero RTT fichero recibido tiempo

HTTP Persistente Resumen del no-persistente: r necesita 2 RTTs por objecto  El SO tiene que reservar y liberar los recursos para cada conexi ó n TCP r Los navegadores suelen abrir conexiones TCP en paralelo para conseguir los objetos Persistente  El servidor deja la conexi ó n abierta tras enviar la respuesta  Los mensajes HTTP siguientes del cliente y el servidor emisor se env í an sobre la conexi ó n Persistente sin pipelining: r client issues new request only when previous response has been received r Un RTT para cada objeto referenciado Persistent con pipelining: r Por defecto en HTTP/1.1  El cliente env í a la petici ó n tan pronto como encuentra el objeto  Como m í nimo un RTT para todos los objetos referenciados

Mensaje de petici ó n en HTTP r En HTTP hay dos tipos de mensajes:  Mensaje de petici ó n HTTP: m ASCII (formato “legible”) GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra CR/LF) L í nea de petici ó n (GET, POST, HEAD) l í neas de cabecera CR / LF Indica fin del mensaje

Mensaje petici ó n: formato general

“Subir” informaci ó n M é todo Post:  P á gina Web incluye frecuentemente un formulario  Los datos se suben en el cuerpo (body) de la petici ó n M é todo URL:  Usa m é todo GET  Los datos se suben en el campo URL de la l í nea de petici ó n:

Tipos de m é todos HTTP/1.0 r GET r POST r HEAD  Pide al servidor que no incluya el objeto en la respuesta, s ó lo la cabecera HTTP/1.1 r GET, POST, HEAD r PUT m Sube un fichero en el cuerpo a un path especificado en el campo URL r DELETE m Borra un fichero especificado en el campo URL

Mensaje de respuesta HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data... L í nea de estado (c ó digo y frase explicativa) L í neas cabecera datos, ej., fichero HTML pedido

C ó digos de respuesta 200 OK  Petici ó n exitosa, el objeto pedido va m á s adelante 301 Moved Permanently  Objeto solicitado trasladado, se indica la nueva localizaci ó n m á s adelante en el mensaje (Location:) 400 Bad Request  Mensaje de petici ó n no entendido por el servidor 404 Not Found m Documento pedido no encontrado en el servidor 505 HTTP Version Not Supported In first line in server->client response message. Algunos ejemplos:

Prueba HTTP desde un cliente 1. Telnet a tu servidor favorito: Abre conexi ó n TCP con el puerto 80 (default HTTP server port) at gsyc.es. Todo lo que escribas se env í a al puerto 80 de gsyc.es telnet gsyc.es Escribe una petici ó n HTTP: GET /~vmo/ HTTP/1.1 Host: gsyc.es Escribe esto (pulsa ENTER dos veces), est á s enviando esta petici ó n simple (pero completa): GET petici ó n al servidor HTTP 3. ¡Mira que te env í a el servidor!

Estado en el servidor: cookies La mayor í a de los servidores usa cookies Componentes: 1) L í nea de cabecera cookie en el mensaje de respuesta HTTP 2) L í nea de cabecera cookie en el mensaje de petici ó n HTTP 3) Se mantiene un fichero con las cookies en el cliente (manejado por el cliente) 4) Base de datos en el servidor Ejemplo: m Vicente accede a Internet siempre desde el mismo PC  Visita un sitio de comercio electr ó nico por primera vez  Cuando la petici ó n inicial llega al servidor, crea un ID y una entrada en la base de datos para ese ID

Cookies: manteniendo “estado” (cont.) cliente servidor petici ó n http usual msg respuesta usual http + Set-cookie: 1678 Petici ó n http usual msg cookie: 1678 respuesta usual http Petici ó n http usual msg cookie: 1678 respuesta usual http acci ó n espec í fica cookie acci ó n espec í fica cookie servidor crea el ID 1678 para usuario entrada en la base de datos acceso Acceso Cookies amazon: 1678 ebay: 8734 Cookies ebay: 8734 Cookies amazon: 1678 ebay: 8734 Unos d í as despu é s:

Cookies (cont.) ¿Qu é proporcionan?  autorizaci ó n r Carritos de la compra r recomendaciones r Sesiones de usuario (Web ) Cookies y privacidad: r Permiten a los sitios “aprender” sobre ti r Puedes proporcionar correo y nombre  Los buscadores usan las cookies y la redirecci ó n para aprender todav í a m á s  Sitios de publicidad consiguen informaci ó n de varios sitios NOTA

Web caches (proxy server) r El usuario configura el servidor para usar un proxy  El navegador env í a todas las peticiones al proxy  Si el el objeto est á en la cache: se devuelve m En otro caso, se pide al servidor original y se entrega al cliente almacenando copia en la cache Objetivo: responder a peticiones sin usar el servidor cliente Proxy server cliente HTTP request HTTP response HTTP request HTTP response servidor original servidor original

M á s sobre cach é s r Puede haber caches tanto en el cliente como en el servidor r Tipicamente las caches las instala el ISP (universidad, empresa, ISP residencial…) ¿Por qu é Web cache? r Reducir el tiempo de respuesta del servicio.  Reducir el tr á fico en el acceso a internet de la instituci ó n (empresas, universidades … ).  Permite a los generadores de contenidos “pobres” distribuir contenido a gran escala (si la red de caches es grande). Tambi é n lo permiten las redes P2P

GET condicional  Objetivo: no me env í es el objeto si el que tengo es la ú ltima versi ó n (dice la cache)  cache: especifica la fecha del objeto almacenado en la petici ó n HTTP If-modified-since: r servidor: la respuesta no contiene el objeto si no se ha modificado: HTTP/ Not Modified cache servidor Msg Petici ó n HTTP If-modified-since: Respuesta HTTP HTTP/ Not Modified objecto no modificado Msg Petici ó n HTTP If-modified-since: Respuesta HTTP HTTP/ OK object modified

Correo Electr ó nico Tres componentes: r Agentes de usuario r Servidores de correo r SMTP: Simple Mail Transfer Protocol Agente de Usuario r a.k.a. “lector de correo”  Creaci ó n, edici ó n y lectura de mensajes de correo r e.g., Eudora, Outlook, elm, evolution… r Los mensajes entrantes se almacenan en el servidor Buz ó n de usuario cola de mensajes salientes servidor correo servidor correo agente usuario servidor correo SMTP agente usuario agente usuario agente usuario agente usuario agente usuario

Servidores de correo electr ó nico Elementos: r buzones contienen mensajes entrantes para el usuario r cola de mensajes de correo salientes (pendiente de enviar) r protocolo SMTP entre los servidores de correo para enviar los mensajes de correo m “client”: servidor enviando correo m “server”: servidor recibiendo correo servidor correo servidor correo agente usuario servidor correo SMTP agente usuario agente usuario agente usuario agente usuario agente usuario

Correo electr ó nico: SMTP [RFC 2821] r Usa TCP para transferir de forma fiable mensajes de correo entre cliente y servidor usando el puerto 25 r Tres fases: m handshaking (saludo) m transferencia de mensajes m cierra  Interacci ó n orden/respuesta m comandos: texto ASCII  respuesta: c ó digo de estado y frase r Los mensajes deben codificarse en ASCII 7-bits

Escenario: Env í o de mensaje 1) Alicia usa su AU para componer un mensaje “to” 2) El AU env í a el mensaje a su servidor de correo; que se coloca en la cola de mensajes 3) El lado “cliente” del servidor abre una conexi ó n TCP con el servidor de bot 4) El cliente eSMTP client env í a el mensaje de Alicia sobre la conexi ó n TCP 5) El servidor de correo de Bob coloca el mensaje de Alicia en el buz ó n de Bob 6) Bob arranca su agente de correo y lee el mensaje AU servidor correo servidor correo AU

Ejemplo de interacci ó n SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Prueba de SMTP  telnet servername 25  Ver á s una respuesta: 220 del servidor r Usa los mensajes HELO, MAIL FROM, RCPT TO, DATA, QUIT Lo anterior te permite enviar un mensaje de correo sin un agente de usuario

SMTP: resumen r SMTP utilia conexiones TCP persistentes  SMTP exige que el mensaje (cabecera y cuerpo) est é n en ASCII 7-bits  El servidor SMTP usa CRLF.CRLF para econtrar el final de mensaje Comparaci ó n con HTTP: r HTTP: pull r SMTP: push  Ambos usan c ó digos de estado y expliaciones ASCII que se pueden leer r HTTP: cada objeto se encapsula en su propio mensaje  SMTP: se env í an m ú ltiples objetos en un mensaje multi-parte

Formato de los mensajes de correo SMTP: protocolo para intercambiar msgs de correo RFC 822: formato est á ndar para mensajes de texto:  L í neas de cabecera, e.g., m To: m From: m Subject: ¡diferente de los comandos SMTP! r cuerpo  El mensaje tiene s ó lo caracteres ASCII cabecera cuerpo L í nea en blanco

MIME: Extensiones multimedia  MIME: extensi ó n multimedia al correo, RFC 2045, 2056  L í neas adicionales en la cabecera del msg para declarar el contenido multimedia From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data Datos multimedia tipo, subtipo, m é todo usado para codificar Versi ó n MIME Datos codificados

Protocolos de acceso al correo r SMTP: entrega y almacenamiento hasta el servidor destino r Protocolo de acceso: descarga desde el servidor m POP: Post Office Protocol [RFC 1939] autorizaci ó n (agente servifor) y descarga m IMAP: Internet Mail Access Protocol [RFC 1730] M á s opciones (m á s complejo) Permite manipular los mensajes almacenados en el servidor m HTTP: Hotmail, Yahoo! Mail, etc. AU Servidor de correo del emisor AU SMTP protocolo acceso Servidor de correo del receptor

POP3 Fase de autorizaci ó n r Comandos de cliente:  user: declara usuario  pass: password r Respuestas del servidor m +OK  -ERR Fase de transacci ó n Comandos de cliente:  list: lista mensajes por n ú meros  retr: descarga mensaje por n ú mero  dele: delete r quit C: list S: S: S:. C: retr 1 S: S:. C: dele 1 C: retr 2 S: S:. C: dele 2 C: quit S: +OK el servidor POP3 cierra S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK el usuario se ha autenticado

POP3 e IMAP M á s de POP3 r Los ejemplos han usado el modo “descarga y borra”.  Bob no podr á re-leer el mensaje si cambia de cliente  “Descarga y mant é n”: copias de los mensajes en diferentes clientes r POP3 no mantiene estado entre sesiones IMAP r Mantiene los mensajes en un sitio: el servidor r Permite al usuario organizar mensajes en carpetas r IMAP mantiene estado entre sesiones:  Nombres de carpetas y las relaciones de los n ú meros de mensajes en cada carpeta