Fundamentos del Direccionamiento IP y Protocolo TCP/IP
Introducción al Protocolo TCP/IP
Para establecer una comunicación efectiva, las dos partes involucradas deben acordar una serie de normas. En las comunicaciones entre ordenadores, el conjunto de estas normas forma un protocolo.
- Los protocolos se estructuran en capas o niveles para simplificar su diseño y gestión.
- Cada capa se encarga de una serie de problemas relacionados entre sí.
- El protocolo TCP/IP es el más extendido en la actualidad y es el utilizado por Internet.
- Es un protocolo abierto y conocido por todo el mundo, no pertenece a una única empresa.
Capas del Modelo TCP/IP
TCP/IP se divide en una serie de niveles:
- Físico
- Enlace
- Red
- Transporte
- Aplicación
Detalle de las Capas del Modelo TCP/IP
Nivel Físico
En el Nivel Físico se agrupan todas las normas que se refieren a los aspectos eléctricos y electrónicos de la comunicación entre ordenadores. Por ejemplo:
- Nivel eléctrico del 0 y del 1.
- Tipos de conectores que se pueden usar y uso de cada hilo.
- Características de los medios usados.
- Procedencia de la señal, etc.
- Topología física de la red.
Nivel de Enlace
El Nivel de Enlace regula la comunicación entre dos ordenadores que están en la misma red local. Se encarga, por ejemplo, de:
- Establecer la forma de acceder al medio.
- La forma de dividir la información a transmitir en “paquetes”.
- Saber si un paquete se ha recibido correctamente (detección y corrección de errores por CRC).
- Control de flujo entre PCs (desbordamiento).
Ejemplos de protocolos de Nivel de Enlace: Ethernet, FDDI, etc.
Nivel de Red
El Nivel de Red se encarga de regular la comunicación entre dos ordenadores, aunque estén en distintas redes locales. Aquí se pueden encontrar funciones como:
- Interconexión de redes distintas.
- Enrutamiento de tramas, es decir, cómo hacer que un mensaje llegue hasta su destino, aunque tenga que atravesar distintas redes.
- Regular la congestión de la red (problemas de tráfico).
Nivel de Transporte
El Nivel de Transporte se encarga de regular la comunicación entre procesos. Así, aquí se gestionan aspectos como:
- La forma de garantizar que se retransmiten las tramas perdidas.
- La forma de garantizar que los paquetes llegan en orden, aunque hayan tomado caminos distintos.
- La forma de garantizar que la información llega al programa que la necesita dentro de un ordenador. Este es el concepto de Puerto.
Identificación de Máquinas en Cada Nivel
- En Nivel de Enlace: Por la dirección MAC de las tarjetas de red.
- En Nivel de Red: Por la dirección IP de las máquinas.
- En Nivel de Transporte: Por la dirección IP de la máquina + el número de puerto utilizado por la aplicación.
Funcionamiento Interno de los Niveles
- Cada nivel ofrece servicios al nivel superior, ocultándole la forma en que realmente se implementan dichos servicios.
- Cada nivel dentro de una máquina “conversa” con su gemelo en otra. Las reglas que rigen esta “conversación” forman el protocolo de dicho nivel.
- No hay transferencia física de datos entre niveles gemelos. La transferencia se hace en cada máquina entre niveles adyacentes.
Dirección IP: Conceptos Clave
Definición y Formato de la Dirección IP
La dirección IP identifica las máquinas en el Nivel de Red. Cada tarjeta de red conectada a un ordenador tiene asignada una dirección IP que es única en toda la red a la que está conectada.
Se compone de 32 bits que suelen expresarse en la llamada notación decimal punteada. Por ejemplo: 212.128.4.5.
Máscara de Red: Definición y Uso
En una dirección IP, algunos bits representan la dirección de la red y otros la dirección de un ordenador concreto de esa red. Es similar a una dirección “normal”, donde una parte es el nombre de la calle y otra parte el número (Ej: Sierpes, 21).
Así, junto a la dirección IP se define un número llamado máscara de red, con el que se determina cuáles son los ordenadores de una misma red.
- Para saber qué parte de la dirección IP se refiere a la red y qué parte a la máquina concreta de esa red (host), se usan las máscaras de red.
- La máscara de red es un número de 32 bits en el que los bits de la parte de red valen 1 y los bits de la parte del host valen 0.
- Se puede representar de varias formas: notación decimal punteada o notación CIDR.
Máscara de Red: Ejemplos y Notación CIDR
- Por ejemplo, si en una dirección IP los dos primeros números son la dirección de la red y los dos últimos la dirección del host dentro de esa red, la máscara será:
255.255.0.0. - Si de los 32 bits, 27 son de la dirección de red y cinco de la dirección de host, la máscara será…
Notación CIDR para Máscaras de Red
Frente a la notación decimal punteada, existe la notación CIDR (Classless Inter-Domain Routing) en la que se escribe una barra (/) seguida del número de bits que están a uno dentro de la máscara. Así, por ejemplo:
255.0.0.0 = /8255.255.128.0 = /17255.255.255.0 = /24
Asignación de Direcciones IP
La IP de un ordenador puede configurarse para que sea fija (IP estática). Sin embargo, es muy común usar un servidor DHCP (Dynamic Host Configuration Protocol), que es una máquina que va repartiendo direcciones IP válidas a las máquinas que se van conectando a la red.
Direccionamiento y Encaminamiento en Redes
Internet no posee una estructura bien definida, aunque en general se puede identificar una jerarquía de interconexión. Existen varias redes troncales principales (de un gran ancho de banda) conectadas mediante nodos encaminadores rápidos y redes regionales (de menor capacidad) donde se conectan las LAN y los proveedores de acceso. Por esta razón, muchas personas se refieren a Internet como “La red de redes”.
Para que esta estructura funcione correctamente, se diseñaron protocolos a nivel de red que permiten que los paquetes sean enviados correctamente a través de una gran cantidad de redes heterogéneas. El más importante es IP (Internet Protocol o Protocolo de Internet), que establece el direccionamiento a este nivel y define el formato de los paquetes que se transmiten.
El protocolo IP es no orientado a la conexión y no fiable, de forma que el establecimiento de conexiones y el control de errores lo debe llevar a cabo algún protocolo de transporte en niveles superiores.
Existen otros protocolos a nivel de red en TCP/IP que se encargan de seleccionar las mejores rutas para el envío de información, generando información de encaminamiento y actualizando las tablas dinámicas en los nodos.
Protocolos de Encaminamiento
Los más utilizados son:
- RIP (Routing Information Protocol): Protocolo de Información de Encaminamiento.
- OSPF (Open Shortest Path First): Primero la Ruta Más Corta Abierta.
Dentro de la arquitectura de TCP/IP se puede utilizar cualquiera de estos protocolos, aunque OSPF ofrece mayor potencia y funcionalidad.
Cada estación de la red debe disponer de una dirección IP única, es decir, diferente del resto. Asimismo, los encaminadores también deben tener direcciones únicas, pero en este caso tendrán tantas como redes conecten (una por cada interfaz de red utilizado).
Cada uno de estos dispositivos dispone de una tabla con los posibles destinos en forma de direcciones IP:
- En cada fila de esta tabla se especifican la dirección de las redes a las que puede llegar (destinos).
- La dirección IP del puerto del router por el que debe salir el mensaje o al que se debe mandar.
- El número de routers intermedios que es necesario atravesar (o algún otro parámetro que especifique el coste de ese camino).
Estas tablas las utiliza el protocolo RIP (u OSPF) y se actualizan dinámicamente mediante el envío de información entre los encaminadores.
En una tabla de encaminamiento puede aparecer más de una entrada con la misma dirección IP de red de destino, y esta situación se da cuando existen varias rutas distintas que alcanzan ese mismo destino.
Puertos de Comunicación
En una máquina multiproceso, el Nivel de Transporte debe preocuparse de saber a qué proceso va destinada la información que acaba de llegar por la red.
Por ello, los procesos que usan la red lo hacen a través de puertos.
Cada puerto del Nivel de Transporte proporciona a una aplicación un punto de acceso a la red de comunicaciones, con lo que esta puede dialogar con otra aplicación situada en un puerto de una máquina remota.
Los puertos se identifican por un número de 16 bits.
Los puertos TCP y UDP se manejan por separado. El puerto 7 TCP y el puerto 7 UDP son distintos.
Los puertos menores de 1024 (puertos privilegiados) están asignados y reservados universalmente a aplicaciones de red conocidas.
Diferencias entre TCP y UDP
El Protocolo UDP
UDP es un protocolo no orientado a conexión. Es decir, cuando una máquina A envía paquetes a una máquina B, el flujo es unidireccional. La transferencia de datos es realizada sin haber realizado previamente una conexión con la máquina de destino (máquina B), y el destinatario recibirá los datos sin enviar una confirmación al emisor (la máquina A). Esto se debe a que la encapsulación de datos enviada por el protocolo UDP no permite transmitir la información relacionada con el emisor. Por ello, el destinatario no conocerá al emisor de los datos, excepto su IP.
El Protocolo TCP
Contrariamente a UDP, el protocolo TCP está orientado a la conexión. Cuando una máquina A envía datos a una máquina B, la máquina B es informada de la llegada de datos y confirma su correcta recepción. Aquí interviene el control CRC de datos, que se basa en una ecuación matemática que permite verificar la integridad de los datos transmitidos. De este modo, si los datos recibidos están corruptos, el protocolo TCP permite que los destinatarios soliciten al emisor que vuelva a enviar los datos corruptos.
Un servidor web (WWW) es un proceso esperando peticiones en el puerto 80 de una máquina.
Un navegador desde otra máquina hará peticiones al puerto 80 del servidor, y escuchará las respuestas en un puerto suyo no privilegiado.
Resolución de Nombres (DNS)
Las máquinas de una red suelen tener un nombre de equipo para que sea más fácil identificarlas que solo con la dirección IP.
Asimismo, es más fácil recordar el nombre www.google.es que la IP equivalente: 173.194.41.23.
Pero hemos dicho que el protocolo IP usa las direcciones IP para identificar el origen y el destino de un paquete; por tanto, es necesario un mecanismo que convierta los nombres de máquina en direcciones IP.
Ese mecanismo se llama servidor DNS (Domain Name System).
Tarea: Prueba a no poner nada en el servidor DNS preferido de tu configuración.
