martes, 7 de julio de 2015

DNS

En los orígenes de Internet, cuando sólo había unos cientos de ordenadores conectados, la tabla con los nombres de dominio y direcciones IP se encontraba almacenada en un único ordenador con el nombre de HOSTS.TXT. El resto de ordenadores debían consultarle a éste cada vez que tenían que resolver un nombre. Este fichero contenía una estructura plana de nombres, tal como hemos visto en el ejemplo anterior y funcionaba bien ya que la lista sólo se actualizaba una o dos veces por semana.
Sin embargo, a medida que se fueron conectando más ordenadores a la red comenzaron los problemas: el fichero HOSTS.TXT comenzó a ser demasiado extenso, el mantenimiento se hizo difícil ya que requería más de una actualización diaria y el tráfico de la red hacia este ordenador llegó a saturarla.
Es por ello que fue necesario diseñar un nuevo sistema de resolución de nombres que distribuyese el trabajo entre distintos servidores. Se ideó un sistema jerárquico de resolución conocido como DNS (Domain Name System, sistema de resolución de nombres).


Componentes del DNS
Para su funcionamiento, el DNS utiliza tres componentes principales:
  • Clientes DNS (resolvers). Los clientes DNS envían las peticiones de resolución de nombres a un servidor DNS. Las peticiones de nombres son preguntas de la forma: ¿Qué dirección IP le corresponde al nombrenombre.dominio?
  • Servidores DNS (name servers). Los servidores DNS contestan a las peticiones de los clientes consultando su base de datos. Si no disponen de la dirección solicitada pueden reenviar la petición a otro servidor.
  • Espacio de nombres de dominio (domain name space). Se trata de una base de datos distribuida entre distintos servidores.


El espacio de nombres de dominio es una estructura jerárquica con forma de árbol que clasifica los distintos dominios en niveles. A continuación se muestra una pequeña parte del espacio de nombres de dominio de Internet:
El punto más alto de la jerarquía es el dominio raíz. Los dominios de primer nivel (es, edu, com...) parten del dominio raíz y los dominios de segundo nivel (upm, ucm, microsoft...), de un dominio de primer nivel; y así sucesivamente. Cada uno de los dominios puede contener tanto hosts como más subdominios.
Un nombre de dominio es una secuencia de nombres separados por el carácter delimitador punto. Por ejemplo, www.fi.upm.es. Esta máquina pertenece al dominio fi (Facultad de Informática) que a su vez pertenece al dominio upm (Universidad Politécnica de Madrid) y éste a su vez, al dominio es (España).
Generalmente cada uno de los dominios es gestionado por un servidor distinto; es decir, tendremos un servidor para el dominio aq.upm.es (Arquitectura), otro para op.upm.es (Obras Públicas) y así sucesivamente.
Los dominios de primer nivel (Top-Level Domains) han sido clasificados tanto en función de su estructura organizativa como geográficamente. 



Tipos de servidores DNS
Dependiendo de la configuración del servidor, éste puede desempeñar distintos papeles:
  • Servidores primarios (primary name servers). Estos servidores almacenan la información de su zona en una base de datos local. Son los responsables de mantener la información actualizada y cualquier cambio debe ser notificado a este servidor.
  • Servidores secundarios (secundary name servers). Son aquellos que obtienen los datos de su zona desde otro servidor que tenga autoridad para esa zona. El proceso de copia de la información se denominatransferencia de zona.
  • Servidores maestros (master name servers). Los servidores maestros son los que transfieren las zonas a los servidores secundarios. Cuando un servidor secundario arranca busca un servidor maestro y realiza la transferencia de zona. Un servidor maestro para una zona puede ser a la vez un servidor primario o secundario de esa zona. Estos servidores extraen la información desde el servidor primario de la zona. Así se evita que los servidores secundarios sobrecargen al servidor primario con transferencias de zonas.
  • Servidores locales (caching-only servers). Los servidores locales no tienen autoridad sobre ningún dominio: se limitan a contactar con otros servidores para resolver las peticiones de los clientes DNS. Estos servidores mantienen una memoria caché con las últimas preguntas contestadas. Cada vez que un cliente DNS le formula una pregunta, primero consulta en su memoria caché. Si encuentra la dirección IP solicitada, se la devuelve al cliente; si no, consulta a otros servidores, apunta la respuesta en su memoria caché y le comunica la respuesta al cliente.
Los servidores secundarios son importantes por varios motivos. En primer lugar, por seguridad debido a que la información se mantiene de forma redundante en varios servidores a la vez. Si un servidor tiene problemas, la información se podrá recuperar desde otro. Y en segundo lugar, por velocidad porque evita la sobrecarga del servidor principal distribuyendo el trabajo entre distintos servidores situados estratégicamente (por zonas geográficas, por ejemplo).

viernes, 26 de junio de 2015

El Datagrama IP


El Datagrama IP

