2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.

Slides:



Advertisements
Presentaciones similares
PROTOCOLOS JORGE CHAVEZ SANTOS.
Advertisements

CAPA DE TRANSPORTE MODELO OSI
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
Fernando de Janon. Internet Es una red de redes, que se conecta a nivel mundial www: World wide web, es el estándar que permite visualizar textos, imágenes,
Capítulo 2: Capa Aplicación
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
SERVIDOR.
Protocolos de la Capa de Aplicación
TRINO ANDRADE G UNIVERSIDAD ECOTEC. PRESENTACIÓN DE OUTLOOK EXPRESS Microsoft Outlook Express es una herramienta necesaria que le permite administrar.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Identificación con cookies y sesiones en PHP Programación en Internet II.
PROTOCOLO H T T P.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
1 Nivel aplicación Interacción Cliente Servidor Agustín J. González ELO309.
Servidores Conceptos Generales.
AXEL LATORRE GABRIEL VALENZUELA GIAN PAOLO ALMEIDA ROMMEL CHIFLA ISABEL VILLEGAS INTEGRANTES.
Unidad didáctica 6 Diseño de páginas Web.
 Epo 165  Profe Luis Daniel Sánchez paz  Alumna: María Guadalupe mondragon mondragon  Grado 1  Grupo 1  2do semestre  Nl 33.
RESUMEN CAPITULO 6.
Capítulo 2: Capa Aplicación
Introducción1-1 Capítulo 1: Introducción ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como apoyo.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
PROTOCOLO HTTP ALGUNAS DEF.-
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
Sebastián Franco Henao
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Conceptos básicos sobre Internet
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
2: Capa Aplicación 1 Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
 Este protocolo opera a través de solicitudes y respuestas, entre un "cliente" y un "servidor". El cliente para los usuarios es el navegador web, usado.
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Tema 6 – Servicio de Correo Electrónico
S ERVICIOS DE RED E I NTERNET T EMA 4 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS W EB Nombre: Adrián de la Torre López.
2: Capa Aplicación Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
File Transfer Protocol.
TCP/IP Son las siglas de protocolo de transmisión/protocolo de Internet: Es un sistema de protocolo que hacen posibles servicios telnet, ftp, , y.
Ing. Elizabeth Guerrero V.
Tema 4 – Servicio Web Punto 3 – Protocolo HTTP Juan Luis Cano.
UD 1: “Introducción a los servicios de red e Internet”
PROTOCOLO TCP Y UDP.
Ing. Elizabeth Guerrero V.
Protocolos de Transporte y Aplicación. – TCP y UDP
Almacenamiento virtual de sitios web: «Hosts» virtuales
¿QUE ES INTERNET? La Internet es una red de redes. Actualmente conecta miles de redes para permitir compartir información y recursos a nivel mundial. Con.
Servidores. ¿Qué es un servidor? Servidor de Aplicación Servidor de impresión Servidor de base de datos Servidor de correo Servidor de Internet Servidor.
1. 2 Físicamente, Internet (Interconnected Networks) es una red compuesta por miles de redes independientes pertenecientes a instituciones públicas, centros.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Modelo Cliente - Servidor. La Web funciona siguiendo el denominado modelo cliente-servidor, habitual en las aplicaciones que funcionan en una red. Existe.
YUBER ANDRÉS LOAIZA OROZCO SERVIDOR PROXY GESTIÓN DE REDES DE DATOS.
QUÉ ES UN SERVIDOR WEB?. Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones.
Protocolos de Transporte y Aplicación
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
Conociendo el modelo Cliente-Servidor
FTP Y HTTP. HTTP Y HTTPS El Protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol), uno de los protocolos en el conjunto de aplicaciones.
Capítulo 2: Capa Aplicación Web y HTTP
Capítulo 2: Capa Aplicación - II
Capítulo 2: Capa Aplicación - II
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capítulo 2: Capa Aplicación - II
Capa Aplicación: File Transfer Protocol
Capítulo 2: Capa Aplicación Web y HTTP
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capítulo 2: Capa Aplicación Web y HTTP
Transcripción de la presentación:

2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - II ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, 2004.

2: Capa Aplicación 2 Capítulo 2: Capa Aplicación  2.1 Principios de la aplicaciones de red  2.2 Web y HTTP  2.3 FTP  2.4 Correo Electrónico  SMTP, POP3, IMAP  2.5 DNS  2.6 P2P Compartición de archivos  2.7 Programación de Socket con TCP  2.8 Programación de socket con UDP  2.9 Construcción de un servidor WEB

