44
Protocolos de Capa de aplicación Protocolos de comunicación (Correo, Web)

3-Protocolos de Aplicacion

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3-Protocolos de Aplicacion

Pro

toco

los

de

Cap

a de

aplic

ació

n

Protocolos de comunicación

(Correo, W

eb)

Page 2: 3-Protocolos de Aplicacion

Pre

par

ando e

l V

iaje

•Llegamos a casa encendemos nuestra

computadora personal.

•Buscamos en google

un alojamiento.

•Enviamos un m

ail para pedir una reserva

¿Que protocolos de nivel aplicación participaron para que esto sea posible?

Page 3: 3-Protocolos de Aplicacion

¿Que

pro

toco

los

se u

saro

n?

�Protocolo Http

�Protocolo SMTP

�Protocolo POP3

�DNS

�DHCP

Page 4: 3-Protocolos de Aplicacion

Que

se d

efin

e en

los

pro

toco

los

•El significado de los campos de

inform

ación.

•La form

a en que se envían los

mensajes y la respuesta esperada.

•La interacción con la próxim

a capa

inferior.

•Los procesos en cada uno de los

extremos de la comunicación.

•Los tipos de m

ensajes

•La sintaxis de los m

ensajes.

Page 5: 3-Protocolos de Aplicacion

Model

o u

tiliz

ado

�Estos protocolos utilizan el modelo

Cliente/Servidor

Page 6: 3-Protocolos de Aplicacion

Pas

o a

Pas

o

�Antes que el navegador pueda establecer

la conexión http necesito saber que IP

tiene nuestro buscador preferido!

�Lo m

ismo nos sucediócon nuestro cliente

de correo al enviar el MAIL.

�¿Como lo averigua?

Gracias al Protocolo de Servicio de DNS

Page 7: 3-Protocolos de Aplicacion

DN

S (D

om

ain

Nam

eSys

tem

)

�Sistema usado en Internet para traducir nombres

de nodos de red en direcciones IP.

�A cada m

áquina se le asigna una dirección IP

(200.63.1.10) y un nombre (www.unq.edu.ar)

�DNS es una base de datos distribuida que

perm

ite realizar un m

apeo entre nombres de

máquinas y direcciones IP

�De esta m

anera cuando queramos acceder a una

máquina (Web, Ftp, SMTP, Telnet, ...) en vez de

recordar la IP, basta recordar el nombre

Page 8: 3-Protocolos de Aplicacion

Asi

gnac

ión d

e D

om

inio

s

�Un dominio es un m

ecanismo de identificación utilizado en Internet

�El ICANN es la responsable que los nombres de las m

áquinas sean

únicos

�Consta de varias palabras separadas por un punto: xxx.xxx.com

�Las primeras palabras xxx.xxxindican un conjunto de nombres que

identifican a la empresa u organización

�Las empresas deben registrar su nombre para que pase a ser su

marca en Internet (problemas con m

arcas ya registradas)

�El resto del dominio está

organizado en:

Dominios genérico: .com, .org, .net, .edu, ...

Dominios geográficos: .es, .fr, .uk, .it, ....

�Propuesta (de CORE) para ampliar el número de dominios genericos.

.firm, .shop, .info, .web, .nom, .arts, .rec

Page 9: 3-Protocolos de Aplicacion

Jerá

rquia

de

nom

bre

s

�DNS basa su funcionamiento en un espacio jerárquico de

nombres

Page 10: 3-Protocolos de Aplicacion

Car

acte

rist

icas

del

DN

S�

DNS se basa en servidores de nombres distribuidos geográficamente

�Puerto 53 (tanto UDP como TCP)

�Cada administrador de sistemas de una zona es responsable de m

antener

Un servidor de DNS primario (disk file), tiene la inform

ación de una zona,

y la autoridad sobre ella.

�Uno o varios servidores de DNS secundarios (backups) independientes del

primario pero que obtienen la inform

ación a partir del primario

(norm

almente se actualizan cada 3 horas)

�Cuando se conecta un nuevo equipo hay que añadirlo al primario (IP y

nombre), m

ientras que los secundarios lo obtendrán (“zonetransfer”) del

