• No se han encontrado resultados

DNS (Domain Name System) Correo electrónico

N/A
N/A
Protected

Academic year: 2019

Share "DNS (Domain Name System) Correo electrónico"

Copied!
78
0
0

Texto completo

(1)

Tema 11

Aplicaciones distribuidas

(2)

Contenido

Aplicaciones distribuidas

Telnet

FTP (

File Transfer Protocol)

HTTP (

HiperText Transfer Protocol)

DNS (Domain Name System)

DNS (Domain Name System)

(3)

Telnet

Telnet (

TELecommunication NETwork

) es un protocolo que

permite la conexión remota desde un cliente a un servidor (RFC

854, 855)

Útil para la

administración remota de sistemas UNIX

en modo terminal

(texto)

Los clientes se conectan al puerto 23 de TCP de los servidores

telnet y envían al servidor

comandos UNIX que se ejecutarán en el

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

3

telnet y envían al servidor

comandos UNIX que se ejecutarán en el

servidor

Datos en formato ASCII codificados en 8 bits

Conexión bidireccional

No

proporciona

seguridad

Los datos se envían sin cifrar

(4)

Comandos de telnet

Los clientes telnet usan los siguientes comandos para

conectar y desconectar del servidor

?

mostrar ayuda

close

Cerrar sesión Telnet

display

Mostrar la configuración de la conexión en pantalla (tipo de terminal y

puerto)

entorno

Para definir las variables del entorno del sistema operativo

entorno

Para definir las variables del entorno del sistema operativo

logout

Para cerrar la sesión

mode

Cambia entre los modos de transferencia ASCII (transferencia de un

archivo como texto) y los modos BINARIOS (transferencia de un

archivo en modo binario)

open

Abre otra conexión de la actual

quit

Sale de la aplicación Telnet

(5)

Ejemplo

Establecimiento de la conexión

$user> telnet manwe.ainulindale.es.

Trying 192.168.0.12...

Connected to manwe.ainulindale.es.

Escape character is '^]'.

Debian GNU/Linux 2.2 manwe.ainulindale.es

login: carlos

Password:

Last login: Wed Nov 7 18:20:19 2001 from iluvatar on pts/0

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

5

Last login: Wed Nov 7 18:20:19 2001 from iluvatar on pts/0

Linux Manwe 2.4.4 #14 Fri Oct 19 14:09:15 CEST 2001 i586

unknown

No mail.

Comandos UNIX

$telnet>

Cierre de conexión

(6)

Ejemplo:

conexión al puerto 80 usando telnet

Establecimiento de la conexión

$user>telnet

www.esqsoft.globalservers.com

80

Trying 64.136.56.122...

Connected to www.esqsoft.globalservers.com.

Escape character is '^]'.

Petición de la página

Petición de la página

www.esqsoft.globalservers.com/index.html

GET /index.htm HTTP/1.1

host: www.esqsoft.globalservers.com

<line feed>

Respuesta

HTTP/1.1 200 OK

(7)

FTP (File Transfer Protocol)

FTP

es un protocolo

cliente-servidor

para la transferencia de ficheros sobre TCP

(

RFC 114,765,959,2228,2428

)

El

servidor

utiliza dos puertos

well-known

:

20/TCP DATA Port

Conexión de datos

21/TCP Control Port

Conexión de control

El

cliente

debe abrir dos puertos cualesquiera mayores que 1024

Una vez establecida la conexión el cliente envía una serie de órdenes o

comandos FTP

al servidor y el servidor responderá con el resultado

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

7

comandos FTP

al servidor y el servidor responderá con el resultado

La conexión de datos es bidireccional

FTP admite

dos modos de conexión

:

Modo activo

Modo pasivo

Todo el intercambio de información entre cliente y servidor se realiza en texto

plano

Aplicaciones que cifran todo el tráfico: SSH, SFTP, SCP

(8)

Ejemplo

Establecimiento de la conexión

$user> ftp sonne.uiuc.edu

Connected to sonne.uiuc.edu

220 sonn FTP server (SunOS 4.1) ready

Name (ux.uiuc.edu:krol): krol

send login name krol

331 password required for krol

