Práctico 2 - Departamento de Ciencias e Ingeniería de la

Anuncio
TRABAJO PRÁCTICO Nº 2
REDES DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Primer cuatrimestre de 2016
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
Capa de aplicación
Tareas
Ejercicio 1: Instalar los siguientes navegadores: Mozilla/Firefox, Opera y Google Chrome, y
verificar que funcionan correctamente.
Ejercicio 2: Instalar la extensión para el navegador Firefox denominada: Live HTTP Headers.
Enumerar el intercambio de mensajes que se produce al acceder al sitio web con URL:
http://cs.uns.edu.ar ¿Cuántos objetos adicionales son recuperados a partir de este pedido
inicial?
Ejercicio 3: Instalar el comando: telnet. Si utiliza Linux consultar el manejador de paquetes de su
distribución para encontrar el paquete correcto que contiene ese comando, si utiliza Microsoft
Windows es accesible desde Agregar/Quitas programas (dependiendo de la versión).
Ejercicio 4: Simular las acciones que realiza un navegador al consultar un sitio web. Utilizando el
comando: telnet establecer una conexión al puerto 80 del servidor: cs.uns.edu.ar e ingresando
"GET / HTTP/1.0". ¿Qué clase de respuesta obtenemos?
Ejercicio 5: Instalar el apache. Luego verificar su funcionamiento abriendo un navegador e
ingresando el URL http://127.0.0.1. Encontrar en qué lugar en que se almacena la configuración del
Apache y explorar cómo se habilitan las páginas personales.
Ejercicio 6: Crear una página web válida pero simple (tamaño inferior a 1Kb) y ponerla en línea
sobre el servidor Apache como página principal del mismo. Crear otra página similar y ponerla en
línea esta vez como página personal del usuario normal (es decir, no administrador ni root) que
estemos usando. (Considerar que los archivos válidos por defecto para el Apache deben poseer
extensión HTML).
Ejercicio 7: Rehacer los ejercicios en los que se simulaba a mano al navegador, usando en esta
oportunidad el servidor Apache instalado localmente.
Ejercicio 8: Ejecute las siguientes consultas con el comando dig bajo sistema operativo Linux y
describa las respuestas y datos obtenidos:
•
•
•
•
dig
dig
dig
dig
cs.uns.edu.ar +trace
<sitio web de su proveedor de Internet> +trace
@<dns local> uns.edu.ar +trace
@<dns proveedor de Internet> www.yahoo.com +trace
1
TRABAJO PRÁCTICO Nº 2
REDES DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Primer cuatrimestre de 2016
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
Ejercicio 9: Utilice el comando: nslookup (sobre Windows o Linux) y ejecute las siguientes
consultas, describa las respuestas obtenidas y los datos que obtiene de cada una de ellas, compare
con los resultados del ejercicio anterior:
•
•
•
•
cs.uns.edu.ar
<sitio web de su proveedor de Internet>
server <dns local>
uns.edu.ar
•
•
server <dns proveedor de Internet>
www.yahoo.com
Ejercicio 10: Analice la siguiente respuesta de un servidor Apache a través de un proxy Squid,
¿Cuál es la acción que provoca el código devuelto por el servidor si fuera interpretado por un
navegador?
[me@host~]$ telnet cs.uns.edu.ar 80
Trying 192.168.0.5...
Connected to cs.uns.edu.ar (192.168.0.5).
Escape character is '^]'.
GET / HTTP/1.1
HTTP/1.0 200 OK
Date: Mon, 05 Apr 2010 18:37:33 GMT
Server: Apache
Last-Modified: Thu, 25 Jun 2009 16:26:32 GMT
ETag: "31c0c1-94-afc9be00"
Accept-Ranges: bytes
Content-Length: 148
Content-Type: text/html; charset=ISO-8859-1
Age: 20
X-Cache: HIT from fwe
X-Cache-Lookup: HIT from fwe:1280
Via: 1.0 fwe:1280 (squid/2.6.STABLE6)
Connection: close
<HTML>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=home/">
<BODY>
Por favor espere...<BR>
<i>Please wait..</i>
</CENTER>
</HTML>
Connection closed by foreign host.
2
TRABAJO PRÁCTICO Nº 2
REDES DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Primer cuatrimestre de 2016
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
Preguntas de revisión
Ejercicio 11: Cite cinco aplicaciones utilizables sobre Internet no propietarias y los protocolos de la
capa de aplicación que utilizan.
Ejercicio 12: Cite varios agentes de usuario de aplicaciones de red que utilice diariamente.
Ejercicio 13: En referencia a la Figura 2.4, se ve que ninguna de las aplicaciones necesita de no
pérdida de datos y temporización. ¿Puede concebir una aplicación que requiera no pérdida de datos
y que sea también altamente sensible al tiempo?
Ejercicio 14: ¿Por qué se ejecutan HTTP, FTP, SMTP, POP3 e IMAP sobre TCP en vez de sobre
UDP?
Ejercicio 15: Considere un sitio de comercio electrónico que desee guardar un registro de compra
para cada uno de sus clientes. Describa cómo puede hacerse con autenticación HTTP. Describa
cómo puede hacerse utilizando cookies.
Ejercicio 16: ¿Cuál es la diferencia entre HTTP persistente con pipeline y sin pipeline? ¿Cuál es el
utilizado por HTTP/1.1?
Ejercicio 17: ¿Por qué se dice que FTP envía información de control “fuera de banda”?
Ejercicio 18: Desde la perspectiva del usuario, ¿cuál es la diferencia entre el modo descargar-yborrar y descargar-y-guardar en POP3?
Ejercicio 19: Cada host Internet tiene al menos un servidor de nombres local y uno autorizado.
¿Qué papel tiene cada uno de estos servidores en el DNS?
Ejercicio 20: ¿Es posible que un servidor web y un servidor de correo de una organización tengan
exactamente el mismo alias de un nombre de host (por ejemplo: testing.com)? ¿Cuál sería el tipo
del RR que contiene el nombre de host del servidor de correo?
Ejercicio 21: Utilice el comando nslookup para encontrar un servidor web que tenga múltiples
direcciones IP. ¿Tiene el servidor web de su institución (escuela o empresa) múltiples direcciones
IP?
Ejercicio 22: El servidor UDP descrito en la Sección 2.7 necesitaba únicamente un socket, mientras
que el servidor TCP descrito en la Sección 2.6 necesita dos sockets. ¿Por qué? Si el servidor TCP
soportase n conexiones simultáneas, cada una con un host cliente diferente, ¿cuántos sockets
necesitaría el servidor TCP?
Ejercicio 23: Para la aplicación cliente-servidor sobre TCP descrita en la Sección 2.6, ¿por qué
debe el programa servidor ser ejecutado antes que el programa cliente? Para la aplicación clienteservidor sobre UDP descrita en la Sección 2.7, ¿por qué puede el programa cliente ser ejecutado
antes que el programa servidor?
3
TRABAJO PRÁCTICO Nº 2
REDES DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Primer cuatrimestre de 2016
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
Ejercicio 24: Al consultar un servidor de DNS ¿Cuáles son las diferencias entre una respuesta
autorizada y otra que no lo es? Ejemplifique utilizando los comandos: dig/nslookup realizando al
menos dos consultas que produzcan una respuesta de cada tipo (Pista: utilice el dominio de su
proveedor para la consulta y un dominio externo al mismo).
Problemas
Ejercicio 25: ¿Verdadero o falso?
a) Suponga que un usuario pide una página web que consta de texto y de dos imágenes.
Para esta página, el cliente enviará un mensaje de petición y recibirá tres mensajes de
respuestas.
b) Dos páginas web distintas (por ejemplo, www.mit.edu/research.html y
www.mit.edu/students.html) pueden ser enviadas sobre la misma conexión persistente.
c) Con conexiones no persistentes entre el navegador y el servidor origen, es posible que
un único segmento TCP transporte dos mensajes HTTP de peticiones distintas.
d) La cabecera Date: en el mensaje HTTP de respuesta indica cuándo se modificó por
última vez el objeto de la respuesta.
Ejercicio 26: Lea RFC 1700. ¿Cuáles son los números de puerto para el protocolo sencillo de
transferencia de archivos (SFTP)? ¿Y para el protocolo de transferencia de noticias sobre la red
(NNTP)?
Ejercicio 27: Considere un cliente HTTP que desea recuperar un documento web de un URL dado.
La dirección IP del servidor HTTP no es conocida inicialmente. El documento web del URL tiene
una imagen GIF que reside en el mismo servidor que el documento original. ¿Qué protocolos de la
capa de transporte y aplicación, además de HTP, son necesarios en este escenario?
Ejercicio 28: Obtenga la especificación de HTTP/l.l (RFC 2616). Responda a las siguientes
preguntas:
a) Explique el mecanismo utilizado entre el cliente y servidor para indicar que la conexión
persistente ha sido cerrada. ¿Puede el cliente, el servidor o ambos señalar el cierre de la
conexión?
b) ¿Qué servicios de encriptación proporciona HTTP?
Ejercicio 29: Reescriba el programa TCPservidor.java (descrito en el capítulo 2 del libro: James
F. Kurose, Keith W. Ross, Computer Networking: A top-down approach) para que pueda aceptar
múltiples conexiones. (Pista: Necesitará utilizar hilos).
Ejercicio 30: Suponga que esta descargando MP3s utilizando algún sistema de compartición de
archivos entre iguales. El cuello de botella hacia Internet es su enlace de acceso residencial, que es
un enlace 128Kbps full-duplex. Mientras esta descargando MP3s, otros diez usuarios empiezan de
repente a cargar MP3s que Ud. comparte desde su equipo. Asumiendo que su computador es muy
potente y que las cargas y descargas no suponen ningún esfuerzo (en cuanto a: utilización de CPU,
4
TRABAJO PRÁCTICO Nº 2
REDES DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Primer cuatrimestre de 2016
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
E/S en disco, etc.), ¿harán las cargas simultáneas (que también pasan a través de su enlace) que se
hagan más lentas sus descargas? ¿Por qué, o por qué no?
Ejercicio 31: Indique cuando es necesario implementar un servidor de DNS local dentro de una
organización, con zona(s) propias y con la utilización reenviadores. Ahora brinde otro ejemplo
donde sólo es necesario disponer de un servidor de DNS con rol: caching only, en este caso ¿sería
necesario consultar un DNS superior? Justifique las razones.
Bibliografía de consulta:
•
•
James F. Kurose, Keith W. Ross, Computer Networking: A top-down approach (6th edition)
Addison Wesley, 2012. (capítulo 2)
Andrew S. Tanenbaum, Computer Networks (4th Edition), Prentice Hall, 2002. (capítulo 7)
5
Descargar