• No se han encontrado resultados

TALLER Redes de computadoras un enfoque descendente CAP2,3.docx

N/A
N/A
Protected

Academic year: 2021

Share "TALLER Redes de computadoras un enfoque descendente CAP2,3.docx"

Copied!
65
0
0

Texto completo

(1)

TALLER LIBRO “REDES DE COMPUTADORAS UN ENFOQUE DESCENDENTE” CAPITULOS 2 Y 3

YEISON SAMIR AGUIRRE QUINTERO DANIEL HASSELL TORO FRANCO

REDES I

NESTOR ALZATE

UNIVERSIDAD CATOLICA DE PEREIRA FACULTAD DE CIENCIAS BASICAS E INGENIERIA

PEREIRA 2014

(2)

Capítulo 2 Cuestiones de repaso SECCIÓN 2.1

1. Enumere cinco aplicaciones de Internet no propietarias y los protocolos de la capa de aplicación que utilizan. R/. FTP: trasferencia de archivos HTTP: La web RCP: llamada remota SMTP: Correo electrónico P2P: Compartición de archivos

2. ¿Cuál es la diferencia entre la arquitectura de red y la arquitectura de aplicación? R/.

La arquitectura de red se usa para la comunicación entre capas del modelo OSI, la arquitectura de aplicación es creada por un desarrollador para el manejo de las aplicaciones en la capa aplicación.

3. En una sesión de comunicación entre dos procesos, ¿qué proceso es el cliente y qué proceso es el servidor?

R/.

Para este caso el proceso que inicia la petición se convierte en cliente a espera de la respuesta del otro proceso que hace las veces de servidor, pero al momento de enviar la respuesta los roles cambian variando del uno al otro en el proceso de cliente servidor.

4. En una aplicación de compartición de archivos P2P, ¿está de acuerdo con la siguiente afirmación: “No existen los lados de cliente y de servidor en una sesión de comunicación”? ¿Por qué?

R/.

La afirmación es falsa, como ya sabemos en un proceso de aplicación P2P, se utilizan dos host uno que es el cliente y otro que hace el papel de servidor.

5. ¿Qué información utiliza un proceso que se ejecuta en un host para identificar a un proceso que se ejecuta en otro host?

R/.

La dirección de destino IP y número de puerto de destino.

6. Suponga que desea realizar una transición desde un cliente remoto a un servidor lo más rápidamente posible. ¿Qué utilizaría, UDP o TCP? ¿Por qué?

R/.

Utilizaría el UDP, ya que se podría hacer en un solo tiempo de ida y vuelta, porque no hace rectificación de archivos ni reenvió de paquetes.

(3)

7. Utilizando la Figura 2.4, podemos ver que ninguna de las aplicaciones indicadas en dicha figura presenta a la vez requisitos de temporización y de ausencia de pérdida de datos. ¿Puede concebir una aplicación que requiera que no haya pérdida de datos y que también sea extremadamente sensible al tiempo?

R/.

Hasta el momento no hay una aplicación que solucione o este exenta de la perdida de datos. 8. Enumere las cuatro clases principales de servicios que puede proporcionar un protocolo de transporte. Para cada una de las clases de servicios, indique si UDP o TCP (o ambos) proporcionan un servicio así.

R/.

Seguridad

La garantía de que los datos se entreguen en un periodo de tiempo especifico La garantía de que se mantendrá un cierto valor para el rendimiento.

Transferencia de datos fiables por medio del protocolo TCP.

9. Recuerde que TCP puede mejorarse con SSL para proporcionar servicios de seguridad proceso a proceso, incluyendo mecanismos de cifrado. ¿En qué capa opera SSL, en la capa de transporte o en la capa de aplicación? Si el desarrollador de la aplicación desea mejorar TCP con SSL, ¿qué tendrá que hacer?

R/.

Los SSL operan en la capa de Aplicación, y para mejorar la seguridad del TCP, solo debería incluir el código de la aplicación SSL

SECCIONES 2.2 – 2.5

10. ¿Qué quiere decir el término protocolo de acuerdo? R/.

Es cuando dos protocolos necesitan hacer un acuerdo al inicio de la comunicación, como es el caso del mensaje instantáneo.

11. ¿Por qué HTTP, FTP, SMTP y POP3 se ejecutan sobre TCP en lugar de sobre UDP? R/.

Las aplicaciones asociadas a los protocolos requieren que todos los datos de la aplicación deben ser recibidos correctamente y sin lagunas. TCP proporciona este servicio mientras que UDP no lo hace.

12. Un sitio de comercio electrónico desea mantener un registro de compras para cada uno de sus clientes. Describa cómo se puede hacer esto utilizando cookies.

R/.

Cuando el usuario visita primero el sitio, el sitio devuelve un número de cookie. Este cookie o número se almacena en el host del usuario y es administrado por el navegador. Durante cada visita, el navegador envía el número de cookie de vuelta al sitio. Así, el sitio sabe cuando este usuario (más precisamente, este navegador) está de visita en el sitio.

13. Describa cómo el almacenamiento en caché web puede reducir el retardo de recepción de un objeto solicitado. ¿Reducirá este tipo de almacenamiento el retardo de todos los objetos solicitados por el usuario o sólo el de algunos objetos? ¿Por qué?

(4)

R/.

El almacenamiento en caché Web puede traer el contenido deseado "más cerca" del usuario, tal vez a la misma LAN al que está conectado el host del usuario. El almacenamiento en caché Web puede reducir la velocidad de transferencia lo que retrasa la entrega de paquetes para todos los objetos, incluso los objetos no tratan de almacenar en caché, ya que el almacenamiento en caché reduce el tráfico en los enlaces.

14. Establezca una sesión Telnet en un servidor web y envíe un mensaje de solicitud de varias líneas. Incluya en dicho mensaje la línea de cabecera If-modified-since: para forzar un mensaje de respuesta con el código de estado 304 Not Modified.

15. ¿Por qué se dice que FTP envía la información de control “fuera de banda”? R/.

FTP utiliza dos conexiones TCP paralelas, una conexión para enviar información de control (tal como una solicitud para transferir un archivo) y otra conexión realmente para transferir el archivo. Debido a que la información de control no se envía a través de la misma conexión, el protocolo FTP envía información de control fuera de banda.

16. Suponga que Alicia, que dispone de una cuenta de correo electrónico web (como por ejemplo Hotmail o gmail), envía un mensaje a Benito, que accede a su correo almacenado en su servidor de correo utilizando POP3. Explique cómo se transmite el mensaje desde el host de Alicia hasta el de Benito. Asegúrese de citar la serie de protocolos de la capa de aplicación que se utilizan para llevar el mensaje de un host al otro.

R/.

El mensaje se envía desde un anfitrión HTTP en este caso el servidor de correo de Alice. El servidor de correo de Alice envía el mensaje al servidor de correo de Bob a través de SMTP. Bob y luego transfiere el mensaje de su servidor de correo a su anfitrión a través de POP3.

17. Imprima la cabecera de un mensaje de correo electrónico que haya recibido recientemente. ¿Cuántas líneas de cabecera Received: contiene? Analice cada una de las líneas de cabecera del mensaje.

R/.

Delivered-To: [email protected]

Recibido: por 10.216.123.196 con SMTP Identificación v46csp242148weh; Mar, 01 de abril 2014 18:26:16 -0700 (PDT)

-Recibido X: por 10.67.22.100 con SMTP Identificación hr4mr17703257pad.112.1396401976151; Mar, 01 de abril 2014 18:26:16 -0700 (PDT)

Return-Path: <[email protected]>

Recibido: de bay0-OMC2-s10.bay0.hotmail.com (. Bay0-OMC2-s10.bay0.hotmail.com [65.54.190.85])

por mx.google.com con ESMTP Identificación wh4si171571pbc.477.2014.04.01.18.26.15 para <[email protected]>;

Mar, 01 de abril 2014 18:26:16 -0700 (PDT)

Recibido-SPF: pass (google.com: domain de [email protected] designa 65.54.190.85 como remitente permitido) client-ip = 65.54.190.85;

(5)

spf = pass (google.com: domain de [email protected] designa 65.54.190.85 como remitente permitido) smtp.mail = [email protected]

Recibido: de BAY172-W29 ([65.54.190.123]) por bay0-OMC2-s10.bay0.hotmail.com con Microsoft SMTPSVC (6.0.3790.4675); Mar, 01 de abril 2014 18:26:15 -0700 X-RGT: [usXfrXnOO99SIurzMlIk0TWcJEp3YEmj] X-Originating-Email: [[email protected]] Message-ID: <[email protected]> Return-Path: [email protected]