Password:

type the password, it isn’t echoed

Password:

type the password, it isn’t echoed

230 user krol logged in

Comandos FTP --- Transferencia de información

ftp> get source-file

Cierre de conexión

(9)

Lista de comandos FTP

!

Asociado a comando local

$

Ejecuta Macro

?

Imprime información de ayuda local

account

Envia comando a la cuenta del servidor remoto

append

Concatena un archivo

ascii

Para configurar y transferir archivos tipo ascii

bell

Sonido de campanilla cuando el comando se ha completado

binary

Para configurar y transferir archivos tipo binario

bye

Finalización de la sesión de ftp y salirse

case

Mapeo de letras iguales

cd

Cambiarse de directorio en el servidor remoto

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

9

cd

Cambiarse de directorio en el servidor remoto

cdup

Cambiarse al directorio padre en el servidor remoto

chmod

Cambio de permisos en el servidor remoto

close

Finalizar la sesión ftp

cr

Retorno de carro

delete

Borrar un archivo en el servidor remoto

debug

Configura modo de supresión de errores

dir

Lista contenido de directorio remoto

disconnect

Finalizar la sesión ftp

form

Configurar formato de transferencia de archivo

get

Recibir archivo o traerlo al servidor local

(10)

Lista de comandos FTP

idle

Configurar el tiempo disponible en el lado remoto

image

Para configurar y transferir archivos tipo binario

lcd

Cambiarse de directorio en el servidor local

ls

Lista el contenido de el directorio remoto

macdef

Define una macro

mdelete

Borrar varios archivos

mdir

Lista contenido de varios directorios remotos

mget

Recibe varios archivos

mkdir

Crear un directorio en la máquina remota

mls

Lista contenido de varios directorios remotos

mode

Configura el modo de transferencia

mode

Configura el modo de transferencia

modetime

Modo de reloj

mput

Envia varios archivos

newer

Recibe el archivo remoto si es ms nuevo que el de la máquina local

nmap

Configura nombre de archivo de acuerdo a plantilla

nlist

Lista el contenido de varios directorios remotos

ntrans

Configura tabla de traducción para mapeo de nombres de archivos

open

Abre conexión remota

(11)

Lista de comandos FTP

rmdir

Borrar un directorio de la máquina remota

runique

Activa/Desactiva almacenamiento único sobre los archivos locales

send

Enviar un archivo al servidor remoto

site

Envia un comando específico a la máquina remota/TD>

size

Muestra el tamaño de un archivo

status

Muestra el status local

struct

Configura la estructra de la transferencia de los archivos

system

Muestra el tipo del sistema remoto

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

11

system

Muestra el tipo del sistema remoto

sunique

Activa/desactiva almacenamiento único sobre la máquina remota

tenex

Transferencia de archivos de tipo tenex

trace

Activa/desactiva trazado de transferencia de paquetes

type

Configura el tipo de archivo a transferir

user

Envia información de usuario nuevo

umask

Configura el sistema de permisos en el lado remoto

(12)

Modo activo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

(13)

Modo activo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

PORT 1050

(14)

Modo activo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

PORT 1050

(15)

Modo activo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

PORT 1050

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

15

ACK

(16)

Modo activo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

PORT 1050

ACK

(17)

Ejemplo FTP activo

testbox1: {/home/p-t/slacker/public_html} %

ftp -d testbox2

Connected to testbox2.slacksite.com.

220 testbox2.slacksite.com FTP server ready.

Name (testbox2:slacker):

slacker

--->

USER slacker

331 Password required for slacker.

Password:

TmpPass

--->

PASS XXXX

230 User slacker logged in.

--->

SYST

215 UNIX Type: L8

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

17

215 UNIX Type: L8

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

ls

ftp: setsockopt (ignored): Permission denied

--->

PORT 192,168,150,80,14,178

200 PORT command successful.

--->

LIST

150 Opening ASCII mode data connection for file list.

drwx--- 3 slacker

users

104 Jul 27 01:45 public_html

226 Transfer complete.

ftp>

quit

--->

QUIT

221 Goodbye.

Comandos FTP enviados al servidor

(18)

Modo pasivo

