Está en la página 1de 46

Redes de Computadoras

NIVEL DE APLICACIÓN
Redes de Computadoras
● Las aplicaciones residen en los hosts (sistemas
terminales)

● Aplicaciones en distintos hosts interactúan mediante la


comunicación a través de la red

● Ejemplo 1: la aplicación web cliente (browser) residente


en una PC, interactúa con la aplicación servidora web
residente en un servidor web

● Ejemplo 2: las aplicaciones P2P interactúan de manera


igualitaria entre ellas, residiendo cada una en hosts
distintos
Redes de Computadoras
Nivel de Aplicación – Aplicaciones en la red
Redes de Computadoras
ARQUITECTURAS DE LAS APLICACIONES DE RED

● Cliente – Servidor: un host servidor responde los


requerimientos (requests) de servicio de otros hosts
denominados clientes. Cuando los servicios crecen en
escala los servidores se agrupan en data centers y
aumentan sus requerimientos de ancho de banda

● Peer to Peer (P2P): los hosts se comunican


directamente entre sí de manera igualitaria (peers) sin
hacer uso de servidores dedicados. La arquitectura es
auto escalable y no requiere de grandes anchos de
banda
Redes de Computadoras
Arquitecturas para aplicaciones de red
Redes de Computadoras
Aplicaciones – Comunicación entre procesos
● Para los SO las aplicaciones son procesos

● Procesos que se ejecutan en distintos hosts se comunican entre


si mediante paso de mensajes

● Los mensajes se transmiten a través de la red

● La interfaz de software entre los procesos y la red se llama


socket (API)

● Los hosts se identifican mediante su dirección de red


(direcciones IP)

● Los procesos se identifican mediante sus números de puerto


lógico
Redes de Computadoras
Aplicaciones – Comunicación entre procesos
Redes de Computadoras
APLICACIONES – Servicios ofrecidos por el nivel de
transporte

● Transferencia de datos fiable: los datos son


entregados a destinos en forma correcta y completos.
Algunas aplicaciones pueden tolerar la pérdida parcial
de datos (aplicaciones multimediales).

● Rendimiento (Throughput): tasa de transmisión en


bps garantizada para aplicaciones sensibles al ancho
de banda (multimedia). Otras aplicaciones son más
elásticas y utilizan el throughput disponible en la red
(email, web, transferencia de archivos).
Redes de Computadoras
APLICACIONES – Servicios ofrecidos por el nivel de
transporte

● Temporización: algunas aplicaciones tienen


restricciones de temporización (aplicaciones de tiempo
real). Los retardos de extremo a extremo en la
transmisión deben ser predecibles. Para otras
aplicaciones los retardos pequeños son preferibles
pero no mandatorios.

● Seguridad: confidencialidad mediante cifrado de datos


en el origen y descifrado en el destino (SSL),
integridad y autenticación.
Redes de Computadoras
Requerimientos de las aplicaciones al nivel de
transporte
Redes de Computadoras
Servicios de transporte en Internet
● Internet es una red TCP/IP y ofrece dos protocolos de
transporte: TCP y UDP

● TCP ofrece servicio orientado a conexión y


transporte fiable de datos

● TCP incorpora también control de congestión

● UDP es no orientado a conexión y no fiable. No


incorpora control de congestión. Es un protocolo
liviano (menos overhead que TCP)

● Internet no garantiza throughput ni temporización


Redes de Computadoras
Servicios de transporte en Internet
Redes de Computadoras
PROTOCOLOS DE NIVEL DE APLICACIÓN

● “Los protocolos de aplicación definen la manera


en que los procesos de aplicaciones residentes
en sistemas diferentes intercambian mensajes
entre si”

● Los protocolos de aplicación definen: a) tipo de


mensajes intercambiados (request, reply), b)
sintaxis de los mensajes (campos en los
mensajes), c) semántica (significado) de los
campos en los mensajes, d) cuándo y cómo se
envían y responden mensajes
Redes de Computadoras
WEB y HTTP
● HTTP (HyperText Transfer Protocol) (RFC 1945 – RFC
2616) es el protocolo de nivel de aplicación del servicio
Web
● HTTP define la estructura y el intercambio de mensajes