Content-Type: multipart / alternative;

boundary = "_5aadb00a-be2e-4741-ADC6-7a38d3ee2602_" De: Yeison Aguirre <[email protected]>

A: Daniel Toro <[email protected]> Asunto: Prueba

Fecha: Martes, 01 de abril 2014 20:26:15 -0500 Importancia: Normal

MIME-Version: 1.0

X-OriginalArrivalTime: 02 de abril 2014 01:26:15.0257 (UTC) FILETIME = [8A3B8C90: 01CF4E12] - _5aadb00a-Be2e-4741-ADC6-7a38d3ee2602_

Content-Type: text / plain; charset = "iso-8859-1" Content-Transfer-Encoding: quoted-printable Hola =

- _5aadb00a-Be2e-4741-ADC6-7a38d3ee2602_ Content-Type: text / html; charset = "iso-8859-1" Content-Transfer-Encoding: quoted-printable <html> <head> <style> <! - . Hmmessage P { margen: 0px = 3B padding: 0px } body.hmmessage { font-size: 12pt = 3B font-family: Calibri } -> </ Style> </ head>

<body class=3D'hmmessage'> <div dir=3D'ltr'> de Hola </ div> </ body> </ Html> =

(6)

Se pueden observar 5 recibidos lo cual significa que el mensaje de correo electrónico pasó por 6

servidores antes de llegar a su destinatario.

Nos muestra la Ip del cliente servidor que en este caso es: 65.54.190.85.

Muestra el remitente y destinatario: <[email protected]>, <[email protected]>. Muestra el STMP Cliente mail: [[email protected]].

La fecha de y hora exacta en que el remitente envía el mensaje: Martes, 01 de abril 2014 20:26:15 -0500.

18. Desde la perspectiva de un usuario, ¿cuál es la diferencia entre el modo “descargar y borrar” y el modo “descargar y mantener” en POP3?

R/.

Con la descarga y borrar, después de que un usuario recupera sus mensajes de un servidor POP, se eliminan los mensajes. Esto plantea un problema para el usuario nómada, que puede o desea acceder a los mensajes desde muchas máquinas diferentes (la oficina de PC, PC de casa,

etc.) En la descarga y mantener la configuración de los mensajes no se eliminan después de que el usuario recupera los mensajes. Esto puede resolver inconvenientes, ya que cada vez que el usuario recupera los mensajes almacenados de una nueva máquina, todos los mensajes que no son eliminados serán transferidos a la nueva máquina (incluyendo mensajes muy viejos). 19. ¿Pueden el servidor web y el servidor de correo electrónico de una organización tener exactamente el mismo alias para un nombre de host (por ejemplo, foo.com)? ¿Cuál sería el tipo especificado en el registro de recurso (RR) que contiene el nombre de host del servidor de correo? R/.

Si, el servidor de correo de una organización y el servidor Web pueden tener el mismo alias para un nombre de host. El registro MX se utiliza para asignar el nombre de host del servidor de correo a su dirección I.P

SECCIÓN 2.6

20. En Bit Torrent, suponga que Alicia proporciona fragmentos a Benito a intervalos de 30 segundos. ¿Devolverá necesariamente Benito el favor y proporcionará fragmentos a Alicia en el mismo intervalo de tiempo? ¿Por qué?

R/.

No es necesario que Bob también proporcionara fragmentos a Alice. Alice tiene que estar en los 4 primeros vecinos de Bob para que Bob envíe fragmentos de ella, que puede no ocurrir incluso si ha Alice le proporciona fragmentos a Bob a lo largo de un intervalo de 30 segundos.

21. Suponga que un nuevo par Alicia se une a Bit Torrent sin tener en su posesión ningún

fragmento. Dado que no posee fragmentos, no puede convertirse en uno de los cuatro principales suministradores de ninguno de los otros pares, ya que no tiene nada que suministrar. ¿Cómo obtendrá entonces Alicia su primer fragmento?

R/.

Mercedes recibirá su primer fragmento, como resultado de ella siendo seleccionado por uno de sus vecinos, como resultado de un "desenlace", para el envío de fragmentos de ella.

(7)

22. ¿Qué es una red solapada? ¿Contiene routers? ¿Cuáles son las fronteras en una red solapada? ¿Cómo se crea y se mantiene la red solapada que se encarga de distribuir las consultas?

R/.

La red superpuesta en un sistema de intercambio de archivos P2P consiste en los nodos que participan en el sistema de intercambio de archivos y los vínculos lógicos entre los nodos. Hay un enlace lógico (un "borde" en términos de teoría del gráfico ) del nodo A al nodo B si existe una conexión TCP semipermanente entre A y B. Una red overlay no incluye routers. Con Gnutella , cuando un nodo quiere unirse a la red Gnutella , primero descubre ( " fuera de banda" ) la dirección IP de uno o más que ya están en la red de nodos. A continuación, envía mensajes para unirse a estos nodos . Cuando el nodo recibe confirmaciones, se convierte en un miembro de la red Gnutella. Los nodos mantienen sus vínculos lógicos con mensajes de actualización periódicos.

23. ¿En qué sentido la mensajería instantánea con un índice centralizado es un híbrido de las arquitecturas cliente-servidor y P2P?

R/.

- Hay un componente centralizado (el índice) como en el caso de un sistema cliente-servidor. - Otras funciones (excepto la indexación) las cuales no utilizan ningún tipo de servidor central. Esto es similar a lo que existe en un sistema P2P.

24. Considere una DHT con una topología de red solapada en malla (es decir, cada par controla a todos los demás pares del sistema). ¿Cuáles son las ventajas y desventajas de un diseño de este tipo? ¿Cuáles son las ventajas y desventajas de una DHT circular (sin atajos)?

R/.

Malla DHT: La ventaja es que una ruta un mensaje a los pares más cercanos a la clave, sólo se requiere un salto, la desventaja es que cada interlocutor debe realizar un seguimiento de todos los demás compañeros en el DHT. DHT circular: la ventaja es que cada par tiene que realizar un seguimiento de sólo unos pocos otros compañeros; la desventaja es que se necesitan O (n) lúpulo para en rutar un mensaje a un compañero responsable de la tecla.

25. Skype utiliza técnicas P2P para dos funciones importantes. ¿Cuáles son dichas funciones? R/.

- La ubicación de los usuarios.

- NAT transversal ya que permite el uso del direccionamiento privado en las redes, tanto de empresas como domésticas.

26. Cite al menos cuatro aplicaciones distintas que se adapten de forma natural a las arquitecturas P2P. (Sugerencia: la distribución de archivos y la mensajería instantánea son dos de ellas.)

R/.

- Distribución de archivos - Mensajería instantánea - Video Streaming

- Computación Distribuida

27. El servidor UDP descrito en la Sección 2.8 sólo necesitaba un socket, mientras que el servidor TCP descrito en la Sección 2.7 necesitaba dos. ¿Por qué? Si el servidor TCP tuviera que soportar n

(8)

conexiones simultáneas, cada una procedente de un host cliente distinto, ¿cuántos sockets necesitaría el servidor TCP?

R/.

Con el servidor TCP hay un socket que recibe, y cada vez que un cliente inicia una conexión con el servidor, se crea un nuevo socket. Por lo tanto, para soportar n conexiones simultáneas, el servidor tendría que utilizar n 1 sockets.

Con el servidor UDP, no hay ningún socket, y todos los datos de los diferentes clientes entran en el servidor a través de este zócalo.

28. En la aplicación cliente-servidor sobre TCP descrita en la Sección 2.7, ¿por qué tiene que ser ejecutado el programa servidor antes que el programa cliente? En la aplicación cliente-servidor sobre UDP descrita en la Sección 2.8, ¿por qué el programa cliente puede ejecutarse antes que el programa servidor?

R/.

Tan pronto como el cliente se ejecuta, que intenta iniciar una conexión TCP con el servidor. Si el servidor TCP no se está ejecutando, el cliente no podrá establecer una conexión.

Para la aplicación UDP, el cliente no inicia conexiones (o el intento de comunicarse con el servidor UDP) inmediatamente después de la ejecución.

Capítulo 2 Problemas 1. ¿Verdadero o falso?

a. Un usuario solicita una página web que consta de texto y tres imágenes. Para obtener esa página, el cliente envía un mensaje de solicitud y recibe cuatro mensajes de respuesta. R/.

Falsa

b. Dos páginas web diferentes (por ejemplo, www.mit.edu/research.htmly www. mit.edu/students.html) se pueden enviar a través de la misma conexión persistente. R/.