Puerto de

datos: 20

Puerto de

control: 21

Puerto de

datos: 1080

Puerto de

datos: 1050

(19)

Modo pasivo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

Puerto de

datos: 1080

PASV

(20)

Modo pasivo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

Puerto de

datos: 1080

PASV

(21)

Modo pasivo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

Puerto de

datos: 1080

PASV

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

21

ACK

(22)

Modo pasivo

Puerto de

datos: 1050

Puerto de

control: 1051

Puerto de

datos: 20

Puerto de

control: 21

Puerto de

datos: 1080

PASV

ACK

Connect

puerto 1080

(23)

testbox1: {/home/p-t/slacker/public_html} %

ftp -d testbox2

Connected to testbox2.slacksite.com.

220 testbox2.slacksite.com FTP server ready.

Name (testbox2:slacker):

slacker

--->

USER slacker

331 Password required for slacker.

Password:

TmpPass

--->

PASS XXXX

230 User slacker logged in.

--->

SYST

215 UNIX Type: L8

Ejemplo FTP pasivo

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

215 UNIX Type: L8

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

passive

Passive mode on.

ftp>

ls

PASV

227 Entering Passive Mode (192,168,150,90,195,149).

--->

LIST

150 Opening ASCII mode data connection for file list.

drwx--- 3 slacker

users

104 Jul 27 01:45 public_html

226 Transfer complete.

ftp>

quit

--->

QUIT

221 Goodbye.

23

Comandos FTP enviados al servidor

(24)

Protocolo HTTP

HyperText Transfer Protocol

se usa en

web

para transferir hipertexto

(páginas HTML con hiperenlaces)

Paradigma cliente-servidor

Orientado a transacciones

Una transacción es un mensaje de petición y respuesta

El servidor usa el

puerto TCP 80

para aceptar conexiones entrantes

Protocolo

sin estado

Cookies

Cookies

Existen cuatro versiones de HTTP (la primera de ellas no es estándar de

Internet)

HTTP 0.9

Sólo soporta el comando GET

(25)

Petición: métodos

Se establece una conexión al host al puerto 80 del servidor

Línea de petición:

<Método><espacio><URIsolicitado><espacio><protocolo>\r\n

Donde

método

:

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

GET

solicita una página WEB

HEAD

solicita la cabecera de una página Web

POST

envía datos a una aplicación Web

PUT

solicita almacenar una página web

DELETE

solicita el borrado de una página web

TRACE

incluye los datos de la petición en la respuesta

OPTIONS

devuelve los métodos HTTP soportados para una URL

CONNECT

convierte la conexión en un túnel TCP/IP para facilitar la

comunicación cifrada

(26)

Petición: URI

Cada servicio Web contiene una

URI

(Uniform Resource

Identifier) que identifica unívocamente un recurso

URL

(Uniform Resource Locator)

Especificado en

RFC 1630

,

1738

,

1808

Incluyen la localización del recurso (

hostname+pathname

)

El formato general de una URL es:

esquema://máquina/directorio/archivo

esquema://máquina/directorio/archivo

Ejemplo:

http://www.arcos.inf.uc3m.es/~infosd

URN

(Uniform Resource Name)

Especificado en

RFC 2141

Nombres de recursos que no incluyen su localización

<URN> ::= "urn:" <NID> ":" <NSS>

(27)

Petición: protocolo

donde

protocolo

HTTP/1.0

HTTP/1.1

HTTP/1.2

(28)

Ejemplo de petición

GET /index.html HTTP/1.1

(29)

Respuesta

Contenido de la respuesta:

<protocolo> <código>

<cabeceras>

<recurso>

donde

protocolo

es aquel que entiende el servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

donde

protocolo

es aquel que entiende el servidor

HTTP/1.0

HTTP/1.1

HTTP/1.2

donde

recurso

es el recurso solicitado en la petición (en

HTML)

(30)

Cabeceras

HTTP define una serie de

cabeceras válidas

para los

mensajes de

petición

y

respuesta

Permiten definir

parámetros

de los mensajes

En

HTTP 1.0

las cabeceras son

opcionales

En

HTTP 1.1

algunas cabeceras son