primario (hacen “querys”del primario cada 3 horas)

�Si la inform

ación no está

en el DNS de la zona, este servidor debe acceder

a uno de los servidores “root”para obtenerla (DNS servers

deben conocer

la IP de los roots)

�Los servidores DNS disponen de caches para resolver nombres que han

consultado recientemente.

�En los Hosts

corren clientes DNS los cuales dan soporte a las aplicaciones

que lo requieran.

Page 11: 3-Protocolos de Aplicacion

Eje

mplo

de

una

“quer

yre

curs

iva”

1. Host pregunta por www.unq.edu.ara su DNS

2. ZoneDNS pregunta al DNS servercon

dominio .ar

3. DNS con dominio .arpregunta a DNS

con dominio .edu.ar

4. . DNS con dominio . edu.arpregunta a DNS con

dominio .unq.edu.ar

5. DNS .unq.edu.arle devuelve la IP del servidor

www.unq.edu.aral dominio .edu.ar

6, 7, 8. la IP del servidor ftp.upc.esvuelve al

cliente

*Cada DNS guarda en su cache las IP un tiempo indicado por TTL

Page 12: 3-Protocolos de Aplicacion

Eje

mplo

de

una

“quer

yiter

ativ

a”

1. Host pregunta por www.unq.edu.ara su DNS

2. ZoneDNS pregunta a su rootDNS

3. RootDNS le devuelve la IP del DNS con

dominio .aral zoneDNS

4. ZoneDNS pregunta al DNS .ar

5. DNS .es devuelve la IP de DNS .edu.ar

6. ZoneDNS pregunta a DNS .edu.ar

7. DNS .edu.ardevuelve IP de DNS unq .edu.ar

8. ZoneDNS pregunta a DNS .unq.edu.ar

9. DNS .unq.edu.ardevuelve IP del Server

www.unq.edu.ar

10 . ZoneDNS devuelve la IP del serveral host

*Cada DNS guarda en su cache las IP un tiempo indicado por TTL

Page 13: 3-Protocolos de Aplicacion
Page 14: 3-Protocolos de Aplicacion

Form

ato d

el m

ensa

je D

NS

Dnsusa el mismo form

ato para:

�Todos los tipos de consulta de clientes y respuestas del servidor.

�Mensajes de error.

�La transferencia de inform

ación de registros de recursos entre

servidores.

Page 15: 3-Protocolos de Aplicacion

Cam

pos

del

men

saje

DN

S�

Identification: perm

ite m

apear

respuestas con peticiones

(activado por el cliente y

retornado por el servidor)

�16-bitflags: dividido en

multiplescampos (e.g. 1-bit

QR: Queries=0, Responses=1;

1-bitRD foriterative/recursive

queries, etc)

�Los siguientes 4 campos indican

cuantas peticiones y respuestas

hay en el resto del mensaje

�Questioncontiene las consultas

al servidor de nombres.

�Answer, Autority, Additional

Inform

ationcontienen un

número variable de recursos

como TTL, etc...

Page 16: 3-Protocolos de Aplicacion

Perm

ite averiguar un nombre o una dirección IP

nslookup[ -option...] [host-to-find| -[server]]

Comando “nslookup”

Page 17: 3-Protocolos de Aplicacion

Reg

istr

os

DN

S

Regis

tros S

OA

:(StartOfAuthority) Se form

a con una serie de

parametrosa tener en cuenta.

Host

Ori

gen:Host donde se m

antiene el archivo.

Corr

eo e

lectr

ónic

o:Del responsable de la BD. La arroba (@) se

sustituye por un punto (.), debido a que @

representa el dominioraizde

la zona.

Num

ero

de s

eri

e:La versión de ese archivo. Aumenta cada vez que

el archivo cambia.

Tie

mpo d

e a

ctu

alizació

n:Tiempo que espera un servidor de

nombres secundario para ver si el archivo ha cambiado, y por lo tanto

pedir una t

ransfe

rencia

de z

ona.

Tie

mpo d

e r

ein

tento

:Tiempo que espera un servidor de nombres

secundario para iniciar una nueva transferencia de zona en el caso de que

falle este procedimiento.

Tie

mpo d

e c

aducid