Verdadera

c. Con las conexiones no persistentes entre un navegador y un servidor de origen, un único segmento TCP puede transportar dos mensajes de solicitud HTTP distintos.

R/. Falsa

d. d. La línea de cabecera Date: del mensaje de respuesta HTTP indica cuándo el objeto fue modificado por última vez.

R/. Falsa

e. Los mensajes de respuesta HTTP nunca incluyen un cuerpo de mensaje vacío. R/.

(9)

Falsa

2. Lea el documento RFC 959 relativo a FTP. Enumere todos los comandos cliente que están soportados por dicho documento.

R/.

Comandos de Control de Acceso:

USER, PASS, ACT, CWD, CDUP, SMNT, REIN, QUIT. Comando de Parámetros de Transferencia: PORT, PASV, TYPE STRU, MODE.

Comandos de Servicio:

RETR, STOR, STOU, APPE, ALLO, REST, RNFR, RNTO, ABOR, DELE, RMD, MRD, PWD, LIST, NLST, SITE, SYST, STAT, HELP, NOOP.

P3. Un cliente HTTP desea recuperar un documento web que se encuentra en un URL dado. Inicialmente, la dirección IP del servidor HTTP es desconocida. ¿Qué protocolos de la capa de aplicación y de la capa de transporte además de HTTP son necesarios en este escenario?

R/.

Protocolos de capa de aplicación: DNS y HTTP

Protocolos de capa de transporte: UDP para DNS; TCP para HTTP

4. La siguiente cadena de caracteres ASCII ha sido capturada por Wireshark cuando el navegador enviaba un mensaje GET HTTP (es decir, éste es el contenido real de un mensaje GET HTTP). Los caracteres <cr><lf>representan el retorno de carro y el salto de línea (es decir, la cadena de caracteres en cursiva <cr>del texto que sigue a este párrafo representa el carácter de retorno de carro contenido en dicho punto de la cabecera HTTP). Responda a las siguientes cuestiones, indicando en qué parte del siguiente mensaje GET HTTP se encuentra la respuesta.

GET /cs453/index.html HTTP/1.1<cr><lf>Host: gai a.cs.umass.edu<cr><lf>User-Agent: Mozilla/5.0 ( Windows;U; Windows NT 5.1; en-US; rv:1.7.2) Gec ko/20040804 Netscape/7.2 (ax) <cr><lf>Accept:ex t/xml, application/xml, application/xhtml+xml, text /html;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 <cr><lf>Accept-Language: en-us,en;q=0.5<cr><lf>Accept Encoding: zip,deflate<cr><lf>Accept-Charset: ISO

-8859-1,utf-8;q=0.7,*;q=0.7<cr><lf>Keep-Alive: 300<cr> <lf>Connection:keep-alive<cr><lf><cr><lf>

a. ¿Cuál es el URL del documento solicitado por el navegador? R/.

http://gaia.cs.umass.edu/cs453/index.html. The Host : field

indicates the server's name and /cs453/index.html indicates the file name. b. ¿Qué versión de HTTP se está ejecutando en el navegador?

R/.

(10)

c. ¿Qué tipo de conexión solicita el navegador, persistente o no persistente? R/.

El navegador solicita una conexión persistente, como se indica en la conexión: keep-alive

.

d. ¿Cuál es la dirección IP del host en el que se está ejecutando el navegador? R/.

Esa información no es suministrada en un mensaje HTTP

e. ¿Qué tipo de navegador inicia este mensaje? ¿Por qué es necesario indicar el tipo de navegador en un mensaje de solicitud HTTP?

R/.

Mozilla/5.0. La información del tipo de navegador es necesario por el servidor, para enviar diferentes versiones de un mismo objeto a diferentes tipos de navegadores. 5. El siguiente texto muestra la respuesta devuelta por el servidor al mensaje de solicitud GET HTTP del problema anterior. Responda a las siguientes cuestiones, indicando en qué parte del siguiente mensaje se encuentran las respuestas.

HTTP/1.1 200 OK<cr><lf>Date: Tue, 07 Mar 2008 12:39:45GMT<cr><lf>Server: Apache/2.0.52 (Fedora) <cr><lf>Last-Modified: Sat, 10 Dec2005 18:27:46 GMT<cr><lf>ETag: “526c3-f22-a88a4c80”<cr><lf>

Accept-Ranges: bytes<cr><lf>Content-Length: 3874<cr><lf> Keep-Alive: timeout=max=100<cr><lf>Connection:

Keep-Alive<cr><lf>Content-Type: text/html; charset= ISO-8859-1<cr><lf><cr><lf><!doctype html public “- //w3c//dtd html 4.0 transitional//en”><lf><html><lf> <head><lf> <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1”><lf>

<meta name=”GENERATOR” content=”Mozilla/4.79 *en+ (Windows NT 5.0; U) Netscape+”><lf> <title>CMPSCI 453 / 591 /

NTU-ST550A Spring 2005 homepage</title><lf></head><lf> <aquí continúa el texto del documento (no mostrado)>

a. ¿Ha podido el servidor encontrar el documento? ¿En qué momento se suministró respuesta con el documento?

R/.

El código de estado 200 indica que el camarero fue capaz de localizar el documento con éxito. La respuesta fue enviada el Martes, 07 de marzo 2008 12:39:45.

b. ¿Cuándo fue modificado por última vez el documento? R/.

El documento fue modificado por última vez el sábado 10 de diciembre 2005 18:27:46 GMT. c. ¿Cuántos bytes contiene el documento devuelto?

(11)

Hay 3874 bytes en el documento que se devuelve.

d. ¿Cuáles son los primeros cinco bytes del documento que se está devolviendo? ¿Ha acordado el servidor emplea una conexión persistente?

R/.

Los primeros cinco bytes del documento devuelto son: <!doc. El servidor emplea una conexión persistente, como lo indica la conexión: Keep-Alive.

6. Utilice la especificación HTTP/1.1 (RFC 2616) para responder a las siguientes cuestiones:

a. Explique el mecanismo de señalización entre el cliente y el servidor para indicar que se está cerrando una conexión persistente. ¿Quién puede señalizar el cierre de la conexión, el cliente, el servidor o ambos?

R/.

El cliente o el servidor pueden indicar al otro que se va a cerrar la conexión persistente. Lo hacen mediante la inclusión de la primitiva Connection -token "Close" en el campo Connection- Header del HTTP petición / respuesta.

b. ¿Qué servicios de cifrado proporciona HTTP? R/.

HTTP no proporciona servicios de cifrado.

c. ¿Puede un cliente abrir tres o más conexiones simultáneas con un determinado servidor?

R/.

"Los clientes que usan conexiones persistentes deben limitar el número de conexiones simultáneas que mantienen a un servidor determinado. Un cliente no debe mantener más de 2 conexiones con cualquier servidor o proxy. "

d. Un servidor o un cliente pueden cerrar una conexión de transporte entre ellos si uno detecta que la conexión ha estado inactiva durante un cierto tiempo. ¿Es posible que un lado inicie el cierre de una conexión mientras que el otro lado está transmitiendo datos a través de dicha conexión? Explique su respuesta.

R/.

Sí. Un cliente podría haber comenzado a enviar una nueva solicitud al mismo tiempo que el servidor ha decidido cerrar la conexión “inactiva”. Desde el punto de vista del servidor, la conexión se está cerrando mientras estaba en reposo, y del punto de vista del cliente, la solicitud está en curso.

7. Suponga que en su navegador hace clic en un vínculo a una página web. La dirección

IP correspondiente al URL asociado no está almacenado en la caché de su host local, por lo que es necesario realizar una búsqueda DNS para obtener la dirección IP. Suponga que antes de que su host reciba la dirección IP de DNS se han visitado n servidores DNS y que los tiempos de ida y vuelta (RTT) de las sucesivas visitas son RTT 1 , . . ., RTT n. Suponga además que la página web asociada con el vínculo contiene exactamente un objeto, que consta de un pequeño fragmento de texto HTML. Sea RTT 0 el tiempo RTT entre el host local y el servidor que contiene el objeto.

(12)

Suponiendo un tiempo de transmisión despreciable para el objeto, ¿cuánto tiempo transcurre desde que el cliente hace clic en el vínculo hasta que recibe el objeto?

R/.

La cantidad total de tiempo para conseguir la dirección IP es: RTT1 + RTT2 +…+ RTTn.

Una vez que se conoce la dirección IP, RTT0 que pasa a configurar la conexión TCP y otro pasa a RTT0 solicitar y recibir un pequeño objeto. El tiempo de respuesta total es:

2RTT0 + RTT1 + RTT2 +…+ RTTn.

8. Continuando con el Problema P7, suponga que el archivo HTML hace referencia a ocho objetos muy pequeños que se encuentran en el mismo servidor. Despreciando los tiempos de transmisión, ¿cuánto tiempo transcurre si se utiliza

a. HTTP no persistente sin conexiones TCP en paralelo? R/.

RTT1 + … + RTTn + 2RTT0 + 8 * 2RTT0 =18RTT0 + RTT1 + … + RTTn

b. HTTP no persistente con el navegador configurado para 5 conexiones paralelo? R/. RTT1 + … + RTTn + 2RTT0 + 2 * 2RTT0 = 6RTT0 + RTT1 + … + RTTn c. HTTP persistente? R/. RTT1 + … + RTTn + 2RTT0 + RTT0 = 3RTT0 + RTT1 + … + RTTn

9. En la red institucional conectada a Internet de la Figura 2.12, suponga que el tamaño medio de objeto es de 850.000 bits y que la tasa media de solicitudes de los navegadores de la institución a los servidores de origen es de 16 solicitudes por segundo. Suponga también que el tiempo que se tarda desde que el router en el lado de Internet del enlace de acceso reenvía una solicitud HTTP hasta que recibe la respuesta es, como media, de tres segundos (véase la Sección 2.2.5). Modele el tiempo medio de respuesta total como la suma del retardo medio de acceso (es decir, el retardo desde el router de Internet al router de la institución) y el retardo medio de Internet. Para el retardo medio de acceso, utilice la expresión / (1 –), donde es el tiempo medio requerido para enviar un objeto a través del enlace de acceso y es la tasa de llegada de los objetos al enlace de acceso.

a. Calcule el tiempo medio de respuesta total. R/.

El tiempo para transmitir un objeto de tamaño L sobre un enlace o tasa R es L/R. El promedio de tiempo es el tamaño medio del objeto dividida por R:

(13)

La intensidad de tráfico en el enlace viene dado por:

βΔ = ( 16 peticiones / seg ) ( 0.0567 seg / petición) = 0.907 .

Por lo tanto, el retardo de acceso promedio es (0,0567 seg ) / ( 1-0,907 ) ≈ 0,6 seg. El total Por lo tanto, del tiempo de respuesta promedio es de 0.6 seg + 3 seg = 3,6 seg.

b. Ahora suponga que hay instalada una caché en la LAN institucional. Suponga que la tasa de fallos es de 0,4. Calcule el tiempo de respuesta total

R/.

La intensidad del tráfico en el enlace de acceso se reduce en un 60 % desde el 60 % de las peticiones que se cumplen dentro de la red institucional. Así, el retardo de acceso promedio es (0,0567 seg) / [1 - (0,4) (0,907)] = 0,089 segundos. El tiempo de respuesta es de aproximadamente cero si la petición se satisface con la memoria caché (lo que ocurre con probabilidad 0.6), el tiempo medio de respuesta es de 0.089 sec + 3 seg = 3,089 seg para los fallos de caché (que suceden el 40 % del tiempo). Así que el tiempo medio de respuesta es de (0.6) (0 segundos) + (0.4) (3.089seg) = 1,24 segundos. Así, el tiempo medio de respuesta se reduce de 3,6 a 1,24 seg.

10. Dispone de un enlace corto de 10 metros a través del cual un emisor puede transmitir a una velocidad de 150 bits/segundo en ambos sentidos. Suponga que los paquetes de datos tienen una longitud de 100.000 bits y los paquetes que contienen sólo comandos de control (por ejemplo, ACK o de acuerdo) tienen una longitud de 200 bits. Suponga que hay N conexiones en paralelo y que cada una utiliza 1/Ndel ancho de banda del enlace. Considere ahora el protocolo HTTP y suponga que cada objeto descargado es de 100 kbytes de largo y que el objeto inicialmente descargado contiene 10 objetos referenciados procedentes del mismo emisor. ¿Tiene sentido en este caso realizar descargas en paralelo mediante instancias paralelas de HTTP no persistente? Considere ahora HTTP persistente. ¿Cabe esperar alguna ventaja significativa respecto del caso no persistente? Justifique y explique su respuesta.

R/.

Cada objeto puede ser completamente descargado pero en un paquete de datos. Con el Tp cabe denotar el retardo de propagación de un solo sentido entre el cliente y el servidor.

Primero se consideran las descargas paralelas a través de conexiones no persistentes. La descarga paralela permitiría 10 conexiones que comparten el ancho de banda de 150 bits/s, por lo que cada uno recibe solo 15 bits/seg. Por lo tanto, el tiempo total necesario para recibir todos los objetos está dado por:

(200/150 + TP + 200/150 + TP + 200/150 + TP + 100 000 / 150 + Tp) + ( 200 / ( 150/10 ) + TP + 200 / ( 150/10 ) + TP + 200 / ( 150/10 ) + TP + 100000 / ( 150/10 ) + Tp )

= 7377 + 8 * Tp (segundos)

Entonces consideremos una conexión HTTP persistente. El tiempo total necesario es de: (200/150 + TP + 200/150 + TP + 200/150 + TP + 100 000 / 150 + Tp)

+ 10 * (200/150 + TP + 100 000 / 150 + Tp) = 7351 + 24 * Tp (segundos)

Supongamos que la velocidad de la luz es de 300 * 106 m/seg, a continuación, Tp = 10 / (300 * 106) = 0,03 microsegundos.

(14)

Por lo tanto, vemos que el HTTP persistente no tiene ganancia significativa (menos de 1 por ciento) sobre el caso no persistente con descarga paralela.

11. Continuando con el escenario del problema anterior, suponga que Benito comparte el enlace con otros cuatro usuarios. Benito utiliza instancias paralelas de HTTP no persistente y los otros cuatro usuarios utilizan HTTP no persistente sin descargas en paralelo.

a. ¿Le ayudan a Benito las conexiones en paralelo a obtener las páginas más rápidamente? ¿Por qué?

R/.

Sí, porque Benito tiene más conexiones, y así pueda obtener proporcionalmente más ancho de banda de la cuota del ancho de banda total del enlace.

b. Si los cinco usuarios abren cinco instancias paralelas de HTTP no persistente, ¿seguirán siendo beneficiosas las conexiones en paralelo de Benito? ¿Por qué?

R/.

Sí, Benito aún necesita realizar descargas en paralelo, de lo contrario va a recibir menos cuota de ancho de banda que otros cuatro usuarios. De hecho, todos los usuarios podrían tender a abrir más conexiones con el fin de ganar más cuota de ancho de banda.

12. Escriba un programa TCP simple para un servidor que acepte líneas de entrada procedentes de un cliente y muestre dichas líneas en la salida estándar del servidor. (Puede realizar esta tarea modificando el programa TCP Servidor. Java visto en el capítulo.)

Compile y ejecute su programa. En cualquier otra máquina que disponga de un navegador web, configure el servidor proxy en el navegador para que apunte al host que está ejecutando su programa servidor; configure también el número de puerto de la forma apropiada. Su navegador deberá ahora enviar sus mensajes de solicitud GET a su servidor y el servidor tendrá que mostrar dichos mensajes en su salida estándar. Utilice esta plataforma para determinar si su navegador genera mensajes GET condicionales para los objetos almacenados localmente en la caché.

R/.

13. ¿Cuál es la diferencia entre MAIL FROM: en SMTP y Fromm: en el propio mensaje de correo? R/.

La MAIL FROM: en SMTP es un mensaje desde el cliente SMTP que identifica al remitente del mail a servidor SMTP. “El De:” en el mensaje de correo no es un mensajes SMTP, sino más bien es sólo una línea en el cuerpo del mensaje de correo.

(15)

14. ¿Cómo marca SMTP el final del cuerpo de un mensaje? ¿Cómo lo hace HTTP? ¿Puede HTTP utilizar el mismo método que SMTP para marcar el final del cuerpo de un mensaje? Explique su respuesta.

R/.

SMTP utiliza una línea que contiene sólo un período para marcar el final de un cuerpo de mensaje.

HTTP utiliza "campo de encabezado Content-Length" para indicar la longitud de un cuerpo del mensaje.

No, HTTP no puede utilizar el método utilizado por SMTP, porque el mensaje HTTP podría ser datos binarios, mientras que en SMTP, en el cuerpo del mensaje debe estar en formato ASCII de 7 bits.