obligatorias

:

En el

cliente

: Host y User-Agent

En el

cliente

: Host y User-Agent

En el

servidor

:

Content-type, Content-Length, Date

Listado completo de cabeceras:

(31)

Códigos de respuesta:

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Clasificados en

5 grupos

1

xx: Mensaje de información

100 Continue

101 Switching Protocols

2

xx: Mensajes de éxito

200 OK

201 Created

5

xx: Mensajes de

error en el servidor

500 Internal Server Error

501 Not Implemented

503 Service Unavailable

505 HTTP Version Not

Supported

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

31

202 Accepted

3

xx: Mensajes de redirección

301 Moved Permanently

302 Found

4

xx: Mensajes de error en el cliente

400 Bad Request

401 Unauthorized

403 Forbidden

404 Not found

(32)

Ejemplo: HTTP

Navegador

www.uc3m.es

1) Petición

2) Respuesta

1)

Petición:

2)

Respuesta:

1)

Petición:

GET

/index.html HTTP/1.1

Host: www.example.com

User-Agent: nombre-cliente

[Línea en blanco]

2)

Respuesta:

HTTP/1.1 200 OK

Date: Fri, 31 Dec 2003 23:59:59 GMT

Content-Type: text/html

Content-Length: 1221

<html>

<body>

<h1>Página www.uc3m.es</h1>

(Contenido) . . .

(33)

DNS

DNS (

Domain Name System

) es el servicio de nombres

usado en Internet (

RFC 1034, RFC 1035

)

Usa el

puerto 53

de UDP o TCP

Permite la

resolución de nombres

para la localización de

recursos en Internet

Asocia información a cada nombre de dominio y subdominio

La información más común es la dirección IP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

La información más común es la dirección IP

Permite también el

registro

de los nombres y su

eliminación

Estructura

en árbol

Basada en

dominios

y

subdominios

Los nombres de los recursos se inscriben dentro de dominios o

subdominios

Base de datos

distribuida

y

jerárquica

que almacena información de

los nombres de dominios y subdominios

(34)

Nombres de dominios

Un

nombre de dominio

es una secuencia de “etiquetas” separadas por

puntos “.”

Cada etiqueta representan un nivel del árbol

Cada etiqueta identifica un conjunto de equipos en la red

Ejemplos de nombres de primer nivel o

nivel superior

COM (Organizaciones comerciales)

EDU (Instituciones de Educación)

GOV (Instituciones del Gobierno)

MIL (Grupos Militares)

MIL (Grupos Militares)

NET (Centros de soporte de la red)

ORG (Otras organizaciones)

ARPA (Dominio temporal de ARPANET)

ES (España)

UK (Reino Unido)

MX (Méjico)

IANA

(Internet Assigned Numbers Authority) es la organización con autoridad para

(35)

Dominios de primer y segundo nivel

Root server

Dominios de primer

nivel

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

35

(36)

Nombrado en Internet

Ejemplos

de dominios, subdominios y máquinas:

fi.upm.es: dominio

datsi.fi.upm.es: dominio

roble.datsi.fi.upm.es: máquina

zape.fi.upm.es: máquina

es

be

upm

cec

upc

fi

dg13

etsii

ac

datsi

root

(37)

Historia de DNS

Inicialmente la traducción de nombres de máquina a

direcciones IP se almacenaba en un único archivo

denominado

HOSTS.txt

Un archivo centralizado

Problema de

crecimiento (

escalabilidad

)

“Un servidor que en 1993 recibía 10 peticiones por minuto recibía

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

“Un servidor que en 1993 recibía 10 peticiones por minuto recibía

en 1995 250 peticiones por segundo”

Servidores muy cargados

Poca capacidad de crecimiento

Problema grave en aplicaciones Web

(38)

Uso de DNS

Protocolo

cliente-servidor

Búsquedas

recursivas

e

iterativas

El uso de DNS en Internet es

transparente

para los clientes

Cuando una aplicación cliente necesita la dirección IP de un nombre de

dominio inicia una operación denominada resolución de nombre

Ejemplo:

http://www.uc3m.es

Ejemplo:

http://www.uc3m.es