Datagrama IP

  • Banderas o indicadores (3 bits). Sólo 2 bits de los 3 bits disponibles están actualmente utilizados. El bit de Más fragmentos (MF) indica que no es el último datagrama. Y el bit de No fragmentar (NF) prohíbe la fragmentación del datagrama. Si este bit está activado y en una determinada red se requiere fragmentar el datagrama, éste no se podrá transmitir y se descartará.
  • Desplazamiento de fragmentación (13 bits). Indica el lugar en el cual se insertará el fragmento actual dentro del datagrama completo, medido en unidades de 64 bits. Por esta razón los campos de datos de todos los fragmentos menos el último tienen una longitud múltiplo de 64 bits. Si el paquete no está fragmentado, este campo tiene el valor de cero.
  • Tiempo de vida o TTL (8 bits). Número máximo de segundos que puede estar un datagrama en la red de redes. Cada vez que el datagrama atraviesa un router se resta 1 a este número. Cuando llegue a cero, el datagrama se descarta  y se devuelve un mensaje ICMP de tipo "tiempo excedido" para informar al origen de la incidencia.
  • Protocolo (8 bits). Indica el protocolo utilizado en el campo de datos: 1 para ICMP, 2 para IGMP, 6 para TCP y 17 para UDP.
  • CRC cabecera (16 bits). Contiene la suma de comprobación de errores sólo para la cabecera del datagrama. La verificación de errores de los datos corresponde a las capas superiores.
  • Dirección origen (32 bits). Contiene la dirección IP del origen.
  • Dirección destino (32 bits). Contiene la dirección IP del destino.

Fragmentación
Ya hemos visto que las tramas físicas tienen un campo de datos y que es aquí donde se transportan los datagramas IP. Sin embargo, este campo de datos no puede tener una longitud indefinida debido a que está limitado por el diseño de la red. El MTU de una red es la mayor cantidad de datos que puede transportar su trama física. El MTU de las redes Ethernet es 1500 bytes y el de las redes Token-Ring, 8192 bytes. Esto significa que una red Ethernet nunca podrá transportar un datagrama de más de 1500 bytes sin fragmentarlo.
Un encaminador (router) fragmenta un datagrama en varios si el siguiente tramo de la red por el que tiene que viajar el datagrama tiene un MTU inferior a la longitud del datagrama. Veamos con el siguiente ejemplo cómo se produce la fragmentación de un datagrama.

Supongamos que el host A envía un datagrama de 1400 bytes de datos (1420 bytes en total) al host B. El datagrama no tiene ningún problema en atravesar la red 1 ya que 1420 < 1500. Sin embargo, no es capaz de atravesar la red 2 (1420 >= 620). El router R1 fragmenta el datagrama en el menor número de fragmentos posibles que sean capaces de atravesar la red 2. Cada uno de estos fragmentos es un nuevo datagrama con la misma Identificación pero distinta información en el campo de Desplazamiento de fragmentación y el bit de Más fragmentos (MF). Veamos el resultado de la fragmentación:
Fragmento 1: Long. total = 620 bytes; Desp = 0; MF=1 (contiene los primeros 600 bytes de los datos del datagrama original)
Fragmento 2: Long. total = 620 bytes; Desp = 600; MF=1 (contiene los siguientes 600 bytes de los datos del datagrama original)
Fragmento 3: Long. total = 220 bytes; Desp = 1200; MF=0 (contiene los últimos 200 bytes de los datos del datagrama original)
El router R2 recibirá los 3 datagramas IP (fragmentos) y los enviará a la red 3 sin reensamblarlos. Cuando el host B reciba los fragmentos, recompondrá el datagrama original. Los encaminadores intermedios no reensamblan los fragmentos debido a que esto supondría una carga de trabajo adicional, a parte de memorias temporales. Nótese que el ordenador destino puede recibir los fragmentos cambiados de orden pero esto no supondrá ningún problema para el reensamblado del datagrama original puesto que cada fragmento guarda suficiente información.
Si el datagrama del ejemplo hubiera tenido su bit No fragmentar (NF) a 1, no hubiera conseguido atravesar el router R1 y, por tanto, no tendría forma de llegar hasta el host B. El encaminador R1 descartaría el datagrama.



martes, 23 de junio de 2015

Protocolo TCP/IP

Máscara de subred

Una máscara local de bits (conjunto de indicadores) que especifica qué bits de la dirección IP especifican una red IP determinada o un host dentro de una subred. Se utiliza para “enmascarar” una porción de una dirección IP de modo que el TCP/IP pueda determinar si cualquier dirección IP está en una red local o remota. Cada equipo configurado con el TCP/IP debe tener una máscara de subred definida.
Un valor que permite que una red sea subdividida y proporciona asignaciones de direcciones más complejas. El formato de la máscara de subred es nnn.nnn.nnn.nnn, por ejemplo, 255.255.255.0.
Usada para subdividir una dirección de red asignada en subredes adicionales usando algunos de los bits sin asignar para designar direcciones de red local. El enmascaramiento de la subred facilita el enrutamiento identificando la red del host local. La máscara de subred es un parámetro de configuración necesario para un host IP.
Una máscara local de bits (conjunto de indicadores) que especifica qué bits de la dirección IP especifican una red IP determinada o un host dentro de una subred. Se utiliza para “enmascarar” una porción de una dirección IP de modo que el TCP/IP pueda determinar si cualquier dirección IP está en una red local o remota. Cada equipo configurado con el TCP/IP debe tener una máscara de subred definida.
Una máscara de 32 bits que identifica las porciones de una dirección IP que se usarán para ubicar direcciones en una subred.