15. Lea el documento RFC 5321 dedicado a SMTP. ¿Qué quiere decir MTA? Considere el siguiente mensaje de correo basura recibido (modificado a partir de un correo basura real). Suponiendo que únicamente el remitente de este mensaje de correo es malicioso y que los demás hosts son honestos, identifique al host malicioso que ha generado este correo basura.

From - Fri Nov 07 13:41:30 2008

Return-Path: <[email protected]> Received: from barmail.cs.umass.edu

(barmail.cs.umass.edu [128.119.240.3]) by cs.umass.edu (8.13.1/8.12.6) for <[email protected]>; Fri, 7 Nov 2008 13:27:10 -0500

Received: from asusus-4b96 (localhost [127.0.0.1]) by barmail.cs.umass.edu (Spam Firewall) for

<[email protected]>; Fri, 7 Nov 2008 13:27:07 -0500 (EST)

Received: from asusus-4b96 ([58.88.21.177]) by barmail.cs.umass.edu for <[email protected]>; Fri, 07 Nov 2008 13:27:07 -0500 (EST)

Received: from [58.88.21.177] by

inbnd55.exchangeddd.com; Sat, 8 Nov 2008 01:27:07 +0700 From: "Jonny" <[email protected]>

To: <[email protected]>

Subject: Cómo asegurar sus ahorros R/.

MTA es sinónimo de Agente de Transferencia de Correo. Un correo electrónico se envía por una fuente a un MTA y entonces se sigue una secuencia de MTA para llegar al lector de correo del receptor.

Vemos que este correo electrónico no deseado sigue una cadena de MTA. Un MTA honesto debe informar donde recibe el mensaje. Nótese que en este correo electrónico, "asusus-4b96 ([58.88.21.177]) "no informa de donde recibe el correo electrónico. Como se supone que sólo el autor es errado, por lo que "asusus-4b96 ([58.88.21.177])" debe ser el originador.

16. Lea el documento RFC 1939 dedicado a POP3. ¿Cuál es el propósito del comando UIDL POP3?

(16)

UIDL es abreviatura de "lista única-ID". Cuando un cliente POP3 emite el comando UIDL, el servidor responde con el ID de mensaje único para todos los mensajes presentes en los usuarios de buzones. Este comando es útil para "descargar y guardar". Al mantener un archivo que enumera los mensajes recuperados en las sesiones anteriores, el cliente puede utilizar el comando UIDL para determinan que ya se han visto los mensajes en el servidor.

17. Imagine que accede a su correo electrónico utilizando POP3.

a. Suponga que ha configurado su cliente de correo POP para operar en el modo descargar y borrar. Complete la siguiente transacción:

C: list S: 1 498 S: 2 912 S:. C: retr 1 S: bla bla... S: ...blah S:. R/. C:dele 1 C:retr 2 S:(blah blah … S:………..blah) S:. C:dele 2 C:quit

S:+OK POP3 server signing off

b. Suponga que ha configurado su cliente de correo POP para operar en el modo descargar y guardar. Complete la siguiente transacción:

C: list S: 1 498 S: 2 912 S: . C: retr 1 S: bla bla ... S: ...bla S: . R/. C:retr 2 S:blah blah … S:………..blah S:. C:quit

(17)

c. Suponga que ha configurado su cliente de correo POP para operar en el modo descargar y guardar. Utilizando su transcripción del apartado (b), suponga que recupera los mensajes 1 y 2, sale de POP, y cinco minutos más tarde vuelve a acceder otra vez a POP para recuperar un nuevo mensaje de correo. Suponga que en ese intervalo de cinco minutos nadie le ha enviado un nuevo mensaje de correo. Proporcione una transcripción de esta segunda sesión de POP.

R/. C:list S:1 498 S:2 912 S:. C:retr 1 S:blah ….. S:….blah S:. C:retr 2 S:blah blah … S:………..blah S:. C:quit

S:+OK POP3 server signing off 18. a. ¿Qué es una base de datos whois?

R/.

Para una determinada entrada de nombre de dominio (como ccn.com), dirección IP o red nombre del administrador, whoisdatabase se puede utilizar para localizar el registro correspondiente, servidor whois, servidor DNS, y así sucesivamente.

d. Utilice varias bases de datos whois de Internet para obtener los nombres de dos servidores DNS. Indique qué bases de datos whois ha utilizado.

R/.

NS4.YAHOO.COM de www.register.com; NS1.MSFT.NET de ww.register.com

e. Utilice el programa nslookup en su host local para enviar consultas DNS a tres servidores DNS: su servidor DNS local y los dos servidores DNS que haya encontrado en el apartado (b). Intente realizar consultas para obtener registros de recursos de tipo A, NS y MX. Escriba un resumen de sus hallazgos.

R/.

Dominio local: www.mindspring.com Servidores Web: www.mindspring.com 207.69.189.21, 207.69.189.22,

207.69.189.23, 207.69.189.24,

207.69.189.25, 207.69.189.26, 207.69.189.27, 207.69.189.28

Servidores de correo: mx1.mindspring.com (207.69.189.217) mx2.mindspring.com (207.69.189.218)

(18)

mx4.mindspring.com (207.69.189.220)

Servidores de nombres: itchy.earthlink.net (207.69.188.196) scratchy.earthlink.net (207.69.188.197)

www.yahoo.com

Servidores Web: www.yahoo.com (216.109.112.135, 66.94.234.13) Servidores de correo : a.mx.mail.yahoo.com ( 209.191.118.103 ) b.mx.mail.yahoo.com ( 66.196.97.250 ) c.mx.mail.yahoo.com ( 68.142.237.182 , 216.39.53.3 ) d.mx.mail.yahoo.com ( 216.39.53.2 ) e.mx.mail.yahoo.com ( 216.39.53.1 ) f.mx.mail.yahoo.com ( 209.191.88.247 , 68.142.202.247 ) g.mx.mail.yahoo.com ( 209.191.88.239 , 206.190.53.191 ) Servidores de nombres : ns1.yahoo.com ( 66.218.71.63 ) ns2.yahoo.com ( 68.142.255.16 ) ns3.yahoo.com ( 217.12.4.104 ) ns4.yahoo.com ( 68.142.196.63 ) ns5.yahoo.com ( 216.109.116.17 ) ns8.yahoo.com ( 202.165.104.22 ) ns9.yahoo.com ( 202.160.176.146 ) www.hotmail.com

Servidores Web : www.hotmail.com ( 64.4.33.7 , 64.4.32.7 )

Servidores de correo : mx1.hotmail.com ( 65.54.245.8 , 65.54.244.8 , 65.54.244.136 ) mx2.hotmail.com ( 65.54.244.40 , 65.54.244.168 , 65.54.245.40 )

mx3.hotmail.com ( 65.54.244.72 , 65.54.244.200 , 65.54.245.72 ) mx4.hotmail.com ( 65.54.244.232 , 65.54.245.104 , 65.54.244.104 ) Servidores de nombres : ns1.msft.net ( 207.68.160.190 )

ns2.msft.net ( 65.54.240.126 ) ns3.msft.net ( 213.199.161.77 ) ns4.msft.net ( 207.46.66.126 ) ns5.msft.net ( 65.55.238.126 )

f. Utilice el programa nslookup para localizar un servidor web que tenga varias direcciones IP. ¿Tiene el servidor web de su institución (centro de estudios o empresa) varias direcciones IP?

R/.

El servidor web yahoo tiene varias direcciones IP www.yahoo.com (216.109.112.135, 66.94.234.13)

g. e. Utilice la base de datos whois ARIN para determinar el rango de direcciones IP utilizado en su universidad.

R/.

El rango de direcciones de la Universidad Politécnica: 128.238.0.0 - 128.238.255.255 h. Describa cómo un atacante puede utilizar las bases de datos whois y la herramienta

nslookup para realizar labores de reconocimiento en una institución antes de lanzar un ataque.

(19)

Un atacante puede utilizar la herramienta whoisdatabase y nslookup para determinar Los rangos de dirección IP, direcciones de servidor DNS, etc, para la institución de destino.

i. Explique por qué las bases de datos whois deben estar disponibles públicamente. R/.

Mediante el análisis de la dirección de origen de los paquetes de ataque, la víctima puede utilizar whois para obtener información acerca de dominio desde donde viene el ataque y, posiblemente, informar a los administradores del dominio origen.

