existe en modelos OSI y TCP/IP, es la ultima capa en TCP/IP y se relaciona con 3 capas en OSI
OSI - application, presentation y session
application:
hay muchos protocolos de application layer y todavia se siguen desarrollando nuevos
algunos protocolos de application layer son HTTP, FTP, TFTP, DNS.
presentation: esta capa tiene 3 funcionalidades primarias:
- formateo de datos
- compresion de datos
- encrypcion de datos y decrypcion al recibirlos
session layer: crea y mantiene dialogos entre aplicaciones de origen y destino se encarga de manejar el intercambio de informacion para iniciar dialogos, mantenerlos activos y reiniciarlos cuando son disrumpidos o inactivos por un largo de periodo de tiempo
protocolos TCP/IP application layer
los protocolos de application layer en TCP/IP especifican el formato y controlan la informacion necesaria para varias funcionalidades comunes en internet. para que las comunicaciones sean exitosas, los protocolos de application layer que son implementados en el origen y destino deberan ser compatibles
name system: DNS:
- TCP, UDP client 53
- traduce nombres de dominio a direcciones IP
host config BOOTP - bootstrap protocol
- UDP cliente 68, servidor 67
- permite a una workstation sin disco a descubrir su propia direccion IP, la direccion IP de un servidor BOOTP en la red, y un archivo para ser cargado en memoria para bootear la maquina
- BOOTP fue luego sustituido por DHCP
email SMTP
- TCP 25
- permite clientes mandar emails a otros servidores de mail
- permite a servidores mandar emails a otros servidores POP3
- TCP 110
- permite a clientes recuperar email desde el servidor mail
- descarga el email a la aplicacion local de mail cliente IMAP
- TCP 143
- permite a clientes a acceder a email guardado en un servidor mail
- mantiene email en el servidor
transferencia de archivos FTP
- TCP 20 a 21
- setea reglas que permite a un usuario host a transferir archivos a otro host a traves de la red
- FTP es un protocolo confiable, enfocado a la conexion y que reconoce el envio de archivos. TFTP
- UDP cliente 69
- es un protocolo de transferencia de archivos no enfocado a la conexion best-effor, no reconoce el envio de archivos
- tiene menos overhead que FTP
web HTTP
- TCP 80, 8080
- es un conjunto de reglas para intercambiar text, imagenes graficas, sonido, video en la World Wide Web HTTPS
- TCP, UDP 443
- el navegador usa cifrado para asegurar las comunicaciones HTTP
- autentica el sitio web al cual tu navegador se conecta
P2P
modelo cliente-servidor
procesos del cliente y el servidor son considerados pertenecientes al application layer. el cliente comienza el intercambio al hacer request de datos en el servidor, el cual luego responde con 1 o mas streams de datos hacia el cliente. un ejemplo de red cliente/servidor es el uso del servicio de correo electrónico de un proveedor de servicios de Internet (ISP) para enviar, recibir y almacenar correos electrónicos. El cliente de correo electrónico en una computadora doméstica solicita al servidor de correo electrónico del ISP los correos no leídos. El servidor responde enviando el correo solicitado al cliente.
La transferencia de datos de un cliente a un servidor se denomina carga, y la transferencia de datos de un servidor a un cliente, descarga.
redes P2P
en este modelo, los datos son accedidos desde un dispositivo peer, sin el uso de un servidor dedicado involucra dos partes: redes P2P y aplicaciones P2P.
en redes P2P, 2 o mas computadoras son conectadas a traves de la red y pueden compartir recursos (como impresoras o archivos) sin necesitar un servidor dedicado. cada dispositivo final conectado puede servir tanto como servidor o cliente, una computadora podira asumir el rol de servidor para una transaccion mientras simultaneamente sirve como un cliente para otra.
aplicaciones P2P
las aplicaciones P2P permiten a un dispositivo actuar como cliente y servidor a la vez dentro de la misma comunicacion.
cada cliente es servidor y cada servidor es cliente
las aplicaciones P2P requieren que cada dispositivo final provea una interfaz de usuario y corra un servicio en el background

aplicaciones P2P comunes
- bitTorrent
- direct connect
- eDonkey
- Freenet
algunas aplicaciones P2P estan basadas en el protocolo Gnutella, donde cada usuario comparte usuarios completos con otros usuarios
representacion grafica de Gnutella:

protocolos web y email
HTTP (Hypertext Transfer Protocol) es un protocolo de la capa de aplicación utilizado para la comunicación entre un navegador y un servidor web mediante un modelo cliente-servidor de solicitud/respuesta (request/response).
- El navegador interpreta la URL:
- Protocolo:
http - Servidor:
www.cisco.com - Recurso:
index.html
- Protocolo:
- Consulta un servidor DNS para obtener la dirección IP del servidor.
- Envía una solicitud GET al servidor.
- El servidor responde con el código HTML de la página.
- El navegador interpreta el HTML y muestra la página al usuario.
HTML (HyperText Markup Language): es el lenguaje utilizado para estructurar el contenido de las páginas web que el navegador interpreta y presenta.
metodos HTTP mas comunes:
- GET: Solicita datos o páginas web.
- POST: Envía datos al servidor (ej. formularios).
- PUT: Sube o reemplaza recursos (ej. imágenes o archivos).
protocolos de email
los clientes se comunican los servidores mail para enviar y recibir emails
servidores mail se comunican con otros servidores mail para transportar mensajes de un dominio a otro
un cliente email no se comunica directamente con otro email client cuando se envia un email
SMTP, POP & IMAP
SMTP:
- formato del mensaje: obligatoriamente requiere un encabezado y un cuerpo
- proceso del envio: el cliente SMTP se conecta al servidor a traves del puerto 25
- enrutamiento: Al recibir el mensaje, el servidor lo entrega en una cuenta local (si el destinatario pertenece a ese servidor) o lo reenvía a otro servidor externo.
- cola de espera (Spooling): Si el servidor de destino está desconectado u ocupado, los mensajes se ponen en cola. El sistema intenta enviarlos de nuevo periódicamente.
- mensajes rebotados: Si el mensaje no se puede entregar después de un tiempo de caducidad predeterminado, se devuelve al remitente como “no entregable”.
POP: es usado por una aplicacion para recuperar el mail desde el servidor mail. con POP, el mail es descargado desde el servidor al cliente y luego borrado del servidor.
el servidor comienza escuchando pasivamente en el puerto TCP 110 para request de conexion del lado del cliente. cuando un cliente quiere hacer uso del servicio:
- el cliente envia un request para iniciar una conexion TCP con el servido
- cuando la conexion fue establecida, el servidor POP envia un saludo
- luego el cliente y servidor POP intercambian comandos y respuestas hasta que la conexion es cerrada o abortada
con POP, los mensajes email son descargados en el cliente y removidos del servidor, por lo tanto, no hay ubicacion centralizada donde los mensajes email son mantenidos
como POP no guarda los mensajes, no es recomendado cuando se necesita una solucion de backup centralizada

IMAP: es otro metodo para recuperar mensajes de email. a diferencia de POP, cuando un usuario se conecta a un servidor con capacidades IMAP, se descarga una copia de los mensajes en la aplicacion del cliente, los mensajes originales son mantenidos en el servidor hasta que son eliminados manualmente.
los usuarios pueden crear una jeraquia de archivos en el servidor para organizar y almacenar mails
esa estructura es duplicada en el mail cliente tambien
cuando un usuario decide eliminar un mensaje, el servidor sincroniza esa accion y borra el mensaje del servidor

servicios de direccionamiento IP
DNS
este protocolo define un servicio automatico que matchea el nombre de recurso con la direccion de red numerica requerida
- usa TCP en comunicaciones servidor-servidor
- usa UDP en comunicaciones cliente-servidor pasos:
- el usuario escribe un FQDN en el buscador del navegador
- una query DNS es enviaada a un servidor DNS designado para la computadora cliente
- el servidor DNS matchea el FQDN con la direccion IP
- la respuesta a la query DNS es enviada de vuelta con la direccion IP para el FQDN
- la computadora cliente usa la direccion IP para hacer requests al servidor FQDN: fully qualified domain name
cuando el servidor recibe una query, se fija en sus propios record para resolver el nombre. si no es capaz de resolverlo, contacta otros servidores para resolver el nombre, luego de encontrar una coincidencia y de ser enviada al servidor original, el servidor guarda termporalmente en caso de que se pida el mismo nombre nuevamente
formatos de mensajes DNS
- A - end device IPv4 address
- NS - authoritative name server
- AAAA - end device IPv6 address
- MX - mail exchange record
jerarquia DNS
cada servidor DNS mantiene una base de datos especifica y es responsable del name-to-ip de una pequena porcion de la estructura DNS completa