ad:Tiempo que el servidor de nombres

secundario intentará

descargar una zona. Cuando pase, se rechaza la

inform

ación antigua.

Tie

mpo d

e v

ida:Tiempo en el que el servidor de nombres m

antiene

la cachécualquier registro del recurso de este archivo en base de datos.

Page 18: 3-Protocolos de Aplicacion

Reg

istr

os

DN

S�

Regis

tros N

S:El Registro NS. (siglas de N

am

eServ

er),

contiene los servidores de nombre de ese dominio, lo que perm

ite

que otros servidores de nombres vean los nombres de su dominio.

�R

egis

tros A

:Los registros de dirección A, (A

dre

ss) asocian

nombres de hosta direcciones IP dentro de una zona. Son los

más numerosos dentro del archivo.

�R

egis

tros C

NA

ME:Estos registros son llamados también a

lias, si

bien son conocidos como entradas de nombre canónico(C

NA

ME,

Canonic

al N

am

e). Su uso m

ás común es utilizar para apuntar a

un único hostmás de un nombre.

�R

egis

tros M

X:El registro MX es el registro de Intercambio de

correo (

Mail e

Xchange). Indica que hostse encarga del

procesamiento del correo electrónico de ese dominio.

Page 19: 3-Protocolos de Aplicacion

Res

olu

ción inver

sas

�Conozco la IP y quiero el nombre

�Cada servidor gestiona una rama que comienza con la etiqueta

“in-addr”de la que cuelgan las direcciones en sentido numérico

inverso.

�Es decir, las direcciones cuelgan del árbol en orden descendiente:

e.g.; la IP 200.63.1.10 estaría como 1.63.200.in-addr.arpa

(Registro PRT)

Page 20: 3-Protocolos de Aplicacion

Ges

tión e

n la

asig

nac

ión d

e D

om

inio

s

�Historia: Hasta hace poco tiempo lo gestionaba IANA

(Internet AssignedNumbers

Authority:

http://w

ww.iana.org) -organización del gobierno USA

�Ahora es privado (aunque con una organización sin ánimo

de lucro) que recogiolas actividades del IANA. Esta

organización se llama ICANN (Internet Corporation for

AssignedNamesandNumbers: http://w

ww.icann.org) y

que se encarga de dar tanto dominios genéricos como IP

�Los dominios genéricos son registrados por compañías a las

que ICANN da el derecho a que actúen como tales bajo

ciertas restricciones (AccreditedRegistrars)

Page 21: 3-Protocolos de Aplicacion

Ges

tión e

n la

asig

nac

ión d

e D

om

inio

sEl dominio territorial de

Argentina (.ar) los asigna el

Ministerio de Relaciones

Exteriores, Comercio

Internacional y Culto

(http://w

ww.nic.ar)

El registro no tiene costo y es necesario

renovarlo anualm

ente.

El dominio edu.arlos administra el

consorcio ARIU (www.riu.edu.ar)

Page 22: 3-Protocolos de Aplicacion

Ten

emos

nues

tro I

P

�Ya con el soporte del servicio

DNS tenemos el IP de destino.

�Ahora ¿

Qué

es H

TTP

?

Page 23: 3-Protocolos de Aplicacion

¿Quées HTTP?

�HTTP significa H

ypert

ext

Tra

nsfe

r P

roto

col.

�HTTP fue desarrollado por el World W

ide

Web Consortium

y la Internet Engineering

TaskForce, colaboración que culminóen

1999

�HTTP define la sintaxis y la semántica que

utilizan los elementos de software de la

arquitectura webpara comunicarse.

(Clientes, Servidores, Proxys)

Page 24: 3-Protocolos de Aplicacion

Ele

men

tos

de

una

com

unic

ació

n H

TT

P

�Cliente que efectúa la petición "useragent" (navegador)

�Servidor http el cual posee el puerto 80 tcpen escucha de una

petición.

�La inform

ación transmitida es el recurso identificada por un URL

�Está

basado en el envío de comandos y respuestas en texto

ASCII.

�El contenido enviado (archivos HTML, imágenes, PDF, etc.) se

enviará

tal cual está

almacenado en el servidor.(En form

ato

MIME)

