Modelo TCP/IP: Guía completa para entender la arquitectura de Internet

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 47,41 KB

: Modelo TCP/IP

Introducción

Aunque el modelo de referencia OSI sea universalmente reconocido, el estándar control de transmisión/Protocolo Internet (TCP/IP) es el que se utiliza en Internet. El modelo de referencia TCP/IP y la pila de protocolo TCP/IP hacen posible la comunicación entre dos máquinas. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware.

Origen del Modelo TCP/IP

El modelo TCP/IP fue creado por la necesidad de una arquitectura que pudiera conectar múltiples redes y que tuviera la capacidad de mantener conexiones aun cuando una parte de la subred esté dañada o perdida. Esta necesidad surgió cuando, durante la invasión de Granada por las tropas de EEUU, las diferentes redes de las Fuerzas Aéreas, la Armada y el Ejército de Tierra no fueron capaces de comunicarse entre sí, debido a que cada una de ellas usaba un sistema diferente.

Este problema de diseño, de difícil solución, fue lo que llevó al desarrollo del proyecto ARPANET, promovido y financiado por el DARPA (Defense Advanced Research Projects Agency). Dicho proyecto comenzó en los años 60, y en 1972 surgió de él el modelo de comunicación entre ordenadores de diferentes redes basado en el intercambio de paquetes. En la creación de dicho modelo de comunicación estaban implicadas varias universidades americanas, que modificaron el mismo creando un sistema propio, que pasó a llamarse Internetting, que cuando fue ampliado a redes cada vez mayores se convirtió en Internet. Y su base fue el modelo TCP/IP, que desde entonces se ha convertido en el estándar.

Capas del Modelo TCP/IP

El modelo TCP/IP está basado en el tipo de red packet-switched (de conmutación de paquetes), y tiene cuatro capas:

  • Aplicación
  • Transporte
  • Internet
  • Enlace de Red

Es importante observar que algunas de las capas del modelo TCP/IP poseen el mismo nombre que las capas del modelo OSI, aunque no se corresponden exactamente.

Capa de Aplicación

Los diseñadores de TCP/IP sintieron que los protocolos de nivel de aplicación eran irrelevantes para el intercambio de datos. Simplemente crearon una capa de aplicación que maneja protocolos de alto nivel. El modelo TCP/IP combina todos los aspectos relacionados con las aplicaciones en una sola capa y da por sentado que estos datos están correctamente empaquetados para la siguiente capa.

Capa de Transporte

Permite que capas pares en los hosts de fuente y destino puedan comunicarse. La capa de transporte se refiere a los aspectos de calidad del servicio con respecto a la entrega de datos. Utiliza pues los servicios de la capa de red para proveer un servicio eficiente y confiable a los procesos de aplicación. En esta capa se produce la segmentación de los datos producidos en la capa de Aplicación en unidades de menor tamaño, denominadas paquetes o datagramas. Un datagrama es la unidad básica de transferencia de información en Internet. La capa de transporte no se preocupa de la ruta que van a seguir los datos para llegar a su destino. Simplemente considera que la comunicación entre ambos extremos es un flujo continuo de datos que tienen su origen desde cualquier red y que estos paquetes lleguen a su destino final.

Capa de Internet

En esta capa se produce la determinación de la mejor ruta y la conmutación de paquetes. Durante su transmisión los paquetes pueden ser divididos en fragmentos. Para poder enrutar los datagramas de la capa de Transporte, estos se encapsulan en unidades independientes, en las que se incorporan diferentes datos necesarios para el envío, como dirección de origen del datagrama, dirección de destino, longitud del datagrama, etc. En una comunicación con arquitectura TCP/IP ambos hosts pueden introducir paquetes en la red simultáneamente. Por ello, no hay garantía de que los paquetes lleguen ordenados.

Capa de Enlace de Red

Es la capa que se ocupa de todos los aspectos que requiere un paquete IP para realizar realmente un enlace físico entre dos máquinas. Esta capa incluye los detalles de tecnología de LAN (Local Area Network). Uno de los principales elementos que maneja esta capa es el de las direcciones físicas, números únicos de 6 bytes asignados a cada tarjeta de red, y que son el medio para identificar a cada máquina dentro de una LAN. Cada tarjeta tiene un número identificador (MAC), cuyos 3 primeros bytes son asignados por el fabricante de la tarjeta y los 3 últimos por la propia empresa.

Cuando un host debe enviar un paquete a otro de su red busca a este mediante su número de tarjeta de red.

Ejemplo de Comunicación

Como ejemplo práctico, imaginemos el proceso que se desencadena cuando desde nuestro navegador pedimos una página dada a un servidor web y este nos la quiere enviar:

  1. El servidor web decide con quién quiere hablar (nuestro computador) y qué le quiere decir (la página web).
  2. La capa TCP en el servidor envía paquetes especiales para iniciar la conversación. La capa TCP delega este paquete en la capa IP, y estará mandándoselo hasta que la capa TCP del otro extremo (nuestro computador) responda diciendo que lo ha recibido. Este proceso se denomina retransmisión, e implica gran cantidad de reglas complejas que deciden cuándo retransmitir.
  3. Cada paquete lleva un número de secuencia (1 de 5, 2 de 5, etc.), lo que significa que el otro extremo (nuestro computador) podrá verificar que están todos los paquetes que forman la página y ponerlos en el orden correcto.
  4. La capa IP comprueba el destino del paquete y averigua el siguiente nodo al que debe enviarlo. Este sencillo acto se llama encaminamiento (routing), y va desde lo realmente sencillo (si solo tiene un módem, y no hay otra interfaz de red, todos los paquetes saldrán por ahí) a lo extremadamente complejo (si tiene varias interfaces de red).