Cada máquina cliente en Internet mantiene un archivo

/etc/hosts

con las relaciones

máquina – dirección IP

Generalmente, no almacenan la información relativa a las direcciones IP

Los clientes usan una memoria caché para almacenar las IP de nombres

(39)

Resolución de nombres

El cliente intenta resolver localmente mirando

/etc/hosts

Si encuentra la IP asociada al nombre

Devuelve la IP a la aplicación

127.0.0.1 localhost

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

39

Devuelve la IP a la aplicación

Sino

Resuelve el nombre preguntando al servidor en

/etc/resolv.conf

domain lab.inf.uc3m.es

search lab.inf.uc3m.es

nameserver 163.117.142.236

(40)

Los servidores mantienen

registros

con distintos tipos de

información

Formato

de los registros (definido en

RFC 1035

):

donde

Configuración en el servidor

NAME TYPE

CLASS TTL

LENGTH

DATA

donde

NAME

Nombre del recurso

TYPE

Tipo de registro

TTL

Time to Live

, número de segundos que los servidores de

DNS pueden mantener ese registro en caché

CLASS

Clase del registro. IN especifica Internet

LENGTH

Longitud del campo de datos

(41)

Tipos de registros

A

1 a host address

AAAA

a host address IPv6

NS

2 an authoritative name server

MD

3 a mail destination (Obsolete - use MX)

MF

4 a mail forwarder (Obsolete - use MX)

CNAME

5 the canonical name for an alias

SOA

6 marks the start of a zone of authority

MB

7 a mailbox domain name (EXPERIMENTAL)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

41

MB

7 a mailbox domain name (EXPERIMENTAL)

MG

8 a mail group member (EXPERIMENTAL)

MR

9 a mail rename domain name (EXPERIMENTAL)

NULL

10 a null RR (EXPERIMENTAL)

WKS

11 a well known service description

PTR

12 a domain name pointer

HINFO

13 host information

MINFO

14 mailbox or mail list information

MX

15 mail exchange

(42)

Ejemplo

; zone fragment example.com

; mail servers in the same zone

; will support email with addresses of the format

; user@example.com

$TTL 2d ; zone default = 2 days or 172800 seconds

$ORIGIN example.com.

example.com. IN SOA ns1.example.com. root.example.com. (

2003080800 ; serial number

3h ; refresh = 3 hours

15M ; update retry = 15 minutes

3W12h ; expiry = 3 weeks + 12 hours

3W12h ; expiry = 3 weeks + 12 hours

2h20M ; minimum = 2 hours + 20 minutes

)

IN MX 10 mail ; short form

; the line above is functionally the same as the line below

; example.com. IN MX 10 mail.example.com.

; any number of mail servers may be defined

IN MX 20 mail2.example.com.

; use an external back-up

(43)

Algoritmo

La aplicación cliente

solicita una página

web

www.dominio.subdominio.net

DNS 1

(44)

Algoritmo

1) Búsqueda en local

/etc/hosts

(45)

Algoritmo

www.dominio.subdominio.net

DNS 1

1) Búsqueda en local

/etc/hosts

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

2) Si existe

Devolver IP

(46)

Algoritmo

www.dominio.subdominio.net

DNS 1

1) Búsqueda en local

/etc/hosts

2.2) Si no existe

Preguntar al servidor

de DNS

resolv

(47)

Algoritmo

www.dominio.subdominio.net

DNS 1

1) Búsqueda en local

/etc/hosts

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

2.2) Si no existe

Preguntar al servidor

de DNS

3) Búsqueda en local

resolv

(www.uc3m.es,

direccion-DNSI)

(48)

Algoritmo

www.dominio.subdominio.net

DNS 1

1) Búsqueda en local

/etc/hosts

2.2) Si no existe

Preguntar al servidor

de DNS

3) Búsqueda en local

IP

resolv

(49)

Algoritmo

www.dominio.subdominio.net

DNS 1

1) Búsqueda en local

/etc/hosts

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

2.2) Si no existe

Preguntar al servidor

de DNS

3) Búsqueda en local

3.2) Si NO existe

Preguntar al siguiente

servidor de DNS

resolv