�HTTP es un protocolo sin estado, no guarda ninguna inform

ación

sobre conexiones anteriores.

�Si fuese necesario m

antener estado se utilizan las cookies.

�Las Cookieses inform

ación que un servidor puede almacenar en

el sistema cliente por tiempo indeterm

inado.

�Esto le perm

ite a las aplicaciones webinstituir la noción de

"sesión", y también perm

ite rastrear usuarios.

Page 25: 3-Protocolos de Aplicacion

Los

está

ndar

es H

TT

P

�HTTP/0.9 Pre-93

�RFC 1945(HTTP/1.0, 1996)

�RFC 2616(HTTP/1.1, 1999)

�RFC 2774(HTTP/1.2, 2000)

www.rfc-editor.org

(RequestforComments)

Page 26: 3-Protocolos de Aplicacion

Car

acte

ríst

icas

de

las

ver

siones

HTTP/0.9: Primer versión del protocolo Http, cuya implementación fue realizada con

requerimientos m

uy simples. Solo acepta el método GET

HTTP/1.0: Esta es la primera revisión del protocolo que especifica su versión en las

comunicaciones, y todavía se usa ampliamente, sobre todo en servidores proxy.

Soporta la m

ayoría de los m

étodos de comunicación.

Esta como la primer versión por cada elemento que trae de la webrealiza una

conexión tdc/ip

HTTP/1.1: Versión actual; las conexiones persistentes están activadas por defecto y

funcionan bien con los proxies. También perm

ite al cliente enviar múltiples peticiones

a la vez (pipelining) lo que hace posible eliminar el tiempo de Round-Tripdelaypor

cada petición.Soporta

nam

e-b

ased

vir

tual hosti

ng.

HTTP/1.2:El RFC 2774(experimental), HTTP ExtensionFramework, incluye en gran

medida a PEP(Protocolextensionprotocol). Se publicóen febrero de 2000.

Page 27: 3-Protocolos de Aplicacion

Diá

logo

HT

TP

�Como m

encionamos, este protocolo se

basa en envíos y respuestas en ASCII.

�Para realizar esto establece una conexión

TCP al puerto 80 y una vez establecida

comienza el dialogo.

�Entonces podemos m

ediante una consola

term

inal de telnetestablecer

manualmente un dialogo HTTP

Page 28: 3-Protocolos de Aplicacion

Diá

logo

HT

TP

�Iniciamos la conexión, Request

Line/Status Line

(telnetwww.unq.edu.ar80 )

�Envío de HTTP RequestHeader

(GET / HTTP/1.1

)

�Recibimos

�HTTP Response Headers

(HTTP/1.1 200 OK)

�HTTP Response Body

(Htm

l, jpg, objeto requerido)

Page 29: 3-Protocolos de Aplicacion

Solic

itud H

TT

P�

Una lín

ea d

e s

olicit

ud: es una línea que especifica el tipo de documento

solicitado, el método que se aplicará

y la versión del protocolo utilizada. La línea está

form

ada por tres elementos que deben estar separados por un espacio:

�el método

�la dirección URL

�la versión del protocolo utilizada por el cliente (por lo general,

HTTP/1.0) Ejemplo: GET / HTTP/1.1

�Los c

am

pos d

el encabezado d

e s

olicit

ud: es un conjunto de líneas

opcionales que perm

iten aportar inform

ación adicional sobre la solicitud y/o el cliente

(navegador, sistema operativo, etc.). Cada una de estas líneas está

form

ada por un

nombre que describe el tipo de encabezado, seguido de dos puntos(:) y el valor del

encabezado.

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b)

Gecko/20021016 Accept-Language: es-es, en-us;q=0.66, en;q=0.33

�El cuerp

o d

e la s

olicit

ud: es un conjunto de líneas opcionales que deben estar

separadas de las líneas precedentes por una línea en blanco y, por ejemplo, perm

iten

que se envíen datos por un comando POST durante la transmisión de datos al

servidor utilizando un form

ulario.

Page 30: 3-Protocolos de Aplicacion

Met

odos

y C

om

andos

Borra el recurso ubicado en la URL

especificada

DELETE

Envía datos a la URL especificada

PUT

