Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Pro
toco
los
de
Cap
a de
aplic
ació
n
Protocolos de comunicación
(Correo, W
eb)
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?
¿Que
pro
toco
los
se u
saro
n?
�Protocolo Http
�Protocolo SMTP
�Protocolo POP3
�DNS
�DHCP
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.
Model
o u
tiliz
ado
�Estos protocolos utilizan el modelo
Cliente/Servidor
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
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
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
Jerá
rquia
de
nom
bre
s
�DNS basa su funcionamiento en un espacio jerárquico de
nombres
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.
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
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
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.
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...
Perm
ite averiguar un nombre o una dirección IP
nslookup[ -option...] [host-to-find| -[server]]
Comando “nslookup”
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.
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.
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)
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)
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)
Ten
emos
nues
tro I
P
�Ya con el soporte del servicio
DNS tenemos el IP de destino.
�Ahora ¿
Qué
es H
TTP
?
¿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)
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.
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)
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.
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
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)
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.
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
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
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..)
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
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=/
Med
iante
un N
aveg
ador
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
Pro
toco
lo S
MT
P
¿y a
hora
com
o e
nvia
mos e
l corr
eo?
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)
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)
Pro
ceso
de
entr
ega
de
corr
eo
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
Dia
gram
a de
conex
ión S
MT
P
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
Muchas Gracias