DNS Telemática I Índice Información básica sobre Internet................................................ 3

Anuncio
DNS
Telemática I
Índice
Información básica sobre Internet................................................ 3
Explicación de cómo funciona el DNS.......................................... 8
¿Por qué se necesita el DNS?....................................................... 13
Cómo configurar DNS................................................................. 19
Seguridad del DNS..................................................................... 20
Información Básica Sobre Internet (TCP/IP)
Internet es una red de los ordenadores conectados juntos a través de redes de comunicaciones. Esta red
consiste en los cables, la óptica de fibra, el satélite, la radio y las líneas telefónicas. El sistema tiene
ordenadores de todos los tipos y funcionamiento todo el tipo de sistemas operativos. Todos utilizan el TCP/IP
como lenguaje común.
El TCP/IP es un conjunto de protocolos usados por los ordenadores para comunicarse en Internet. Un
protocolo se puede pensar en como lenguaje − una manera de comunicarse usando un conjunto común de los
términos que son entendidos por cada uno que los emplea. El conjunto del TCP/IP de protocolos también se
está utilizando comúnmente en redes internas hoy en parte porque son necesarios si se desea conectar con el
Internet y parcialmente debido a su flexibilidad y las características que ofrecen.
El protocolo del TCP/IP puede ser pensado pues en un interfaz acodado donde cada capa realiza
negociaciones de diversa función y de cada capa solamente a la misma capa en el otro ordenador. Cada capa
representa una función de la comunicación de datos y puede incluir en cualquier número de diversos
protocolos. Así, los protocolos tales como correo y ftp ambos utilizan la capa de aplicación para interconectar
con el utilizador. En este acercamiento la capa superior genera los datos que las necesidades de ser
comunicado a la misma capa en el otro ordenador. Envía esta información a la capa más baja que trata lo que
consiguió como datos y agrega cabeceras que contiene la información proporcionada por esa capa. Entonces
la pasa encendido a la capa siguiente. La capa siguiente considera una secuencia de datos y no la sabe y no
cuida si fue generada en la capa superior o la segunda capa. Hace su trabajo y lo pasa encendido que agrega
después su información etcétera. Igual sucede al revés cuando se reciben los datos.
La aplicación Layer: Ésta es la capa con la cual el interfaz utilizador así como aplicaciones del utilizador.
Todos los interfaces utilizador en el término de la selección, de entradas de información y de comandos, serán
recogidos por esta capa. Hay también información de fondo que es pasada con esta capa por aplicaciones. Esta
capa no transporta ni envía ninguno dato a ningun lugar excepto a la capa de transporte en una cara y el
interfaz utilizador y las aplicaciones en la otra cara. Proporciona a las rutinas de la presentación de los datos
que significan el acuerdo en cómo los datos deben ser representados. Además esta capa de aplicación se
comunica con la capa de aplicación en el otro ordenador.
La capa de transporte esta capa proporciona al extremo a la salida del final de datos. Aquí están los ajustes
del socket y del acceso de los términos adentro. Estos términos se utilizan para describir el camino que las
1
aplicaciones utilizan al comunicarse. Ésta es la capa de Internet donde el TCP/IP realmente reside. Hay dos
servicios de la capa de transporte aquí. Tcp (Transmission Control Protocol) y UDP (User Datagram
Protocol). El primer garantiza que los datos son recibidos si se han enviados (repaso de las faltas) mientras
que no lo hace el segundo. Los accesos pertenecen aquí. Esta capa proporciona a fuente y a accesos de la
destinación. Las secuencias de datos que venían adentro (y que salen) pudieron ser una mezcla de diversos
servicios como el ftp, WWW y el telnet. Así, es necesario dirigirlos a la aplicación apropiada. Cuando uno
tiene acceso a este tipo servicios sus aplicaciones saben qué accesos deben tratar para comunicarse con estos
servicios en el otro ordenador. Su ordenador utilizará un conjunto totalmente diverso de accesos y entonces se
comunicará con el otro ordenador para establecer una línea de la comunicación. El servicio de WWW será
tratado típicamente en el acceso 80 para el servidor. Si este servidor también está ejecutando un proxy server,
necesitará otro acceso y puede utilizar a menudo < IP address>:8080. Esto significa que el poder necesita ser
tratado en el acceso 8080. La última versión del Winsock de Microsoft utilizará un máximo de 32767
socketes.
La capa Internet esta capa aísla las capas superiores representadas por las capas precedentes de los detalles
arenosos nitty de tratar y realmente de entregar los datos. Aquí es donde IP (el Internet Protocol) reside. Todos
los datos atraviesan este nivel.
• Define la unidad básica de la transmisión (datagramas).
• La dirección.
• Mueve los datos.
• Encamina los datos.
• Rompe los paquetes aparte y los vuelve a montar.
IP (Internet Protocol):
Los datagrams como unidades mas pequeñas de la transmisión de datos son intercambiados por un protocolo
− el Internet Protocol−, que es completamente independiente del hardware. De este modo llegamos a la
ventaja principal del protocolo IP, que consiste en reunir redes físicamente separadas en una red
aparentemente homogénea.
Las funciones principales del IP:
• Definir datagrams: al enviarse un archivo vía la red, es dividido en partes mas pequeños, es decir,
bloques de datos o paquetes
• Establecer la dirección en la Internet: el IP incorpora esta información en el cabezal, junto con la
identificación del mismo
• Routing de datagrams a computadoras lejanas: si un datagram va dirigido a una computadora que no
se encuentra en la misma red, es direccionado a un gateway para llegar al destino indicado.
Pero por otra parte el IP no dispone de informaciones de control de la transmisión (handshake), es decir, que
el IP transporta paquetes de un lugar a otro sin el debido control de que se recibieron todos los paquetes en el
orden correcto.
Las computadoras de redes reciben nombres porque son mas fáciles de recordar que una secuencia de cifras.
El protocolo IP tiene un esquema de dirección independiente del hardware. Esto se consigue asignando una
cifra única de 32 bits a un host; la dirección−IP. La dirección IP es representada por cuatro cifras decimales
(octetos) separadas por puntos. Una máquina por ejemplo, podría tener la dirección de hardware
0x952C0C02, la cual aparecería de la forma 149.176.12.7 .
En este punto habrá comprendido que tenemos tres direcciones distintas:
2
• El nombre del host: Nombre de la máquina.
• La dirección IP: 149.176.17.7
• Y la dirección del hardware.
Cada datagram es transmitido a la dirección en Internet u otra red local, que se indica en el cabezal del
datagram. La dirección de destinatario es una dirección estándar (dirección IP) de 32 Bits y contiene
información suficiente para identificar inequívocamente una computadora de una red.
Una dirección IP consiste de dos partes:
• Una dirección de red
• Y una dirección de la computadora (host) dentro de esta red.
Dependiendo del tamaño de la red resulta el número de las direcciones de host. Para cumplir estas diferentes
exigencias, se ha creado diferentes clases de redes, que definen separaciones de dirección IP diferentes.
• Clase A: La Clase A abarca redes de 1.0.0.0 hasta 127.0.0.0. La cifra de este tipo de red se encuentra
en el primer octeto. Así quedan 24 Bits para definir los hosts, lo que es suficiente para
aproximadamente 1,6 millones de computadoras.
• Clase B: La Clase B abarca redes de 128.0.0.0 hasta 191.255.0.0 . La cifra de este tipo de red se
encuentra en los dos primeros octetos. Esto permite 16.320 redes con 65.024 computadoras en cada
una.
• Clase C: Clase C abarca las redes 192.0.0.0 hasta 223.255.255.0 . La cifra de red se encuentra en los
primeros tres octetos. Esto permite casi dos millones de redes con alrededor de 254 hosts.
• Clase D, E y F: Direcciones, que están en la gama de 224.0.0.0 hasta 225.0.0.0 son experimentales, o
son reservadas para el uso futuro y no definen ninguna red.
TCP (Transmission Control Protocol)
Como fue mencionado antes, el Internet Protocol no dispone de control de la transmisión, de esto se ocupa el
TCP. El TCP es un protocolo de flujo de datos (byte stream), confiable y orientado a la conexión.
• Se habla de flujo de datos (byte stream), porque el TCP considera los datos como una unidad de
paquetes no separados, en vez de una secuencia de paquetes independientes.
• Es confiable porque verifica si todos los datagrams han llegado. En el caso de que se pierda uno, el
emisor recibe la información correspondiente del receptor y tiene que retransmitir los paquetes
perdidos hasta que todos sean recibidos por el receptor.
• Orientado a la conexión significa que el TCP establece una conexión lógica entre dos computadoras,
de modo que antes de la transmisión de los datagrams el TCP transmite informaciones de control
(handshake) entre el emisor y el receptor iniciando la comunicación entre los dos hosts.
Debido a esto el TCP se ocupa del orden correcto de los datos.
Explicación de cómo funciona el DNS (Domain Name Server)
DNS (Domain Name Server / Servidor de nombres de dominio): Computadora que resuelve o convierte
nombres de dominio a su dirección numérica IP equivalente.
Esa es la razón. Gracias al DNS es que podemos escribir todas esas letras y estamos seguros de que, si esa
dirección existe, nuestro browser se encargara de mostrarnos la página que buscamos. DNS consiste en una
base de datos que relaciona la dirección IP de cada máquina conectada a Internet con su nombre.
3
Todos los ordenadores conectados a Internet han de poseer al menos una dirección IP. Ésta consiste en cuatro
números separados por puntos. No pueden haber dos ordenadores con la misma dirección, pues podrían
aparecer conflictos y estos no se podrían comunicar.
Los nombres están formador por palabras separadas por puntos. La parte final del nombre es el dominio al
cual está conectador el ordenador. Por ejemplo:
194.133.59.16 corresponde a afrodita.adam.es
Los servidores de nombres DNS son computadoras conectadas de forma permanente a Internet cuya función
principal es la de responder de forma autorizada a cualquier nombre de dominio bajo cualquiera de las
jerarquías existentes.
Cuando se tramita un nombre de dominio propio para una organización en Internet, es imprescindible
especificar al menos dos servidores de nombres (uno primario y otro secundario) que son los que responderán
a ese nombre de dominio ante cualquier petición, esto es lo que se conoce como responder de forma
autorizada a un nombre de dominio.
Normalmente exploramos por las páginas de web, enviamos mensajes de correo electrónico o transferimos
archivos en una sesión de FTP (File Transfer Protocol/ Protocolo de Transferencia de Archivos), y lo hacemos
usando nombres (de dominio) y no direcciones IP, lo cuál nos muestra que la función principal de los
servidores de nombres de dominio es la de traducir los nombres de los servicios y servidores relacionados con
un dominio en direcciones IP.
Cuando introducimos un nombre en nuestro navegador (p.e. www.microsoft.com), nuestra máquina pregunta
al servidor de DNS, cual es el número correspondiente a esa dirección. Cuando el servidor de DNS le
responde, nuestra máquina ya puede contactar directamente con el destinatario.
El DNS se creó precisamente para simplificar el nombre con el que accede a las máquinas. Es más sencillo
recordar adam.es que 194.133.59.16.
El Sistema de Dominio de Nombres es básicamente una base de datos distribuida de computadoras que
forman parte de una red. Esto facilita el control local de la totalidad de segmentos de la base de datos, lo que
permite, que cada segmento esté disponible a través de la red por un esquema de cliente−servidor (client
server).
El Servidor de Nombres (name server) es un programa que forma la parte servidor del mecanismo
cliente−servidor del DNS. Los Servidores de Nombres contienen información sobre un determinado segmento
de la base de datos y la hace disponible para clientes (clients), denominados Resolvers. Los Resolvers muchas
veces consisten sólo en rutinas de librerías, que crean interrogaciones y las mandan a través de la red a un
Servidor de Nombre.
La estructura de la base de datos del DNS es mostrada en figura. La totalidad de la base de datos se muestra
como un árbol (tree) invertido con la raíz (root) en la punta. El nombre de la raíz es la etiqueta NULL, pero se
escribe con un solo punto ("."). Cada nudo del árbol representa tanto una partición de la totalidad de la base de
datos, como un Dominio (domain) del Sistema de Dominio de Nombre. En adelante cada dominio puede ser
dividido en particiones que se llaman Subdominios (subdomains), que son derivados como niños de sus nudos
paternales.
4
La base de datos del DNS
Cada dominio es marcado de modo que tiene una etiqueta que le identifica relativamente con su dominio
paternal. El dominio posee también un nombre de dominio (domain name), que identifica su posición en la
base de datos, tal como una ruta absoluta de un directorio especifica su lugar en el sistema de archivos de su
computadora.
En el DNS, el nombre de dominio completo es una secuencia de etiquetas, empezando por el dominio hasta la
raíz (root), separando las etiquetas por puntos "." (p. ej: einstein.matematicas.ac.edu). Permitiendo que cada
dominio puede ser administrado por una organización diferente. Cada organización puede dividir su dominio
en varios subdominios, cuya administración puede ser realizada por otras organizaciones.
El Network Information Center p. ej. administra el dominio "edu" (educational) pero pasa la autoridad sobre
el subdominio "ac.edu" (academic) a la Universidad, la cual autoriza al instituto de matemáticas para
administrar el siguiente subdominio: "físicas.ac.edu" (Figura).
El mantenimiento de subdominios
Finalmente queda mencionar que un dominio puede contener tanto subdominios como hosts. Cada host en una
red tiene un Nombre de Dominio que posee la información sobre el host, así como la dirección IP o como va
el Routing de correo, etc. Un host también puede tener uno o mas Aliases de Dominio de Nombre, que son
simplemente un indicador de un nombre de dominio (el alias) para el nombre oficial (canonical domain
name).
Las organizaciones de un dominio son libres de elegir nombres dentro de su dominio. No importa cual nombre
5
sea usado, es seguro que no causa conflicto con otro nombre, porque tiene su Nombre de Dominio único
adjuntado al final. De este modo pueden existir dos hosts con el nombre Einstein en su Universidad, por
ejemplo, paquetes de einstein.fisicas.ac.edu siempre van a encontrar su camino a einstein.matematicas.ac.edu,
porque se trata de dominios paternales diferentes.
6
¿Por qué se necesita DNS?
Para resolver nombres de dominio y direcciones IP y para poder ubicar hosts de redes lejanas. Como fue
mencionado antes, es más fácil recordar nombres en vez de cifras. Sobre todo cuando se trata de una cantidad
de direcciones tan inmensa como la Internet.
Las computadoras por otro lado trabajan perfectamente con cifras como la dirección IP. Lo que sucede cuando
usted entra a la Internet colocando una dirección como p. ej. http://www.altavista.com, es que su navegador
dirige una petición (request) al Servidor de Dominio de su proveedor y este intenta resolver el nombre de
dominio con la IP correspondiente. En el caso que su proveedor no está autorizado para esta zona, transmite la
petición (request, query) al servidor de dominio autorizado hasta llegar al dominio que se indicó. (Detallamos
una busqueda con la dirección "einstein.matematicas.ac.edu" en la Figura).
7
La resolución de einstein.matematicas.ac.edu en la Internet
Esto significa que cada servidor de dominio tiene la información completa de la zona para que esta autorizado
y aparte tiene informaciones básicas sobre otras zonas. Cuando una petición (request) se dirige a una zona que
esta fuera de la zona autorizada, su servidor por lo menos sabe por donde buscar. Esto puede significar que la
petición (request) de una dirección tiene que pasar por varios Servidores de Dominio hasta que usted tenga
contacto con el destino solicitado.
Aunque usted supiera la dirección IP del detino, es imprescindible consultar otros Servidores de Dominio si su
computadora no se encuentra en la misma zona. De este modo es fácil de imaginar porque el Sistema de
Dominio de Nombre no puede consistir en una sola base de datos centralizada. Primero tardaría demasiado
tiempo encontrar un servidor entre millones de otros y segundo habría una cola bastante larga en el caso de
miles de peticiones simultáneas de todo el mundo. Adicionalmente no tendría sentido dirigirse a un servidor
lejano para comunicar con un host de la misma zona.
Hasta ahora hablamos del mapeo de nombres a direcciones. Pero, que sucede si usted de repente tiene la
dirección IP y desee saber el nombre de este dominio. Para solventar este problema fue creado el dominio
"in−addr.arpa". (Figura 5)
Este dominio es llamado dominio inverso y la resolución de direcciones IPs a nombres de dominio se
denomina mapeo reverso (reverse mapping o reverse lookup). El dominio de nombre inverso es creado
poniendo las cifras de la IP del orden contrario y añadiendo in−addr.arpa al final.
Un ejemplo: Nos recordamos que la IP de Einstein del instituto de matemáticas es "149.176.12.7" con el
nombre de dominio "einstein.matematicas.ac.edu".
8
El dominio "matematicas.ac.edu" entonces tendrá el nombre de dominio inverso: "12.176.149.in−addr.arpa" y
la computadora einstein.matematicas.ac.edu correspondientemente esta realizada con
"7.12.176.149.in−addr.arpa".
El mapeo reverso
Ejemplo:
Una empresa en crecimiento llamada Tornillos y Tuercas de México desea adquirir e instalar un servidor de
web y un servidor de correo para tener sus propias direcciones.
Hicieron los trámites correspondientes y solicitaron el dominio tyt en Internet con la jerarquía comercial
(.com) y de México (.mx). Esto resultó en un servidor de web llamado www.tyt.com.mx que tiene una
dirección IP 153.132.15.198 y un servidor de correo mailhost.tyt.com.mx que tiene una dirección IP
153.132.32.200.
Los servidores de nombres de dominio correspondientes para su dominio responderán de forma correcta en
los siguientes casos:
• Cuando alguien escriba en su browser http://www.tyt.com.mx, este preguntará a los servidores de
nombres de dominio configurados en su computadora de antemano (configuración de red), los cuales
a sus vez irán preguntando a los servidores de nombres de Internet hasta que encuentre el servidor que
corresponda al dominio tyt.com.mx, tal servidor enviará la respuesta diciendo al browser que el
servidor de nombre de dominio www.tyt.com.mx tiene la dirección IP 153.132.15.198.
9
• Cuando un comprador de Tornillos y Tuercas de México envía un mensaje de correo electrónico a la
dirección [email protected], el servidor de correo del comprador pregunta a su DNS, el cuál busca
el servidor de nombres que corresponda al dominio tyt.com.mx, después pregunta por el servidor de
correo mailhost.tyt.com.mx y envía el mensaje de correo por SMTP (Send Mail Transfer Protocol/
Protocolo de Transferencia de Enviar Correo) a la dirección IP del servidor de correo
(153.132.32.200).
• Cuando un usuario externo al dominio de Tornillos y Tuercas de México trata de acceder el Intranet
llamado intranet.tyt.com.mx, el DNS correspondiente a tyt.com.mx le responde diciendo que no existe
el servidor llamado "intranet" dentro del dominio "tyt.com.mx" puesto que este no fue especificado
como disponible (lo cuál no quiere decir que no existe para los usuarios que están dentro del
dominio).
Cada servidor de nombres responde de forma correcta sobre TODOS los servidores existentes en un dominio.
En el ejemplo anterior, el servidor de Nombres para el Servidor Web es el mismo que el Servidor de Nombres
para el Servidor de Correo.
Es importante mencionar el objetivo del DNS. Si tenemos la dirección IP de el servicio al que deseamos
acceder no necesitamos del DNS. Así, si escribimos la dirección de web http://153.132.15.198 llegaremos a
donde mismo que si escribimos http://www.tyt.com.mx.
Si tuviéramos todas las direcciones de todos los servicios no necesitaríamos del DNS.
Las direcciones DNS se basan en el uso de una jerarquía de dominios. En el primer nivel se encuentran seis
dominios especiales propios de los Estados Unidos junto a dominios nacionales donde cada país se representa
con dos letras. Los dominios especiales son:
COM Empresas
EDU Centros de Enseñanza
GOV Organismos Públicos
MIL Defensa
10
NET Redes
ORG Organizaciones
UK Reino Unido
DE Alemania
ES España
IT Italia
JP Japón
FR Francia
ZA Sudáfrica
US Estados Unidos
Una organización se puede registrar dentro de uno de los dominios anteriores según su localización geográfica
y actividad, y a partir de ese momento puede crear sus propios subdominios. Por ejemplo, la compañía
española NIPUM, S.A. podría crear su propio dominio como nipum.es (la dirección se construye disponiendo
los dominios de derecha a izquierda a medida que se hacen más específicos), a partir de ese momento podría
crear sus propios subdominios. Por ejemplo, para la delegación de Andalucía podría usar la dirección
and.nipum.es, y para la representación de Cádiz, ca.and.nipum.es.
Cómo configurar DNS
• En Windows 95:
1. Picando con el botón derecho encima del icono del teléfono de ADAM (en el menú
Inicio−Programas−Accesorios) aparece un menú.
2. Picar sobre Propiedades y seleccionar los menús: Tipo de Servidor y Configuración Tcp/ip.
3. Activar la opción: Direcciones del servidor asignadas por el usuario.
4. En la casilla DNS primaria escribir: 194.133.59.16
5. En la casilla DNS secundaria escribir: 194.133.59.17
• En Windows 3.11:
1. Selecionar el icono del Tcpman (trompeta) dentro del grupo de programas ADAM.
2. En el menú File de la parte superior seleccione Setup.
3. En la casilla Name Server escriba 194.133.59.16
• En Macintosh:
11
1. Picar sobre el icono de MacTCP que se encuentra en el panel de control.
2. En la ventana de MacTCP seleccionar More...
3. En la nueva ventana que aparece rellenar las casillas Domain con adam.es y la casilla IP Address default
con 194.133.59.16
Seguridad del DNS
El servicio DNS es una amplio conjunto de bases de datos distribuida usado a lo largo de la internet,
proporcionando correspondencia entre los nombres de host y las direcciones de IP de los mismos. Existe la
posibilidad de abusar de este servicio para poder entrar en un sistema. Suposiciones durante la fase de
autentificación, pueden conllevar serias grietas de seguridad importantes. El problema de seguridad es similar
al que existe en el NIS. La autentificación se lleva a cabo en muchos casos a partir del nombre o la dirección.
Las aplicaciones de alto nivel, usan en la mayoría de los casos los nombres para la autentificación, puesto que
las tablas de direcciones son mucho más difíciles de crear, entender y mantener. Si por ejemplo alguien quiere
suplantar una máquina por otra no tiene más que cambiar una de las entradas de la tabla que relaciona su
nombre con su dirección. Este es el problema fundamental de DNS. Para conseguir esto una máquina debe
obtener primero el número ID de la petición DNS, para ello debe construir el paquete de respuesta y usar la
opción de enrutamiento de fuente, para hacerlo llegar al que llevó a cabo la petición.
18
12
Descargar