Comparación entre el Modelo OSI y el Modelo TCP/IP

Si comparamos el modelo OSI y el modelo TCP/IP, observaremos que ambos presentan las siguientes similitudes y diferencias:

CaracterísticaModelo OSIModelo TCP/IP
Capas74
EnfoqueTeóricoPráctico
ImplementaciónNo implementado directamenteBase de Internet

Protocolos TCP/IP

El diagrama que aparece en la siguiente figura se denomina gráfico de protocolo. Este gráfico ilustra algunos de los protocolos comunes especificados por el modelo de referencia TCP/IP.

Capa de Aplicación

  • FTP: File Transfer Protocol (Protocolo de transporte de archivos). Es el protocolo estándar para la transferencia de archivos entre ordenadores. FTP define dos canales de comunicación, uno para la transferencia de datos y otro para el control de la sesión. Este protocolo permite el acceso al sistema de directorios de un ordenador remoto (servidor FTP) y el envío y la recepción de archivos.
  • TELNET: protocolo de servicio de conexión remota (remote login). Es un emulador de terminal que permite acceder a los recursos y ejecutar programas en un ordenador remoto; es decir, nos permite conectarnos a un equipo remoto y actuar como si estuviéramos sentados frente a él.
  • HTTP: Hypertext Transfer Protocol (Protocolo de transferencia de hipertexto). Proporciona el servicio de páginas web, mediante el cual podemos solicitar estas páginas a un servidor web.
  • SMTP: Simple Mail Transport Protocol (Protocolo de transporte de correo electrónico). Proporciona el servicio de correo electrónico, permitiendo enviar mensajes de correo electrónico a través de Internet. Estos mensajes se envían primero a unos equipos servidores especiales, desde los cuales pueden ser descargados por el destinatario.
  • DNS: Domain Name Service (Servicio de nombre de dominio). Proporciona el servicio de traducción de nombres de dominio a direcciones IP.
  • TFTP: Trivial File Transport Protocol (Protocolo de transporte de archivo trivial). Es una versión simplificada de FTP, que se utiliza para la transferencia de archivos pequeños.

El modelo TCP/IP enfatiza la máxima flexibilidad, en la capa de aplicación, para los desarrolladores de software.

Capa de Transporte

Las funciones principales de la capa de transporte son regular el flujo de información para garantizar la conectividad de extremo a extremo entre aplicaciones de host de origen y destino. El control de extremo a extremo, que suministran las ventanas deslizantes, y la confiabilidad proporcionada por el uso de números de secuencia y códigos de verificación de errores, son funciones de TCP. En la Capa de Transporte aparecen dos protocolos principales:

  1. El Protocolo para el Control de la Transmisión (TCP): que ofrece maneras flexibles y de alta calidad para crear comunicaciones de red confiables, sin problemas de flujo o duplicación. TCP acepta bloques de datos de cualquier longitud, procedentes de la capa de aplicación, y los convierte en fragmentos de 64 Kbytes como máximo que pasan a la capa de Internet o de red, que a su vez puede fragmentarlos aún más. Cada uno de los bloques de datos se transmite como si fuera un datagrama separado. TCP es el responsable de ensamblar los datagramas recibidos por el receptor, ya que la red IP puede desordenarlos al utilizar caminos diversos para enviarlos. IP no garantiza que los datagramas lleguen a su destino, por lo que es necesario una entidad superior (TCP) que se encargue de ello a través de un sistema de verificación de entrega. La seguridad en TCP tiene un precio que se manifiesta en forma de grandes cabeceras de mensajes y en la necesidad de confirmaciones de mensajes para garantizar la entrega. Estas confirmaciones generan un tráfico sobreañadido en la red.
  2. El Protocolo de Datagrama de Usuario (UDP): protocolo no confiable y no orientado a conexión. En este caso los paquetes enviados mediante el protocolo IP se envían y ya está; no se realiza una verificación de entrega. Se utiliza para aplicaciones en las que la velocidad de transmisión es más importante que la fiabilidad, como la transmisión de vídeo en tiempo real.

Capa de Internet

