Redes‎ > ‎Teoria e Introducción‎ > ‎

Direccionamiento y ruteo de TCP/IP

Bases de TCP/IP
Direccionamiento y ruteo de TCP/IP

RED, LAN y WAN

Red: Una red es usualmente considerada como un medio fisico que interconecta dispositivos que pueden transferir datos entre ellos.

LAN: Una red de área local (LAN) usualmente esta limitada a un area limitada, ejemplo, dentro de un edificio o territorio local como un campus de universidad y puede consistir de una o mas redes físicas interconectadas.

WAN: Una red de área amplia (WAN) es una serie de LANS interconectadas y que se distribuye sobre un gran territorio o distancias.

Intranet e Internet

Las redes de acuerdo al control administrativo que tienen están clasificadas como:
  • Intranet
  • Internet
INTRANET: Una Intranet son LANs o una WAN bajo un solo control administrativo y usualmente provee servicios para uso interno dentro de una organización.

INTERNET: Internet es una serie de WANs interconectadas por diferentes tipos de medio y no tiene un solo control administrativo.

Protocolos de red

Los dispositivos usan protocolos para comunicarse entre ellos, TCP/IP (Internetwork Protocol) es el principal y mas usado de los protocolos de red para que ellos se comuniquen y ha sido diseñado para mantener:
  • Alta disponibilidad
  • Independiente de cualquier plataforma
  • Independiente de cualquier tipo de red
Otros protocolos de red son netBEUI, IPX/SPX, y Appletalk.

Encapsulación e IP

Encapsulación es el concepto principal del diseño de IP, significa poner una cosa dentro de otra cosa


Estándar OSI

El Estándar Open System Interconnection (OSI) fue originalmente usado cuando se crearon los protocolos de red (tales como TCP/IP e IPX, etc), usa un modelo de 7 capas de red para describir el direccionamiento de red, análisis de datos, y capacidades de red del diferente hardware. Los beneficios de usar un modelo de capas son:
  • Cada capa del modelo OSI es responsable de ciertas tareas especificas
  • Diferentes tecnologías pueden convivir de una manera estandarizada
Modelo OSI de red


Capas del modelo OSI

Un buen entendimiento de las primeras 3 capas de red es requerido para entender los conceptos básicos de red, como paso de puertos, firewall, y NAT.

(1) La capa física son las conexiones físicas (cables, tarjetas de red y dispositivos que levantan la red)

El nivel físico o capa física se refiere a las transformaciones que se hacen a la secuencia de bits para trasmitirlos de un lugar a otro. Generalmente los bits se manejan dentro del PC como niveles eléctricos. Por ejemplo, puede decirse que en un punto o cable existe un 1 cuando está a n cantidad de volts y un cero cuando su nivel es de 0 volts. Cuando se trasmiten los bits casi siempre se transforman en otro tipo de señales de tal manera que en el punto receptor puede recuperarse la secuencia de bits originales. Esas transformaciones corresponden a los físicos e ingenieros. Para las distancias cortas dentro de la PC los bits no requieren transformaciones y esta capa no existe.

La capa física es la capa de red más básica, proporcionando únicamente los medios para transmitir bit a bit sobre un enlace de datos físico conectado a nodos de red. Consecuentemente, la capa física, no añade cabeceras de paquete ni trailers a los datos. Las cadenas de bits pueden ser agrupadas en palabras codificadas o símbolos, y convertidas a señales físicas, que son transmitidas sobre un medio de transmisión físico. La capa física proporciona una interfaz eléctrica, mecánico y procedimental para el medio de transmisión. Las características de los conectores eléctricos, sobre qué frecuencias retransmitir, que esquema de modulación usar y parámetros de bajo nivel similares son especificados aquí. Una analogía de esta capa en una red de correo física podrían ser las carreteras a lo largo de las que las furgonetas llevan el correo.

La capa física determina el bit rate en bit/s, también conocido como capacidad del canal, ancho de banda digital, salida máxima o velocidad de conexión.

