Práctica N°3

Anuncio
Sistemas operativos y redes
Práctica N°3
Protocolos de aplicación en TCP/IP: DNS – DHCP – SMTP – HTTP
Cuestionario
Ejercicio N°1:Sistema DNS
a) Estudie el funcionamiento del sistema DNS. ¿Qué son los TLD? ¿Cuáles son los TLD
oficialmentereconocidos? ¿A qué se llama root-server?
b) Explique cuáles son los principales tipos de registro que se mantienen en la base de datos de
DNS (SOA, IN, CNAME, MX, etc)
c)
Estudie
el
funcionamiento
del
programa
nslookup.
Explique
el
funcionamiento
de
las
distintasopciones del mismo, en particular server, lservery set type.
d) Haga un diagrama mostrando como se resuelve el nombre www.ucla.edu indicando que servidores
DNS intervienen suponiendo que no existen entradas en cache.
a)
El usuario prefiere usar nombres de alto nivel para las máquinas y pensar en las IP como nombres de
bajo nivel. Las redes TCP/IP utilizan un esquema descentralizado de asignación de nombres.
Asimismo en una red de redes TCP/IP, la jerarquía de nombres de máquinas se asigna de acuerdo con
la estructura de la organización que obtiene la autoridad para dividir el espacio de nombres y no
necesariamente de acuerdo con la estructura de las interconexiones de red física.
En este esquema de nombres jerárquicos el espacio de nombres es particionado en el nivel superior y
la autoridad para los nombres de subdivisiones pasa a agentes designados.
El mecanismo que implanta una jerarquía de nombres de máquina para las redes TCP/IP se conoce
como Domain Name System (Sistema de Nombres o Nomenclatura de Dominio o DNS). El DNS tiene
dos aspectos conceptualmente independientes. El primero es abstracto. Especifica la sintaxis del
nombre y las reglas para delegar la autoridad respecto a los nombres. El segundo es concreto:
especifica la implantación de un sistema de computación distribuido que transforma eficientemente
los nombres en direcciones.
El DNS se vale de un esquema de nombres jerárquicos conocido como nombre de dominio. Un nombre
de dominio consiste en una secuencia de nombres separados por un carácter delimitador, el punto. En
este esquema se llama a cada sección etiqueta.
El mecanismo para la asociación de nombres en direcciones consiste en sistemas independientes y
cooperativos llamados servidores de nombres. Un cliente debe saber cómo contactar al último
servidor de nombres. Y un servidor podría conocer la dirección de un servidor para el dominio de un
nivel inmediatamente superior.
Si cada resolución de nombres comenzara siempre por contactar al nivel más alto de la jerarquía, la
máquina en este punto podría sobrecargarse. Por eso, en el proceso de resolución de nombres, hay dos
1
etapas, la resolución comienza con el servidor de nombres local. Si el servidor de nombres local no
puede resolver el nombre, la solicitud deberá enviarse hacia otro servidor en el sistema de dominio.
Los servidores de nombres en Internet utilizan una memoria inmediata de nombres (name caching)
para optimizar los costos de búsqueda. Cada servidor mantiene una memoria de los nombres utilizados
más recientemente, así como un registro de dónde fue obtenida la información para la asociación de
nombres. Para mantener la memoria con información correcta, los servidores suprimen las entradas
que excedan un tiempo razonable.
Se denomina TLD (Top Level Domain) a la última parte de la URL, la cual identifica aquellos dominios
que no están contenidos en otros dominios. Esto se utilizan para distinguir distintos tipos de páginas
web. Los TLD oficialmente reconocidos son:
Dominio de nivel superior
Significado
.com
.net
.org
.gov
.edu
Sitio comercial (empresa)
Sitio administrativo de Internet
Organización sin fines de lucro
Organismo gubernamental de EE.UU.
Institución educativa
Un root-server (servidor raíz) es también un DNS, pero es un servidor que conoce las direcciones de
todos los DNS autoritarios para cada una de las zonas de más alto nivel de la Internet, es decir los
TLD. Cuando se hace una petición DNS, el primer paso es preguntar a un root-server cual es el DNS
que tiene la información del TLD en el cual se encuentra la URL deseada.
b)
El DNS se adapta a gran variedad de transformaciones y no sólo a traducir nombres de dominio para
correo o direcciones IP. Cuando se envía una solicitud, el cliente debe especificar el tipo en su
solicitud. El tipo determina el contenido del registro de recursos de acuerdo a la siguiente tabla.
Tipo
A
CNAME
HINFO
MINFO
MX
Significado
Dirección de anfitrión
Nombre de oficina
CPU&OS
Información de buzón
Transportador de correo
NS
PTR
SOA
Servidor de nombre
Puntero
Comienzo de autoridad
TXT
Texto arbitrario
Contenido
Dirección IP de 32 bits.
Nombre de dominio de oficina para un alias.
Nombre de CPU y sistema operativo.
Información sobre buzón o lista de correo.
Preferencia de 16 bits y nombre del anfitrión que actúa
como transportador de correo para el dominio.
Nombre de un servidor autorizado para el dominio.
Nombre de dominio (como un enlace simbólico).
Varios archivos que especifican qué partes de la jerarquía
de nombres implanta un servidor.
Cadena de texto en ASCII sin interpretación.
2
c)
Nslookup es una herramienta administrativa de la línea de comandos para probar y solucionar
problemas de los servidores DNS.
Nslookup se puede ejecutar en dos modos: interactivo y no interactivo. El modo no interactivo es útil
cuando sólo se necesita devolver un fragmento de datos. La sintaxis para el modo no interactivo es la
siguiente:
nslookup [-option] [hostname] [server]
Para iniciar Nslookup en modo interactivo, basta con escribir "nslookup" en el símbolo del sistema:
C:\> nslookup
Default Server: nameserver1.domain.com
Address: 10.0.0.1
>
Si se escribe "help" o "?" en el símbolo del sistema se generará una lista de comandos disponibles.
Todo lo que escriba en el símbolo del sistema que no se reconozca como un comando válido se supone
que es un nombre de host y se intenta resolver utilizando el servidor predeterminado. Para
interrumpir comandos interactivos, presione CTRL+C. Para salir del modo interactivo y volver al
símbolo del sistema, escriba exit en el símbolo del sistema.
Lo siguiente es la ayuda generada y contiene la lista completa de opciones:
Commands: (los identificadores están en mayúsculas, [] significa opcional)
NAME
- print info about the host/domain NAME using default server
NAME1 NAME2
- as above, but use NAME2 as server
help or ?
- print info on common commands
set OPTION
- set an option
all
- print options, current server and host
[no]debug
- print debugging information
[no]d2
- print exhaustive debugging information
[no]defname
- append domain name to each query
[no]recurse
- ask for recursive answer to query
[no]search
- use domain search list
[no]vc
- always use a virtual circuit
domain=NAME
- set default domain name to NAME
srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1, N2, and so on
root=NAME
- set root server to NAME
retry=X
- set number of retries to X
timeout=X
- set initial time-out interval to X seconds
3
type=X
- set query type (for example, A, ANY, CNAME, MX, NS, PTR, SOA, SRV)
querytype=X
- same as type
class=X
- set query class (for example, IN (Internet), ANY)
[no]msxfr
- use MS fast zone transfer
ixfrver=X
- current version to use in IXFR transfer request
server NAME
- set default server to NAME, using current default server
lserver NAME
- set default server to NAME, using initial server
finger [USER]
- finger the optional NAME at the current default host
root
- set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
-a
- list canonical names and aliases
-d
- list all records
-t TYPE
- list records of the given type (for example, A, CNAME, MX, NS, PTR, and so on)
view FILE
- sort an 'ls' output file and view it with pg
exit
- exit the program
Buscar tipos de datos diferentes [set type]
Para buscar tipos de datos diferentes dentro del espacio de nombres de dominio, utilice el comando
set type en el símbolo del sistema. Por ejemplo, para consultar los datos del intercambiador de correo,
escriba lo siguiente:
Consultar directamente desde otro servidor de nombres [server o lserver]
Para consultar directamente otro servidor de nombres, utilice los comandos server o lserver para
cambiar a ese servidor de nombres. El comando lserver utiliza el servidor local para obtener la
dirección del servidor al que se desea cambiar, mientras que el comando server utiliza el servidor
predeterminado actual para obtener la dirección.
d)
Fully Qualified Host Name (FQHN): Es el “nombre completo” de un host. Está formado por el
hostname, seguido de un punto y su correspondiente nombre de dominio.
El proceso de resolución de nombres:
Cuando una aplicación (cliente) necesita resolver un FQHN envía un requerimiento al servidor de
nombres configurado en el sistema. A partir de entonces se desencadena el proceso de resolución del
nombre:
El servidor de nombres inicial consulta a uno de los servidores raíz (cuya dirección IP debe conocer
previamente).
Este devuelve el nombre del servidor a quien se le ha delegado la sub-zona.
El servidor inicial interroga al nuevo servidor.
El proceso se repite nuevamente a partir del punto 2 si es que se trata de una sub-zona delegada.
4
Al obtener el nombre del servidor con autoridad sobre la zona en cuestión, el servidor inicial lo
interroga.
El servidor resuelve el nombre correspondiente, si este existe.
El servidor inicial informa al cliente el nombre resuelto.
5
Ejercicio N°2:
a) Explique cómo es el funcionamiento del sistema DHCP.
b) ¿Qué tipo de información puede ser establecida mediante DHCP?
a)
El DHCP (Dynamic Host Configuration Protocol) es el sucesor del BOOTP y del RARP y corrige las
dificultades que éstos presentaban.
El DHCP extiende el BOOTP de dos formas. En primer lugar, el DHCP permite que una computadora
adquiera toda la información que necesita en un solo mensaje. En segundo lugar, el DHCP permite que
una computadora posea una dirección IP en forma rápida y dinámica. Cada vez que una computadora se
conecta a la red configurada mediante DHCP, esta se conecta al servidor y éste le asigna una
dirección IP.
La IP asignada puede ser de manera manual, es decir previamente estipulada en la configuración del
servidor para esa MAC. O también puede ser dinámica, es decir, que el servidor asigna una IP que esté
disponible (bajo ciertas restricciones) por tiempo limitado.
Las máquinas en DHCP utilizan la dirección IP de difusión límite (255.255.255.255) para obligar a
difundir un datagrama en la red local, antes de que dicha máquina tenga asignada la dirección IP que
debe tener en dicha red. El servidor DHCP escucha estos paquetes y responde a la máquina con la
configuración que ésta requiere.
Cuando se utiliza DHCP para obtener una dirección IP, el cliente se encuentra en 1 de 6 estados.
Cuando un cliente arranca por primera vez, entra en el estado INITIALIZE, para comenzar a adquirir
una IP, el cliente primero contacta a todos los servidores DHCP de la red local. Para hacerlo difunde
un mensaje DHCPDISCOVER y cambia al estado SELECT. El cliente envía el mensaje en un datagrama
UDP con el puerto de destino activado para el puerto BOOTP (puerto 67). Los servidores enviarán n
mensaje DHCPOFFER. Cada oferta contiene información de configuración para el cliente junto con una
IP que el servidor ofrece prestar al cliente. El cliente debe negociar este préstamo con el servidor.
Para ellos, el cliente envía un mensaje DHCPREQUEST y entra al estado REQUEST. A fin de enviar un
acuse de recibo el servidor responde con un DHCPACK. El cliente pasa al estado BOUND y está listo
para usar la IP.
b)
Cada computadora conectada a una red de redes TCP/IP necesita saber su dirección IP antes de
poder enviar y recibir datagramas. Además, esa computadora necesita saber la dirección del router, la
máscara de red y la dirección del DNS.
Toda ésta información es suministrada por el servidor DHCP.
6
Ejercicio N°3:
a) Explique el funcionamiento del sistema de envío de e-mail mediante SMTP. ¿Qué es un MUA y qué
es un MTA?
b) Haga un diagrama explicando que pasos se siguen en el envío de un e-mail desde la dirección
[email protected] hacia la dirección [email protected] Suponga que se utiliza un MUA
basado en protocolo pop3.
c) Estudie cuales son las cabeceras principales que puede encontrar en un e-mail y que información se
obtiene de ellas. En particular diga cómo puede determinarse por cuáles servidores pasó el e-mail,
donde se originó y en qué momento fue procesado por cada servidor.
a)
Cuando se envía un correo electrónico, el mensaje se enruta de servidor a servidor hasta llegar al
servidor de correo electrónico del receptor. Más precisamente, el mensaje se envía al servidor del
correo electrónico (llamado MTA, del inglés Mail Transport Agent [Agente de Transporte de Correo])
que tiene la tarea de transportarlos hacia el MTA del destinatario. En Internet, los MTA se
comunican entre sí usando el protocolo SMTP, y por lo tanto se los llama servidores SMTP (o a veces
servidores de correo saliente).
Luego el MTA del destinatario entrega el correo electrónico al servidor del correo entrante (llamado
MDA, del inglés Mail Delivery Agent [Agente de Entrega de Correo]), el cual almacena el correo
electrónico mientras espera que el usuario lo acepte. Existen dos protocolos principales utilizados
para recuperar un correo electrónico de un MDA:
POP3 (Post Office Protocol [Protocolo de Oficina de Correo]), el más antiguo de los dos.
IMAP (Internet Message Access Protocol [Protocolo de Acceso a Mensajes de Internet]).
Los emails quedan almacenados en el MDA hasta que el receptor se conecte y los lea. Esto significa
que no es necesario que los destinatarios estén conectados para poder enviarles un correo electrónico.
La recuperación del correo se logra a través de un programa de software llamado MUA (Mail User
Agent [Agente Usuario de Correo]).
b)
Para realizar el envío de un email se deben seguir los siguientes pasos:
Ejecutar el comando telnet desde la consola del siguiente modo:
telnet barcala.ing.unlp.edu.ar 25
Y luego se ingresan los siguientes comandos:
HELO barcala
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
Este es el cuerpo del email enviado
.
QUIT
7
Para realizar la recepción del email usando POP3 se siguen los siguientes pasos:
Ejecutar el comando telnet desde la consola del siguiente modo:
telnet barcala.ing.unlp.edu.ar 110
Y luego se ingresan los siguientes comandos para acceder a la cuenta:
user siopyre
pass siopyre
Los comandos que de aquí en más se pueden utilizar son:

STAT: Da el número de mensajes no borrados en el buzón y su longitud total.

LIST: Muestra todo los mensajes no borrados con su longitud.

RETR <número>: Solicita el envío del mensaje especificando el número (no se borra del buzón).

TOP <número> <líneas>: Muestra la cabecera y el número de líneas requerido del mensaje
especificando el número.

DELE <número>: Borra el mensaje especificando el número.

RSET: Recupera los mensajes borrados (en la conexión actual).

UIDL <número>: Devuelve una cadena identificatoria del mensaje persistente a través de las
sesiones. Si no se especifica <número> se devuelve una lista con los números de mensajes y su
cadena identificatoria de los mensajes no borrados.

QUIT: Salir.
c)
El correo electrónico está dividido en dos partes: un encabezado y un cuerpo del mensaje, separados
por una línea en blanco.
El estándar de TCP/IP define el formato que los encabezados deben tener, éstos tienen texto que es
posible leer, dividido en líneas que consisten en palabras clave, seguidas por puntos y un valor.
Por ejemplo, el encabezado debe contener una línea que especifique el destino. La línea comienza con
To: y el resto contiene la dirección del correo electrónico del recipiente. Una línea que comienza con
From: contiene la dirección de correo del emisor. Opcionalmente, el emisor puede especificar una
dirección a la que se envíen las réplicas. Se incluiría una línea que comienza con Reply-To: en ese caso.
8
Descargar