Tiene el protocolo Internet (IP), independientemente de la aplicación que solicita servicios de red. Esta es una decisión de diseño fundamental del modelo TCP/IP. IP sirve como protocolo universal que permite que cualquier computador en cualquier parte del mundo pueda comunicarse en cualquier momento, y es la base de Internet. El protocolo IP define las unidades de transferencia de datos, denominadas paquetes IP. El papel de la capa IP es averiguar cómo encaminar paquetes o datagramas a su destino. Para hacerlo posible, cada interfaz en la red necesita una dirección IP. Una dirección IP identifica un host de forma única en Internet. Dos hosts no pueden tener una misma dirección IP pública, pero sí pueden tener la misma IP si pertenecen a dos redes privadas diferentes. El protocolo IP no está orientado a conexión y no es confiable, ya que manda paquetes (datagramas) sin contar con mecanismos de verificación de entrega y sin establecer previamente una conexión entre ambos extremos. Afortunadamente, el protocolo superior, TCP, se encarga de estas funciones. En cuanto al ruteo o direccionamiento de los datagramas, se puede realizar paso a paso por todos los nodos o mediante tablas de rutas estáticas o dinámicas. Este protocolo es usado por los de la capa de transporte para encaminar los datos a su destino, siendo esta su misión última, por lo que no se preocupa de la integridad de los datos. Para poder direccionar los datagramas, IP introduce una nueva cabecera en los mismos, formada por 160 bits, y que contiene diferentes datos necesarios para poder enrutar los paquetes, como la longitud de la cabecera, la longitud total del datagrama, un número de identificación, tipo de protocolo al que pertenece el datagrama, campo de comprobación (checksum), dirección IP origen, dirección IP destino, etc. A pesar de ser el protocolo IP el único encargado del direccionamiento a nivel general, existen otros protocolos que se encargan del direccionamiento a nivel local, como RIP, ICMP y ARP.

  • RIP (Routing Information Protocol - Protocolo de Información de Ruteo), conocido también por el programa que lo implementa, el routed. Este protocolo divide las máquinas participantes en el proceso de ruteo en activas y pasivas. Los routers activos anuncian sus rutas a los otros routers difundiendo un mensaje cada 30 segundos, mensaje que contiene información tomada de su tabla de ruteo. Las máquinas pasivas listan y actualizan sus tablas de ruteo en base a los mensajes que reciben de los routers activos.
  • ICMP (Internet Control Message Protocol - Protocolo de Mensajes de Control de Internet): como los protocolos IP y los de nivel de enlace de datos eran necesarios un mecanismos para traducir las direcciones IP a direcciones que entendieran el software de capa de enlace de datos. Por eso se introdujeron protocolos específicos, entre los que destacan: Son protocolos similares a UDP, pero con un formato mucho más simple, y su utilidad no está en el transporte de datos de usuario, si no 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 preciso enfriar la fuente (para que el emisor modere la velocidad de transmisión de paquetes), etc., enviando mensajes de error necesarios para los sistemas de la red, informando con ellos a la fuente original para que esta tome las medidas oportunas. ICMP proporciona así una comunicación entre la capa IP y el host que la usa.
  • ARP (Protocolo de Resolución de Direcciones): una vez que un paquete llega a una red local mediante el ruteo IP, la entrega del mismo al host destino se debe realizar forzosamente mediante la dirección MAC del mismo (número de la tarjeta de red), por lo que hace falta algún mecanismo capaz de transformar la dirección IP que figura como destino en el paquete en la dirección MAC equivalente, es decir, de averiguar el número de tarjeta de red del host destino. Esto sucede así porque las direcciones Ethernet y las direcciones IP son dos números distintos que no guardan ninguna relación entre sí. De esta labor se encarga el protocolo ARP, que en las LAN equipara direcciones IP con direcciones Ethernet (de 48 bits) de forma dinámica, evitando así el uso de tablas estáticas. Mediante este protocolo una máquina determinada (generalmente un router de entrada a la red o un switch) puede hacer un broadcast mandando un mensaje, denominado petición ARP, a todas las demás máquinas de su red para preguntar qué dirección local pertenece a alguna dirección IP, siendo respondido por la máquina buscada mediante un mensaje de respuesta ARP, en el que le envía su dirección MAC. Una vez que la máquina peticionaria tiene este dato envía los paquetes al host destino usando la dirección física obtenida y guarda los datos en una caché ARP para usos posteriores.

Capa de Enlace de Red

Para ello utiliza el direccionamiento físico de red, proporcionando la dirección hardware física (MAC) de la máquina de destino para identificar de manera única el procesador, transmitiendo directamente los datos a este. Una vez que la máquina obtiene su dirección IP la guarda en su caché ARP.

Direcciones IP

El papel de la capa IP es averiguar cómo encaminar paquetes o datagramas a su destino. Para hacerlo posible, cada interfaz en la red necesita una dirección IP, que identifica al host, así como la red a la que este pertenece, ya que el sistema de direcciones IP es un sistema jerárquico. Se trata de una dirección única a nivel mundial y la concede la IANA (Internet Assigned Numbers Authority). Consiste en 32 bits que normalmente se expresan en forma decimal, en cuatro grupos de números decimales separados por puntos. Cada número estará comprendido entre 0 y 255. Cada número entre los puntos en una dirección IP se compone de 8 dígitos binarios (00000000 a 11111111); los escribimos en la forma decimal para hacerlos más comprensibles, pero hay que tener bien claro que la red entiende solo números binarios. No podemos asignar a un host una IP aislada, ya que las direcciones IP se agrupan en redes. Todos los hosts conectados a una misma red poseen direcciones IP con los primeros bits iguales (bits de red), mientras que los restantes son los que identifican a cada host concreto (bits de host). Para redes que no van a estar nunca conectadas con otras se pueden asignar las direcciones IP que se desee, aunque de forma general, dos nodos conectados a una misma red deben tener direcciones IP con la misma parte de red. A partir de una dirección IP una red puede determinar si los datos deben ser enviados a un router o no. Si la los bytes correspondientes a la red de la dirección IP son los mismos que los de la dirección actual (host directo), los datos no se pasaran al router; si son diferentes sí se les pasará. En este caso, el router tendrá que determinar el camino de enrutamiento idóneo en base a la dirección IP de los paquetes.

Tipos de Direcciones IP

Desde el punto de vista de su accesibilidad podemos clasificar las direcciones IP en:

  • Direcciones IP públicas: aquellas que son visibles por todos los hosts conectados a Internet. Para que una máquina sea visible desde Internet debe tener asignada obligatoriamente una dirección IP pública, y no puede haber dos hosts con la misma IP pública. Son únicas a nivel mundial.
  • Direcciones IP privadas: aquellas que son visibles únicamente por los hosts de su red local. Los hosts con direcciones IP privadas no son visibles desde Internet, por lo que si quieren salir a esta necesitan algún mecanismo de traducción de direcciones (NAT).