entre el cliente web o browser (Microsoft IE, Mozilla


Firefoz, Safari, etc) y el servidor web (Apache, Microsoft
IIS)
● Una página web es un documento formado por un

conjunto de objetos
● HTTP define las solicitudes de objetos del cliente y las

respuestas del servidor


● Las direcciones de los objetos son sus URLs

http://www.ucse.edu.ar/web/index.html
Redes de Computadoras
WEB y HTTP
Redes de Computadoras
WEB y HTTP

● HTTP utiliza los servicios de transporte de TCP

● TCP ofrece un servicio fiable de entrega de


solicitudes y respuestas web

● Los servidores HTTP no guardan información


de estado acerca de los objetos servidos

● HTTP es un protocolo sin estados (stateless


protocol)

● El servicio Web utiliza la arquitectura de


aplicaciones cliente-servidor
Redes de Computadoras
WEB y HTTP
● HTTP por defecto establece conexiones persistentes
(HTTP 1.1), pero pueden configurarse conexiones no
persistentes (HTTP 1.0)
Redes de Computadoras
WEB y HTTP – HTTP Request Message

Otros métodos: POST, HEAD, PUT, DELETE
Redes de Computadoras
WEB y HTTP – Response Message

Otros códigos de status: 301 Moved Permanently, 400 Bad Request, 404 


Not Found, 505 HTTP Version Not Supported
Redes de Computadoras
WEB y HTTP - Cookies

● HTTP es un stateless protocol

● La falta de estados hace a los servidores web más


sencillos y eficientes

● Cuando es necesario un seguimiento de las


conexiones (usuarios del servidor) se utilizan cookies
(RFC 6265)

● La tecnología de cookies tiene cuatro componentes: 1)


header cookie line en response HTTP; 2) header
cookie line en request HTTP; 3) browser cookies file:
4) server cookies database
Redes de Computadoras
WEB y HTTP - Cookies
Redes de Computadoras
WEB y HTTP – Caché Web

● Un proxy-server es un sistema intermediario entre


el cliente y el servidor web

● El proxy responde las consultas HTTP del cliente en


nombre del servidor

● El servidor proxy mantiene copia de los objetos


recientemente solicitados en su disco

● La implementación de web proxys reduce los tiempos


de respuesta a las consultas HTTP y reduce el
tráfico de acceso a Internet
Redes de Computadoras
WEB y HTTP – Caché Web
Redes de Computadoras
WEB y HTTP – Caché Web – GET condicional

1)

2)

3)

4)
Redes de Computadoras
FTP
● Tanto FTP (File Transfer Protocol) como HTTP son
protocolos para transferencia de archivos

● A diferencia de HTTP, FTP utiliza dos conexiones TCP

● Una conexión TCP (port 21) es de control y la otra (port


20) es de transferencia de datos

● La conexión de control se usa para enviar: identificación


de usuario, password y comandos de control

● Al utilizar dos conexiones se dice que FTP realiza sus


controles out-of band

● HTTP es in-band
Redes de Computadoras
FTP
Redes de Computadoras
FTP

● Los comandos y respuestas FTP se envían por el


canal de control en formato ASCII de 7 bits (RFC 959)

● USER username
● PASS password

● LIST

● RETR filename

● STOR filename

● 331 Username OK, password required
● 125 Data connection already open; 

transfer starting
● 425 Can’t open data connection

● 452 Error writing file
Redes de Computadoras
FTP Activo
Redes de Computadoras
FTP Pasivo
Redes de Computadoras
Correo Electrónico
Redes de Computadoras
Correo Electrónico

● El agente de usuario permite redactar y leer


mensajes

● Los servidores de correo ejecutan el protocolo SMTP


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

● Los servidores actúan como servidores para recibir


correo y clientes para enviar correo

● El correo recibido se encola para ser reenviado (relay)


o se almacena en la casilla (mailbox) del destinatario

● SMTP establece conexiones fiables TCP en el port 25


Redes de Computadoras
Correo Electrónico
● SMTP mantiene de legado el formato ASCII de 7 bits