DHCP
automatiza el asignamiento de direcciones IPv4, mascaras de subnet, gateways, y otros parametros de direccionamiento IPv4. es referida como direccionamiento dinamico
cuando un host se conecta a la red, se contacta a un servidor DHCP pidiendo una direccion. el servidor DHCP elige una direccion desde un rango configurado de direcciones (llamado pool), y se le asigna al host.
DHCP es elegido ante el direccionamiento estatico en redes grandes

DHCP se usa para hosts de uso general direccionamiento estatico se usa para dispositivos de red, como gateway routers, switches, servidores e impresoras.
operacion DHCP
- el cliente hace un boadcast con DHCP discover (DHCPDISCOVER) para identificar servidores DHCP disponibles en la red
- el servidor DHCP responde con un mensaje DHCP offer (DHCPOFFER), que le ofrece un “alquiler” al cliente
- esta oferta contiene: direccion IPv4 y mascara de subnet a ser asignada; la direccion IPv4 del servidor DNS y la direccion IPv4 del default gateway
- tambien contiene la duracion del “alquiler”

- si el cliente tiene varias ofertas, debera elegir una y en viar un DHCPREQUEST al servidor, que identifica el servidor explicitamente y la oferta de alquiler que el cliente esta aceptando
- si la direccion IPv4 fue pedida por el cliente, u ofrecida por el servidor, el servidor DHCP finalmente retorna un DHCPACK que le avisa al cliente que el alquiler fue finalizado
- en caso de que la oferta ya no sea valida, el servidor DHCP responde con un DHCPNAK, en este caso el proceso empieza nuevamente con un DHCPDISCOVER
servicios para compartir archivos
FTP
en este protocolo, el cliente establece al primer conexion para trafico de control al servidor, usando el puerto TCP 21
el cliente establece la segunda conexion al servidor para la transferencia de datos usando el puerto TCP 20, esta conexion es creada cada vez que hay datos para transferir
la transferencia de datos puede suceder en ambas direcciones

SMB
es un protocolo ques describe la estructura de recursos de red compartidos, como directorios, impresora y puertos seriales
hay 3 funciones de los mensajes SMB:
- comenzar, autenticar y terminar sesiones
- controlar accerso a archivos y a impresoras
- permitir a una aplicacion enviar o recibir mensajes desde (o destinado a) otro dispositivo
a diferencia de FTP, los clientes establecen una relacion de largo termino con los servidores, luego de ser establecidas el cliente puede acceder los recursos del servidor
sistemas con linux/unix usan un procotolo inspirado en SMB llamado SAMBA
Lab
~ ✗ nslookup
> cisco.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: cisco.com
Address: 72.163.4.185
Name: cisco.com
Address: 2001:420:1101:1::185
> www.cisco.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
www.cisco.com canonical name = www.cisco.com.akadns.net.
www.cisco.com.akadns.net canonical name = wwwds.cisco.com.edgekey.net.
wwwds.cisco.com.edgekey.net canonical name = wwwds.cisco.com.edgekey.net.globalredir.akadns.net.
wwwds.cisco.com.edgekey.net.globalredir.akadns.net canonical name = e2867.dsca.akamaiedge.net.
Name: e2867.dsca.akamaiedge.net
Address: 2.20.140.117
Name: e2867.dsca.akamaiedge.net
Address: 2600:1419:1200:68c::b33
Name: e2867.dsca.akamaiedge.net
Address: 2600:1419:1200:68b::b33
> set type=mx
> cisco.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
cisco.com mail exchanger = 20 rcdn-mx-01.cisco.com.
cisco.com mail exchanger = 10 alln-mx-01.cisco.com.
cisco.com mail exchanger = 30 aer-mx-01.cisco.com.
Authoritative answers can be found from:
>
para enviar mails solo se usan protocolos: SMTP y DNS para la descarga de mails desde el servidor se usan: IMAP, POP y POP3