Las direcciones IP privadas se utilizan en redes privadas para interconectar los puestos de trabajo y proporcionar acceso a los recursos locales.

Desde el punto de vista de su perdurabilidad podemos clasificar las direcciones IP en:

  • Direcciones IP estáticas: aquellas asignadas de forma fija o permanente a un host determinado, por lo que cuando una máquina con este tipo de IP se conecte a la red lo hará siempre con la misma IP. Normalmente son usados por servidores web, routers o máquinas que deban estar conectadas a la red de forma permanente, y en el caso de direcciones IP públicas estáticas hay que contratarlas, generalmente a un ISP (Internet Service Provider).
  • Direcciones IP dinámicas: aquellas que son asignadas de forma dinámica (por un servidor DHCP) a un host cada vez que este se conecta a la red. Un ejemplo típico de este tipo de direcciones IP es el de una conexión a Internet mediante módem. El ISP dispone de un conjunto de direcciones IP para asignar a sus clientes, de forma que cuando uno de ellos se conecta mediante módem se le asigna una de ellas, que puede ser diferente cada vez que se conecta. Cada vez que el cliente se desconecta la IP que tenía asignada vuelve al conjunto de IPs disponibles del ISP.

Como una dirección IP escrita en cualesquiera de estos formatos es difícil de recordar, se utiliza un sistema de nombres de dominio para referirse a las máquinas. Este es el motivo por el que nos referimos a la dirección de Yahoo como www.yahoo.com, y no como 64.58.76.225, que podría ser su dirección IP. Pero entonces, ¿cómo sabe el computador a qué IP nos referimos para mandarle los datos? La respuesta está en el DNS (DNS - Sistema de Nombres de Dominio), que consiste en una serie de tablas en las que se relaciona cada nombre de dominio con su IP correspondiente.

Clases de Redes

A la hora de asignar direcciones IP a una red se considera el tamaño y las necesidades de esta, por lo que se distinguen 3 tipos principales de redes (y de direcciones IP):

  • Clase A: redes con un número muy elevado de hosts. A este tipo de redes se les asigna un rango de direcciones IP identificado por el primer octeto de la IP, de tal forma que este primer byte tiene un valor comprendido entre 1 y 126 (el primer bit es un cero), ambos incluidos. El número de direcciones resultante es muy elevado, más de 16 millones, por lo que las redes de clase A corresponden fundamentalmente a organismos gubernamentales, grandes universidades, etc.
  • Clase B: redes con un número intermedio de hosts. A este tipo de redes se les asigna un rango de direcciones IP identificado por los dos primeros octetos de la IP de tal forma que sus dos primeros bytes deben estar entre 128.1 y 191.254 (los dos primeros bits son 10). Las redes de clase B corresponden fundamentalmente a grandes empresas, organizaciones internacionales, etc.
  • Clase C: redes con un número pequeño de hosts. A este tipo de redes se les asigna un rango de direcciones IP identificado por los tres primeros octetos de la IP, de tal forma que sus 3 primeros bytes deben estar comprendidos entre 192.1.1 y 223.254.254 (sus tres primeros bits son 110). El número de direcciones resultante es de 256 para cada una de las redes, por lo que estas corresponden fundamentalmente a pequeñas empresas, redes domésticas, etc.

Cada clase tiene una máscara de subred que es la que determina realmente cuál es la parte de red y cuál la de host:

  • Clase A: 255.0.0.0
  • Clase B: 255.255.0.0
  • Clase C: 255.255.255.0

Los 1 determinan la parte de red y los 0 la parte de host (hosts son los equipos conectados a la red. Ej: ordenador, impresora, router, Access Point, etc.)

Ejemplo: 255.255.255.0 -> 11111111.11111111.11111111.00000000

Otras Clases

  • Clase D, E: Reservadas

Cálculo del Número de Hosts

El número de hosts que puede haber en una red se calcula de la siguiente forma:

2nº de ceros de la máscara de subred (pasada a binario)

  • Clase C: 28 = 256
  • Clase B: 216 = 65.536
  • Clase A: 224 = 16.777.216

Ejemplo clase C: Red 192.168.0.0/255.255.255.0
Rango de direcciones IP: 192.168.0.0 - 192.168.0.255

Ejemplo clase B: Red 172.16.0.0/255.255.0.0
Rango de direcciones IP: 172.16.0.0 - 172.16.255.255

Ejemplo clase A: Red 10.0.0.0/255.0.0.0
Rango de direcciones IP: 10.0.0.0 - 10.255.255.255

Hay que destacar que los valores extremos de cada red (primera dirección y última dirección) NO se pueden asignar a ningún host. El primer valor se denomina dirección de red, está reservado como dirección de la propia red, y el último valor se reserva para la función broadcast en las redes Ethernet, mediante la cual, un mensaje es enviado a todos los hosts de la red a la vez. La dirección de broadcast se usa para enviar mensajes a todos los hosts de la red simultáneamente. Por lo tanto, dada una red cualquiera, por ejemplo la red de clase C 192.168.0.x (donde x puede variar entre 0 y 255), tendríamos las siguientes direcciones IP:

192.168.0.0 ......dirección de red
192.168.0.1 a 192.168.0.254 ......direcciones disponibles para host
192.168.0.255 ......dirección de broadcast

Ejemplo clase B: Red 172.16.x.x/255.255.0.0