(2) La capa de enlace de datos transfiere paquetes dentro de raw bits para ser transmitidos sobre la capa física.

El objetivo de la capa de enlace es conseguir que la información fluya, libre de errores, entre dos máquinas que estén conectadas directamente (servicio orientado a conexión). Para lograr este objetivo tiene que montar bloques de información (llamados tramas en esta capa), dotarles de una dirección de capa de enlace, gestionar la detección o corrección de errores, y ocuparse del control de flujo entre equipos (para evitar que un equipo más rápido desborde a uno más lento).

Cuando el medio de comunicación está compartido entre más de dos equipos es necesario arbitrar el uso del mismo. Esta tarea se realiza en la subcapa de control de acceso al medio.

La capa de enlace de datos es responsable de la transferencia fiable de información a través de un Circuito eléctrico de transmisión de datos. La transmisión de datos lo realiza mediante tramas que son las unidades de información con sentido lógico para el intercambio de datos en la capa de enlace. También hay que tener en cuenta que en el modelo TCP/IP se corresponde a la segunda capa
Sus principales funciones son:
  • Iniciación, terminación e identificación.
  • Segmentación y bloqueo.
  • Sincronización de octeto y carácter.
  • Delimitación de trama y transparencia.
  • Control de errores.
  • Control de flujo.
  • Recuperación de fallos.
  • Gestión y coordinación de la comunicación.

(3) La capa de red es responsable del direccionamiento lógico.

El nivel de red o capa de red, según la normalización OSI, es un nivel o capa que proporciona conectividad y selección de ruta entre dos sistemas de hosts que pueden estar ubicados en redes geográficamente distintas. Es el tercer nivel del modelo OSI y su misión es conseguir que los datos lleguen desde el origen al destino aunque no tengan conexión directa. Ofrece servicios al nivel superior (nivel de transporte) y se apoya en el nivel de enlace, es decir, utiliza sus funciones.
Para la consecución de su tarea, puede asignar direcciones de red únicas, interconectar subredes distintas, encaminar paquetes, utilizar un control de congestión y control de errores

Algunos protocolos de la capa de red son:
  • IP (IPv4, IPv6, IPsec)
  • OSPF
  • IS-IS
  • ARP, RARP
  • RIP
  • ICMP, ICMPv6
  • IGMP
  • DHCP
Direcciones MAC

Las direcciones MAC (Control de Acceso al Medio) son direcciones únicas dadas a los clientes de una red. La primera parte de la dirección MAC es asignada al fabricante del hardware; El resto de la dirección es determinada por cada fabricante. Dispositivos que no son administrables (ejemplo, HUBs y algunos switches) no tienen dirección MAC.

Las direcciones MAC son usadas para direccionar en la capa de enlace de datos (capa 2) del modelo de red OSI, no son usadas para agrupar clientes dentro de una red.

Analogía: Las direcciones MAC son como el numero de CURP/DNI de cada persona.

Direcciones IP

Las direcciones IP son usadas para el direccionamiento lógico en la capa de red (capa 3) del modelo de red OSI. Tal como las direcciones MAC donde no hay similitud entre 2 direcciones, con la diferencia que las direcciones IP permiten agrupar computadoras.

Características: 
  • Únicas, dirección de 32 bits 
  • Son referenciadas por humanos vía notación decimal, un numero por cada 8 bits (1 octeto o byte), ejemplo., 159.148.147.1 
  • Consiste de tres clases primarias A, B, and C (clase D es para multicast) en la forma [netid:hostid]
Analogía: Direcciones IP son como la dirección postal de cada persona.

Clases de direcciones IP (IPV4)

* Los primeros 3 bits de una dirección IP hacen la clase