Envía datos al programa ubicado en

la URL especificada

POST

Solicita el encabezado del recurso

ubicado en la URL especificada

HEAD

Solicita el recurso ubicado en la URL

especificada

GET

Page 31: 3-Protocolos de Aplicacion

Cadena c

on info

rmació

n s

obre

el cliente

, por

eje

mplo

, el nom

bre

y la

vers

ión d

el navegador

y e

l sis

tem

a o

pera

tivo

User-

Agent

Dir

ecció

n U

RL d

esde la c

ual se r

ealizó

la s

olicit

ud

Refe

rer

Dir

ecció

n U

RL d

onde s

e o

rigin

óla

solicit

ud

Ori

g-U

RL

Vín

culo

entr

e d

os d

ireccio

nes U

RL

Lin

k

Perm

ite e

specif

icar

que d

ebe e

nvia

rse e

l docum

ento

si ha s

ido

modif

icado d

esde u

na f

echa e

n p

art

icula

rFro

m

Perm

ite e

specif

icar

la d

irecció

n d

e c

orr

eo e

lectr

ónic

o d

el cliente

Fro

m

Uti

lizado p

or

equip

os inte

rmedia

rios e

ntr

e e

l navegador

y e

l serv

idor

Forw

ard

ed

Fecha e

n q

ue c

om

ienza la t

ransfe

rencia

de d

ato

sD

ate

Tip

o d

e c

onte

nid

o d

el cuerp

o d

e la s

olicit

ud (

por

eje

mplo

, te

xto

/htm

l).

Consult

e T

ipos d

e M

IM

EConte

nt-

Type

Exte

nsió

n d

el cuerp

o d

e la s

olicit

ud

Conte

nt-

Length

Tip

o d

e idio

ma e

n e

l cuerp

o d

e la s

olicit

ud

Conte

nt-

Language

Tip

o d

e c

odif

icació

n p

ara

el cuerp

o d

e la s

olicit

ud

Conte

nt-

Encodin

g

Identi

ficació

n d

el navegador

en e

l serv

idor

Auth

ori

zati

on

Idio

ma q

ue e

l navegador

espera

(de f

orm

a p

redete

rmin

ada, in

glé

s)

Accept-

Language

Codif

icació

n d

e d

ato

s q

ue e

l navegador

acepta

Accept-

Encodin

g

Juego d

e c

ara

cte

res q

ue e

l navegador

espera

Accept-

Chars

et

Tip

o d

e c

onte

nid

o a

cepta

do p

or

el navegador

(por

eje

mplo

, te

xto

/htm

l).

Consult

e T

ipos d

e M

IM

EA

ccept

Page 32: 3-Protocolos de Aplicacion

Respuesta HTTP

�U

na lín

ea d

e e

sta

do:es una línea que especifica la versión del protocolo

utilizada y el estado de la solicitud en proceso m

ediante un texto explicativo y un

código. La línea está

compuesta por tres elementos que deben estar separados por

un espacio: La línea está

form

ada por tres elementos que deben estar separados por

un espacio:

�la versión del protocolo utilizada

�el código de estado

�el significado del código

HTTP/1.1 200 OK

�Los c

am

pos d

el encabezado d

e r

espuesta

: es un conjunto de líneas

opcionales que perm

iten aportar inform

ación adicional sobre la respuesta y/o el

servidor. Cada una de estas líneas está

compuesta por un nombre que califica el tipo

de encabezado, seguido por dos puntos (:) y por el valor del encabezado Cada una

de estas líneas está

form

ada por un nombre que describe el tipo de encabezado,

seguido de dos puntos (:) y el valor del encabezado.

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

Server: Apache/2.2.9 (Debian) Last-Modified: Wed, 10 Dec 2008 14:36:40 GMT

ETag: "27956d-5de-45db23022ee00"

Content-Type: text/htm

l Content-Length: 1221

�El cuerp

o d

e la r

espuesta

: contiene el documento solicitado. (htm

l, .jpg, .pdf,

xml, etc..)

Page 33: 3-Protocolos de Aplicacion

Códigos de respuesta

HT

TP

�1xx M

ensaje

sConexión rechazada

�2xx O

pera

ció