19. En este problema empleará la útil herramienta dig, disponible en los hosts Unix y Linux para explorar la jerarquía de los servidores DNS. Como se muestra en la Figura 2.21, un servidor DNS que se encuentra en un nivel superior de la jerarquía DNS delega una consulta DNS en un servidor DNS que se encuentra en un nivel más bajo de la jerarquía, devolviendo al cliente DNS el nombre de dicho servidor DNS del nivel más bajo. Lea primero la página de manual dedicada a dig y, a continuación, responda a las siguientes preguntas.

a. Comenzando por un servidor DNS raíz (uno de los servidores raíz [a-m].root-servers.net), inicie una secuencia de consultas para obtener la dirección IP del servidor web de su departamento, utilizando la herramienta dig . Visualice la lista de nombres de los servidores DNS incluidos en la cadena de delegación que ha obtenido como respuesta a su consulta.

R/.

La siguiente cadena de delegación isused para gaia.cs.umass.edu a.root-servers.net

E.GTLD-SERVERS.NET ns1.umass.edu (autorizada) En primer comando:

cavar + [email protected] cualquier gaia.cs.umass.edu ;; AUTORIDAD SECCIÓN: edu. 172800 IN NS E.GTLD-SERVERS.NET. edu. 172800 IN NS a.gtld-SERVERS.NET. edu. 172800 IN NS G3.NSTLD.COM. edu. 172800 IN NS D.GTLD-SERVERS.NET. edu. 172800 IN NS H3.NSTLD.COM. edu. 172800 IN NS L3.NSTLD.COM. edu. 172800 IN NS M3.NSTLD.COM. edu. 172800 IN NS C.GTLD-SERVERS.NET.

Entre todos los servidores DNS edu vueltos, enviaremos una consulta a la primera. cavar + [email protected] cualquier gaia.cs.umass.edu

umass.edu. 172800 IN NS ns1.umass.edu. umass.edu. 172800 IN NS ns2.umass.edu. umass.edu. 172800 IN NS ns3.umass.edu.

Entre los tres servidores DNS autorizados vueltos, enviaremos una consulta a la primera. cavar + [email protected] cualquier gaia.cs.umass.edu

(20)

b. Repita el apartado (a) para varios sitios web populares, como por ejemplo google.com, yahoo.com o amazon.com.

R/.

La respuesta para google.com podría ser: a.root-servers.net

E.GTLD-SERVERS.NET ns1.google.com (autorizada)

20. Suponga que puede acceder a las cachés de los servidores DNS locales de su departamento. ¿Puede proponer una forma de determinar de manera aproximada los servidores web (situados fuera de su departamento) que son más populares entre los usuarios del departamento? Explique su respuesta.

R/.

Podemos tomar periódicamente instantáneas de los cachés DNS en los servidores DNS locales. El Servidor Web que aparece con más frecuencia en el cachés DNS es el servidor más popular.

Esto es porque si más usuarios están interesados en un servidor Web, entonces DNS solicita el servidor por el cual envían con mayor frecuencia los usuarios. De este modo, aparecerá ese servidor Web en el DNS almacenado en caché con mayor frecuencia. 21. Suponga que su departamento tiene un servidor DNS local para todas las computadoras del departamento. Usted es un usuario normal (es decir, no es un administrador de la red o del sistema). ¿Puede determinar de alguna manera si desde alguna computadora de su departamento se ha accedido hace unos pocos segundos a un determinado sitio web externo? Explique su respuesta.

R/.

Sí, podemos utilizar excavación para consultar ese sitio Web en el servidor DNS local. Por ejemplo, "cavar cnn.com" devolverá el tiempo de consulta para encontrar cnn.com. Si es visitada apenas hace un par de segundos, una entrada para cnn.com se almacena en caché en el DNS local caché, por lo que el tiempo de consulta es 0 ms. De lo contrario, el tiempo de consulta es mayor.

22. Desea distribuir un archivo de F= 15 Gbits a N pares. El servidor tiene una velocidad de carga de us = 30 Mbps, y cada par tiene una velocidad de descarga de di = 2 Mbps y una velocidad de carga igual a u. Para N= 10, 100 y 1.000, y u= 300 kbps, 700 kbps y 2 Mbps, prepare una gráfica que proporcione el tiempo mínimo de distribución para cada una de las combinaciones de N y u, tanto para una distribución cliente-servidor como para una distribución P2P.

R/.

Para calcular el tiempo de distribución mínima para la distribución de cliente-servidor, se utiliza la siguiente fórmula:

Del mismo modo, para el cálculo del tiempo de distribución mínima para la distribución P2P, usamos la siguiente fórmula:

(21)

Cuando:

Nota: 300Kbps = 300/1024 Mbps. Cliente Servidor N 10 100 1000 300 Kbps 7680 51200 512000 700 Kbps 7680 51200 512000 2 Mbps 7680 51200 512000 Pir to Pir N 10 100 1000 300 Kbps 7680 25904 47559 700 Kbps 7680 15616 21525 2 Mbps 7680 7680 7680

23. Desea distribuir un archivo de F bits a N pares utilizando una arquitectura cliente servidor. Suponga un modelo flexible, en el que el servidor puede transmitir simultáneamente a varios pares, transmitiendo a cada par a distintas velocidades, siempre y cuando la velocidad combinada no sea mayor que us.

a. Suponga que us/N d mín. Especifique un esquema de distribución que tenga un tiempo de distribución de NF/us.

R/.

Considere la posibilidad de un esquema de distribución en la que el servidor envía el archivo a cada cliente, en Paralelamente, a razón de una tasa de nosotros / N. Tenga en cuenta que esta tasa es menor que cada uno de los clientes de Descargar tasa, ya que por supuesto es / N ≤ dmin. Así, cada cliente también puede recibir a una velocidad es / N. Dado que cada cliente recibe a la tasa es / N, el tiempo para cada cliente reciba la totalidad archivo es F / (us / N) = NF / us. Dado que todos los clientes reciban el archivo en NF / nosotros, el general tiempo de distribución es también NF / us.

b. Suponga que us/N d mín. Especifique un esquema de distribución que tenga un tiempo de distribución de F/d mín.

R/.

Considere la posibilidad de un esquema de distribución en la que el servidor envía el archivo a cada cliente, en en paralelo, a una tasa de Dmin. Tenga en cuenta que la tasa agregada, N dmin, está a menos de enlace del servidor tasa de nosotros, ya que por supuesto es / N ≥ dmin. Dado que cada cliente recibe en dmin tasa, el tiempo de para

(22)

cada cliente para recibir el archivo completo es F / dmin. Dado que todos los clientes reciban el archivo en este tiempo, el tiempo total de distribución es también F / dmin.

c. Demuestre que, en general, el tiempo mínimo de distribución está dado por máx. {NF/us, F/d mín}.

R/.

{

}

Supongamos que . Luego de la Ecuación 1 tenemos . Pero a

partir de (a) tenemos . Combinando estos dos da:

Podemos demostrar de manera similar que

La combinación de la Ecuación 2 y la Ecuación 3 da el resultado deseado.

24. Desea distribuir un archivo de Fbits a N pares utilizando una arquitectura P2P. Suponga un modelo flexible. Con el fin de simplificar, suponga que d mín es muy grande, por lo que el ancho de banda de descarga de los pares no es nunca un cuello de botella.

a. Suponga que us (us + u 1+... + u N)/N. Especifique un esquema de distribución que tenga un tiempo de distribución de F/us.

R/.

us<= (us+ u)/N Ecuación 1

Divida el archivo en N partes, con la i ª parte que tiene el tamaño (ui / u) F. Los transmite servidor el i ª parte para mirar i en ri tasa = (ui / u) nosotros. Tenga en cuenta que R1 + R2 + ... + rN = nosotros, de modo que el tasa servidor agregada no exceda la tasa de enlace del servidor. También tenemos cada par i enviar los bits que recibe a cada uno de los N-1 pares en ri tasa . El agregado

Velocidad de reenvío por i pares es (N-1) ri . tenemos

donde la última desigualdad sigue de la ecuación 1. Así, la tasa de transmisión agregada de pares i es menor que su ui velocidad del enlace

.

(23)

b. Suponga que us (us + u 1 +... + u N)/N. Especifique un esquema de distribución que tenga un tiempo de distribución de NF/ (us + u 1 +... +u N).

us>= (us+ u)/N Ecuación 2 deja ri= ui/(N-1) y rN+1= (us– u/(N-1))/N

En este esquema de distribución, el archivo se divide en N partes 1. El servidor envía los bits de la i ª parte a la i ª par (i = 1, ...., N) en ri tarifa. Cada par i reenvía los bits llegar a RI tasa a cada uno de los otros N-1 pares. Además, el servidor envía los bits de la (N +1) parte a la tasa rN 1 a cada uno de los pares N. Los compañeros no reenvían el bits de la (N +1) parte.

