Sei sulla pagina 1di 6

Introducción a TCP/IP

Versión 0.1
24/07/2000

por PinkX

Nuevo en este documento:


v0.1: Versión inicial (24/07/2000)

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 administradores 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 interconectividad 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 estructuralmente.

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 correspondiente 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 correspondientes 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.255

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 correspondencia 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. Lamentablemente 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). Fundamentalmente 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. Mi intención principal al
escribir esto, fue servir de preparación para una serie de otros documentos que traten
temas más complejos como lo son IP Masquerading, DNS y eventualmente Routing.
Hasta entonces espero que este sea de bastante utilidad didáctica. Cualquier aporte o
correción a lo acá mencionado, por favor háaganmelo llegar para incluirlo en una
próxima versión. Queda, por ende, abierta la invitación a participar de esto.

Otras fuentes de información


A pesar de que los contenidos acá vistos provienen principalmente de mi conocimiento
personal, es posible visitar otras fuentes más detalladas al respecto. Principalmente
recomiendo leer el Net-HOWTO y el Ethernet-HOWTO.

En cuanto a documentación escrita, específicamente libros, no cabe la menor duda que


uno de los mejores materiales al respecto corresponde al TCP/IP Network
Administration, 2nd Edition por Craig Hunt, publicado por O'Reilly.

No me queda más que decir, solo esperar que la poca información por mi acá presentada
les sea de valiosa utilidad. Hasta una próxima oportunidad ;-)

Potrebbero piacerti anche