(www.uc3m.es,

direccion-DNSI)

IP

(50)

Algoritmo

www.dominio.subdominio.net

DNS 1

DNS 2

DNS N

1) Búsqueda en local

/etc/hosts

2.2) Si no existe

Preguntar al servidor

de DNS

resolv

(51)

Correo electrónico

Servicio de red que permite a los usuarios enviar y recibir

mensajes

Elementos:

Dirección de correo

Proveedor de correo

Interfaz de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

51

Interfaz de usuario

Cliente de correo

Thunderbird

Outlook

Correo Web

Gmail

(52)

Direcciones de correo electrónico

Cada usuario de correo electrónico tiene una o varias direcciones de correo en la

red

Las direcciones tienen típicamente el siguiente formato:

usuario@dominio

Ejemplo:

sescolar@arcos.inf.uc3m.es

Se envían mensajes de correo a usuarios identificados mediante direcciones de

correo electrónico

El formato de los mensajes:

El formato de los mensajes:

Envoltorio

Cabecera

From: indica quién envía el mensaje.

To: destinatario del mensaje, puede no aparecer

Subject: Asunto del mensaje. Es conveniente que aparezca aunque no imprescindible

Cuerpo

(53)

Historia del correo electrónico

En

1971

Ray Tomlinson

incorporó el uso de la arroba (@)

Eligió la arroba como divisor entre el usuario y la computadora

en la que se aloja la casilla de correo porque no existía la

arroba en ningún nombre ni apellido

Los primeros sistemas de correo electrónico simplemente

consistían en protocolos de transferencia de archivos

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

53

consistían en protocolos de transferencia de archivos

incluyendo en la primera línea del archivo contenía la dirección

del destinatario

En

1982

se diseñó el primer sistema para intercambiar

correos electrónicos en ARPANET

RFC 821.

Protocolo de transmisión SMTP

(54)

Todos son protocolos del nivel de aplicación (usan TCP)

Basado en modelo cliente-servidor

De envió y retransmisión de mensajes

SMTP

Puertos por defecto: 25

Puerto seguro: 465 (no oficial)

Protocolos usados en correo electrónico

Puerto seguro: 465 (no oficial)

De acceso a los mensajes de correo

POP3

Puertos por defecto: 110

Puerto seguro: 995

IMAP4

(55)

SMTP

Simple Mail Transfer Protocol (RFC 821,2821,5321)

es el

protocolo de intercambio de correo electrónico entre máquinas u

otros dispositivos (PDAs, móviles, etc.)

Basado en el modelo

cliente-servidor

Usa el puerto

25 de TCP

Inicialmente, basado en texto

MIME (Multipurpose Internet Mail Extensions)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

55

MIME (Multipurpose Internet Mail Extensions)

Participantes:

Protocolo SMTP

: especifica el formato del mensaje de correo electrónico

que se transmite entre dos MTAs

Programa cliente

: realiza la interacción con el usuario y la MTA.

Ejemplos: Evolution, Eudora, Outlook

Agente de transferencia de mensajes

(MTA): El mas utilizado en UNIX

(56)

SMTP y POP3, IMAP

(57)

Formato de los mensajes SMTP

Cliente y servidor intercambian los siguientes mensajes:

Las

peticiones

de los clientes:

Donde

ORDEN

es un comando de SMTP

Donde

TEXTO

es una línea de texto ASCII de longitud máxima 1000

caracteres

ORDEN

TEXTO

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

57

Las

respuestas

del servidor:

Donde

CODIGO

es un número de tres dígitos (xxx) indicando error o éxito

2XX

la orden se ejecutó con éxito

3XX

la orden está pendiente de ejecutarse

4XX

error en la ejecución

5XX

condición de error permanente

Donde

TEXTO

es una frase con la descripción del CODIGO

(58)

Órdenes de SMTP

HELO

abre una sesión con el servidor

MAIL FROM

origen del mensaje

RCPT TO

destinatario del mensaje

DATA,

comienzo del mensaje, éste finalizará cuando haya una línea

únicamente con un punto.

QUIT

cierra la sesión

RSET

aborta la transacción en curso

SEND