2: Capa Aplicación 3 Web y HTTP  Una página Web está compuesta de objetos  En este contexto objetos pueden ser archivos HTML, imágenes (JPEG, GIF,...), Java applets, archivos de audio, archivos de vídeo,…  Páginas Web consisten generalmente de un archivo HTML base el cual incluye referencias a objetos.  Cada objeto es direccionable por un Universal Resource Locator (URL)  Ejemplo URL: Nombre de la máquina y puertoNombre de camino (path name)

2: Capa Aplicación 4 HTTP Generalidades HTTP: hypertext transfer protocol  Protocolo de la capa aplicación usado por la Web  Modelo cliente/servidor  cliente: browser primero requiere y luego recibe y “despliega” objetos Web  servidor: Servidor Web envía objetos en respuesta a requerimientos  HTTP 1.0: RFC 1945 (1996)  HTTP 1.1: RFC 2068 (1997)  HTTP 1.1 Mejorado RFC 2616 (1999) PC running Explorer Server running Apache Web server Mac running Navigator HTTP request HTTP response

2: Capa Aplicación 5 HTTP generalidades (cont.) Usa TCP: 1) Cliente inicia conexión TCP (crea socket) al servidor, puerto 80 (puede ser otro!) 2) Servidor acepta conexión TCP del cliente 3) Mensajes HTTP (mensajes del protocolo de capa aplicación) son intercambiados entre browser (cliente HTTP) y servidor Web (servidor HTTP) 4) Se cierra la conexión TCP HTTP no guarda “estado”  El servidor no mantiene información sobre los requerimientos del clientes Protocolos que mantienen “estado” son complejos!  Historia pasada (estado) debe ser mantenida  Si servidor o cliente se cae, las vistas del estado pueden ser inconsistentes, y deben ser sincronizadas

2: Capa Aplicación 6 Qué significa que una aplicación siga el modelo cliente servidor? Mencione una aplicación que siga este modelo. Significa que la aplicación posee dos tipos de procesos. Un proceso servidor que debe ser ejecutado en un puerto específico y queda a la espera de peticiones, y procesos clientes que deben saber dónde está el servidor y el puerto donde corre para solicitar servicios. Los clientes pueden correr desde cualquier parte y no requieren estar funcionando permanentemente. Ejemplos son: la web, ssh, ftp, el correo electrónico. ? ¿

2: Capa Aplicación 7 Conexiones HTTP HTTP No-persistente  A lo más un objeto es enviado por una conexión TCP. Es como hacer una llamada por objeto.  HTTP/1.0 usa HTTP no-persistente HTTP Persistente  Múltiples objetos pueden ser enviados por una única conexión TCP entre el cliente y servidor.  HTTP/1.1 usa conexiones persistentes en su modo por defecto PC running Navegador Server running Apache Web server HTTP request HTTP response Ambos por la misma conexión

2: Capa Aplicación 8 HTTP no-persistente Supongamos que el usuario ingresa URL 1a. Cliente HTTP inicia una conexión TCP al servidor HTTP (proceso) en en puerto Cliente HTTP envía mensaje de requerimiento (conteniendo el URL) por el socket de la conexión TCP. El mensaje indica que el cliente quiere el objeto someDepartment/home/index 1b. Servidor HTTP en host esperando por conexiones TCP en puerto 80 “acepta” conexión, notifica al cliente 3. El servidor HTTP recibe el mensaje de requerimiento, forma el mensaje de respuesta que contiene el objeto requerido y envía el mensaje por su socket. tiempo (contiene texto, y referencias a 10 imágenes jpeg )

2: Capa Aplicación 9 HTTP no-persistente (cont.) 5. Cliente HTTP recibe el mensaje respuesta que contiene el archivo html y despliega el html. Analizando el archivo html file, encuentra 10 referencias a objetos jpeg 6. Pasos 1-5 son repetidos para cada uno de los 10 objetos jpeg. 4. Servidor HTTP cierra la conexión. tiempo

2: Capa Aplicación 10 Modelo para tiempo de Respuesta Definición de RTT(round-trip time): tiempo ocupado en enviar un paquete pequeño desde el cliente al servidor y su regreso. Tiempo de respuesta:  Un RTT para iniciar la conexión  Un RTT por requerimiento HTTP y primeros bytes de la respuesta  Tiempo de transmisión del archivo total = 2RTT + tiempo de transmisión time to transmit file initiate TCP connection RTT request file RTT file received time

