REDES DE COMPUTADORES Tema 1 Principios de las aplicaciones en red 2 DNS 3 Web y HTTP 4 Programación de la interfaz de acceso al servicio de transporte fiable de Internet en JAVA: Sockets con TCP 5 Programación de la interfaz de acceso al servicio de transporte no fiable de Internet en JAVA: Sockets con UDP
Nivel de aplicación Objetivos: Conceptos, aspectos de implementación de protocolos de aplicación en red modelos de servicio del nivel de transporte paradigma cliente–servidor paradigma P2P Aprender más sobre protocolos estudiando dos protocolos de la capa de aplicación de internet HTTP DNS Programando aplicaciones en red socket API
Algunas aplicaciones en red e-mail web mensajería instantánea Acceso remoto Compartición de archivos P2P Juegos online multiusuario Streaming de video (ej. YouTube)
Voz sobre IP (VoIP) Videoconferencia Computación en la nube (cloud)
Creando una aplicación en red escribir programas que Corran en (diferentes) sistemas finales Se comuniquen a través de la red Ej: software de un servidor web qué se comunica con el software navegador web no hay que hacer programas para el núcleo de la red Los dispositivos del núcleo no corren las aplicaciones de los usuarios Al hacerlo en los sistemas finales se acelera el tiempo de desarrollo y propagación de la aplicación (Gp:) Aplicación transporte red enlace físico
(Gp:) Aplicación transporte red enlace físico
(Gp:) Aplicación transporte red enlace físico
Arquitectura de las aplicaciones cliente-servidor peer-to-peer (P2P) híbrido ente cliente-servidor y P2P Dirección IP: identifica de forma única a los equipos (sistemas finales, routers, ) conectados a una red TCP/IP. La asigna el ISP de forma estática (fija) o dinámica (variable). Más en breve Nota
Arquitectura Cliente-servidor Servidor: Equipo siempre-ON Dirección IP fija Granjas de servidores por escalabilidad Clientes: Se comunican con el servidor De manera intermitente Con IPs dinámicas o fijas No se comunican directamente entre ellos (Gp:) cliente/servidor
Arquitectura P2P El servidor no está siempre-ON Los sistemas finales se comunican entre si de manera arbitraria Los peers se comunican de manera intermintente y con direcciones IP distintas en cada ocasión
muy escalable pero difícil de gestionar (Gp:) peer-peer
Híbrido cliente-servidor y P2P Skype Aplicación voz-sobre-IP arquitectura P2P Servidor centralizado: encontrar dirección IP del interlocutor remoto Conexión cliente-cliente: directa (sin pasar por el servidor) Mensajería instantánea La charla entre 2 usuarios es P2P Servidor centralizado: detecta presencia y localización de los clientes Los usuarios registran su IP con el servidor central al conectarse Los usuarios dialogan con el servidor central en busca de la IP de su contacto
¿Cómo se implementa la capa de aplicación?
Internet Interfaz Usuario Interfaz Usuario Protocolo aplicación A_PDU T_SAP T_SAP Navegadores Web, p.e: Mozilla firefox, Internet Explore, Safari,
El protocolo de nivel de aplicación define: Tipo de mensaje a intercambiar, e.g., petición, respuesta Sintaxis del mensaje Número de campos y delimitación entre ellos Semántica del mensaje Significado de los campos Reglas de cómo y cuándo los procesos envían y responden a los mensajes Protocolos de dominio público: definidos en RFCs Permiten la inter-operatibilidad Ej: HTTP, SMTP Protocolos propietarios: Ej: Skype
Comunicación entre procesos proceso: programa que corre en un equipo (en nuestro caso implementa un determinado protocolo de aplicación). En un mismo equipo, 2 procesos se comunican usando comunicación entre-procesos (la proporciona SO). Procesos en equipos diferentes se comunican intercambiando mensajes (PDU) usando los servicios de comunicación (en general los proporciona SO) Proceso cliente: proceso que inicia la comunicación Proceso servidor: proceso que espera a ser contactado
nota: las aplicaciones P2P combinan ambos procesos, cliente y servidor
Sockets (SAP) Un proceso envía/recibe mensajes a/de su socket Analogía con una puerta: El proceso emisor envía el mensaje a través de la puerta de salida El proceso emisor confía en la infraestructura de transporte que hay detrás de la puerta, encargada de llevar el mensaje hasta la puerta del receptor (Gp:) proceso (Gp:) TCP con buffers, variables (Gp:) socket (Gp:) cliente o servidor
(Gp:) proceso (Gp:) TCP con buffers, variables (Gp:) socket (Gp:) cliente o servidor
Internet Controladopor el SO
Controlado porel desarrollador API: (1) elección del servicio de transporte ; (2) posibilidad de fijar parámetros (a continuación…)
Página siguiente |