Revisión de PROTOCOLO TCP/IP de 4 June, 2012 - 09:26

Versión para imprimirVersión para imprimir

Protocolo tcp/ip:

En primer lugar vamos a empezar definiendo lo que es un protocolo, un protocolo no es mas que un conjunto de reglas establecidas entre dos dispositivos para permitir la comunicación entre ambos, en concreto los protocolos TCP/IP es un protocolo DARPA que permite la transmisión confiable de paquetes de datos mediante redes.
Este protocolo fue desarrollado por el departamento de defensa de los Estados Unidos, ejecutándolo por primera vez en 1972 en el ARPANET una red de área extensa del departamento de defensa.
En concreto, TCP/IP es un conjunto de protocolos, la sigla TCP/IP significa "Protocolo de control de transmisión/Protocolo de Internet" y se pronuncia "T-C-P-I-P". Proviene de los nombres de dos protocolos importantes del conjunto de protocolos, es decir, del protocolo TCP y del protocolo, en concreto, TCP se encarga de contabilizar las transmisión de datos entre computadores y registrar si hay o no errores, mientas que IP realiza la transferencia de datos, todos juntos llegan a ser más de 100 protocolos diferentes definidos en este conjunto.
Se considera la base del Internet ya que representa todas las reglas de comunicación para ello y se basa en la idea de brindar una dirección IP a cada equipo de la red para poder enrutar paquetes de datos.
Es utilizado para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo PC, mini computadoras, Mac`s y servidores de redes de área local y área extensa ya que no dependen del sistema operativo ni del computador, sino que cualquiera puede desarrollar productos que se ajusten a las especificaciones de TCP/IP.
Además también tiene otro tipo de características que caben destacar:
Buena recuperación de los fallos
Habilidad de añadir redes sin interrumpir los servicios ya existentes.
Manejo de alto porcentaje de errores
Bajos gastos indirectos de información
Como hemos nombrado anteriormente el origen de TCP/IP fue diseñado por propósitos relacionados al Departamento de Defensa de Estados Unidos, debido a esto lo que ahora hemos nombrado como características antes eran requisitos de diseño, la idea de “una buena recuperación de los fallos” fue que si una parte de la red fuera dañada durante un ataque, las piezas de red restantes deben seguir funcionando adecuadamente; lo mismo para la capacidad de añadir nuevas redes sin interrupción a los servicios ya existentes. La habilidad de manejar gran porcentaje de errores fue implantado para que si un paquete de información se pierde al recorrer una ruta habría un mecanismo que asegura que este llegará a su destino mediante otra ruta y por último la razón por la cual TCP/IP es tan eficiente son sus gastos indirectos bajos. Esto no tiene una contraparte en su simplicidad y rapidez.
Para poder aplicar el modelo TCP/IP en cualquier equipo, es decir, independientemente del sistema operativo, el sistema de protocolos TCP/IP se ha dividido en diversos módulos. Cada uno de éstos realiza una tarea específica. Además, estos módulos realizan sus tareas uno después del otro en un orden específico. Ésta es la razón por la cual se habla de modelo de capas.
El término capa se utiliza para reflejar el hecho de que los datos que viajan por la red atraviesan distintos niveles de protocolos. Durante una transmisión, los datos cruzan cada una de las capas en el nivel del equipo remitente. En cada capa, se le agrega información al paquete de datos. Esto se llama encabezado, es decir, una recopilación de información que garantiza la transmisión. En el nivel del equipo receptor, cuando se atraviesa cada capa, el encabezado se lee y después se elimina. Entonces, cuando se recibe, el mensaje se encuentra en su estado original.

En cada nivel, el paquete de datos cambia su aspecto porque se le agrega un encabezado. Por lo tanto, las designaciones cambian según las capas:
• el paquete de datos se denomina mensaje en el nivel de la capa de aplicación;
• el mensaje después se encapsula en forma de segmento en la capa de transporte;
• una vez que se encapsula el segmento en la capa de Internet, toma el nombre de datagrama;
• finalmente, se habla de trama en el nivel de capa de acceso a la red.

El objetivo de un sistema en capas es dividir el problema en diferentes partes (las capas), de acuerdo con su nivel de abstracción.
Cada capa del modelo se comunica con un nivel adyacente (superior o inferior). Por lo tanto, cada capa utiliza los servicios de las capas inferiores y se los proporciona a la capa superior.
Pensemos en los módulos del software de protocolos como una pila vertical constituida por capas. Cada capa tiene la responsabilidad de manejar una parte del problema.
Una vez que se toma la decisión de subdividir los problemas de comunicación en cuatro subproblemas y organizar el software de protocolo en módulos, de manera que cada uno maneja un problema, debemos plantearnos qué tipo de funciones debemos instalar en cada módulo, esta pregunta sería difícil de responder por varias razones. En primer lugar, un grupo de objetivos y condiciones determinan un problema de comunicación en particular, es posible elegir una organización que optimice un software de protocolos para ese problema. Segundo, incluso cuando se consideran los servicios generales al nivel de red, como un transporte confiable es posible seleccionar entre distintas maneras de resolver el problema. Tercero, el diseño de una arquitectura de red y la organización del software de protocolo esta interrelacionado; no se puede diseñar a uno sin considera al otro.

Descripción de las capas según orden de menor a mayor:
*Capa de acceso a la red:
Es la primera capa de la pila TCP/IP. consta de una capa de interfaz de red responsable de aceptar los datagramas IP y transmitirlos hacia una red específica, ofrece la capacidad de acceder a cualquier red física, es decir, brinda los recursos que se deben implementar para transmitir datos a través de la red.
Por lo tanto, la capa de acceso a la red contiene especificaciones relacionadas con la transmisión de datos por una red física, cuando es una red de área local, como es nuestro caso con Ethernet, conectada mediante línea telefónica u otro tipo de conexión a una red. Trata los siguientes conceptos:
• enrutamiento de datos por la conexión;
• coordinación de la transmisión de datos (sincronización);
• formato de datos;
• conversión de señal (análoga/digital);
• detección de errores a su llegada.
• Etcétera.
Afortunadamente, todas estas especificaciones son invisibles al ojo del usuario, ya que en realidad es el sistema operativo el que realiza estas tareas, mientras los drivers de hardware permiten la conexión a la red (por ejemplo, el driver de la tarjeta de red).

* La capa de Internet:
La capa de Internet es la capa "más importante" (si bien todas son importantes a su manera), ya que es la que define los datagramas y administra las nociones de direcciones IP. Esta maneja la comunicación de una máquina a otra, acepta una solicitud para enviar un paquete desde la capa de transporte, junto con una identificación de la máquina, hacia la que se debe enviar el paquete. La capa Internet también maneja la entrada de datagramas, verifica su validez y utiliza un algoritmo de ruteo para decidir si el datagrama debe procesarse de manera local o debe ser transmitido. Para el caso de los datagramas direccionados hacia la máquina local, el software de la capa de red de redes borra el encabezado del datagrama y selecciona, de entre varios protocolos de transporte, un protocolo con el que manejará el paquete. Por último, envía los mensajes ICMP de error y control necesarios y maneja todos los mensajes ICMP entrantes.

Permite el enrutamiento de datagramas (paquetes de datos) a equipos remotos junto con la administración de su división y ensamblaje cuando se reciben.
La capa de Internet contiene 5 protocolos:
• el protocolo IP;
• el protocolo ARP;
• el protocolo ICMP;
• el protocolo RARP;
• el protocolo IGMP.
Entre los que caben destacar los tres primeros.
**protocolo IP**
Su significado es Protocolo de Internet, de ahí sus siglas (IP), es un protocolo no orientado a conexión, usado tanto por el origen como por el destino para la comunicación de datos, a través de una red de paquetes conmutados no fiable y de mejor entrega posible sin garantías, además no corrige ni detecta errores en la información.
Los datos en una red basada en IP son enviados en bloques conocidos como paquetes o datagramas. En particular, en IP no se necesita ninguna configuración antes de que un equipo intente enviar paquetes a otro con el que no se había comunicado antes.
IP provee un servicio de datagramas no fiable (también llamado del mejor esfuerzo (best effort), 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 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. Si se necesita fiabilidad, ésta es proporcionada por los protocolos de la capa de transporte.
Si la información a transmitir, es decir, los datagramas a transmitir supera el tamaño máximo "negociado" (MTU) en el tramo de red por el que va a circular podrá ser dividida en paquetes más pequeños, y re ensamblada luego cuando sea necesario. Estos fragmentos podrán ir cada uno por un camino diferente dependiendo de como estén de congestionadas las rutas en cada momento.
**Protocolo ARP**
Permite que se conozca la dirección física de una tarjeta de interfaz de red correspondiente a una dirección IP. Por eso se llama Protocolo de Resolución de Dirección (en inglés ARP significa Address Resolution Protocol).
Cada equipo conectado a la red tiene un número de identificación de 48 bits(Dirección física). Éste es un número único establecido en la fábrica en el momento de fabricación de la tarjeta. Sin embargo, la comunicación en Internet no utiliza directamente este número (ya que las direcciones de los equipos deberían cambiarse cada vez que se cambia la tarjeta de interfaz de red), sino que utiliza una dirección lógica asignada por un organismo, la dirección IP.
El funcionamiento del protocolo ARP es bastante simple, cuando una máquina desea enviar un mensaje a otra máquina que está conectada a través de una red ethernet se encuentra con un problema: la dirección IP de la máquina en cuestión es diferente a la dirección física de la misma. La máquina que quiere enviar el mensaje sólo conoce la dirección IP del destino, por lo que tendrá que encontrar un modo de traducir la dirección IP a la dirección física, para ello se utilizará el protocolo ARP.
Para que las direcciones físicas se puedan conectar con las direcciones lógicas, el protocolo ARP interroga a los equipos de la red para averiguar sus direcciones físicas y luego crea una tabla de búsqueda entre las direcciones lógicas y físicas en una memoria caché, esta tabla denominada Tabla de Direcciones ARP contiene la correspondencia entre direcciones IP y direcciones físicas utilizadas recientemente. Si la dirección solicitada se encuentra en esta tabla el proceso se termina en este punto, puesto que la máquina que origina el mensaje ya dispone de la dirección física de la máquina destino.
Si la dirección buscada no está en la tabla el protocolo ARP envía un mensaje a toda la red. Cuando un ordenador reconoce su dirección IP envía un mensaje de respuesta que contiene la dirección física. Cuando la máquina origen recibe este mensaje ya puede establecer la comunicación con la máquina destino, y esta dirección física se guarda en la Tabla de direcciones ARP y a continuación podrá establecerse la comunicación.
Por ejemplo Si queremos enviar un paquete de “A” a “B” que se encuentra en la misma red lo primero que hace “A” es comprobar en su tabla ARP si se encuentra la dirección MAC de “B” si es así se utiliza si no se enviara el correspondiente paquete broadcast esperando la respuesta de la maquina cuya dirección IP corresponda con la preguntada añadiendo un nuevo registro a la tabla. Estas entradas se borran cada cierto tiempo.
En un segundo caso si “A” quiere enviar un paquete a “B” que no esta en su misma red lo que hace “A” es enviarlo a través de la dirección física de su router de salida, para ello consulta la tabla ARP realizando el correspondiente intercambio de mensajes si dicha entrada no se encuentra en la tabla. Una vez en el router este consulta su tabla de encaminamiento enviando el paquete al próximo nodo y así sucesivamente hasta que le paquete llega a un router de la red en la que se encuentre la IP destino. Una vez allí el router se encarga de averiguar la dirección física consultando su tabla ARP o preguntando con mensajes correspondientes.
**Protocolo ICMP**
El Protocolo de Mensajes de Control y Error de Internet, ICMP, tiene un formato simple, su utilidad está en controlar si un paquete no puede alcanzar su destino, si su vida ha expirado, si el encabezamiento lleva un valor no permitido, si es un paquete de eco o respuesta, etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado. ICMP proporciona así una comunicación entre el software IP de una máquina y el mismo software en otra, ya que el protocolo IP escasea de dichos controles.
El protocolo ICMP solamente informa de incidencias en la entrega de paquetes o de errores en la red en general, pero no toma decisión alguna al respecto (esto es tarea de las capas superiores que se explicará un poco mas adelante). Por lo tanto, el protocolo ICMP es usado por todos los routers para indicar un error (llamado un problema de entrega).