n e

xit

osa

�3xx R

edir

ecció

n h

acia

otr

o U

RL

�4xx E

rror

por

part

e d

el cliente

�5xx E

rror

por

part

e d

el serv

idor

Page 34: 3-Protocolos de Aplicacion

Conec

tandonos

a un Ser

ver

GET /index.phpHTTP/1.1

Host: sertec.unq.edu.ar

User-Agent: Mozilla/5.0

^M

HTTP/1.1 302 Found

Date: Mon, 17 May 2010 07:12:08 GMT

Server: Apache

X-Powered-By: PHP/5.2.6-1+lenny8

Expires: Thu, 19 Nov1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Location: http://sertec.unq.edu.ar/modules/news/

Vary: Accept-Encoding

Content-Type: text/htm

lContent-Length: 0

Connection: Keep-Alive

Set-Cookie: PHPSESSID=88166dfa5c34a4a5662516a7a7875177; path=/

Page 35: 3-Protocolos de Aplicacion

Med

iante

un N

aveg

ador

Page 36: 3-Protocolos de Aplicacion

Pro

xys

Http

�P

ara

el m

anejo

del cache d

el cliente

com

o d

el P

roxy s

e u

tiliza

info

rmació

n d

e la r

espuesta

del serv

idor

htt

p

Last-Modified: Wed, 10 Dec 2008 14:36:40 GMT

ETag: "27956d-5de-45db23022ee00"

�El serv

er

info

rma e

n e

l Eta

gel obje

to q

ue e

sta

mos m

aneja

ndo y

la

fecha d

e la u

ltim

a m

odif

icació

n, ta

mbié

n e

l serv

er

puede info

rmar

que e

sta

tra

nsacció

n n

o d

eberá

ser

cacheada (

Pra

gm

a:

no-c

ache).

Este protocolo admite la

posibilidad de la existencia de

servidores proxyintermedios

entre el cliente y la Web

Page 37: 3-Protocolos de Aplicacion

Pro

toco

lo S

MT

P

¿y a

hora

com

o e

nvia

mos e

l corr

eo?

Page 38: 3-Protocolos de Aplicacion

El prim

er s

alto

�El C

liente

solo

puede

conecta

rse p

or

PO

P3 y

SM

TP

a

su s

erv

idor

�Y

este

es e

l que

se e

ncarg

a d

e

envia

r a d

esti

no

Message User Agent (M

UA)

(Clientes de correo)

Page 39: 3-Protocolos de Aplicacion

Pro

ceso

s del

ser

vid

or de

e-m

ail

El servidor de e-m

ail ejecuta dos procesos

individuales:

Agente de transferencia de correo

(MTA, Mail Transfer Agent).

Agente de entrega de correo

(MDA, Mail Delivery

Agent).

Agente de Acceso al correo

(MAA, Mail Access Agent)

Page 40: 3-Protocolos de Aplicacion

Pro

ceso

de

entr

ega

de

corr

eo

Page 41: 3-Protocolos de Aplicacion

Conex

ión S

MT

P

�Este protocolo también hace uso un socket

TCP pero en el puerto 25.

�Una vez establecida la conexión también

realiza su dialogo en ASCII

�Podemos emular un envío utilizando telnet

Page 42: 3-Protocolos de Aplicacion

Dia

gram

a de

conex

ión S

MT

P

Page 43: 3-Protocolos de Aplicacion

Conex

ión S

MT

Ptelnetmail.m

onitortools.com

25

220 listas.unq.edu.arESMTP MDaemon10.1.1; Mon, 17 May 2010 05:32:32 -

0300

helo unq

250 listas.unq.edu.arHello190-49-172-115.speedy.com.ar, pleasedto

meet

you

MAIL FROM: cesar@

unq.edu.ar

250 <cesar@

unq.edu.ar>, Sender ok

rcptto: cesar@

unq.edu.ar

250 <cesar@

unq.edu.ar>, Recipientok

data

354 Entermail, endwith<CRLF>.<CRLF>

Este es un m

ensaje de prueba

[ENTER].[ENTER]

250 Ok

quit

221 Bye

Page 44: 3-Protocolos de Aplicacion

Muchas Gracias