2: Capa Aplicación 11 HTTP Persistente Problemas de HTTP no-persistente:  requiere 2 RTTs por objeto  el navegador abre conexiones paralelas generalmente para traer objetos referenciados. => OS debe trabajar y dedicar recursos para cada conexión TCP Persistencia sin pipelining:  cliente envía nuevo requerimiento sólo cuando el previo ha sido recibido  un RTT por cada objeto referenciado Persistencia con pipelining:  default en HTTP/1.1  cliente envía requerimientos tan pronto éste encuentra un objeto referenciado  tan poco como un RTT para todas las referencias HTTP Persistente  servidor deja las conexiones abiertas después de enviar la respuesta  mensajes HTTP siguientes entre los mismos cliente/servidor son enviados por la conexión

2: Capa Aplicación 12 HTTP No persistente time to transmit file initiate TCP connection Request file File received time time to transmit file Initiate another TCP connection Request file File received En todos estos diagramas suponemos que los objetos caben en un segmento (=paquete) TCP.

2: Capa Aplicación 13 HTTP persistente time to transmit file initiate TCP connection Request file File received time time to transmit file Request file File received Con Pipeline Request file File received time to transmit file initiate TCP connection Request file File received time time to transmit file Request file File received Sin Pipeline time to transmit file Request file File received

2: Capa Aplicación 14 ¿Cuál es la diferencia entre HTTP persistente con pipeline y sin pipeline que explica el menor tiempo para bajar una página WEB? El menor tiempo lo presenta HTTP persistente con pipeline debido a que éste envía todos los requerimientos de objetos tan pronto los identifica. Así con pieline se logra simultaneidad o paralelismo entre requerimientos que viajan al servidor y repuestas que van hacia el browser. Sin pipeline no hay paralelismo entre requerimientos y respuestas. ? ¿

2: Capa Aplicación 15 Mensaje HTTP de requerimiento  Dos tipos de mensajes HTTP: requerimiento, respuesta  Mensaje de requerimiento HTTP:  ASCII (es decir, formato legible) GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr (carriage return, line feed extra) Carriage return, line feed Indica fin de mensaje Líneas de encabezado Línea de requerimiento (request line) (métodos GET, POST, HEAD, PUT, Delete)

2: Capa Aplicación 16 Mensaje HTTP de requerimiento: formato general

2: Capa Aplicación 17 Subiendo input de formulario Vía Método Post:  Páginas Webs usualmente incluyen entradas de formularios  Los datos son subidos al servidor en el cuerpo del mensaje Vía Método GET:  Entrada es subida en campos URL de la línea de requerimiento:

2: Capa Aplicación 18 Tipos de Métodos HTTP/1.0  GET  POST  HEAD  Pide al servidor que deje el objeto requerido afuera de la respuesta. Respuesta incluye sólo el encabezado. HTTP/1.1  GET, POST, HEAD  PUT  Sube archivos en cuerpo del requerimiento en localización indicada por el campo URL  DELETE  Borra archivo especificado en el campo URL

2: Capa Aplicación 19 Mensajes HTTP de respuesta HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data... Línea de estatus (código de estatus del protocolo Frase de estatus) data, e.g., archivo HTML solicitado Líneas de encabezado

2: Capa Aplicación 20 Códigos HTTP de respuesta 200 OK  request exitoso, objeto requerido es incluido luego en mensaje 301 Moved Permanently  Se movió el objeto requerido, nueva ubicación es especificada luego en el mensaje (Location:) 400 Bad Request  Requerimiento no entendido por el servidor 404 Not Found  Documento no encontrado en servidor 505 HTTP Version Not Supported En primera línea de respuesta del servidor-> cliente. Algunos códigos de muestra:

2: Capa Aplicación 21 Probando HTTP (lado cliente) 1. Telnet a tu servidor favorito: Telnet abre una conexión TCP al puerto 80 (puerto servidor HTTP por omisión) en mateo.elo.utfsm.cl. Cualquier cosa ingresada es enviada a puerto 80 de mateo telnet profesores.elo.utfsm.cl Escribir un requerimiento GET HTTP: GET /~agv/elo322/1s09/prueba.html HTTP/1.1 Host: profesores.elo.utfsm.cl NOTA: Campo Host es obligatorio en encabezado, requerido por proxy. Tipeando esto (doble carriage return), enviamos un GET request mínimo (pero completo) al servido HTTP 3. Observar el mensaje de respuesta enviado por el servidor HTTP! Hacer algo similar con navegador y wireshark

