Redes de Computadoras I

Capa de Aplicación

Capa de aplicación

  • Protocolos de aplicación
    • Formato de mensajes
    • Orden de los mensajes
    • Acciones en respuesta
    • Otros eventos ajenos a la comunicación
  • Vocabulario y lógica de la aplicación
  • Request/response
    • HTTP
    • FTP
    • DNS
    • SMTP
    • ¿Otros?

Arquitecturas de comunicación

  • Cliente/servidor
    • Servidor siempre en espera
    • Interacción disparada por el cliente
  • Peer-to-peer
    • No existe un rol definido
    • Las partes de la aplicación funcionan alternativamente como cliente o servidor
  • Híbridas

Servicios requeridos

  • Confiable
    • Control de flujo
    • Control de congestión
    • Confirmaciones o reconocimientos
    • Retransmisión en caso negativo
    • Si un segmento se pierde, la aplicación recibe notificación
    • Necesita el establecimiento de una conexión previamente al intercambio de datos
  • No confiable
    • Nada de lo anterior

HTTP

  • Hypertext Transfer Protocol
    • Usa transporte confiable
    • Request GET
    • Requests PUT, POST
    • Persistente y no persistente

Caching

  • Reducir el tiempo de respuesta
  • Última milla, con frecuencia cuello de botella

Domain Name Service, DNS

  • Servicio de traducción de nombres a direcciones IP
    • Crítico para el funcionamiento de la red pero implementado a nivel de aplicación
    • Sistema de nombres jerárquico
    • Base de datos distribuida
    • Servidores redundantes
  • Diferentes funciones
    • Servidor local
    • Servidor raíz
    • Servidor de dominio

Sockets

  • Una estructura de datos privada del kernel
  • Accesible a través de la API de Sockets
  • Sockets TCP
    • Punto extremo de una conexión
    • Se comunica con un único socket remoto interlocutor
    • Transporte confiable
  • Sockets UDP
    • Pueden enviar a muchos destinos
    • Pueden recibir desde muchos otros orígenes
    • Transporte no confiable

Servidor TCP

  • Servidor

Cliente TCP

  • Cliente