El Nivel de Red en Internet: 1.1 Introducción
El Nivel de Red en Internet: 1.1 Introducción
El Nivel de Red en Internet: 1.1 Introducción
EL NIVEL DE RED EN
INTERNET
1.1 Introducción.
Con TCP/IP podemos realizar comunicaciones entre máquinas con distintos sistemas
operativos, formando una red, y conectar esta red con el resto del mundo, a través de la red
Internet.
Internet TCP/IP es una familia de protocolos utilizados en que se ha extendido ampliamente
por todo el mundo por estar implementados en Internet. Es además un ejemplo de
interconexión de sistemas abiertos, ya que las especificaciones para construir el software de
comunicación, son de dominio público, de forma que cualquiera puede desarrollar
aplicaciones que le permitan conectarse a través de esta red. La tecnología de TCP/IP es
independiente de la máquina en que se implemente. Son unos protocolos muy probados y
evolucionados.
Haciendo un poco de historia sobre los orígenes de Internet, todo comenzó cuando la agencia
de investigaciones avanzadas de defensa americano (DARPA) desarrolló una red ARPANET
(1969), con el objetivo de que fuese robusta, realizable e independiente de empresas de
comunicaciones. Esta red empezó a ser utilizada por estamentos gubernamentales y
universidades, después se conectaron empresas y el resto del mundo. De 1977 a 1979 V.
Cerf y B. Kanh desarrollaron la familia de protocolos TCP/IP. En 1983, TCP/IP se convirtió
en un estándar. En el desarrollo del protocolo trabajaron tanto el departamento de defensa
como universidades y empresas norteamericanas.
En 1983 MILNET (red militar) se separó de ARPANET, aunque las dos están conectadas
con un encaminador. La red Internet la forman la unión de estas dos redes.
Los sistemas de Unix implementaron TCP/IP en sus máquinas, DEC en 1970 en su PDP-11 y
Berkeley en su versión UNIX 4.1 y 4.3 BSD en 1980.
A principios de los 90 aparecen las primeras versiones de navegadores de la aplicación web,
que inician la popularización de Internet.
EL NIVEL DE RED EN INTERNET, 2003 2
datos de usuario
APLICACION
cabecera
datos de usuario
aplicación
TCP
cabecera cabecera
datos de usuario Segmento TCP
TCP aplicación
IP
Ethernet
Como se observa en la figura, las unidades de datos en cada nivel tienen un nombre distinto
al utilizado en OSI, e incluso, tienen distintas denominaciones en los niveles de aplicación y
transporte, dependiendo del tipo de protocolo de transporte utilizado.
ICMP IGMP
IP Nivel de red
ARP RARP
• Nivel de Internet:
Este nivel es el corazón de TCP/IP, se define aquí el protocolo IP y realiza
funciones similares a las del nivel 3 de OSI. IP es un protocolo no orientado a
conexión y no fiable. Los problemas de fiabilidad se resuelven en la capa superior
con el protocolo TCP. Las funciones básicas son:
- Definir un formato de bloque de datos, denominado datagrama.
- Definir un esquema de direccionamiento.
- Mover datos entre los el Nivel de Acceso a Red y el Nivel de Transporte.
- Realizar funciones de encaminamiento de los datagramas.
- Realizar fragmentación y agrupación de datagramas, si es necesario.
- Redirección de rutas. Enviada por un encaminador al host para decir que utilice
otra ruta para alcanzar un destino.
- Comprueba si un host está disponible para comunicar.
• Nivel de Transporte:
Proporciona básicamente dos protocolos de nivel de transporte, TCP y UDP.
TCP es un protocolo orientado a conexión y se utiliza en aplicaciones que requieran
estas características como TELNET. Lo utilizan aplicaciones pensadas para
ejecutarse en una red de área extendida (WAN) como Internet, y que requieran
cierta fiabilidad.
UDP es un protocolo no orientado a conexión. Es utilizado en aplicaciones no
conectivas pensadas para ser ejecutadas en una LAN, donde es muy improbable que
se produzca errores. Las aplicaciones típicas son en sistemas de ficheros en red,
servidores de impresoras, etc. En aplicaciones para ser ejecutadas en WAN se
utiliza cuando la aplicación es de consulta, por ejemplo en traducciones de nombres
de máquinas a direcciones IP, DNS.
• Nivel de Aplicación:
- Son aplicaciones finales definidas sobre TCP/IP.
TELNET: Nos permite realizar un login remoto sobre una máquina de la red.
FTP: Utilizado para hacer transferencia interactiva de ficheros.
SMTP: Es una aplicación de correo electrónico.
- Otras utilizan UDP/IP.
DNS: Es un servicio de nombres; traduce nombres asignados a dispositivos de
la red sobre direcciones IP.
RIP: Utilizado para intercambiar información de necesaria para realizar routing.
NFS: Permite compartir ficheros con otros hosts de la red.
- EGP es una aplicación que no utiliza protocolo de transporte, va directamente
montada sobre IP. Esta aplicación permite hacer routing externo.
EL NIVEL DE RED EN INTERNET, 2003 6
dirección dirección
tipo datos CRC Trama Ethernet
fuente destino
6 6 2 de 46 a 1500 4
La dirección de enlace es conocida, ya que para cada LAN es asignada, por el usuario o el
sistema, en función de la dirección de red IP. Por ejemplo, con 193.146.9.37, la dirección de
enlace tendrá una parte con valor 37.
1.3.3 X.25
Usando una técnica llamada encapsulado o tunneling.
Para enviar tráfico IP, primero se abre una conexión con el otro extremo, y los datagramas se
envía como datos X.25. La subred X.25 entrega los paquetes en el otro extremo, que de
antemano debe saber que le llega tráfico IP.
EL NIVEL DE RED EN INTERNET, 2003 7
1 296 1
Defectos:
 Cada extremo debe saber su dirección IP.
 Como no existe el campo de tipo de trama, solamente trabaja con el protocolo IP.
 No hay campo para comprobar errores de transmisión.