2: Capa Aplicación 22 Para acceder a un servidor web nuestro browser o navegador siempre se conecta a un mismo puerto de la máquina indicada en el URL. Si usted está de acuerdo, indicar el número de puerto. Si usted no está de acuerdo, justifique. No estoy de acuerdo. En general el puerto puede cambiar. Si se omite el puerto en el URL, siempre se conectará al puerto 80 (por omisión). Si al ingresar el URL se especifica un puerto específico, el browser se conectará a ése para buscar el servicio web. ? ¿

2: Capa Aplicación 23 Alguien dice: “Para acceder a un servidor web nuestro browser o navegador siempre se conecta desde un mismo puerto de la máquina local.” ¿Está usted de acuerdo? Justifique. No. El servidor al cual accedemos debe usa el mismo puerto para todos los clientes (mismo número), pero los clientes pueden conectarse desde puertos diferentes (distintos números). ? ¿

2: Capa Aplicación 24 Cómo conocer estado usuario- servidor: cookies Muchos sitios Web importantes usan cookies  Las cookies fueron implementadas para permitir personalizar la información Web.  Cookies es información generada por un Web server y almacenada en el computador del usuario para acceso futuro.  Las cookies son trasportadas entre el computador del usuario y el servidor.  Por ejemplo, cookies son usadas para almacenar ítems en un carro de compra mientras recorres un mall virtual.

2: Capa Aplicación 25 Estado usuario-servidor: cookies Cuatro Componentes: 1) Línea encabezado cookie en el mensaje respuesta HTTP 2) Línea de encabezado cookie en requerimiento HTTP 3) Archivo cookie es almacenado en la máquina del usuario y administrada por su navegador. 4) Base de datos en sitio Web Ejemplo:  Susan accede Internet siempre desde el mismo PC  Ella visita un sitio e-commerce específico por primera vez.  Cuando el requerimiento HTTP inicial llega al sitio, éste crea un ID único y crea una entrada en la base de datos para ese ID.  En mensaje respuesta va información del sitio e ID (cookie)  El navegador de Susan almacena la cookie en disco.  En nuevo acceso al sitio, el navegador incluye ID.

2: Capa Aplicación 26 Cookies: conservando el “estado” (cont.) amazon cliente servidor respuesta http usual Acción específica de la cookie respuesta http usual Acción específica de la cookie Entrada en base de datos Requerimiento http Cookie file Ebay: 8734 acceso requerimiento http cookie: 1678 Servidor crea ID 1678 para usuario Respuesta http + Set-cookie: 1678 Cookie file Ebay: 8734 Amazon: 1678 acceso Un semana más: requerimiento http cookie: 1678 Cookie file Ebay: 8734 Amazon: 1678

2: Capa Aplicación 27 Cookies (cont.) Qué pueden transportar las cookies:  Autorización  Shopping carts  Sugerencias  Estado de la sesión del usuario (Web ) Cookies y privacidad:  Cookies permiten que el sitio aprenda mucho sobre uno.  Podríamos proveer nombre y correo al sitio.  Motores de búsqueda usan redirecciones y cookies para aprender aún más  Compañías de avisos obtienen información de los sitios WEB

2: Capa Aplicación 28 El protocolo HTTP no guarda el estado de la conexión; sin embargo, hoy los sitios de ventas por Internet sí pueden hacer seguimiento de un mismo usuario entre accesos distantes en el tiempo. ¿Cómo se logra? Se logra con el uso de cookies. Éstas se almacenan en el computador del cliente y cuando éste vuelve a acceder al mismo sitio web, el browser envía la cookie al servidor y así éste reconocer el acceso de un usuario previo. ? ¿

2: Capa Aplicación 29 Web caches (también servidores proxy)  Usuario configura el browser: Acceso Web vía cache  Browser envía todos los requerimientos HTTP al cache  Si objeto está en cache: cache retorna objeto  Si no, cache requiere los objetos desde el servidor Web, los almacena y retorna el objeto al cliente. Objetivo: satisfacer el requerimiento del cliente sin involucrar al servidor destino. cliente Servidor Proxy cliente HTTP request HTTP response HTTP request HTTP response Servidor Web Servidor WEB