Las direcciones IPv4 se expresan por un número binario de 32 bits permitiendo un espacio de direcciones de 4.294.967.296 (232) direcciones posibles. Las direcciones IP se pueden expresar como números de notación decimal: se dividen los 32 bits de la dirección en cuatro octetos. El valor decimal de cada octeto está comprendido en el rango de 0 a 255 [el número binario de 8 bits más alto es 11111111 y esos bits, de derecha a izquierda, tienen valores decimales de 1, 2, 4, 8, 16, 32, 64 y 128, lo que suma 255].

En la expresión de direcciones IPv4 en decimal se separa cada octeto por un carácter único ".". Cada uno de estos octetos puede estar comprendido entre 0 y 255, salvo algunas excepciones. Los ceros iniciales, si los hubiera, se pueden obviar (010.128.001.255 sería 10.128.1.255).

Ejemplo de representación de dirección IPv4:

En las primeras etapas del desarrollo del Protocolo de Internet, 1 los administradores de Internet interpretaban las direcciones IP en dos partes, los primeros 8 bits para designar la dirección de red y el resto para individualizar la computadora dentro de la red. Este método pronto probó ser inadecuado, cuando se comenzaron a agregar nuevas redes a las ya asignadas. En 1981 el direccionamiento internet fue revisado y se introdujo la arquitectura de clases (classful network architecture). 2 En esta arquitectura hay tres clases de direcciones IP que una organización puede recibir de parte de la Internet Corporation for Assigned Names and Numbers (ICANN): clase A, clase B y clase C.
  • En una red de clase A, se asigna el primer octeto para identificar la red, reservando los tres últimos octetos (24 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 224 - 2 (se excluyen la dirección reservada para broadcast (últimos octetos en 255) y de red (últimos octetos en 0)), es decir, 16 777 214 hosts.
  • En una red de clase B, se asignan los dos primeros octetos para identificar la red, reservando los dos octetos finales (16 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 216 - 2, o 65 534 hosts.
  • En una red de clase C, se asignan los tres primeros octetos para identificar la red, reservando el octeto final (8 bits) para que sea asignado a los hosts, de modo que la cantidad máxima de hosts es 28 - 2, ó 254 hosts.
Mas características: 
  • La dirección 0.0.0.0 es reservada por la IANA para identificación local.
  • La dirección que tiene los bits de host iguales a cero sirve para definir la red en la que se ubica. Se denomina dirección de red.
  • La dirección que tiene los bits correspondientes a host iguales a uno, sirve para enviar paquetes a todos los hosts de la red en la que se ubica. Se denomina dirección de broadcast.
  • Las direcciones 127.x.x.x se reservan para designar la propia máquina. Se denomina dirección de bucle local o loopback.
El diseño de redes de clases (classful) sirvio durante la expansión de internet, sin embargo este diseño no era escalable y frente a una gran expansión de las redes en la decada del 90, el sistema de espacio de direcciones de clases fue reemplazado por una arquitectura de redes sin clases Classless Inter-Domain Routing (CIDR) 3 en el año 1993. CIDR esta basa en redes de longitud de mascara de sub red variable (variable-length subnet masking VLSM) que permite asignar redes de longitud de prefijo arbitrario. Permitiendo una distribución de direcciones más fina y granulada, calculando las direcciones necesarias y "desperdiciando" las mínimas posibles.

Clases de redes


Direcciones privadas:

Hay ciertas direcciones en cada clase de dirección IP que no están asignadas y que se denominan direcciones privadas. Las direcciones privadas pueden ser utilizadas por los hosts que usan traducción de dirección de red (NAT) para conectarse a una red pública o por los hosts que no se conectan a Internet. En una misma red no puede existir dos direcciones iguales, pero sí se pueden repetir en dos redes privadas que no tengan conexión entre sí o que se conecten a través del protocolo NAT. Las direcciones privadas son:

  • Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts).
  • Clase B: 172.16.0.0 a 172.31.255.255 (12 bits red, 20 bits hosts). 16 redes clase B contiguas, uso en universidades y grandes compañías.
  • Clase C: 192.168.0.0 a 192.168.255.255 (16 bits red, 16 bits hosts). 256 redes clase C contiguas, uso de compañías medias y pequeñas además de pequeños proveedores de internet (ISP).

Muchas aplicaciones requieren conectividad dentro de una sola red, y no necesitan conectividad externa. En las redes de gran tamaño a menudo se usa TCP/IP. Por ejemplo, los bancos pueden utilizar TCP/IP para conectar los cajeros automáticos que no se conectan a la red pública, de manera que las direcciones privadas son ideales para estas circunstancias. Las direcciones privadas también se pueden utilizar en una red en la que no hay suficientes direcciones públicas disponibles.
Las direcciones privadas se pueden utilizar junto con un servidor de traducción de direcciones de red (NAT) para suministrar conectividad a todos los hosts de una red que tiene relativamente pocas direcciones públicas disponibles. Según lo acordado, cualquier tráfico que posea una dirección destino dentro de uno de los intervalos de direcciones privadas no se enrutará a través de Internet

Sub-redes

Redes IP dadas, pueden dividirse en redes mas pequeñas, llamadas sub-redes. El tamaño de una subred es determinada por la mascara de red (mascara de sub-red, mascara de red)

Mascaras de sub-redes tienen el hostid con todos los bits=0, y el netid con todos los bits=1, por ejemplo:
  • 11111111 11111111 11111111 10000000 (255.255.255.128)
  • 11111111 11111111 11111111 00000000 (255.255.255.0)
  • 11111111 11111111 00000000 00000000 (255.255.0.0)
En profundidad: 

Cada nodo de una red IP tiene asociado a su dirección una máscara de subred. La máscara de subred señala qué bits (o qué porción) de su dirección es el identificador de la red. La máscara consiste en una secuencia de unos seguidos de una secuencia de ceros escrita de la misma manera que una dirección IP, por ejemplo, una máscara de 32 bits se escribiría 255.255.240.0, es decir una dirección IP con 20 bits en uno seguidos por 12 bits en 0, pero separada en bloques de a 8 bits escritos en decimal. La máscara determina todos los parámetros de una subred: dirección de red, dirección de difusión (broadcast) y direcciones asignables a nodos de red (hosts).

Los routers constituyen los límites entre las subredes. La comunicación desde y hasta otras subredes es hecha mediante un puerto específico de un router específico, por lo menos momentáneamente.
Una subred típica es una red física hecha con un router, por ejemplo una Red Ethernet o una VLAN (Virtual Local Area Network), Sin embargo, las subredes permiten a la red ser dividida lógicamente a pesar del diseño físico de la misma, por cuanto es posible dividir una red física en varias subredes configurando diferentes computadores host que utilicen diferentes routers. La dirección de todos los nodos en una subred comienzan con la misma secuencia binaria, que es su ID de red e ID de subred. En IPv4, las subredes deben ser identificadas por la base de la dirección y una máscara de subred.

Las subredes simplifican el enrutamiento, ya que cada subred típicamente es representada como una fila en las tablas de ruteo en cada router conectado. Las subredes fueron utilizadas antes de la introducción de las direcciones IPv4, para permitir a una red grande, tener un número importante de redes más pequeñas dentro, controladas por varios routers. Las subredes permiten el Enrutamiento Interdominio sin Clases (CIDR). Para que las computadoras puedan comunicarse con una red, es necesario contar con números IP propios, pero si tenemos dos o más redes, es fácil dividir una dirección IP entre todos los hosts de la red. De esta formas se pueden partir redes grandes en redes más pequeñas.

Es necesario para el funcionamiento de una subred, calcular los bits de una IP y quitarle los bits de host, y agregárselos a los bits de network mediante el uso de una operación lógica

Direcciones de red

La operación lógica AND es usada para calcular la dirección de red desde direcciones de cliente y mascara de red.

Ejemplo:

10000000 11000000 00001010 10100101 (h:128.192.10.169)
AND
11111111 11111111 11111111 00000000 (s:255.255.255.0)
IGUAL A
10000000 11000000 00001010 00000000 (n:128.192.10.0)

Espacio de direccionamiento y sub-redes

Las direcciones para hosts están disponibles cuando dividimos una red de 24 bits en sub-redes:


Direcciones Punto a Punto

Nos proporcionan un efectivo uso del espacio de direccionamiento y pueden ser usadas en comunicaciones punto a punto.

Ejemplo:

Cliente A: dirección=10.1.6.1/32 red=10.1.7.1
Cliente B: dirección=10.1.7.1/32 red=10.1.6.1 

Direcciones Broadcast

La dirección de broadcast es usada para “hablar” con todos los clientes de la red. Es una dirección con la porción del host (cliente) configurada solo con 1’s, por ejemplo:
  • 128.192.10.255 para la red 128.192.10.0/24
  • 128.192.10.191 para la red 128.192.10.128/26
Los Broadcasts son necesarios para:
  • Establecer comunicación inicial con otro cliente, ejemplo, resolución de direcciones
  • Para DHCP y asignación de direcciones
Dominio Broadcast

Un dominio de broadcast es parte de la red que puede “oír” trafico de broadcast generado en los hosts de la red, redes remotas pueden incorporarse dentro de un bridge sobre un túnel para crear un dominio de broadcast

ARP

El protocolo ARP (Protocolo de resolución de direcciones) es usado para asociar direcciones MAC con direcciones IP.

El proceso de ARP funciona de la siguiente manera:
  • El solicitante de ARP manda un paquete (frame) de broadcast con la información del la ip destino, la ip origen y la dirección MAC, preguntando por la dirección MAC destino. 
  • El cliente con la dirección ip destino manda un frame directo de regreso al solicitante llenando en el su dirección MAC y guardando la dirección MAC de el  en la tabla ARP o caché. 
  • Para minimizar los broadcasts debidos a requisiciones tipo ARP, las direcciones ip de los clientes y los gateways guardan tablas de direcciones MAC y direcciones IP llamadas tablas de arp o caches.
Puertos TCP/IP

Una vez que los datos han arribado a su destino, los puertos de tcp/ip definen cual servicio o propósito tiene dicho trafico. Los puertos son:

  • Positivos, números enteros de 16 bits (1…65535)
  • Puertos muy conocidos son del 1…1023, por ejemplo:
20;21 - FTP
22 - SSH
23 - Telnet
25 - SMTP
80 - HTTP
110 - POP3

443 – HTTPS
  • Puertos definidos por el usuario son del 1024…65535
Conexiones TCP

Una conexión TCP es definida como el par de números (ip_origen:puerto) y  (ip_destino:puerto). Conexiones diferentes pueden usar el mismo puerto de destino en el server siempre y cuando los puertos de origen o la IP de origen sean diferentes.

Establecimiento de conexiones TCP

Una conexión TCP es establecida usando un “proceso de 3 vías“:
  • Cliente manda la requisición de SYN
  • Server responde con SYN,ACK
  • Cliente manda un ACK

Mandando Datos
TCP divide el flujo de datos en segmentos.
  • El que envía manda datos en en segmentos
  • El que recibe da acuse de recibo
  • El que manda, manda el siguiente segmento de datos
  • Si no se recibe acuse de recibo, el segmento de datos se vuelve a mandar
En caso que la conexión sea abortada, una bandera RTS es usada para notificarle al que manda

Cerrando conexiones TCP

Una conexión TCP es cerrada usando un proceso modificado de 3 vías:
  • El que inicia, manda una petición de FIN
  • El que recibe responde con un acuse de recibo, con un FIN y una solicitud de acuse de recibo al remitente.
  • El remitente manda el acuse de recibo. 

-------------------------------------------------
AUTOR: Sadamssh
País: Argentina
-------------------------------------------------


Comments