IP
Internet Protocol (en español 'Protocolo de Internet') o IP es un protocolo de comunicación de datos digitales clasificado funcionalmente en la Capa de Red según el modelo internacional OSI.
Su función principal es el uso bidireccional en origen o destino de comunicación para transmitir datos mediante un protocolo no orientado a conexión que transfiere paquetes conmutados a través de distintas redes físicas previamente enlazadas según la norma OSI de enlace de datos.

Porque se dice que no esta no orientado a conexión
No orientado a la conexión significa una comunicación entre dos puntos finales de una red en los que un mensaje puede ser enviado desde un punto final a otro sin acuerdo previo. El dispositivo en un extremo de la comunicación transmite los datos al otro, sin tener que asegurarse de que el receptor esté disponible y listo para recibir los datos. El emisor simplemente envía un mensaje dirigido al receptor. Cuando se utiliza esta forma de comunicación son más frecuentes los problemas de transmisión que con los protocolos orientado a la conexión y puede ser necesario reenviar varias veces los datos. Los protocolos no orientados a la conexión son a menudo rechazados por los administradores de redes que utilizan cortafuegos porque los paquetes maliciosos son más difíciles de filtrar. El protocolo IP y el protocolo UDP son protocolos no orientados a la conexión, pero TCP es un protocolo orientado a la conexión. Los protocolos no orientados a la conexión son descritos generalmente como sin estado porque los puntos finales no guardan información para recordar una "conversación" de cambios de mensajes.

Porque  no es  fiable
IP provee un servicio de datagramas no fiable (también llamado del "mejor esfuerzo": lo hará lo mejor posible, pero garantizando poco). IP no provee ningún mecanismo para determinar si un paquete alcanza o no su destino y únicamente proporciona seguridad (mediante checksums o sumas de comprobación) de sus cabeceras y no de los datos transmitidos. Por ejemplo, al no garantizar nada sobre la recepción del paquete, éste podría llegar dañado, en otro orden con respecto a otros paquetes, duplicado o simplemente no llegar.

viernes, 19 de junio de 2015

Diferencia entre hub switch y router

Diferencia entre hub switch y router

Hub, switch y Routers son nombres dados a dispositivos de hardware que posibilitan la conexión de computadoras a redes. En este artículo te explicamos lo que cada uno hace y como saber cual usar. 

Hub 
El hub es un dispositivo que tiene la función de interconectar las computadoras de una red local. Su funcionamiento es más simple comparado con el switch y el router: el hub recibe datos procedentes de una computadora y los transmite a las demás. En el momento en que esto ocurre, ninguna otra conmutadora puede enviar una señal. Su liberación surge después que la señal anterior haya sido completamente distribuida. 

   Un un hub es posible tener varios puertos, o sea, entradas para conectar los cables de red de cada computadora. Generalmente, hay hubs con 8, 16, 24 y 32 puertos.La cantidad varía de acuerdo con el modelo y el fabricante del dispositivo. 
Si el cable de una máquina es desconectado o presenta algún defecto, la red no deja de funcionar. Actualmente, los hubs están siendo reemplazados por los switchs, debido a la pequeña diferencia de costos entre ambos. 

Diferencias entre routers, Hubs y Switchs

Switch 
El switch es un aparato muy semejante al hub, pero tiene una gran diferencia: los datos provenientes de la computadora de origen solamente son enviados al la computadora de destino. Esto se debe a que los switchs crean una especie de canal de comunicación exclusiva entre el origen y el destino. De esta forma, la red no queda "limitada" a una única computadora en el envío de información . Esto aumenta la performance de la red ya que la comunicación está siempre disponible, excepto cuando dos o más computadoras intentan enviar datos simultáneamente a la misma máquina. Esta característica también disminuye los errores (colisiones de paquetes de datos, por ejemplo). Así como en el hub, un switch tiene varios puertos y la cantidad varía de la misma forma. 


Diferencias entre routers, Hubs y Switchs

Routers 
El router es un dispositivo utilizado en redes de mayor porte. Es más " inteligente" que el switch, pues, además de cumplir la misma función, también tiene la capacidad de escoger la mejor ruta que un determinado paquete de datos debe seguir para llegar a su destino. Es como si la red fuera una ciudad grande y el router elige el camino más corto y menos congestionado. De ahí el nombre de router


Diferencias entre routers, Hubs y Switchs