inicia una transacción para enviar el mensaje a una máquina

SEND

inicia una transacción para enviar el mensaje a una máquina

terminal

(59)

Protocolo SMTP

El cliente solicita

una conexión al

puerto 23

Cliente SMTP

Servidor SMTP

(60)

Protocolo SMTP

Servidor SMTP

220 Service Ready

El servidor acepta

(código 220) o bien

rechaza la conexión

(código 421)

El cliente solicita

una conexión al

puerto 23

Cliente SMTP

(61)

Protocolo SMTP

Servidor SMTP

El servidor acepta

(código 220) o bien

rechaza la conexión

(código 421)

El cliente envía

HELO

220 Service Ready

El cliente solicita

una conexión al

puerto 23

Cliente SMTP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

61

(código 421)

El cliente envía

HELO

(62)

Protocolo SMTP

Servidor SMTP

El servidor acepta

(código 220) o bien

rechaza la conexión

(código 421)

El cliente envía

220 Service Ready

HELO

El cliente solicita

una conexión al

puerto 23

Cliente SMTP

(código 421)

El cliente envía

HELO

El cliente envía

(63)

Protocolo SMTP

Servidor SMTP

El servidor acepta

(código 220) o bien

rechaza la conexión

(código 421)

El cliente envía

220 Service Ready

HELO

El cliente solicita

una conexión al

puerto 23

Cliente SMTP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

63

(código 421)

El cliente envía

HELO

250 OK

El servidor

comprueba el

formato de la

dirección

HELO

El cliente envía

(64)

Protocolo SMTP

Servidor SMTP

El servidor acepta

(código 220) o bien

rechaza la conexión

(código 421)

El cliente envía

220 Service Ready

HELO

El cliente solicita

una conexión al

puerto 23

Cliente SMTP

(código 421)

El cliente envía

HELO

250 OK

El servidor

comprueba el

formato de la

dirección

HELO

El cliente envía

(65)

Protocolo SMTP

Servidor SMTP

El servidor acepta

250 OK

Cliente SMTP

(66)

Protocolo SMTP

Servidor SMTP

El cliente se prepara para

DATA

El servidor acepta

250 OK

Cliente SMTP

El cliente se prepara para

enviar los datos del mensaje

DATA

(67)

Protocolo SMTP

Servidor SMTP

DATA

El servidor acepta

250 OK

El cliente se prepara para

Cliente SMTP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

67

DATA

El servidor dice al

cliente que envíe

los datos

354 Start mail

input, end with

<CRLF>.<CRLF>

354 Start mail input, end

with <CRLF>.<CRLF>

El cliente se prepara para

enviar los datos del mensaje

(68)

Protocolo SMTP

Servidor SMTP

DATA

El servidor acepta

250 OK

El cliente se prepara para

Cliente SMTP

DATA

El servidor dice al

cliente que envíe

los datos

354 Start mail

input, end with

<CRLF>.<CRLF>

354 Start mail input, end

with <CRLF>.<CRLF>

El cliente se prepara para

enviar los datos del mensaje

DATA

(69)

Protocolo SMTP

Servidor SMTP

El cliente envía línea a línea el

cuerpo del mensaje

Cliente SMTP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

69

El cliente envía última línea:

(70)

Protocolo SMTP

Servidor SMTP

El cliente envía línea a línea el

cuerpo del mensaje

Cliente SMTP

El cliente envía última línea:

<CRLF>.<CRLF>

El servidor indica

OK

(71)

Protocolo SMTP

Servidor SMTP

El cliente envía línea a línea el

cuerpo del mensaje

Cliente SMTP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

71

El cliente envía última línea:

<CRLF>.<CRLF>

El servidor indica

OK

250 OK

El cliente envía el último

mensaje:

(72)

Ejemplo

S:

220

Servidor ESMTP

C:

HELO

miequipo.midominio.com

S:

250

Hello, please to meet you

C:

MAIL FROM

: yo@midominio.com

S:

250

Ok

C:

RCPT TO

: destinatario@sudominio.com

S:

250

Ok

C:

DATA

S:

354

End data with <CR><LF>.<CR><LF>

C: Subject: Campo de asunto