● Los adjuntos (imágenes, audio, documentos, video) deben ser


codificados a ASCII antes de ser enviados

● El agente de usuario del destinatario utiliza protocolos de


descarga de correo tales como POP, IMAP o HTTP

● Servidores y agentes de usuario utilizan DNS para direccionar


sus mensajes
Redes de Computadoras
Correo Electrónico
Conexiones TCP
Redes de Computadoras
Correo Electrónico
Formato de los mensajes

Conexión TCP

Encabezado típico
Redes de Computadoras
Correo Electrónico
POP3 (Post Office Protocol version 3)

● Protocolo de acceso a correo definido en RFC 1939

● Conexiones TCP al port 110


Redes de Computadoras
Correo Electrónico
IMAP (Internet Mail Access Protocol) (RFC3501)

● POP3 no permite administración de mensajes y carpetas

● IMAP soluciona esta falta de funcionalidad a costa de


mayor complejidad de administración e instalación

● IMAP mantiene información del estado de cada usuario

● IMAP permite al agente usuario obtener solo


componentes del mensaje, por ejemplo solo el header

● Las descargas parciales permiten ahorrar ancho de banda


Redes de Computadoras
WEB Mail

● El acceso al correo electrónico utiliza HTTP

● El cliente es el navegador web (browser)

● El browser utiliza HTTP tanto para descarga


como para envío de mails
Redes de Computadoras
DNS (Domain Name System)

● Los hosts de Internet (y de cualquier otra red IP) se


identifican mediante su nombre (hostname) y su
dirección IP

● Las direcciones IPv4 tienen una longitud de 32 bits

● Las direcciones IPv6 tienen una longitud de 128 bits

● Una dirección IP es jerárquica e identifica a la red a la que


el host pertenece

192.168.0.1 / 24
Redes de Computadoras
DNS

● Las personas preferimos utilizar los hostnames

● Los routers de Internet prefieren las direcciones IP

● DNS es el servicio de directorio que permite resolver


hostnames en direcciones IP (RFCs 1034, 1035)

● DNS es: 1) una base de datos distribuida


implementada en una jerarquía de servidores DNS y
2) un protocolo de aplicación que permite a los hosts
hacer consultas a la base de datos distribuida

● El protocolo DNS corre sobre UDP y utiliza en port 53


Redes de Computadoras
DNS

● DNS es utilizado por otros protocolos de aplicación


(HTTP, FTP, SMTP y otros) para resolver nombres
provistos por las aplicaciones

● Por ejemplo: un browser desea obtener un objeto


desde la URL
http://www.ucse.edu.ar/index.html

● El browser consultará a DNS por la dirección IP de


www.ucse .edu.ar para poder dirigir la petición al
puerto 80 (HTTP)
Redes de Computadoras
DNS – Otros servicios ofrecidos

● Host aliasing: un host puede tener varios nombres


(canonical hostname) que faciliten su ubicación

● Mail server aliasing: servicio de canonical hostname


para servidores de correo mediante el registro MX

● Load distribution: se asignan varias direcciones IP a


un solo canonical hostname y se implementa DNS
rotatorio. Utilizado en servidores replicados

● DNS Caching: caché de resoluciones para agilizar los


tiempos de respuesta. Implementado en servidores de
ISPs, browsers o servidores caché DNS en Internet
Redes de Computadoras
DNS – Base de datos jerárquica distribuida
● Servidores DNS Raíz
● Servidores DNS TLD (.com, .edu, .gov, .ar, .cl … )
● Servidores DNS autoritativos
● Servidores DNS default
Redes de Computadoras
DNS – Root servers
Redes de Computadoras
DNS – Resolución iterativa
Redes de Computadoras
DNS – Resolución recursiva
Redes de Computadoras
DNS Records

● El mapeo de nombres a direcciones IP se hace


mediante RRs (Resource Records)

● Type=A: designa la dirección IP de un host

● Type=NS: designa la dirección IP de un servidor DNS


autoritativo

● Type=CNAME: indica el canonical hostname de un host

● Type=MX: designa la dirección IP de un mail server

También podría gustarte