La tasa global de envío del servidor es r1+ …. + rN+ N rN+1= u/(N-1) + us– u/(N-1) = us

Por lo tanto, la tasa de envío del servidor no supera su tasa de enlace. La tasa de emisión total de asomo i es (N-1)ri= ui

Por lo tanto, la tasa de envío de cada interlocutor, no supera su tasa de enlace. En este esquema de distribución, asomo i recibe los bits a una tasa global de

Así, cada par recibe el archivo en NF / (us + U).

(Por simplicidad, hemos descuidado para especificar el tamaño del archivo de partfor i = 1, ...., N 1. Ahora dispondrá que aquí. Deje que Δ = (us + u) / N el tiempo de distribución. Para i = 1, ..., N, el i ª parte del archivo es Fi = ri Δbits. La (N 1) er parte del archivo es FN +1 = RN 1 Δbits. Es sencillo mostrar que la F1 + ... + FN 1 = F.)

c.Demuestre que, en general, el tiempo mínimo de distribución está dado por máx. {F/us, NF/ (us + u 1 +... + u N)}.

R/.

La solución a esta parte es similar a la de 17 (c). Sabemos de la sección 2.6 que Combinando esto con (a) y (b) da el resultado deseado.

25. Considere una red solapada con N pares activos, disponiendo cada pareja de pares de una conexión TCP activa. Suponga también que las conexiones TCP atraviesan un total de M routers. ¿Cuántos nodos y fronteras existen en la correspondiente red solapada?

R/.

Hay nodos en la red superpuesta. Hay n (n-1) / 2edges.

26. Suponga que Benito se une a un torrente Bit Torrent, pero no desea suministrar datos a otros pares (lo que se denomina “ir por libre”).

(24)

Sí. Su primera afirmación es posible, siempre y cuando haya suficientes compañeros alojados en el enjambre para un tiempo suficientemente largo. Bob siempre puede recibir datos a través de otros compañeros sin congestionarse.

Su segunda afirmación también es cierta. Se puede ejecutar un cliente en cada máquina, y permitir que cada cliente haga "Parasitismo", y combinar esos trozos recogidos de diferentes máquinas en una sola presentar. Él puede incluso escribir un programa de planificación pequeño para permitir que diferentes máquinas sólo pidiendo para diferentes fragmentos del archivo. Esto es en realidad una especie de ataque Sybil en las redes P2P.

27. En este problema, el objetivo es determinar la eficiencia de un sistema de compartición de archivos P2P como Bit Torrent. Considere los pares Benito y Alicia. Éstos se unen a un torrente en el que, en total, hay M pares (incluyendo a Benito y Alicia) que están compartiendo un archivo que consta de N fragmentos. Suponga que en un instante determinado t, los fragmentos que tiene un par están seleccionados de forma aleatoria y uniforme de entre los N fragmentos y que ningún par tiene todos los N fragmentos. Responda a las siguientes preguntas.

a. ¿Cuál es la probabilidad de que Benito tenga todos los fragmentos que tiene Alicia, si expresamos el número de fragmentos que tiene cada uno como nb (Benito) y na (Alicia)? R/.

Tenga en cuenta que se supone nb>=na.

Donde C (n, n) es la notación para la combinación, lo que significa que el número de maneras de elegir nout de N.

b. Elimine algunas de las suposiciones del apartado (a) para calcular la probabilidad de que Benito tenga todos los fragmentos que tiene Alicia, si ésta tiene n fragmentos?

R/.

b. Suponga que cada par de Bit Torrent tiene cinco vecinos. ¿Cuál es la probabilidad de que Benito tenga datos que sean del interés de al menos uno de sus cinco vecinos?

R/.

28. En el ejemplo de la DHT circular de la Sección 2.6.2, suponga que el par 3 sabe que el par 5 ha abandonado la red. ¿Cómo actualiza el par 3 la información de estado de su sucesor? ¿Qué par será ahora su primer sucesor? ¿Y su segundo sucesor?

R/.

Par 3 se entera de que Par 5 acaba de salir del sistema, de modo que Par 3 pide un mayor sucesor (par 4) para el identificador de su sucesor inmediato (pares 8). Luego los homólogos 3 harán que el 8 compañero como su segundo sucesor.

(25)

Tenga en cuenta que el 3 compañero sabe que el 5 compañero fue originalmente el primer sucesor de par de 4, por lo que par 3 tiene que esperar hasta que par 4 terminen la actualización de su primer sucesor.

29. En el ejemplo de la DHT circular de la Sección 2.6.2, suponga que un nuevo par 6 desea unirse a la DHT y que inicialmente el par 6 sólo conoce la dirección IP del par 15. ¿Qué pasos tendrá que dar?

R/.

Par 6 en primer lugar enviara un mensaje par 15, que dice "lo que va a ser pares predecesor de 6 y sucesor?” Este mensaje se reenvía a través de la DHT hasta que alcance entre pares 5, que se da cuenta de que será el predecesor de 6 y que su actual sucesor, por pares 8, se convertirá en El sucesor de 6. A continuación, los compañeros 5 envían esta información predecesor y sucesor de nuevo a 6. Par 6 ahora pueden unirse a la DHT haciendo pares 8 de su sucesor y notificando a los compañeros que 5 debe cambiar su inmediato sucesor a 6.

30. Sea una red DHT circular con nodos e identificadores de clave en el rango de [0, 63]. Suponga que hay ocho pares cuyos identificadores son 0, 8, 16, 24, 32, 40, 48 y 56.

a. Suponga que cada par puede tener un par de atajo. Para cada uno de los ocho pares, determine su par de atajo, de manera que el número de mensajes enviados para cualquier consulta (iniciada en cualquier par) sea mínimo.

R/.

Nuestra hipótesis acerca de las claves y consultas:

1. Todas las teclas son uniformemente distribuidos al azar en el rango de teclas, y los 8 pares son responsable para el mismo número de consultas en promedio.

2. Las consultas generadas por un compañero son para llaves uniformemente al azar distribuidos en el rango de teclas. Es decir, la consulta para cualquier clave se genera con la misma probabilidad.

Debido a la homogeneidad de los compañeros y las consultas, sabemos que todos los compañeros elegirán un compañero de acceso directo con el mismo número de saltos en distancia de superposición.

También suponemos que, por defecto, un nodo del mismo nivel conocido sobre su inmediato sucesor de pares y su nodo predecesor inmediato. (A diferencia del caso en el que un compañero tiene que conocer su segundo sucesor inmediato con el fin de hacer frente a la rotación de pares).

Más Suponemos que un compañero puede reenviar consultas a su predecesor.

Y si existen varias rutas de enrutamiento para una consulta, un compañero siempre elige el camino más corto.

Tenga en cuenta el número de mensajes enviados para una consulta para una clave es igual al número de enrutamiento de saltos necesarios desde el generador de consultas puerto el par es decir manteniendo pulsada la tecla.

Tenga en cuenta que en nuestra descripción, un salto de enrutamiento es diferente de un salto de superposición. Una superposición hop simplemente significa un salto lógico entre dos pares adyacentes a lo largo del anillo de superposición DHT.

(26)

Pero un salto de enrutamiento puede abarcar múltiples saltos de superposición (o múltiples pares adyacentes consecutivos) si se permite el acceso directo.

Por lo tanto, minimizar el número de mensajes enviados para cualquier consulta (a partir de cualquier par) es equivalente a minimizar el número promedio o total de saltos de enrutamiento atravesadas de una de igual a todos los demás compañeros.

Sin pérdida de generalidad, echemos un vistazo a los compañeros 0.

Para resolver este problema, nos fijamos en todas las posibilidades: un nodo accesos directos a un compañero superpuestos en dos saltos de distancia, en el anillo de identificación DHT , o tres superposición saltos de distancia, o cuatro superposición saltos de distancia, etc.

Podemos encontrar que la mejor configuración es para un par to elegir un compañero de acceso directo con 4 superposiciones de lúpulo de distancia. "Mejor ", en el sentido de que el número promedio de mensajes por consulta (o el número total de saltos de enrutamiento para todas las consultas de todas las claves del espacio de claves) es minimizada. El cálculo se muestra en la siguiente tabla. Cada columna (excepto la Última columna) muestra el número de mensajes que se necesita para encaminar una consulta dentro de un rango.

Vemos que el número total de mensajes que se necesita es de 11 cuando cada atajos de pares para otro compañero con 4 saltos de superposición (es decir, abarcan 4 pares adyacentes consecutivos) de distancia.