172.16.0.0................................dirección de red
172.16.0.1 a 172.16.255.254......direcciones disponibles para host
172.16.255.255................................dirección de broadcast

Ejemplo clase A: Red 10.x.x.x/255.0.0.0

10.0.0.0 ......dirección de red
10.0.0.1 a 10.255.255.254......direcciones disponibles para host
10.255.255.255 ......dirección de broadcast

Cálculo de Direcciones IP Válidas

El número de direcciones IP válidas que puede haber en una red se calcula de la siguiente forma:

2nº de ceros de la máscara de subred (pasada a binario) - 2

Nota: Se resta 2 porque no se pueden utilizar la 1ª y última dirección.

Direcciones Reservadas

En primer lugar, existen una serie de direcciones reservadas para su uso en redes privadas (aquellas cuyos hosts no van a ser visibles desde Internet), que sirven para implementar la pila TCP/IP en dichas redes. Existe un rango de direcciones reservadas según la clase de red:

ClaseRango de direcciones IP reservadas
A10.x.x.x
B172.16.x.x - 172.31.x.x
C192.168.0.x - 192.168.255.x

A la hora de configurar una red privada el administrador de red es el encargado de fijar qué clase de red va a usar, según el número de direcciones IP que necesite, y asignar luego una IP adecuada a cada uno de los hosts, de forma que el esquema final de la red sea coherente. Estas IPs privadas no se pueden asignar a ningún host que tenga acceso directo a Internet. De esta forma nos aseguramos de que si conectamos luego alguno de los hosts de la red privada a Internet no nos encontraremos con IPs repetidas, que haría que los hosts que las tuvieran fuesen inaccesibles. De la misma forma, si usamos direcciones IP privadas para configurar una serie de redes privadas aisladas entre sí, podemos conectar luego dichas redes entre sí sin tener que cambiar las IPs de los hosts que las componen.

Direcciones Especiales

Aparte de las IPs reservadas, existen otras direcciones especiales que tienen un significado concreto dentro de la pila TCP/IP. Las siguientes direcciones son especiales:

  • 0.0.0.0 (Todas las redes)
  • 255.255.255.255
  • 127.0.0.1 (Dirección de loopback)

Por ejemplo, si tenemos un servidor web local y queremos acceder a las páginas del mismo vía HTTP, tendremos que introducir en la barra de direcciones del navegador la dirección 127.0.0.1, si el puerto en el que está escuchando el servidor es el 80 (el que se usa por defecto para HTTP). Otra forma de acceder al loopback de nuestra máquina es usando el nombre reservado localhost, que produce el mismo resultado.

Cálculo del Número de Redes

El número de redes que teóricamente se pueden establecer en cada clase de red se calcula de la siguiente forma:

2nº de unos de la máscara de subred (pasada a binario)

  • Clase A: 28 = 256
  • Clase B: 216 = 65.536
  • Clase C: 224 = 16.777.216

Ejemplo: En la clase A las redes que se formarían serían:

0.0.0.0 (Reservada)
1.0.0.0
2.0.0.0

127.0.0.0 (Reservada)
254.0.0.0
255.0.0.0 (Reservada)

Pero en realidad en Internet para establecer las clases de red se utiliza otro criterio.

Máscaras de Red

Cuando dos o más redes diferentes se encuentran conectadas entre sí por medio de un router, este debe disponer de algún medio para diferenciar los paquetes que van dirigidos a cada una de las redes. Es aquí donde entra en juego el concepto de máscara de red, que es una especie de dirección IP especial que permite al router determinar a qué red pertenece un host. Dada una dirección IP de red cualquiera, la máscara de red asociada es aquella que en binario tiene todos los bits que definen la red puestos a 1 (255 en decimal), y los que definen al host puestos a 0 (0 en decimal). Así, las máscaras de red de los diferentes tipos de redes son:

  • Red Clase A.........Máscara de red=255.0.0.0
  • Red Clase B.........Máscara de red=255.255.0.0
  • Red Clase C.........Máscara de red=255.255.255.0

La máscara de red posee la importante propiedad de que cuando se combina (AND lógico) con la dirección IP de un host se obtiene la dirección propia de la red en la que se encuentra dicho host. Cuando al router que conecta varias redes le llega un paquete saca de él la dirección IP del host destino y realiza una operación AND lógica entre esta IP y las diferentes máscaras de red de las redes que une, comprobando si el resultado coincide con alguna de las direcciones de red que conoce. Este proceso de identificación de la red destino de un paquete (y del host al que va dirigido el paquete) se denomina enrutamiento, y es tan importante que dedicaremos a él un apartado específico.

Dirección de red/Máscara de red
o
Dirección de red/Nº 1 de la máscara de red (en binario)

Ejemplos:
10.0.0.0/255.0.0.0    10.0.0.0/8
172.16.0.0/255.255.0.0    172.16.0.0/16
192.168.1.0/255.255.255.0    192.168.2.0/24

Creación de Subredes


