Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
protocolos de comunicaciones
Tecnología de Redes
1. Introducción 3
1.1. Funcionales y servicios . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Mensajes y Codificación . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1. Estructura Mensaje DNS . . . . . . . . . . . . . . . . . . . . . 5
1.2.2. Sección de cabecera DNS . . . . . . . . . . . . . . . . . . . . . 6
1.2.3. Sección de Consulta . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.4. Sección de Respuesta . . . . . . . . . . . . . . . . . . . . . . . 8
B. Información adicional 20
1
Índice de figuras
3.1. Tx/Rx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Estadísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2
Capítulo 1
Introducción
Nació de la necesidad de recordar de una forma sencilla los nombres de todos los
servidores conectados a Internet. Una idea primitiva anterior a la consecución del
DNS es SRI, que consiste en un archivo que contenía todos los nombres de domi-
nio conocidos. El crecimiento explosivo de la red fue la causa de que un sistema de
nombres centralizado no resultara nada práctico, así que en 1983 se plantea el primer
RFC, el 881 y tras largas discusiones emitidas, definien lo que hoy ha evolucionado
hacia el DNS modeno.
3
El uso de DNS implica que los usuarios puedan utilizar nombres sencillos, como
por ejemplo www.ugr.es para localizar un sistema, en lugar de emplear la dirección
IP (xxx.xxx.xxx.xxx).
Para llevar a cabo todas sus funciones usa por defecto el puerto 53 a nivel de ser-
vidor. Para mejorar el rendimiento, ya que es un protocolo muy usado, las consultas
utilizan como protocolo de transporte UDP.
4
1.2. Mensajes y Codificación
El protocolo DNS usa un formato común de mensaje 1.2.1 para todas las tran-
sacciones que ocurren entre el cliente y el servidor. Los mensajes están encapsulados
sobre UDP o TCP usando un número de puerto.
+---------------------+
| Header |
+---------------------+
| Question | the question for the name server
+---------------------+
| Answer | RRs answering the question
+---------------------+
| Authority | RRs pointing toward an authority
+---------------------+
| Additional | RRs holding additional information
+---------------------+
Los mensajes de DNS deben ser de una tamaño inferior a 512 bytes. Cuando es
necesario realizar transferencias de mayor tamaño, los mensajes se encapsulan direc-
tamente sobre TCP.
5
1.2.2. Sección de cabecera de un mensaje DNS
Los campos Identification, Flags, Number of question, Number of answers RR,
Number of authority RRs y Number of aditional RRs son de 16 bits de longitud
(2 bytes). Tal y como se representa en el diagrama 1.2.2, los seis primeros campos
ocuparía un total de 96 bits (12 bytes), formando así, la cabecera de un mensaje
DNS.
3. El campo QPCode dentro de los flags sirve para especificar que tipo de consulta
se produce (una consulta estándar, inversa, de petición de estado, ...)
6
7. El campo RA (Recursion Available). Esto se establece o borra en una respuesta,
y denota si el soporte de consultas recursivas está disponible en el servidor de
nombres
8. El campo Z. Campo reservado para uso futuro. Debe ser cero en todas las
consultas y respuestas.
9. El campo RCODE. Es un campo de 4 bits de longitud. Si su valor es 0 significa
que no hubo condición de error. Si su valor es 2. El servidor no fue capaz de
interpretar la consulta. Puedes consultar más valores RFC 1035 [RFC 881].
10. El campo QDCOUNT especifica el número de entradas en la sección de con-
sulta.
11. El campo ANCOUNT especifica el número de entradas en la sección de res-
puestas.
12. El campo NSCOUNT especifica el número de registros de recursos del servidor
de nombres en la sección de registros de autoridad.
13. El campo ARCOUNT especifica el número de registros de recursos en la sec-
ción de registros adicionales.
7
1. El campo QNAME contiene el nombre de dominio a consultar
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ /
/ NAME /
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| CLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TTL |
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| RDLENGTH |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
/ RDATA /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
8
4. El campo TTL. Es un entero sin signo de 32 bits que especifica el intervalo de
tiempo (en segundos) que el registro de recursos puede almacenarse en caché
antes de descartarse. Los valores cero se interpretan en el sentido de que el RR
solo se puede usar para la transacción en curso, y no se deben almacenar en
caché.
9
Capítulo 2
Figura 2.1: Visión general de una captura sobre el tráfico generado por Sky-
pe. Puede obtenerse aquí https://wiki.wireshark.org/SampleCaptures?action=
AttachFile&do=get&target=SkypeIRC.cap
10
Figura 2.2: Aplicamos el filtro sobre el tipo de tráfico que queremos, en nuestro caso,
sobre el protocolo dns
11
Figura 2.3: Transacción 396 - 400
12
Figura 2.5: Información a nivel IP. Versión del Protocolo de Internet, direcciones
origen y destino, flags, cheksum, ...
Figura 2.6: Información a nivel UDP: puerto origen, puerto destino y longitud. Los
mensajes DNS están encapsulados sobre UDP. Un paquete UDP pesa menos que
un paquete TCP y DNS se beneficia de ello, ya que aún pudiendo existir perdidas y
errores, éstos se gestionan a nivel de aplicación.
13
Figura 2.7: Información DNS. Aquí podemos observar como dicho paquete tiene el
flag questions activo, lo que significa que dicho paquete es una contiene una consulta
y no una respuesta. También contiene el identificador y los flags. También podemos
sacar que la consulta requiere de recursividad para su resolución gracias al valor de
los flags (0x0100)
14
Capítulo 3
Hemos analizado un tramo de 10 minutos con wireshark para visualizar los proto-
colos más usados en un momento de navegación común. Tras ello, podemos observar
como durante un tramo de navegación común, se realizan transferencias de paquetes
que no podríamos ni haber imaginado.
15
Figura 3.2: Estadísticas de protocolos más usados
1. UDP
2. TCP
3. SSL
4. HTTP
5. ICMP
6. DNS
7. DHCP
8. ARP
9. TLS
10. IGMP
16
Apéndice A
Figura A.1: Mientras inciamos una sesión de captura de paquetes con wireshark bus-
camos en el navegador la dirección oficial de la universidad. El paquete 175 es un
mensaje DNS con identificador 0xb3df
17
Figura A.2: Podemos ver información física del paquete, como la dirección MAC de
origen y destino
Figura A.3: Podemos observar información a nivel del protocolo de internet del pa-
quete
18
Figura A.4: Podemos observar información a nivel DNS del paquete como por ejemplo:
el identificador, la resolución recurisiva y que es un mensaje de consulta y no de
respuesta.
Figura A.5: En esta captura se puede apreciar como el cuerpo del mensaje cambia
completamente y Wireshark nos confirma que se trata de un mensaje dns de respuesta,
y no de consulta, como el justo anterior.
19
Apéndice B
Información adicional
Figura B.1: Ejecución de host y nslookup para averiguar si el servidor dns está fun-
cionando correctamente
20
Bibliografía
21