1.4 Información
La arquitectura TCP/IP es un sistema abierto, esto implica que la información sobre los
protocolos debe ser de dominio público, La Agencia de Comunicación del Departamento de
Defensa Norteamericano ha contratado un grupo de personas del ámbito de la empresa SRI
International denominado NIC (Centro de Información de Red), para la distribución y
mantenimiento de esta información. Esta información está disponible en Internet, y se
clasifica en una serie de documentos denominados RFCs, que está numerados, estos
documentos tiene propuestas de nuevos protocolos, o revisiones de las ya existentes y los
protocolos que ya son estándar. Hay que tener cuidado porque algunos documentos son
revisiones de anteriores, entonces hay que coger la última versión de un tema. Un RFC con
estado de standart debe ser implementado al menos por dos organizaciones independientes.
14 16
21 8
28
27
De esta forma se puede identificar que tipo de dirección es observando el valor de los
primero bits. Vemos que las direcciones de clase A, B y C son las que nos permiten
realmente direccionar hosts, en función del número de hosts que necesite tener nuestra red,
necesitaremos un tipo de dirección u otro.
• Clase A: Reserva 7 bits para direccionar redes (128) y 3 bytes para hosts. Por lo tanto
se pueden definir pocas redes de este tipo, pero son poco utilizadas ya que están
sobredimensionadas, tienen una capacidad de más de 16 millones de host. Utilizado
en grandes organizaciones, por ejemplo, la NASA, la ESA, etc.
• Clase B: Reserva 14 bits para redes y 2 bytes para hosts. Por lo tanto se pueden
definir 16.000 redes de 65.000 host cada una. Todas las direcciones que empiezan
por un número comprendido entre 128 y 191 son de esta clase. Ideal para
universidades.
• Clase C: Es la más útil, ya que adapta a las dimensiones redes de área local, que
puede haber en entornos empresariales. Permite seleccionar 2 millones de redes de
254 hosts cada una. Todas las direcciones que comienzan por un número
comprendido entre 192 y 233 son de esta clase.
EL NIVEL DE RED EN INTERNET, 2003 10
Ejemplos:
La dirección 192.146.9.0 es una dirección clase C ya que empieza por 110 o bien porque
está en el margen de esta clase de direcciones (192 - 223). Al ser una dirección C,
sabemos que el último byte define el host. Como el último byte es 0000 0000, indica que
no se refiere a ningún host, sino que es la dirección de la red.
La dirección 192.146.9.255, por el mismo razonamiento que en el caso anterior,
sabemos que es una dirección de clase C de la red 193.146.9.0, como el último byte es
255 (1111 1111), indica que no se refiere a ningún host en concreto, sino a todos los que
forman la red.
La dirección 192.146.9.23 se refiere al host 23 de la red 192.146.9.0.
1.5.2 Direcciones especiales.
Se reservan algunas direcciones con un significado especial:
• 0.0.0.0: Esta dirección se refiere al propio host. Utilizado en el arranque sin
parámetros.
todo ceros
31 0
• La parte de red está a cero, solo pone la dirección del host. Se refiere en este caso a
un host de la red.
RED HOST
todo ceros host
31 0
Estos dos casos anteriores son utilizados en el proceso de arranque de una máquina
sin disco duro, cuando no sabe su dirección IP. Un ejemplo de esto es el protocolo
BOOTP.
EL NIVEL DE RED EN INTERNET, 2003 11
• Si los 32 bits están a uno, es una dirección que referencia a todos los host de la red,
difusión limitada, o simplemente difusión nunca será retransmitidos a otras redes.
Utilizado para enviar mensajes a todas las máquina de una red, por ejemplo en los
protocolos de encaminamiento para difundir las rutas, caso de RIP. También
utilizado en el arranque sin parámetros.
todo unos
31 0
• Si la parte correspondiente al host está puesta a uno, puede ser una difusión dirigida
a todos los host de una red, o subred, o todas las subredes de una red que indique el
campo de dirección de red. Difusión dirigida a una red, subred, o todas las
subredes.
RED HOST
red-subred todo unos
31 0
• Si la dirección es 127.*.*.*, donde "*" indica que puede tener cualquier valor. Es
una dirección interna de bucle (loopback), vale para hacer pruebas de
comunicación entre procesos locales. De hecho, en los sistemas Unix, se define la
dirección 127.0.0.1 como dirección de bucle de la máquina.
RED HOST
127 *.*.*
31 0
1.6.1 Características.
El protocolo principal de nivel tres en Internet es IP. Es un protocolo que define mecanismos
de envío no fiable de datagramas, ya que el datagrama puede haberse perdido, duplicado, o
retrasado sin que el protocolo se percate de estos problemas, no tiene mecanismos de
detección de errores. Es un protocolo no orientado a conexión ya que los datagramas se
envían a la red sin establecer un camino previamente, esto implica que distintos paquetes
pueden recorrer rutas distintas y por lo tanto suerte distinta.
Las principales funciones de IP son:
• Define el formato del datagrama (PDU) de este nivel, definiendo la función de
cada uno de sus campos.
• Función de encaminamiento (routing), eligiendo el camino sobre el que se envían
los datagramas.
• Define el formato de direcciones IP.
• Fragmentación y reconstrucción de datos si es necesario.
• Define normas sobre:
- El modo de procesar los datagramas.
- Qué mensajes de error deben enviarse y cómo hacerlo.
- Cuándo puede descartarse un datagrama.
EL NIVEL DE RED EN INTERNET, 2003 13
0 15 16 31
Como vemos, la cabecera está compuesta por 6 palabras (32 bits). El significado de cada uno
de los campos es el siguiente:
• Versión: Indica la versión del protocolo IP con que fue codificado el datagrama. esto
permite que los nodos por los que pase este puedan adaptarse al formato de los
demás campos, si hay modificaciones en sucesivas versiones. La actual es la versión
4.
• IHL: Contiene la longitud de la cabecera expresada en palabras de 32 bits. Esto es
necesario ya que la longitud del campo de opciones y relleno son variables. Si no
hay opciones ni relleno, el valor de este campo es 5.
• Tipo de servicio: El contenido de este campo da información para el tratamiento del
datagrama, tiene ocho subcampos.
prioridad D T R no usado
0 1 2 3 4 5 6 7
EL NIVEL DE RED EN INTERNET, 2003 14
• Tiempo de vida: Este campo contiene un valor inicial con el que parte del host
origen, cada vez que el datagrama pasa por un encaminador, se decrementa este
valor. Cuando el datagrama está esperando mucho tiempo en un encaminador, se
decrementa también el número de segundos que ha estado esperando. Si alcanza el
valor 0, se descarta para reducir así la congestión, y se le comunica al host origen
con un mensaje de error.
Este mecanismo evita que un datagrama se quede perdido circulando por Internet,
como vemos, se penaliza cada vez que pasa por un encaminador y por permanencia
excesiva en espera en el encaminador.
El encaminador puede conocer el tiempo que el datagrama está en el sistema
copiando la hora de entrada y de salida en el sistema.
En el sistema final receptor, como se verá después, es usado como temporizador para
hacer el ensamblado de los fragmentos en los que haya podido ser divido un
datagrama.
Toma el valor de 64 para que de tiempo a cruzar Internet y a recomponer el
datagrama en caso de fragmentación.
• Protocolo: Indica con un código, cuál es el protocolo de alto nivel (TCP, UDP,
ICMP, e IGMP) que ha puesto los datos en el campo correspondiente del datagrama.
• Checksum de la cabecera: Con el contenido de este campo se puede hacer un
chequeo de la cabecera, para ver si se a producido algún error en la transmisión. Solo
lo hace con la cabecera por rapidez, ya que los encaminador deben de procesar la
información de forma rápida. El chequeo de los datos, se debe hacer en otro nivel.
El emisor, para generarlo, suma las palabras de 16 bits de la cabecera del paquete IP,
sin acarreo (OR) y después se complementa 1. Para esta suma el campo checksum se
pone a 0000h. El resultado anterior se pone en el campo checksum.
La comprobación en los que reciban el datagrama, se hace sumando las palabras de
16 bits sin acarreo y debe dar FFFFH sin errores.
Cuando falla la comprobación, se tira el datagrama sin enviar aviso al emisor, como
en FR y Ethernet.
• Opciones: Este campo es opcional. Se suele usar para tareas como enviar
información de errores, información de seguridad, depuración de algoritmos,
información de encaminamiento fuente y otras más. Cada opción está compuesta por
un byte, con un formato definido; después pueden ir más bytes, según lo requiera la
opción.
El formato del primer octeto es el siguiente:
0 1 2 3 4 5 6 7 bits
• Copy: Este bit dice si es necesario copiar esta opción en las cabeceras de los
fragmentos en caso de fragmentación (C=1) o no (C=0).
• Clase de opción: Con un código indica la clase de opción:
- 0 Datagrama o control de la red.
- 1 Reservado para uso futuro.
- 2 Medidas y control de errores.
- 3 Reservado para futuro uso.
• Número de opción: Con el valor codificado de este campo, indica el tipo de
opción. En función del tipo de opción se sabe si son necesarios más bytes.
Algunos ejemplos de opciones son:
• Opción de grabación de una ruta:
- Clase de opción: 0.
- Número de opción: 7
- Longitud en bytes: Variable.
- Descripción: Envía una tabla de direcciones IP vacía, e indica a cada
encaminador por la que pasa el datagrama que debe grabar su dirección
en la tabla. De esta forma queda grabada la ruta seguida. Si no se
reserva el suficiente espacio, cuando se llene la tabla, no se siguen
llenando grabando direcciones de ruta. Para que el destino analice la
ruta, se lo debe de haber indicado previamente el origen.
- El formato de esta opción es el siguiente:
EL NIVEL DE RED EN INTERNET, 2003 17
0 8 16 24 31 bits
0 8 16 24 31 bits
1.6.3 Fragmentación.
Los datagramas IP se envían encapsulados en tramas de nivel dos, cuyo tamaño depende de
la tecnología implementada (Ethernet, Token Ring, etc.). La red que encapsula los datos
tiene un parámetro denominado MTU (máxima unidad de transferencia), que nos indica la
máxima longitud de transferencia de datos de la trama, es decir el tamaño máximo del
datagrama IP. Cuando los datagramas pasan por una red que tiene una MTU menor que el
tamaño de este, hay que fragmentarlo para enviarlo en varios datagramas. Una vez que un
datagrama es fragmentado, se recompone en el destino (en TCP/IP de Internet), incluso
aunque posteriormente pase por una red con una MTU mayor (desaprovechando este
aumento de capacidad). El encaminador que conecta con una red nueva, es el que se encarga
de fragmentar en caso de que sea necesario.
La fragmentación es un proceso que consume recursos, en la red y los ordenadores, por lo
que siempre que se pueda hay que evitarla.
En el host de destino, al recibir el primer fragmento pone en marcha un temporizador, si este
cumple y no ha recibido todos los fragmentos, se descartan todos los fragmentos recibidos, y
por lo tanto el datagrama original que lo componía, generando un mensaje de error al origen.
USUARIO USUARIO
APLICACION APLICACION
DATOS
13 bits ÷8
Desplazamiento
0 75 140
fragmento
Hasta que no llegan todos los trozos no se produce el reensamblado. Los trozos que han
llegado se guardan en memoria del núcleo del sistema operativo. En el caso de que se
produzca pérdida de uno o varios fragmentos de un datagrama, nunca se recibirán al no
haber recuperación en IP. Por tanto, el datagrama original no se podrá recomponer. Los
restantes fragmentos que si llegaron, quedarían por siempre en la memoria. Este proceso es
acumulativo y si no se descartan los trozos restantes desbordarán al sistema operativo. La
solución es poner un temporizador para realizar el ensamblado tras el cual se eliminan los
fragmentos. El periodo comienza cuando se recibe el primer fragmento (que no tiene porque
ser el que ocupa el primer lugar) y su duración es el valor que tiene el TTL de dicho trozo.
La fragmentación puede ser recurrente, es decir se puede fragmentar tantas veces como se
necesite.
Ejemplo: En la figura se muestra tres redes con MTUs distintas, los datos que van desde
el host A (red 1 con MTU=1500) hasta el B (red 3 con MTU = 1500) , deben de pasar a
través de la red 2, que tiene una MTU de 630.
De la MTU hay que quitar la cabecera, 20 bytes, quedando 610 bytes como máximo para
datos. El campo de datos debe tener un tamaño múltiplo de 8. El múltiplo más cercano a
610 sin pasarse es 608.
RED 1
MTU = 1500
encaminador 1
RED 2
MTU = 630
B
encaminador 2
RED 3
MTU = 1500
EL NIVEL DE RED EN INTERNET, 2003 22
20 610
DATAGRAMA Cabecera Datos 608 resto
MTU=630
CABECERA DATOS
20 bytes 608 bytes 608 bytes 264 bytes
1500 bytes
CABECERA DATOS
FRAGMENTO A
20 bytes 608 bytes
630 bytes
CABECERA DATOS
FRAGMENTO B
20 bytes 608 bytes
630 bytes
CABECERA DATOS
FRAGMENTO C
20 bytes 264 bytes
630 bytes
Los datagramas en la red 3 seguirán siendo de 600 bytes, aunque se puedan enviar en
tramas de 1500 bytes.
DATAGRAMA
CABECERA DATOS
20 bytes 608 bytes
628 bytes
TRAMA
1500 BYTES
Ejemplo, un datagrama IP de 1052 bytes (cabecera de 20 bytes) se transmite por cuatro redes
con los siguientes valores de MTU:
EL NIVEL DE RED EN INTERNET, 2003 24
MTU1: 1500
MTU2: 712
MTU3: 400
MTU4: 1500
Hallar el valor de los siguientes campos en los datagramas fragmentados recibidos en el
receptor:
♦ Longitud total.
♦ Identificación.
♦ Bit M.
♦ Desplazamiento de fragmento.
En la red 2 se fragmenta en dos (uno de 708 y otro de 364), y en la red 3 el primero de los
trozos anteriores se vuelve a fragmentar, quedando en el receptor así:
1.7.1 Descripción.
Cuando encapsulamos datagramas IP en tramas de redes de área local como Ethernet, en el
formato de la trama hay dos campos que permiten poner la dirección fuente y destino, pero
estas direcciones son distintas a las IP, son direcciones físicas (de nivel 2), nosotros
normalmente conocemos a sus destinos por su dirección IP, no por la dirección física. Este
protocolo permite conocer la dirección física del host de destino en la subred, a partir de su
dirección IP. Si el destino está en otra subred, habrá que conocer la dirección física del
encaminador que nos permite encaminar el datagrama a su destino.
Ejemplo.
Para ver como se realiza esto pondremos un ejemplo sobre la red Ethernet de la siguiente
figura, en la cual muestra las direcciones IP y Ethernet de cada máquina.
RED: 192.146.9.0
A B C D
192.146.10.37
23:89:09:78:65:E8
Otras redes IP
RED: 192.146.9.0
A B C D
192.146.9.5
RED: 192.146.9.0 23:89:09:78:65:E7
192.146.10.37
23:89:09:78:65:E8
Otras redes IP
El host B, que tiene la dirección IP, por lo tanto responde con su dirección Ethernet
(23:89:09:78:65:E4).
RED: 192.146.9.0
A B C D
192.146.9.37
23:89:09:78:65:E8
Otras redes IP
EL NIVEL DE RED EN INTERNET, 2003 27
La difusión consume muchos recursos de red, para evitar que se produzca esta muchas veces,
en cada ordenador se mantiene una tabla de direcciones IP con sus direcciones Ethernet
asociadas. Esta tabla se actualiza cada vez que se recibe una petición ARP, en la cual van las
direcciones Ethernet e IP del remitente.
En el ejemplo anterior, todos los ordenadores apuntan en su tabla la pareja de direcciones
(192.146.9.1, 23:83:09:78:65:E3), de esta forma si tienen que enviar algo a la estación
192.146.9.1, ya conocen su dirección Ethernet, con lo cual no tienen que hacer una difusión
para averiguarla.
Ahora sólo se envía un mensaje de difusión ARP cuando la dirección Ethernet que buscamos
no está en la tabla.
En el mismo ejemplo, si queremos enviar un datagrama a una máquina que no sea de la red,
este debe salir por el encaminador con dirección IP 192.196.9.5, debemos por lo tanto
conocer su dirección física ( 23:89:09:78:65:E7) por el mismo procedimiento que el descrito.
Para evitar la saturación de la cache, no se aprende de las peticiones ajenas.
El comando arp -a [hostname] nos muestra la salida de la tabla correspondiente al nombre
del host introducido, o bien toda la tabla si no introducimos nombre de hosts.
1.7.2 Formato del paquete.
El mensaje ARP se encapsula en una trama para ser enviado a la red de área local. Para
identificar que la trama lleva una petición de ARP, se identifica en el campo de tipo con un
código particular; en caso de Ethernet es 0806, expresado en hexadecimal.
El formato del datagrama IP se indica en la siguiente figura:
0 8 16 24 31
:3F
RED: 192.146.9.0
E12
H21 H22 H23 H24 :5A
192.146.9.1
RED: 192.146.10.0
H31 H32 H33 H34 :7F
E23 192.146.10.2
:AC 192.146.11.1
:4C
192.146.11.2 192.146.11.3 192.146.11.4 192.146.11.5
RED: 192.146.11.0
En la red de la figura, el host 22 debe decidir por donde envía un datagrama, por el
encaminador 12 o por el encaminador 23, dependiendo de cual sea el destino, un host de la
RED 1 o de la RED 2.
En la tabla de encaminamiento los destinos, suelen ser direcciones de red. En este tipo de
encaminamiento la dirección de red de destino del datagrama a enviar, coincide con la
dirección de la red en donde estamos. Así la entrada del H22 que apunta a su propia red será:
Hay que tener en cuenta que el ordenador sabe de antemano su dirección IP.
DD DO datos
IP
ARP
Sistema Operativo
Ethernet
DD DO DD DO datos
En la figura anterior, el host H12 quiere enviar un datagrama al host H31, podrá tener en su
tabla de encaminamiento el siguiente valor:
DD DO datos
IP
ARP
Sistema Operativo
Ethernet
DD DO DD DO datos
de forma que entenderá que todo lo que envíe a la red 192.146.11.0 irá dirigido al
encaminador E12. El host H12 no conoce la estructura de la red, por lo tanto no sabe si el
encaminador E12 está conectado directamente a la red de destino o no.
EL NIVEL DE RED EN INTERNET, 2003 33
Este encaminador sabe que todos los datagramas dirigidos a la red 192.146.11.0 debe de
enviarlos a través del encaminador E23, pero no sabe si el encaminador está conectado a esa
red o no.
El encaminador E23 si que sabe que está conectado directamente a la red de destino, y envía
directamente el datagrama al host H31. Como conoce la dirección IP del host destino, lo
envía a este host por encaminamiento directo.
Para evitar que las tablas de encaminamiento tengan un tamaño grande, se introduce una
entrada con encaminamiento por defecto. Si la dirección de destino no pertenece a la red, se
en envía al encaminador.
El host H12, perteneciente a la red .9.0 del ejemplo anterior, no necesita distinguir si el host
destino está en la red .10.0 o en la .11.0, con saber que no es de su red es suficiente para
saber que el datagrama debe de ir dirigido la encaminador E12. Esto se implementa
introduciendo en la tabla una entrada con el valor
destino siguiente salto
193.146.9.0 193.146.9.3
default 193.146.9.1
de esa forma, cualquier destino que no coincida con alguna de las entradas anteriores, será
enviado por el encaminador.
En el ejemplo de la figura las tablas de encaminamiento de distintas máquinas podrían ser:
H21:
destino siguiente salto
193.146.10.0 193.146.10.3
193.146.9.0 193.146.10.1
193.146.11.0 193.146.10.2
EL NIVEL DE RED EN INTERNET, 2003 34
E23:
destino siguiente salto
193.146.10.0 193.146.10.2 (enc. directo)
193.146.11.0 193.146.11.1 (enc. directo)
193.146.9.0 193.146.10.1 (enc. indirecto, dir E12)
EL NIVEL DE RED EN INTERNET, 2003 35
D N
193.146.11.2 193.146.11.0
1.10 Subredes.
Realizando subneting se puede dividir una red en subredes. Esto se hace utilizando una
máscara de subred que permite definir mediante una serie de bits que coinciden con los
asignados para identificar el host, cuales se utilizarán para identificar una subred. Las
subredes se suelen emplear en los casos siguientes:
• Para descentralizar la administración de direcciones, delegándola en cada subred.
• Cuando se unen redes con un router, por ejemplo dos LANs con distinta subcapa MAC.
EL NIVEL DE RED EN INTERNET, 2003 36
Encaminador
LAN LAN 802.3
802.5
En la máscara, los bits asignados a la red están a 1, y los bits asignados a los hosts están a 0.
EL NIVEL DE RED EN INTERNET, 2003 37
Ejemplo:
Imaginemos la estructura de la figura.
RED 1
RED 2
RED 3
Nos asignan la dirección 192.146.9.0 para asignar direcciones a las máquinas. Pero
nosotros tenemos tres redes y una única dirección de red. Como podemos observar es
una dirección de clase C, esto nos indica que tenemos los 8 últimos bits para asignar
hosts.
Podemos realizar subneting sobre la dirección que nos han dado de forma que dividamos
la dirección en varias subredes. En principio con tres redes, puedo pensar que necesito
dos bits para seleccionar hasta cuatro redes de 62 hosts cada una. Pero es posible que mis
previsiones futuras sean las de aumentar hasta 5 redes, entonces debería de utilizar tres
bits para identificar a la subred, de forma que podría tener 8 subredes de 32 hosts. Como
vemos, existe una cierta flexibilidad y para tomar una decisión me puedo basar en las
necesidades de ampliación, más redes con menos hosts, o menos redes con más hosts.
La siguiente tabla resume las posibilidades que tengo:
EL NIVEL DE RED EN INTERNET, 2003 38
H22
192.146.9.5
192.146.9.37
192.146.9.69
Aunque desde el punto de vista de un host externo a la red, esto sea una única red de
clase C, internamente está compuesta por tres redes. Observemos que hay hosts que
están conectados a las dos redes, estos necesitan por lo tanto dos interfaces, uno para
cada red, y dos direcciones IP, una para cada conexión. Estos hosts hacen de pasarela
(encaminador) entre las redes a las que están conectados.
Ejercicio: Completar el siguiente cuadro:
Dirección Máscara Red Subred Host
128.130.12.4 255.255.192.0
130.23.4.12 255.255.255.192
192.13.45.6 255.255.255.192
194.23.45.6 255.255.255.224
19.45.34.6 255.255.0.0
Otra forma de ver las subredes es que se rompen las clases de direcciones, en sentido
descendente. Ahora es el administrador de red quien internamente fija la línea divisoria entre
red y host.
Para que funcione bien, todos los ordenadores y encaminadores pertenecientes a una misma
subred deben tener la misma máscara.
El uso de las subredes modifica las tablas de encaminamiento, añadiendo un campo más para
indicar la máscara a aplicar al destino. Así la tabla de encaminamiento para el host 22
quedaría:
Se pueden subdividir una subred tantas veces como sean necesarias. Siempre hay que tener
presente que hay una pérdida de dos direcciones en cada subred, la primera y la última, por
lo que la subred más pequeña es de 4 direcciones.
Por ejemplo en la figura se ha dividido una red de clase C en 8 subredes de 32 direcciones
cada una. En una de ellas se hace una nueva división que se adapte a las necesidades de la
figura.
EL NIVEL DE RED EN INTERNET, 2003 40
Internet
Internet
Red 193.146.8.0
Resto
Restode
de
193.146.8.0
193.146.8.0
Subred 193.146.8.64
H11 H11
S1
E2 E3
S2 S3
H21 H31
Requisitos:
Número de subredes =3
Direcciones de la subred S1=2+3+2 =7
Direcciones de la subred S2=2+2 =4
Direcciones de la subred S3=2+2 =4
Alternativa 1:
8 dir.
32 dir. 8 dir.
8 dir.
.1110 0000 8 dir.
.1111
.1111 1000
1000
EL NIVEL DE RED EN INTERNET, 2003 41
Alternativa 2:
16 dir.
32 dir. 4 dir.
16 dir. 4 dir.
.1110 0000
4 dir.
.1111 0000
4 dir.
.1111 1100
Alternativa 3:
16 dir.
32 dir. 8 dir.
16 dir.
4 dir.
.1110 0000
.1111 0000 8 dir.
Resto
Restode
de
193.146.8.0
193.146.8.0
Subred 193.146.8.64
E1 Tabla de encaminamiento de E1
H11 H11 Destino Máscara Vía
La segunda opción sería modificar solo la tabla del encaminador E1, creando un nuevo
interfaz virtual para conectarlo con la nueva subred. Inconveniente se genera el doble de
tráfico en las comunicaciones internas.
Tabla de encaminamiento de E1
Internet
Internet Destino Máscara Vía
Entregar
Descartar
UDP
Entregar
Descartar
IP
Entregar
Descartar
driver
Entregar
interfaz Descartar
de tarjeta
La tarjeta Ethernet puede ser configurado para recibir tramas con dirección de destino, una
dirección de multidifusión o un rango de ellas.
El driver comprueba que el tipo de protocolo es uno de los soportados en Internet (IP, ARP,
RARP).
IP realiza un filtrado basado en la dirección IP origen y destino, y pasa la información hacia
arriba.
UDP realiza un filtrado basado en el puerto de destino, y a veces también en el de origen. La
difusión se utiliza con UDP no con TCP.
El problema de la difusión es la carga que supone para los ordenadores que no están
interesados en ello, ya que la información llegaría, en todos los ordenadores hasta la entidad
UDP donde sería descartada.
EL NIVEL DE RED EN INTERNET, 2003 44
1.11.2 Multidifusión
La multidifusión suministra dos servicios a una aplicación:
• Entrega a múltiples destinos, en aplicaciones que lo quieran como videoconferencias.
EL NIVEL DE RED EN INTERNET, 2003 45
• Solicitudes de servicios por parte de clientes, por ejemplo en el caso de un ordenador que
necesita saber cierto parámetros, con el protocolo DHCP, pedirá su configuración con un
mensaje multidifusión, que llegará solo al servidor, reduciendo la carga en el resto de los
ordenadores.
Las direcciones de multidifusión IP pertenecen a la clase D, de la dirección 224.0.0.0 a la
239.255.255.255, y que no tiene estructura. Un conjunto de ordenadores escuchando en una
dirección D es grupo de multidifusión. El grupo puede estar formado por ordenadores de
varias redes, y los ordenadores se puede borrar o apuntar al grupo de forma dinámica. El
número de participantes de un grupo es ilimitado y un ordenador no tiene que pertenecer a
un grupo para mandar un mensaje.
Algunas direcciones de grupos de multidifusión son administradas por el IANA (Internet
Assigned Numbers Authority), y son llamadas grupos de ordenadores permanentes. Solo es
permanente la dirección del grupo no sus miembros. Ejemplos de algunas de estas
direcciones son la 224.0.1.1 para el NTP, la 224.0.0.9 para RIP-2 y la 224.0.1.2 para una
aplicación de Silicon Graphics.
Las direcciones de multidifusión se deben traducir en direcciones Ethernet. Para ello el
IANA tiene asignado el rango de direcciones Ethernet de 01:00:5e:00:00:00 a
01:00:5e:7f:ff:ff. Esto permite el traducir directamente los 23 primeros bits de la dirección IP
de multidifusión a los 23 primeros bits de la dirección Ethernet.
Quedan 5 bits de la dirección IP que no son traducidos, por lo que en una misma dirección
Ethernet se puede utilizar para 32 direcciones IP de grupo distintos.
Por la razón anterior será la entidad IP la que realice el filtrado para determinar si un
mensaje es de un grupo al que se está apuntado.
El proceso de multidifusión en una red física es sencillo. El que envía da la dirección IP de
destino y el driver la convierte a la dirección Ethernet correspondiente. Cuando un ordenador
se apunta a un grupo el proceso que quiere recibir la información debe hacerlo saber a la
entidad IP para que le entregue los mensajes, y también debe enterarse el driver para acepte
las tramas de multidifusión.
Esto se complica cuando tenemos varias redes y un grupo pueden formarlos ordenadores en
distintas redes. Es necesario un protocolo para que los PC informen a los routers de los que
grupos de los que desean recibir mensajes. Los routers intercambian esta información para
que reciban una copia de los mensajes de los citados grupos. Este protocolo es el IGMP.
DOpri DOpub
EL NIVEL DE RED EN INTERNET, 2003 47
Aunque también es posible usar sólo una dirección pública. En este caso se diferencian los
flujos por el puerto de salida, y la tabla a emplear sería:
La dirección origen pública, no está en la tabla del NAT por ser siempre la misma.
También se puede hacer que desde fuera sean accesibles servicios (puertos) a través del NAT
con la limitación de que cada puerto va asignado sólo a una máquina (por cada dirección
pública), no puede haber varias. En este caso la comunicación se establece en sentido inverso
al visto anteriormente, de fuera hacia dentro. La tabla a emplear sería:
Tabla del NAT
PDpub DDpri
1.13 IP versión 6
Cuando se diseñaron los protocolos TCP/IP no se pensó en que la red fuera universal.
Los nuevos protocolos están pensados para el direccionamiento no suponga un problema.
En base a los nuevos protocolos se pretende crear una red que resuelva los problemas
siguientes:
• Plan de numeración con suficientes direcciones y la administración de las mismas.
• Protocolos de encaminamientos jerárquicos.
• Transición no traumática de la red actual hacia la nueva.
En Internet se está dando una evolución, fuerte crecimiento, se duplica cada año, en
2000 conectaba 5 millones de máquinas en unas 40.000 redes. Esto tiene muchos problemas,
de direccionamiento y encaminamiento.
EL NIVEL DE RED EN INTERNET, 2003 48
1.13.1 IP v6
Aparece para resolver los problemas de la versión 4, aunque se propusieron otras dos
alternativas, crear un nuevo protocolo totalmente independiente de IP, o cambiar al protocolo
equivalente en OSI el ICNLP.
La versión 5 era experimental, a IPv6 también se le conoce como IPng (next generation)
protocolo de interred de nueva generación.
Los problemas que resuelve este nuevo protocolo, son en primer lugar el de la falta de
direcciones y crecimiento de las rutas de encaminamiento que limitan el crecimiento de
Internet. También resolver otros problemas no tan acuciantes, como la administración de la
redes, la seguridad, autoconfiguración, etc.
El formato genérico está formado por una cabecera base que siempre estará presente, y
puede haber extensiones a esta cabecera, tantas como sean necesarias. Finalmente irán los
datos.
Opcional
0 4 16 31
Version Etiqueta de flujo
Longitud de los datos (payload ) Siguiente cabecera. Limite de saltos
Dirección fuente
Dirección destino
Cabecera base
Datos TCP
SC=TCP
Tipo FP Fracción
NSAP 0000 001 1/128
IPX 0000 010 1/128
Proveedores 010 1/8
Multidifusión 1111 1111 1/256
Encaminador Encaminador
IPv4 IPv4
Ordenador Ordenador
IPv6/IPv4 IPv6/IPv4
EL NIVEL DE RED EN INTERNET, 2003 53
Cada tipo de mensaje tiene su propio formato, pero todos tienen en común los tres primeros
campos:
0 8 16 31
TIPO CÓDIGO CHECKSUM
4 0 Mensaje descartado •
5 REDIRECCIÓN (CAMBIAR UNA RUTA):
0 Redirección para red. •
1 Redirección para host. •
2 Redirección para tipo de servicio y red. •
3 Redirección para tipo de servicio y host. •
8 0 Petición de ECO. •
9 0 Aviso de router. •
10 0 Solicitud de router. •
11 0 TIEMPO DE DATAGRAMA EXCEDIDO (TTL=0):
1 Tiempo de vida 0 durante transito. •
Tiempo de vida 0 durante reensamblado de fragmentos. •
12 PROBLEMA DE PARÁMETROS:
0 Cabecera IP invalida. •
1 Opción necesaria omitida. •
13 0 Petición de grabación del momento. •
14 0 Respuesta de grabación del momento. •
15 0 Petición de información (obsoleto). •
16 0 Respuesta de información (obsoleto). •
17 0 Petición de máscara de direcciones. •
18 0 Respuesta de máscara de direcciones. •
EL NIVEL DE RED EN INTERNET, 2003 55
Son mensajes que se utilizan para comprobar el acceso a un interfaz (de un router o un SF),
para ello se solicita (tipo = 8) ECO a un host y este responde (tipo = 0) si está conectado. El
código en los dos mensajes tiene el valor 0. Los campos identificador y número de secuencia
se utilizan para que el host que envía una solicitudes de ECO, pueda identificar las
respuestas de cada solicitud.
0 8 16 31
TIPO CÓDIGO CHECKSUM
IDENTIFICADOR NÚMERO DE SECUENCIA
DATOS (opcional)
Un ejemplo de este tipo de mensaje es el comando ping que está en muchos sistemas, este
comando envía varios ecos a un host y recibe la respuesta si el host está conectado, muestra
al final una estadística sobre los resultados de las peticiones de eco.
1.16.2.2 Mensaje de destino inalcanzable.
Cuando un encaminador no puede enviar un mensaje, envía un datagrama ICMP de destino
inalcanzable. El tipo vale 3 y el código indica el motivo por el cual se produce este error.
Hay motivos de error que no están codificados.
Como se observa en la figura del formato del mensaje, se envía la cabecera y los primeros 64
bits del datagrama que no ha podido alcanzar el destino, esto es útil para que el host que lo
envió lo identifique.
0 8 16 31
TIPO CÓDIGO CHECKSUM
NO USADO ( a cero )
Cabecera IP + primeros 64 bits del datagrama.
EL NIVEL DE RED EN INTERNET, 2003 56
Cuando llega al computador destino, el TTL vale 1 por lo que no puede descartarlo y generar
un mensaje de error TTL a 0. Para solucionar esto, traceroute envía mensajes UDP con el
puerto de destino muy grande (mayor de 30.000) con lo que no habrá ninguna aplicación
escuchando en ese puerto, por lo que el computador final generará un mensaje ICMP de
error por puerto inalcanzable, diferenciando así el emisor cuando se alcanzó el destino. Este
valor de puerto se va incrementando en cada envío, con lo que disminuye la probabilidad de
encontrar una aplicación que esté escuchando en un puerto.
Se envían 3 mensajes por si se pierde alguno o tarda más de 3 segundos en recibirse
respuesta, en ese caso el programa muestra un asterisco en vez del tiempo transcurrido.
Esta aplicación da información del camino de ida, no del camino de vuelta que puede no
coincidir.