En una red es posible crear distintas subredes cambiando la mascara de red, siempre
Para crear subredes se añaden 1 a la máscara de subred. Veamos algunos
Red 192.168.2.0/255.255.255.0 (192.168.2.0/24)
Mascara: 255.255.255.0 ¨ 11111111.11111111.11111111.00000000
Si anadimos un 1: 11111111.11111111.11111111.10000000 ¨ 255.255.255.128
Se crean dos subredes: 21=2
No hosts de cada subred: 2^7 -2 = 128 2 = 126
DIRECCION DE
RED
RANGO DIRECCION DE
BROADSCAST
1a subred: 192.168.2.0 192.168.2.1-
192.168.2.126
192.168.2.127
2a subred 192.168.2.128 192.168.2.129-
192.168.2.254
192.168.2.255
Si anadimos dos 1: 11111111.11111111.11111111.11000000 ¨ 255.255.255.192
Se crean cuatro subredes: 22=4
No hosts de cada subred: 2^6 -2 = 64 2 = 62
DIRECCION DE
RED
RANGO DIRECCION DE
BROADSCAST
1a subred: 192.168.2.0 192.168.2.1-192.168.2.62 192.168.2,63
2a subred 192.168.2.64 192.168.2.65-
192.168.2.126
192.168.2.127
Redes Locales Página 19 de 28
Tema 3.2: Modelo TCP/IP
3a subred: 192.168.2.128 192.168.2.129-
192.168.2.190
192.168.2.191
4a subred 192.168.2.192 192.168.2.193-
192.168.2.254
192.168.2.255
Ejercicio: Agrupa las siguientes direcciones IP cada una en su subred:
Mascara de subred: 255.255.255.192
Direcciones IP:
192.168.2.55
192.168.2.83
192.168.2.191 (broadcast)
192.168.2.14
192.168.2.94
192.168.2.135
192.168.2.77
Ejercicio: Divide la red 192.168.2.0/24 en 8 subredes. Indica mascara de red,
direccion de red, rango y direccion de broadcast de las dos primeras subredes que se
Red 192.168.2.0/255.255.255.0 (192.168.2.0/24)
Mascara: 255.255.255.0 ¨ 11111111.11111111.11111111.00000000
Si anadimos tres 1 (2^3=8 subredes): 11111111.11111111.11111111.11100000 ¨
255.255.255.224
No hosts de cada subred: 2^5 -2 = 32 2 = 30
Redes Locales Página 20 de 28
Tema 3.2: Modelo TCP/IP
DIRECCION DE
RED
RANGO DIRECCION DE
BROADSCAST
1a subred: 192.168.2.0 192.168.2.1-
192.168.2.30
192.168.2.31
2a subred 192.168.2.32 192.168.2.31-
192.168.2.62
192.168.2.63
Indica mascara de red,
direccion de red, rango y direccion de broadscat de las dos primeras subredes que se
2^4=16 ¨ Tiene que haber 4 ceros en la mascara de subred ¨
11111111.11111111.11111111.11110000 ¨ 255,255,255,240 ¨ Cada subred tiene
16 direcciones ¨ 14 direcciones validas
DIRECCION DE
RED
RANGO DIRECCION DE
BROADSCAST
1a subred: 192.168.2.0 192.168.2.1-
192.168.2.14
192.168.2.15
2a subred 192.168.2.16 192.168.2.17-
192.168.2.30
192.168.2.31
Redes Locales Página 21 de 28
Tema 3.2: Modelo TCP/IP
ENRUTAMIENTO
Se conoce con el nombre de enrutamiento (routing) el proceso que permite que los
En su viaje entre ambos host los paquetes han de atravesar un numero indefinidos de
host o dispositivos de red intermedios, debiendo existir algun mecanismo capaz de
Este mecanismo de ruteo es responsabilidad del protocolo IP, y lo hace de tal forma
que los protocolos de las capas superiores, como TCP y UDP, no tienen constancia
Cuando un host debe enviar datos a otro, lo primero que hace es comprobar si este se
Si la parte de
red de dicha direccion coincide con la de su propia red (o subred), los datagramas son
enviados directamente mediante la direccion de la tarjeta NIC del host destino,
conocida como dirección física. En caso de que no conozca la misma, se envia un
mensaje de peticion ARP, que sera respondido por el host destino enviando su
En caso de que el remitente compruebe que el destinatario no se encuentra en su
propia red local, los datagramas son enviados a un dispositivo especial, denominado
router o gateway (pasarela), que es el que se va a encargar de buscar la ruta de
direccionamiento que se deben dar a los datagramas para que alcancen su destino
El proceso entonces es conocido con el nombra de routing indirecto, y es el
Un router es un dispositivo conectado a dos o mas redes, perteneciendo a todas ellas
a la vez, por lo que tendra una direccion fisica y una direccion IP diferente en cada una
Si el host B de la red A desea enviar un paquete al host H, lo primero que hara sera
comprobar si el host de destino aparece en su tabla de resoluciones ARP, y si no es
Como H no puede
responder a la misma, al estar en otra red, B decide enviar los paquetes al router para
Los paquetes que le pasa contienen la
Los routers poseen unas tablas de enrutamiento en las que almacenan informacion
Cuando le llegan los paquetes el router debe extraer de ellos la direccion de la red a la
Si solo tuvieramos que enviar datos entre host de la misma red no seria necesario el
uso del protocolo IP, ya que con el direccionamiento fisico mediante los numeros de
Pero en cuanto se deben
mandar datos a host de otra red el protocolo IP se hace necesario, ya que solo con el
Redes Locales Página 22 de 28
Tema 3.2: Modelo TCP/IP
La causa de esto es que el conjunto de numeros de tarjeta de red conforma un
sistema de direccionamiento plano, ya que dichos numeros son asignados
secuencialmente por el fabricante de la tarjeta, no dando informacion alguna de la
En cambio, el sistema de
direcciones IP es un sistema de direccionamiento jerarquico, puesto que las IP se
asignan mediante unas reglas especificas que hacen posible la rapida localizacion de
En el caso en que el router compruebe que el host destino no pertenece a ninguna de
las redes que conecta, mirara en sus tablas de ruteo internas para ver a donde debe
Se produce asi una
serie de saltos en los que los paquetes van siendo enviados a sucesivos routers, hasta
llegar a uno de ellos que si esta conectado a la red destino, y que sera el que entregue
Esto es lo que ocurre en Internet, donde los saltos entre routers se realizan por medio
de sistemas de cableado telefonico, por satelite, etc., con objeto de poder hacer llegar
En el caso de que en la red del host origen haya varios routers puede darse el caso de
En estos casos el paquete no sera
enviado correctamente, entrando en escena el protocolo ICMP, que notificara el error
Entonces este envia los
paquetes al router adecuado, actualizando de paso su propia tabla de ruteo, con lo
que en envios sucesivos al mismo destino los paquetes seran enviados directamente a
Como el numero de identificadores de redes y host proporcionado por la version actual
de IP (la 4) se esta quedando pequeno para abarcar el amplio aumento de
ordenadores conectados a Internet, se hace preciso crear una nueva forma de
Con este fin se estudio una nueva version del protocolo IP, la 5, pero debido a su poca
Actualmente esta en estudio IP v6 (tambien
llamada IPNG=Internet Protocol Next Generation), que introduce numerosos cambios
La diferencia principal es que se pasa de direcciones IP de 32 bits a direcciones de
128 bits (16 bytes), con lo que se eliminan las restricciones del sistema actual, al
Tambien
se ha mejorado la seguridad del protocolo y la cabecera de los datagramas (que ahora
Las nuevas direcciones IP identifican a un interfaz o conjunto de interfaces, y no a un
nodo, como lo hace la version actual de IP, y el numero de direcciones que permite es
mucho mas elevado, del orden de 2128, lo que da mas de 665.000 trillones de
direcciones posibles, aunque este numero se vera disminuido cuando se les aplique a
Redes Locales Página 23 de 28
Tema 3.2: Modelo TCP/IP
Con ello se persiguen los siguientes fines:
Hacer posible el cambio de localizacion fisica de los host sin tener que cambiar
Permitir que el protocolo pueda cambiar en el futuro, permitiendo a la vez la
IP v6 no usara la fragmentacion de paquetes en los routers, estando estos limitados al
Si un paquete es mayor que este
limite sera rechazado por el router, quedando bajo la responsabilidad del host el
Tambien se elimina el checksum (suma de comprobacion de errores), y se permite el
uso de datagramas de tamanos excepcionalmente grandes, conocidos como
Como primera clasificacion de las direcciones propuesta por IP v6 cabe destacar la
division basada en si se identifica una interfaz o un conjunto de ellas, lo que da lugar a
los siguientes tipos:
Direcciones unicast: son aquellas que identifican un unico interfaz en la red.
forma que el paquete se enviara a una cualquiera de las interfaces que componen el
Su formato es analogo al de las direcciones unicast, ya que estas direcciones
Direcciones multicast: que identifican a un conjunto de interfaces, de manera que
Esto permite eliminar las
PUERTOS Y SOCKET
La mayoria de los Sistemas Operativos actuales soportan el multiproceso, mediante el
cual varios procesos se pueden estar ejecutando a la vez en una maquina, de los
cuales puede haber distintos de ellos comunicandose por red al mismo tiempo, con la
En este entorno, decir que un proceso de la maquina receptora es el destino final de
un datagrama concreto enviado por otro proceso de la maquina emisora es una
afirmacion que presta a confusion, ya que los procesos son dinamicos, se crean y se
destruyen constantemente, por lo que un proceso en el ordenador emisor en un
momento dado no puede saber que proceso del equipo receptor es el destinatario de
Ademas, para una correcta comunicacion
Redes Locales Página 24 de 28
Tema 3.2: Modelo TCP/IP
necesitamos saber que funcion del equipo receptor es la encargada de recibir los
TCP puede adaptarse dinamicamente a las propiedades de la Internet y manejar fallos
Para obtener los servicios de este protocolo, el emisor y el receptor
deben crear unos puntos terminales de conexion, denominados sockets. Cada socket
contiene la direccion IP del host y un numero de 16 bits que es de caracter local al
host, denominado puerto de protocolo. Los primeros 256 puertos son puertos bien
socket=dirección IP+puerto de protocolo
Una conexion viene definida por dos puntos extremos (sockets), permitiendo TCP que
varias conexiones compartan un punto extremo final (conexiones multiples a la vez), al
Para que se pueda crear una conexion entre dos host es necesario que el extremo
servidor haga una apertura pasiva del puerto, quedandose a la escucha en el mismo
a la espera de peticiones de conexion, mientras que el extremo cliente debe realizar
una apertura activa en el puerto servidor, abriendo un puerto propio y poniendose en
Generalmente los
servidores mantienen abiertos una serie de puertos conocidos estandares, en los que
Los puertos van a ser los destinatarios finales de los datagramas en una comunicacion
Cada puerto de protocolo podemos imaginarlo como una via de
entrada de informacion, como un punto de un host que permite la entrada de paquetes
"puerta" de acceso a los niveles de aplicacion, una cola de entrada en la que el
Tanto TCP como UDP usan numeros de puerto (o toma) para enviar informacion a las
Los numeros de puerto se usan para mantener un seguimiento de
Para poder establecer una comunicacion correcta entre dos maquinas, el emisor
necesita conocer tanto la direccion IP como el numero de puerto de protocolo del
Estos puertos los proporciona los protocolos
UDP y TCP (capa de transporte), y mediante ellos se puede distinguir entre muchos
EL concepto de puerto en TCP es mas complejo que en UDP, ya que TCP utiliza para
comunicarse una conexion, no el puerto de protocolo, como su abstraccion
fundamental: estas conexiones se identifican por un par de puntos extremos. Un
punto extremo es un par de numeros host-puerto, en donde host es la direccion IP de
Las conexiones vienen definidas por dos puntos extremos, permitiendo TCP que
varias conexiones compartan un mismo punto extremo, siendo los puertos los
Redes Locales Página 25 de 28
Tema 3.2: Modelo TCP/IP
Las aplicaciones utilizan los puertos
Cada puerto de protocolo viene identificado por un numero de 16 bits, lo que nos
da 65.536 puertos posibles en cada ordenador, que se identifican por su
TCP combina la asignacion estatica de
numeros de puerto con la asignacion dinamica, mediante la denominada asignacion de
puertos bien conocidos para aplicaciones servidoras (asignacion estatica) y la
asignacion del resto de los puertos disponibles a las aplicaciones cliente conforme los
Los numeros de puerto tienen los siguientes intervalos asignados:
· Los numeros inferiores a 255 se usan para aplicaciones publicas.
· Los numeros del 255 al 1023 son asignados a empresas para aplicaciones
comercializadles
· Los numeros superiores a 1023 no estan regulados, y se usan generalmente
Cuando una aplicacion cliente quiere comunicarse con una aplicacion servidora de
otro host busca un numero de puerto libre y lo utiliza para transmitir los datos, mientras
que en el otro host la aplicacion servidora permanece a la escucha en su puerto bien
Por ejemplo, cualquier conversacion destinada a la
Para optimizar su funcionamiento los puertos poseen una memoria intermedia,
Las
aplicaciones transmiten los datos a los puertos, guardandolos estos en sus buffers
Cuando llegan al host de destino, los datos
son almacenados de nuevo en los buffers hasta que la aplicacion receptora este
Si deseais ver las conexiones activas de vuestra maquina y los sockets en uso
(IPs+puertos) podeis abrir una consola del sistema y usar el comando netstat, que
Los puertos bien conocidos y sus aplicaciones asociadas se definen en RFC1700, y
los teneis en la siguiente tabla:
0/TCP reservado
0/UDP reservado
1/TCP TCPMUX Multiplexor TCP
5/TCP RJE Introduccion de funcion remota de tareas
7/TCP-UDP ECHO echo Eco
Redes Locales Página 26 de 28
Tema 3.2: Modelo TCP/IP
9/TCP-UDP DISCARD discard Abandonar
11/TCP-UDP ACTIVE USERS systat Usuarios activos
13/TCP-UDP DAYTIME daytime Fecha, hora
17/TCP-UDP QOTD qotd Cita del dia
19/TCP-UDP CHARGEN chargen Generador de caracteres
20/TCP FTP-DATA ftp-data Protocolo de transferencia de ficheros (datos)
21/TCP FTP ftp Protocolo de transferencia de ficheros
23/TCP TELNET telnet Conexion por terminal
25/TCP SMTP smtp Protocolo de transporte de correo sencillo
37/TCP-UDP TIME time Hora-fecha
39/TCP-UDP RLP Protocolo de ubicacion de recursos
42/TCP-UDP NAMESERVER name Servidor de nombres de host
53/TCP-UDP DOMAIN nameserver Servidor de nombres de dominio (DNS)
67/TCP-UDP BOOTPS bootps Servidor de protocolo Bootstrap
68/TCP-UDP BOOTPC bootpc Cliente de protocolo Bootstrap
69/UDP TFTP tftp Transferencia de ficheros trivial
70/TCP GOPHER gopher Gopher
75/TCP Cualquier servicio privado de conexion telefonica
77/TCP Cualquier servicio RJE privado
79/TCP FINGER finger Comando figer
80/TCP WWW-HTTP www-http World Wide Web HTTP (servicio de paginas web)
93/TCP DCP Protocolo de Control de Dispositivo
95/TCP SUPDUP supdup Protocolo SUPDUP
101/TCP HOSTNAME hostnames Servidor de nombre de host NIC
Redes Locales Página 27 de 28
Tema 3.2: Modelo TCP/IP
102 ISO-TSAP ISO-TSAP
103/TCP X400 x400 Servicio de correo X400
104/TCP X400-SND x400-snd Envio de correo X400
107/TCPUDP
RTELNET rtelnet Telnet remoto
109/TCP POP2 pop2 Post Office Protocol - Version 2
110/TCP POP3 pop3 Post Office Protocol - Version 3
111/TCPUDP
SUNRPC sunrpc Sun Remote Procedure Call
113/TCP AUTH auth Servicio de autenticacion
115/TCPUDP
SFTP sftp Protocolo de Transferencia de Ficheros Simple
117/TCPUDP
UUCP-PATH Servicio de ruta UUCP
119/TCP NNTP nntp Protocolo de Transferencia de Noticias en Red
123/UDP NTP ntp Network Time Protocol (Protocolo de tiempo de red)
129/TCP PWDGEN pwdgen Protocolo Generador de Contrasenas
137/TCPUDP
NETBIOS-NS Servicio de Nombres NETBIOS
138/TCPUDP
NETBIOS-DGM Servicio de Datagramas NETBIOS
139/TCPUDP
NETBIOS-SSN Servicio de Sesion NETBIOS
161/UDP SNMP SNMP
162/UDP SNMPTRAP SNMPTRAP
194/TCP IRC irc I

Entradas relacionadas: