Instructivo Laboratorio 1

Anuncio
Redes de Datos – Laboratorio – Instructivo
Laboratorio 1
Protocolos de Aplicación
Instrucciones generales
Para poder realizar exitosamente la práctica, deberá cumplir las siguientes etapas:
Previo al laboratorio
Estudiar la información contenida en este instructivo.
Se recomienda consultar las referencias sugeridas u otras de su preferencia.
Imprimir y leer el procedimiento de la práctica incluido en el Informe.
Se recomienda imprimir una página por faz.
Si se desea se puede traer una memoria USB para guardar resultados.
Durante el laboratorio
Seguir el procedimiento indicado en el Informe y completarlo en forma grupal. El Informe deberá ser
entregado al finalizar la práctica. NO SE ACEPTA ENTREGA DE INFORMES EN OTRO
MOMENTO.
Después del laboratorio
Agradecemos que nos envíe sus aportes al foro específico creado en la página web del curso.
Objetivos
Visualizar a través de la invocación manual, el funcionamiento de protocolos corrientes de la capa de
aplicación (Telnet, SMTP, POP3, HTTP). Los ensayos se realizarán en la red local de máquinas, con
algunos usuarios definidos en cada una, invocando los protocolos en forma manual. Además se
realizará un primero contacto con un software analizador de protocolos WireShark (Ethereal) que será
utilizado exhaustivamente en los siguientes laboratorios.
Al finalizar la práctica el estudiante será capaz de:
•Abrir una terminal remota en otro equipo mediante el comando telnet y ssh.
•Establecer una sesión de transporte a cualquier servicio identificado por su puerto utilizando el
comando telnet.
•Enviar y recibir correos mediante los protocolos SMTP y POP3.
•Navegar en la web mediante el protocolo HTTP.
•Capturar y filtrar paquetes en el programa WireShark.
Redes de Datos 2016– Instructivo Laboratorio 1
Página 1 de 7
Preparación
Es importante tener claro el direccionamiento a nivel de las diferentes capas:
•Capa Aplicación: nombre y contraseña, nombre de página web, otros.
•Capa de Transporte: el servicio al que nos conectamos, reconocido por un número (dirección de
capa de Transporte) donde ese servicio atiende los pedidos de conexión (ejemplos: 53, 901, 3128,...).
•Capa de Red: dirección IP (Ejemplos: 64.23.5.77, 172.16.1.124, 10.33.4.205, 164.73.32.3). Estás
direcciones pueden tener asociado un nombre de red o máquina (Ejemplos: m1, correo.ls.iie.edu.uy,
www.fing.edu.uy). La relación entre el nombre y la dirección IP se resuelve a nivel de capa de
aplicación utilizando DNS (se verá en detalle en el siguiente laboratorio). Por lo tanto para el ejemplo
de la página web de la Facultad, puede hacerse referencia a ella utilizando tanto su dirección IP
(164.73.32.5) como su nombre (www.fing.edu.uy).
Las máquinas del laboratorio están conectadas en red usando una tecnología de difusión de uso
corriente en redes de área local llamada Ethernet. La conexión lógica es en bus, todas las máquinas
comparten un mismo cable. Actualmente esta red se implementa preferentemente mediante un tipo
de cable llamado UTP, conectando todas las máquinas a un mismo concentrador o hub. Esto define
una topología física en estrella, pero la conexión lógica sigue siendo en bus, con todas las máquinas
compartiendo el mismo medio. El cable UTP (Unshielded Twisted Pair, par trenzado no apantallado,
un cable parecido al telefónico) está formado por 8 hilos trenzados de a pares; las fichas y conectores
son del tipo RJ-45, tanto en el hub como en la tarjeta de red de la máquina.
Esquema físico y lógico de una red Ethernet.
La correlación entre el modelo de capas y la implementación en el laboratorio es la siguiente:
Capa
Implementación
5. Aplicación Telnet, SMTP, POP3, HTTP
4. Transporte TCP, UDP
3. Red
IP
2. Enlace
Ethernet IEEE 802.3
1. Física
Ethernet IEEE 802.3
Medio físico
Cable UTP, tarjetas de red, hub
El siguiente esquema muestra el canal de comunicación establecido entre dos máquinas para lectura
de correo, a nivel de capa de Transporte. Los servicios se identifican por un "puerto", un número
entero de 16 bits (hay 65536); los puertos son direcciones donde debe dirigirse la aplicación del
usuario para obtener un servicio. Existe un conjunto de servicios "bien conocidos", a los cuales han
sido asignados ciertos números de puerto respetados universalmente.
Redes de Datos 2016– Instructivo Laboratorio 1
Página 2 de 7
Canal de comunicación TCP
El siguiente diagrama muestra un ejemplo de envío de correo a través de una conexión discada, vía
módem y red telefónica. En el caso mostrado, la máquina destino estaría en la red local del propio
proveedor de servicio (protocolo IEEE 802.3).
Envío de correo por conexión discada
Los protocolos que se ensayarán en la práctica serán:
Aplicación
Función
Protocolo
Terminal virtual
Conexión a una máquina remota
Terminal virtual
Conexión segura a una máquina remota SSH
Correo Electrónico
Enviar mensajes
SMTP
Correo Electrónico
Recibir mensajes
POP3
Navegación web
Recibir páginas web
HTTP
Puerto1
Telnet
Estos protocolos funcionan en modalidad cliente - servidor: el usuario en una máquina (cliente) se
conecta a otra máquina (servidor) capaz de brindar el servicio requerido. En la máquina servidor
existe un proceso (un programa en ejecución), que aguarda un contacto ("escucha") en una cierta
dirección llamada puerto, reconocida por un número. Cuando alguna máquina cliente solicita una
conexión con la máquina servidor indicando su dirección y puerto, el proceso servidor "atiende" la
solicitud y establece la conexión. Sigue un diálogo entre las máquinas cliente y servidor durante el
cual el cliente solicita la realización de tareas y el servidor las cumple enviando los resultados al
cliente a través de la conexión establecida. Cumplidas estas tareas, se finaliza la conexión.
1
Completar al realizar las tareas de preparación
Redes de Datos 2016– Instructivo Laboratorio 1
Página 3 de 7
Todos estos protocolos de capa de aplicación utilizan el protocolo TCP a nivel de capa de transporte
(protocolo orientado a conexión y confiable).
TELNET
El programa cliente llamado telnet permite abrir una terminal remota, es decir, ofrece la posibilidad de
ver en pantalla y digitar información en una máquina lejana desde la propia máquina local (también es
posible hacerlo de la máquina local hacia sí misma). También se puede usar telnet para acceder a
otros servicios, simplemente indicando el número de puerto, es decir, el punto de acceso al servicio
solicitado. Es posible digitar
#> telnet <nombre-máquina> <número-puerto>
lo que abre una conexión TCP a la máquina indicada en el puerto indicado.
Usaremos telnet para verificar el funcionamiento de otros protocolos de esta práctica, invocando
manualmente, mediante cadenas de caracteres comprendidas por el protocolo, las operaciones que
éste es capaz de realizar.
• Estudie para qué se utiliza el carácter de escape de telnet (se digita apretando la tecla Control
y conjuntamente la tecla "]")
•
Estudie cuáles son los comandos para:
• salir del intérprete de comandos para volver a dar comandos a telnet.
• mostrar estado de conexión.
• fijar modo en CHAR (carácter)
• cerrar la conexión
• salir de telnet
SMTP
Para el manejo de correo electrónico el usuario usa una aplicación Agente Usuario de Correo, como
Netscape, Outlook, Thunderbird u otra. Estas tienen dos funciones básicas: enviar correos y recibir
correos. Estas aplicaciones ofrecen múltiples facilidades al usuario, ocultándole la complejidad de
manejo subyacente, pero esencialmente están usando dos protocolos: uno para enviar correo y otro
para recibir correo. El protocolo SMTP (Simple Mail Transfer Protocol) es un protocolo usado para
enviar correos, en tanto que el protocolo POP3 (Post Office Protocol versión 3) es usado para recibir.
El protocolo para envío de correos SMTP define una parte inicial equivalente al sobre en un envío de
correo postal, descrito en la RFC 821, luego una serie de líneas de encabezado terminadas por una
línea en blanco, y luego el cuerpo del mensaje. Tanto el encabezado como el cuerpo del mensaje se
digitan luego del comando DATA. El formato del mensaje (encabezado y cuerpo) está descrito en la
RFC 822. Las versiones actualizadas son las RFC 2821 (Simple Mail Transfer Protocol) y RFC 2822
(Internet Message Format).
Ejemplo:
Sobre
HELO nsk.com.uy
MAIL FROM: <[email protected]>
RCPT TO: <[email protected]>
DATA
Encabezado From: [email protected]
To: [email protected]
...
Subject: Consulta sobre aspiradora
Redes de Datos 2016– Instructivo Laboratorio 1
El sobre se genera a partir de los comandos
HELO, MAIL FROM: y RCPT TO:
La información retenida no es visible en la
operación manual.
El comando DATA termina el sobre.
El encabezado se escribe inmediatamente
luego del comando DATA.
El encabezado termina con una línea en
blanco.
Página 4 de 7
Cuerpo
Estimados señores:
El texto del mensaje.
me dirijo a ustedes para
consultarles sobre la aspiradora Acme
modelo EZ80
...
Les saluda,
Carlitos.
Un punto como único carácter en una línea
.
termina el mensaje.
Final
QUIT
La sesión de envío del mensaje termina con el
comando QUIT.
La tabla siguiente muestra un resumen de comandos SMTP.
Comando
Función
HELO host
identifica al host en SMTP
EHLO host
identifica al host en ESMTP (SMTP ampliado)
MAIL FROM: dirección
identifica en el sobre al remitente
RCPT TO: dirección
identifica en el sobre al destinatario (puede haber varios)
DATA
comienza cuerpo del mensaje, termina con "." en una línea
QUIT
Cierra la conexión
RSET
Reinicializa la conexión (aborta lo hecho)
HELP
muestra comandos SMTP aceptados
Dentro de los datos (área entre el comando DATA y el punto solo en la línea final) se reconocen dos
regiones: el encabezado (header) y el cuerpo (body). El cuerpo es de formato libre; contiene el
mensaje del usuario, donde puede poner lo que quiera. El encabezado contiene información
estructurada de interés para el usuario y los agentes de correo. Además pueden aparecer
encabezados referentes a los equipos intermedios por los que el mensaje transitó.
La tabla siguiente muestra algunos encabezados:
Encabezado
Significado
To:
Dirección(es) de correo de destinatario(s) primario(s)
Cc:
Dirección(es) de correo de destinatario(s) secundario(s)
Bcc:
Dirección(es) de correo de destinatario(s) ocultos
From:
Nombre y dirección de la persona que escribió el mensaje
Sender:
Dirección de correo del remitente
Received:
Línea agregada por agentes de transporte a lo largo de la ruta
Return-Path:
Puede ser usado para indicar un camino de retorno hacia el remitente
Existen otros componentes de información estructurada que pueden incluirse en el encabezado, de
interés para el usuario o para las aplicaciones de correo.
Las respuestas de este protocolo incluyen un número a modo de código de estado. Los códigos
están formados por tres dígitos, el primero de estos dígitos puede tomar valores del 1 al 5. Las
respuestas que comienzan con 2 refieren en general a casos de éxito, en donde la solicitud se ha
completado correctamente. Los códigos de la forma 4xx corresponden a errores temporales, el
cliente deberá repetir el comando más tarde; mientras que los códigos de la forma 5xx corresponden
a errores permanentes.
•
Repase la secuencia de comandos necesaria para conectarse con un servidor de
correo, solicitar el envío de un correo, indicar datos de encabezado del mensaje,
enviar el texto "correo de prueba", cortar la conexión.
Redes de Datos 2016– Instructivo Laboratorio 1
Página 5 de 7
POP3
La tabla siguiente muestra un resumen de comandos POP3.
Comando
Función
USER usuario
identifica al usuario ante el servidor POP
PASS contraseña
Envía la contraseña al servidor POP
STAT
muestra cantidad de mensajes y tamaño total en bytes
LIST
lista mensajes identificados por número, y tamaño en bytes de cada uno
RETR nro_mensaje
muestra contenido del mensaje cuyo número se indica
DELE nro_mensaje
elimina el mensaje cuyo número se indica
QUIT
cierra la conexión
Las respuestas en este protocolo consisten en un indicador de estado y una palabra descriptiva, son
seguidas de un carácter de fin de línea y uno de retorno de carro. Una respuesta del tipo "+OK"
corresponde a un escenario de éxito mientras que una del tipo "-ERR" corresponde a un error.
•
Repase la secuencia de comandos necesaria para conectar con el servidor, solicitar la
lista de mensajes, ver el mensaje número 1, borrar el mensaje número 1, verificar el
borrado pidiendo el estado o la lista de mensajes, cortar la conexión.
HTTP
El protocolo HTTP (HyperText Transfer Protocol) permite la descarga de páginas web. En general, el
resultado será un archivo en formato HTML (HyperText Markup Language). Los navegadores son los
encargados de interpretar este lenguaje, presentando el contenido en pantalla con formatos de texto,
tablas e imágenes. Los comandos mas utilizados son GET y HEAD.
El protocolo HTTP normalmente corta la conexión una vez ejecutado el comando.
Comando
Función
HEAD <URL> HTTP/1.0
Trae el encabezado de la página pedida (URL, dirección de una página
web).
Requiere una línea en blanco y luego otro ENTER para enviar la petición
(En total se requieren dos ENTER).
GET <URL> HTTP/1.0
Trae todo el contenido de la página web pedida.
Requiere una línea en blanco y luego otro ENTER para enviar la petición
(En total se requieren dos ENTER).
La primer línea de una respuesta HTTP recibe el nombre de "línea de status", en ella se incluye un
código de error de 3 números acompañado de una frase textual que explica la razón del error. Por
ejemplo, la primera línea de la respuesta puede ser de la forma 404 "Not Found". En general en este
protocolo, los códigos de la forma 2xx refieren a casos de éxito mientras que los que comienzan con
4 corresponden a errores del cliente y los que comienzan con 5 a errores del servidor. Una lista
completa de los códigos de estado que forman parte de este protocolo puede encontrarse en
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes.
Para la preparación de la práctica es útil repasar los siguientes puntos
•¿Qué significa la sigla URL? ¿Qué es un URL? ¿Cómo está formado?
Redes de Datos 2016– Instructivo Laboratorio 1
Página 6 de 7
•Secuencia de comandos para conectarse a un servidor web y visualizar el encabezado de la
página principal.
WireShark (Ethereal)
El software WireShark (Ethereal) es un analizador de protocolos disponible para sistemas Windows y
UNIX. Se encuentra disponible en http://www.wireshark.org/. Allí también se encuentra disponible el
manual del mismo.
Es un software de mucha utilidad para este curso y la práctica profesional en general, que iremos
conociendo a lo largo de los sucesivos laboratorios. En particular en esta práctica veremos como
realizar capturas básicas y comprender la información desplegada.
A los efectos de preparar la práctica se debe saber:
Ejecutar WireShark en el ambiente gráfico Gnome.
Cómo capturar paquetes en diferentes interfaces de red.
Qué es capturar en modo promiscuo y para qué puede ser útil.
A los efectos del curso se ha preparado un instructivo que está disponible en la página de la
asignatura. Para este laboratorio, se deben leer las secciones: Objetivo, Analizadores de Protocolos
de Red, WireShark y Uso de WireShark..
Para conocer más
WireShark. http://www.wireshark.org.
•The Internet Lab Manual. Es una colección de instructivos para realizar prácticas de laboratorio en
redes de datos. Si bien el equipo requerido es inalcanzable, el contenido de los instructivos es
altamente aprovechable.
Página principal: http://www.cs.virginia.edu/~itlab/book/
Enlaces: http://www.cs.virginia.edu/~itlab/book/links/
Para la presente práctica son útiles los siguientes instructivos:
Introducción: http://www.cs.virginia.edu/~itlab/book/pdf/Ch_0_v4.pdf
•IETF Request for Comments. La IETF, Internet Engineering Task Force, es la organización
encargada de la arquitectura de Internet. Las RFCs son los documentos definitorios de muchos
protocolos usados en Internet.
Sitio de IETF: http://www.ietf.org/home.html
RFCs: http://www.ietf.org/rfc.html
•Unix Man Pages. http://unixhelp.ed.ac.uk/CGI/man-cgi
•
•Tanenbaum, Andrew. "Computer networks", 4a. edición, Prentice-Hall, 2003, 3a. edición.
Prentice-Hall, 1996. En la 4a. edición: 7.2 Electronic Mail, 7.3 The World Wide Web.
Redes de Datos - Curso 2016
Página del curso: eva.universidad.edu.uy
Instituto de Ingeniería Eléctrica - Facultad de Ingeniería - UDELAR - Montevideo, Uruguay.
Redes de Datos 2016– Instructivo Laboratorio 1
Página 7 de 7
Descargar