Introducción:
TCP/IP es el conjunto de protocolos de Internet. Es la base de todos los contenidos de esta gran red, y es, en el fondo, lo que hoy en día mueve al mundo en el sentido de flujo de información.
Es importante conocer, por lo menos desde un nivel superficial, el funcionamiento de estos protocolos y conceptos relacionados. Este documento va relacionado directamente con esto: no pretende ser la guía definitiva para administradore
s de red, sino que una introducción teórica a la estructura de TCP/IP.
Reseña Histórica
El Protocolo Internet (IP) fue desarrollado originalmente más de veinte años atrás por el Departamento de Defensa de los Estados Unidos, principalmente con el propósito de interconectar diversos computadores. El conjunto de protocolos TCP/IP permitió, a través de su estructura por capas, aislar las aplicaciones del hardware de red.
A pesar de estar basado en un modelo por capas, el TCP/IP está enfocado hacia la entrega de interconectivi
dad en lugar de la rigidez que implican las capas funcionales. Esta es una de las razones por las cuales TCP/IP se transformó en el protocolo standard en oposición al propuesto OSI.
TCP/IP: un modelo estructurado por capas
Debemos comenzar por revisar y entender la estructura del TCP/IP. La arquitectura de este protocolo se compone por cuatro capas jerarquizadas, como se muestra a continuación:
Aplicación
FTP, HTTP, Telnet, etc.
Transporte
TCP o UDP
Red
IP, ICMP, etc.
Capa de enlace de datos y física
Ethernet, PPP, cableado, etc.
Lo que cada una de estas capas (o layers) significan y representan lo explicaré a continuación:
Capa de Aplicación
Esta capa corresponde a las aplicaciones y servicios que están disponibles para los usuarios, como lo son HTTP, FTP, Telnet, SSH, etc.
Capa de Transporte
Provee la comunicación entre los extremos desde un programa de aplicación a otro. Puede además ofrecer un transporte confiable asegurando que los datos enviados llegarán sin errores y en la secuencia correcta. Coordina también los datos enviados por múltiples aplicaciones en forma simultánea dentro de la red, de manera que sean recibidos en forma remota correctamente.
Es dentro de esta capa donde encontramos a los protocolos TCP y UDP.
Protocolo UDP (User Datagram Protocol)
El protocolo UDP es simple y eficiente, ideal para aplicaciones como TFTP o DNS. Se asemeja al protocolo IP en el sentido de que no es fiable y no está orientado a la conexión.
Protocolo TCP (Transmision Control Protocol)
El protocolo TCP proporciona un servicio de comunicación que forma un circuito, es decir, que el flujo de datos entre el origen y el destino parece ser continuo. Este circuito virtual que provee el TCP es lo que llamaremos conexión.
Las aplicaciones basadas en TCP (al contrario que aquellas que utilizan UDP), cuentan con un servicio de conexión entre los programas involucrados, chequeo de errores, control de flujo y capacidad de interrupción.
Capa de Red
Controla la comunicación entre un equipo y otro. Conforma los paquetes IP que serán enviados por la capa inferior, y desencapsula los paquetes recibidos pasando a la capa superior la información dirigida a una aplicación. Es en particular en esta parte, el protocolo IP donde nos detendremos detalladamente más adelante en este documento.
Otro protocolo que forma parte de esta capa es el ICMP, que corresponde a los mensajes de control. Queda pendiente para otra oportunidad ;-)
Capa física y de enlace de datos
Esta capa se refiere al soporte físico a través del cual se distribuyen los datos, tales como el cableado, así como también al enlace de datos que corresponde, en palabras simples, a la interfaz a utilizar según se refiera.
Por ejemplo: para una red LAN, la interfaz a utilizar será Ethernet o Fast Ethernet (solo por citar algo), a través de un cable trenzado de cuatro pares (UTP) categoría 5 o 5 extendido. Para una red WAN, en cambio, utilizaremos como enlace tecnologías como X.25 o Ir, en este caso son interfaces inalámbricas sin ningún soporte físico tangible. Nuevamente esto queda pendiente para otro documento pues es un tema más técnico que se encuentra fuera de los alcances de este.
El protocolo IP: ¿Cómo funciona?
El protocolo IP es algo con lo que lidiamos diaramente. Muchos de nosotros conocemos por lo menos lo que es una dirección IP, a continuación trataré de explicar como se compone estructuralmen
te.
Como es de conocimiento general, los datos son procesados dentro del computador en forma de bits, esto es, conjuntos de unos y ceros. De esta misma forma es como la información es transmitida a través de las redes, y es en base a lo mismo como se conforman las llamadas direcciones IPs.
Una dirección IP esta compuesta por un conjunto de cuatro octetos, separados entre ellos por un punto, eliminando cualquier cero precedente (a menos que el número mismo sea cero). Un octeto se denomina a ocho bits, lo que correspondería a un byte. Esto implica que por cada octeto tenemos un rango numérico de 256 posibles valores, desde 0 a 255.
A continuación presento una dirección IP, en forma decimal, junto con la representación binaria correspondient
e a cada uno de los octetos:
200
.
29
.
159
.
207
11001000
.
00011101
.
10011111
.
11001111
Cada computador conectado a Internet tiene, por lo menos, una dirección IP única (existen excepciones como los casos en que una red completa sale a través de una sola IP, pero así y todo cada computador tiene su IP única dentro de esa red interna), lo que hace posible identificarlo y definir la ruta adecuada para poder llegar a él.
Por cierto, acabo de mencionar dos conceptos importantísimos: red interna y ruta. En lo primero me refiero a la implementación a una menor escala del conjunto de protocolos TCP/IP que a lo que Internet se refiere, manteniendo exactamente la misma funcionalidad (esto es lo que comunmente se conoce como Intranet). Con respecto a lo segundo, es un tema bastante amplio lo que al ruteo se refiere, que de por sí da para un documento aparte... por lo que por ahora lo dejaré pendiente.
Las redes basadas en el Protocolo Internet no son otra cosa sino secuencias contiguas de direcciones IP. Todas las direcciones dentro de esa red tienen una cantidad de dígitos (octetos) en común. Esta parte de la dirección que es común entre todas las direcciones es lo que denominaremos porción de la red dentro de la dirección. Los demás octetos son lo que llamaremos la porción del host de la dirección.
Los bits en común que comparten todas las direcciones dentro de una red es lo se llama máscara de red y tiene como propósito identificar y determinar qué direcciones pertenecen a la red sobre la cual se aplica y cuales no.
Lo anterior lo podemos graficar más explicitamente a través del siguiente ejemplo:
Dirección del host
192
.
168
.
100
.
25
Máscara de red
255
.
255
.
255
.
0
Porción de la red
192
.
168
.
100
.
Porción del host
.
23
Dirección de la red
192
.
168
.
100
.
0
Dirección de broadcast
192
.
168
.
100
.
255
Detengámonos en este caso en particular. La dirección del host en cuestión es 192.168.100.25, mientras que la máscara de red es 255.255.255.0. En términos prácticos la máscara nos define el rango dentro de la red en el cual se moverán nuestras direcciones (esto se puede determinar invirtiendo la máscara y haciendo una serie de cálculos algo complicados para incluir acá). En este ejemplo, la máscara nos dice que solamente nos podremos mover dentro del último octeto. La porción de la red de la dirección será, por tanto, los tres primeros bytes, mientras que la porción del host corresponderá al último.
En otras palabras esto quiere decir que dentro de esta red Clase C podremos tener hasta un total de 254 hosts diferentes. ¿Y por qué 254 y no todos los 256 correspondient
es a los ocho bits? En el ejemplo anterior nos encontramos además con dos nuevos elementos: la dirección de la red y la dirección de broadcast. Estas dos pertenecen a direcciones reservadas y que no deben ser asignadas a ningún host.
La dirección de la red corresponde a la dirección numérica más baja dentro del rango de direcciones de la red (determinado por la máscara) y tiene la porción del host numerada con solamente ceros.
La dirección de broadcast dentro de una red es una dirección especial, a la cual escucha cada host además de su dirección única asignada. Esto quiere decir que cualquier paquete enviado a la dirección de broadcast será recibido por todos los hosts de esa red. Esto lo podemos comprobar y experminetar fácilmente haciendo un ping a la dirección de broadcast de una red: por cada paquete enviado, obtendremos tantas respuestas como hosts activos haya dentro de esa red.
Un poco hacia atrás he vuelto a introducir un nuevo término: Clase C. Las clases no son otra cosa que tamaños de red que pueden ser asignados. Por convención, se han designado las siguientes clases (o rangos, como se prefiera) para la utilización privada dentro de redes internas y no serán direcciones Internet reales:
Clase
Máscara de red
Direcciones de red
A
255.0.0.0
10.0.0.0 - 10.255.255.255
B
255.255.0.0
172.16.0.0 - 172.31.255.255
C
255.255.255.0
192.168.0.0 - 192.168.255.25
5
Para mayor detalles sobre lo anterior, es posible visitar directamente el RFC 1597 que trata sobre la Asignación de Direcciones para Internet Privadas.
Por último, y para complicar aún más lo visto hasta ahora, además de lo anterior se ha designado una red especial clase A para utilización de interfaz loopback, es decir, conectividad con uno mismo. Esta red corresponde a la siguiente:
127.0.0.0/24
Nuevamente, un elemento nuevo: ¿qué quiere decir el /24? Esto es pues una notación para denominar la máscara de red: lo anterior equivale a decir:
127.0.0.0/255.255.255.0
La correspondenci
a esta en que, esta máscara es de tres octetos, lo que representa por ende 24 bits. Espero haya quedado claro.
¿IPv4? ¿IPv6? ¿Qué significa todo esto?
Como si fuera poco, y para complicarnos la vida aún más. Recién cuando estamos comenzando a comprender el funcionamiento de todo esto, se nos aparece una gran piedra en el camino.
Lo que actualmente conocemos y utilizamos como protocolo Internet (IP) corresponde a la versión 4: IPv4. Lamentablement
e este modelo presenta una serie de limitaciones no consideradas en el momento de su diseño, como es la posibilidad (cada vez más cierta) de que, llegado un momento, no quedarán más direcciones IP disponibles para asignar. Es por eso que, mediante un proceso de reingeniería se ha diseñado lo que será la próxima versión del Protocolo Internet: el IPv6 o IP Versión 6, también conocido como IPng (IP Next Generation). Fundamentalmen
te consiste en una extensión al protocolo actual, manteniendo el nivel de compatibilidad, en el cual en lugar de utilizar cuatro octetos para la elaboración de las direcciones, se utilizarán cinco, ilimitando de forma virtual la cantidad de dispositivos posibles que puedan tener una dirección IP.
Actualmente el protocolo IPv6 se encuentra en una fase experimental (Linux ya lo soporta), y recientemente el ICANN anunció que pronto entrará en un período de marcha blanca.
Palabras finales
Como dije en un principio, este documento es únicamente una introducción al conjunto de protocolos TCP/IP, que son la base de la red Internet actual.
bueno esto es uno de los tantos manuales que tengo y que consegui por google, espero que sirva para algo

salu2