2: Capa Aplicación 30 Caches v/s proxy  La idea del cache es almacenar “localmente” datos ya solicitados y así poder acceder a los mismos datos más rápidamente en el futuro.  Un problema que debe atender el cache es la obsolescencia que puede tener los datos locales.  El cache puede usar tiempos de expiración, o consultar a la fuente por vigencia del dato local.  Un proxy es un servicio que consiste en realizar una solicitud a pedido de otro.  ¿Les ha pasado que para algunas cosas ustedes desean enviar a otro a hacer el trabajo por ustedes?  Por ejemplo podemos usar proxy para acceder a servicios externos de una intranet, para que desde fuera no se sepa qué computadores hay dentro. El origen es siempre el mismo.

2: Capa Aplicación 31 Más sobre Web caching  Cache actúa como clientes y servidores  Típicamente el cache es instalado por ISP (universidad, compañía, ISP residencial) Por qué Web caching?  Reduce tiempo de respuesta a las peticiones del cliente.  Reduce tráfico en el enlace de acceso al ISP.  Internet densa con caches permite a proveedores de contenido “chicos” (no $$) entregar contenido en forma efectiva.

2: Capa Aplicación 32 Ejemplo de Cache Suposiciones  Tamaño promedio de objetos = bits  Tasa de requerimientos promedio desde browsers de la institución al servidor WEB = 15/sec  Retardo desde el router institucional a cualquier servidor web y su retorno = 2 sec Consecuencias  utilización de la LAN = 15%  utilización del enlace de acceso = 100%  Retardo total = retardo Internet + retardo de acceso + retardo LAN = 2 sec + segundos + milisegundos Servidores web Internet pública Red institucional 10 Mbps LAN 1.5 Mbps Enlace se acceso Sin Cache institucional

2: Capa Aplicación 33 Ejemplo de Cache (cont) Posible solución  Aumentar ancho de banda del enlace a, por ejemplo, 10 Mbps Consecuencias  Utilización de la LAN = 15%  Utilización del enlace de acceso = 15%  Retardo Total = Retardo Internet + retardo de acceso + retardo LAN = 2 sec + msecs + msecs  A menudo un upgrade caro. Sin cache institucional Servidores web Internet pública Red institucional 10 Mbps LAN 10 Mbps Enlace se acceso

2: Capa Aplicación 34 Ejemplo de cache (cont) Instalar un web Cache  Supongamos tasa de éxito 1 (acierto) de 0.4 Consecuencias  40% de los requerimientos serán satisfechos en forma casi inmediata (~10 msec)  60% de los requerimientos satisfechos por el servidor WEB  Utilización del enlace de acceso es reducido al 60%, resultando en retardo despreciable (digamos 10 msec)  Retardo total = Retardo Internet + retardo acceso + retardo LAN = 0.6*(2.01) sec + 0.4*0.01 < 1.3 sec Servidores Web Internet pública Red institucional 10 Mbps LAN 1.5 Mbps Enlace de acceso Cache institucional 1 Tasa de éxito: Fracción de los requerimientos satisfechos por el cache.

2: Capa Aplicación 35 Get Condicional  Objetivo: verificar que el cache tiene la versión actualizada de un objeto  Cache: especifica la fecha de la copia en el requerimiento HTTP If-modified-since:  Servidor: responde sin el objeto si la copia de la cache es la última. : HTTP/ Not Modified cache servidor HTTP request msg If-modified-since: HTTP response HTTP/ Not Modified object no modificado HTTP request msg If-modified-since: HTTP response HTTP/ OK object modificado

2: Capa Aplicación 36 Explique cuándo y cómo se usa el GET condicional. GET condicional es usado cuando un cache desea saber si un contenido que él tiene ha sido actualizado en el servidor. Cuando un navegador pide un mismo contenido al cache, éste envía un GET condicional indicando además la fecha del objeto que él posee. Si no hay una nueva versión en el servidor, éste lo informa en el encabezado y no envía los datos. Si hay actualización, la envía y el cache actualiza su objeto. ? ¿

2: Capa Aplicación 37 Capítulo 2: Capa Aplicación  2.1 Principios de la aplicaciones de red  2.2 Web y HTTP  2.3 FTP  2.4 Correo Electrónico  SMTP, POP3, IMAP  2.5 DNS  2.6 P2P Compartición de archivos  2.7 Programación de Socket con TCP  2.8 Programación de socket con UDP  2.9 Construcción de un servidor WEB