C: From: yo@midominio.com

C: To: destinatario@sudominio.com

C:

C: Hola,

C: Esto es una prueba.

C: Adiós.

(73)

MIME

MIME

(

Multipurpose Internet Mail Extensions

) es una

especificación dirigida al intercambio de datos distinto a texto de

forma transparente para el usuario. (RFC 2045, RFC 2046, RFC

2047, RFC 4288, RFC 4289 y RFC 2077)

En general, las extensiones de MIME van encaminadas a soportar:

Texto en conjuntos de caracteres distintos de US-ASCII;

Adjuntos que no son de tipo texto;

Cuerpos de mensajes con múltiples partes (multi-part);

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

73

Cuerpos de mensajes con múltiples partes (multi-part);

Información de encabezados con conjuntos de caracteres distintos de

ASCII.

Codificaciones usadas:

7bit

Quoted printable (basado en 7bit)

base64 (basado en 7bit)

(74)

POP3

POP3(

Post Office Protocol

) protocolo usado para obtener los

mensajes de correo electrónico almacenados en un servidor

remoto (RFC 1939)

Permite a los usuarios con conexiones intermitentes ó muy lentas

descargar su correo electrónico

mientras tienen conexión y

revisarlo posteriormente incluso estando desconectados

Funcionamiento:

un cliente que utilice POP3 se conecta,

un cliente que utilice POP3 se conecta,

obtiene todos los mensajes,

los almacena en la computadora del usuario como mensajes nuevos,

los elimina del servidor

y finalmente se desconecta.

Sistema de autenticación:

(75)

Ejemplo de dialogo POP3

S: <wait for connection on TCP port 110>

C: <open connection>

S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>

C: APOP mrose c4c9334bac560ecc979e58001b3e22fb

S: +OK mrose's maildrop has 2 messages (320 octets)

C: STAT

S: +OK 2 320

C: LIST

S: +OK 2 messages (320 octets)

S: 1 120

S: 2 200

S: .

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

75

S: .

C: RETR 1

S: +OK 120 octets

S: <the POP3 server sends message 1>

S: .

C: DELE 1

S: +OK message 1 deleted

C: RETR 2

S: +OK 200 octets

S: <the POP3 server sends message 2>

S: .

C: DELE 2

S: +OK message 2 deleted

C: QUIT

S: +OK dewey POP3 server signing off (maildrop empty)

C: <close connection>

(76)

Ejemplo de POP3 sin APOP

C: USER mrose

S: +OK User accepted

C: PASS tanstaaf

(77)

IMAP

IMAP (

Internet Message Access Protocol

) protocolo de red de acceso

a mensajes electrónicos almacenados en un servidor.

Mediante IMAP se puede tener acceso al correo electrónico desde cualquier

equipo que tenga una conexión a Internet.

La versión actual es la 4.1 (

RFC 3501

)

Usa el puerto bien conocido 143

IMAP fue diseñado por Mark Crispin en 1986 como un protocolo para

el

acceso al correo electrónico

.

Características:

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

77

Características:

Permite visualizar los mensajes de manera remota

Permite ver únicamente los

encabezados del mensaje

antes de decidir si abrirlo

o eliminarlo.

Puede consultarse el mismo correo desde diferentes computadoras ya que solo

se lee lo que hay en el servidor.

El servidor retiene el correo hasta que se solicite su eliminación.

Permite operaciones avanzadas como creación de carpetas y buzones en el

(78)

Referencias

Documento similar

Por PEDRO A. EUROPEIZACIÓN DEL DERECHO PRIVADO. Re- laciones entre el Derecho privado y el ordenamiento comunitario. Ca- racterización del Derecho privado comunitario. A) Mecanismos

First, we must remember that time travel (specially a trip to the past, or a two-way trip) would only be possible in the block universe. In the presentist alternative,

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied

habla de esta fuerza muy ligeramente , y del auto que provéen los tribunales Reales, quando hallan por el proceso que el Juez eclesiástico conoce contra legos en

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Es una realidad que la economía mundial se globaliza aceleradamente, adquiriendo el desarrollo de la tecnología informática y las telecomunicaciones un papel cada vez