Tenga en cuenta, si existen varias rutas de enrutamiento para una consulta, elegimos la longitud del camino más corto que el número de mensajes que se necesita.

Así, por ejemplo, para el caso en que un compañero atajos a otro compañero 4 superposición saltos de distancia, y si los compañeros de 0 consulta es para una clave en el rango (48,56], entonces el camino más corto es 0Æ56, sólo un enrutamiento hop (es decir, un mensaje).

b. Repita el apartado (a) pero ahora permita que cada par tenga dos pares de atajo. R/.

Podemos encontrar que la mejor configuración es para un compañero que elegir dos pares de método abreviado con 3 y 6 de superposición saltos de distancia, o dos pares de método abreviado con 5 y 6 de superposición saltos de distancia.

(27)

31. Puesto que un número entero perteneciente al intervalo [0, 2 n 1] se puede expresar como un número binario de n bits en una DHT, cada clave se puede expresar como k= (k 0, k1,. . ., kn–1) y cada identificador de un par como p= (p0, p1,. . ., pn–1), definimos la distancia XOR entre una clave k y un par p como

Explique cómo se puede utilizar esta métrica para asignar parejas (clave, valor) a los pares. (Para obtener más información sobre cómo crear una DHT eficiente utilizando esta métrica natural, consulte [Maymounkov 2002] donde se describe la DHT Kademlia.)

R/.

Para cada clave, primero calculamos las distancias (según d (k, p)) entre sí mismo y de todos los compañeros, y luego almacenar esta clave en el par que está cerrado a esta llave (con el menor valor de la distancia).

Entonces, como en DHT circular descrita en el libro de texto, arreglamos los pares en un anillo. En este anillo, hay muchos grupos de teclas, y cada grupo se centra en un par particular.

Cada clave en el grupo de pares es una más a este peer que a todos los demás compañeros. Algunas de las teclas en este grupo puede ser más grande que la ID de este par. Tenga en cuenta que un nivel es responsable de la llaves en su racimo, en lugar de ser el responsable de llaves sólo que son anterior (es decir, teclas tienen un valor menor que el ID de este par) en el rango de teclas.

Cada par mantiene una tabla de enrutamiento de n Listas de entradas. Cada entrada contiene la información de otro par. Estas listas son las k -th (1 < = k < = n) lista dispuestas secuencialmente, y contiene pares de identificadores que difieren del significado de este par en el bit -k pero partido con todos los k- 1bits más significativos que k , incluyendo el bit más significativo , la segunda el bit más significativo , así sucesivamente, hasta que el bit más significativo (k- 1 ) - thmost . Nótese aquí que utilizamos mas larga en el prefijo. También tenga en cuenta que con esta disposición, es posible que la mitad de los ID de la gama ID pueden ser puestos en la primera lista.

(28)

Si i> j, a continuación, un par en i- thlist está más cerca de este nodo de un par en j- thlist. La consulta de rutas se puede hacer de la siguiente manera. Un par primero intenta hacer coincidir los bits de la clave con sus propios bits de identificaciones, y encuentra el "derecho" Listín su tabla de enrutamiento, y luego reenvía el consultar a cualquier entrada en la lista. Una lista "correcta" es una lista que tiene el prefijo más largo a juego con la tecla de destino. Una vez que un compañero recibe la clave de destino, sino que también comprueba su tabla de enrutamiento, y reenvía los pares de consulta de búsqueda en la lista de " derecha " , etc , etc , hasta que un par que es responsable de la clave se encuentra , o devuelve "no tan importante ", si no el enrutamiento es posible .

32. Considere una versión generalizada del esquema descrito en el problema anterior. En lugar de utilizar números binarios, ahora vamos a tratar las claves y los identificadores de los pares como números en base b, donde b> 2, y luego utilizaremos la métrica del problema anterior para diseñar una DHT (sustituyendo 2 por b). Compare esta DHT basada en números en base b con la DHT basada en números binarios. En el caso peor, ¿qué DHT genera más mensajes por consulta? ¿Por qué?

R/.

Se trata de una generalizada Kademlia DHT, y algo similar al prefijo de coincidencia de DHT de pastry´s .

La DHT basado en números binarios genera más mensajes, log2N en el peor de los casos. Esta nueva DHT genera logbN registros de mensajes en el peor de los casos.

33. Dado que las DHT son redes solapadas, no necesariamente se corresponden con las redes físicas subyacentes en el sentido de que dos pares vecinos pueden estar físicamente muy alejados; por ejemplo, un par podría encontrarse en Asia y su vecino estar en América del Norte. Si asignamos identificadores de forma aleatoria y uniforme a los pares que acaban de unirse a la red, ¿podría este esquema de asignaciones hacer que se produjera esa no correspondencia? Explique su respuesta. ¿Cómo podría esa no correspondencia afectar al rendimiento de la DHT?

R/.

Sí, ese esquema de asignación de claves de sus compañeros no tiene en cuenta la red subyacente en absoluto, por lo que muy probablemente provoca falta de coincidencia.

El desajuste puede potencialmente degradar el rendimiento de la búsqueda. Por ejemplo, considere:

P1 camino lógico (que consiste de solo dos enlaces lógicos): AÆBÆC, donde A y B son compañeros vecinos, y B y C son vecinos compañeros. Supongamos que hay otro

p2 camino lógico de A a B (que consta de 3 enlaces lógicos): AÆDÆEÆC.

Podría ser el caso de que A y B podrían estar muy lejos físicamente, y B y C podrían estar muy lejos físicamente. Pero A, D, E, y C están muy cerca físicamente. En otras palabras, un camino lógico más corta corresponde a una ruta física más largo que hace un tiempo lógico camino. 34. Instale y compile los programas Java TCP Cliente y UDP Cliente en un host y los programas TCP Servidor y UDP Servidor en otro host.

a. Suponga que ejecuta TCP Cliente antes que el programa TCP Servidor. ¿Qué ocurrirá? ¿Por qué? R/.

Si ejecuta TCP Cliente primero, entonces el cliente intentará establecer una conexión TCP con un proceso de servidor que no existe. No se hará una conexión TCP.

(29)

b. Suponga que ejecuta el programa UDP Cliente antes que UDP Servidor. ¿Qué ocurrirá? ¿Por qué?

R/.

UDP Cliente no establece una conexión TCP con el servidor. Por lo tanto, todo lo debería funcionar bien si se ejecuta por primera vez UDP Cliente, a continuación, ejecute UDP servidor y, a continuación, escriba algún de entrada en el teclado.

c. ¿Qué ocurrirá si utiliza diferentes números de puerto para los lados de cliente y de servidor? R/.

Si utiliza números de puerto diferentes, entonces el cliente intentará establecer una conexión TCP conexión con el proceso incorrecto o un proceso inexistente. Se producirán errores.

35. Suponga que en el programa UDP Client .java sustituimos la línea DatagramSocket socketCliente= new DatagramSocket ();

Por

DatagramSocket socketCliente= new DatagramSocket (5432);

¿Será necesario modificar el programa UDPServidor.java? ¿Cuáles son los números de puerto para los sockets en UDP Client y UDP Servidor? ¿Cuáles eran antes de realizar este cambio?

R/.

Con la línea original, UDP Cliente hace específico un número de puerto cuando se crea el zócalo. En este caso, el código permite que el sistema operativo subyacente elija un número de puerto. Con la línea de remplazo, cuando se ejecuta UDP Cliente, un socket UDP se crea con número de puerto 5432.

UDP Server necesita saber el número de puerto del cliente para que pueda enviar paquetes de vuelta a la socket del cliente correcto. Echando un vistazo a UDP Server, vemos que el número de puerto del cliente no es "Hard-wired" en el código del servidor, sino el UDP Server determina el número de puerto del cliente por desentrañar, el datagrama que recibe del cliente (utilizando el método. Consigue un puerto ()). Así el Servidor UDP funciona con cualquier número de puerto del cliente, incluyendo 5432. El UDP servidor por lo tanto, no necesita ser modificado. Antes:

El socket de cliente = x (elegido por el sistema operativo) Socket Server = 9876

Después:

El socket de cliente = 5432

Capítulo 3 Cuestiones de repaso SECCIONES 3.1–3.3

R1. Suponga que la capa de red proporciona el siguiente servicio: la capa de red del host de origen acepta un segmento con un tamaño máximo de 1.200 bytes y una dirección de host de destino de la capa de transporte. La capa de red garantiza la entrega del segmento a la capa de transporte en

Referencias

Documento similar