Está en la página 1de 57

1.

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

1.2 Estructura en niveles.


La estructura de niveles de TCP/IP fue desarrollada unos pocos años antes que el modelo
OSI, esto hace que no coincida con este modelo, aunque OSI lo haya admitido como
estándar debido a su gran difusión.
La estructura de niveles de TCP/IP está compuesta por 4 capas. La filosofía de flujo de datos
es la misma que la de OSI, los datos se dividen en bloques, y estos bajan por los distintos
niveles en el host origen y suben en el destino. En cada nivel, se encapsulan los datos del
nivel superior formándose un nuevo bloque y se añade una cabecera que permite dialogar
con el nivel homólogo.
En el caso de montar los datos sobre una red Ethernet, los datos se van encapsulando según
van pasando por los distintos niveles como muestra la figura.

datos de usuario

APLICACION

cabecera
datos de usuario
aplicación

TCP

cabecera cabecera
datos de usuario Segmento TCP
TCP aplicación

IP

cabecera cabecera cabecera Datagrama IP


datos de usuario
IP TCP aplicación

Ethernet

cabecera cabecera cabecera cabecera cola


datos de usuario Trama Ethernet
Ethernet IP TCP aplicación Ethernet
14 20 20 4
de 46 a 1500
EL NIVEL DE RED EN INTERNET, 2003 3

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.

NIVEL UNIDAD DE DATOS PROTOCOLOS


TCP: stream FTP, TELNET, SMTP
Aplicación UDP: mensaje DNS, NFS, RIP
TCP: segmento
Transporte TCP, UDP
UDP: paquete

Internet datagrama IP, ICMP

Acceso a red trama ARP, RARP

aplicación aplicación aplicación aplicación Nivel de aplicación

TCP UDP Nivel de transporte

ICMP IGMP

IP Nivel de red

ARP RARP

Nivel de acceso a red


Interfaz
Hardware DD DOTipo Datos
EL NIVEL DE RED EN INTERNET, 2003 4

Vamos ha hacer una breve descripción de las funciones de cada nivel.


• Nivel de Acceso a Red:
Este nivel puede englobar las funciones de los niveles 1, 2 de OSI, normalmente los
niveles 1 y 2 ya están implementados con algún tipo de red como Ethernet, Token
Ring, y hay que proporcionar un interfaz para comunicar los niveles superiores con
estos. En el caso de trabajar sobre una plataforma de LAN como Ethernet, los datos
se transmiten dentro de la red utilizando direcciones de nivel 2, mientras que
TCP/IP trabaja con direcciones de nivel 3, es necesario traducir las direcciones de
nivel 3 para obtener las de nivel 2, esto se hace utilizando el protocolo ARP.
RARP es otro protocolo que trabaja a este nivel y hace lo contrario que ARP, es
decir, traduce direcciones de nivel 2 (Ethernet) sobre direcciones de nivel 3 (IP).
Esto se hace cuando se arranca una estación de trabajo sin disco duro, que es donde
se guarda la dirección IP. Como no conocemos nuestra dirección IP al arrancar,
pedimos que nos envíen esta dirección dando como dato nuestra dirección de tarjeta
(nivel 2).

• 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.

Un protocolo importante definido dentro de este nivel es ICMP, este protocolo


intercambia información de control entre los elementos de la red. Algunas de las
funciones del protocolo son:
- Control de flujo, utilizado cuando un host envía de forma más rápida de la que
otro es capaz de absorber tráfico. Actualmente no se suele utilizar, resolviéndose
el problema en niveles superiores.
- Detecta cuando el destino es destino inalcanzable, avisando al hosts que envió
el mensaje de esto.
EL NIVEL DE RED EN INTERNET, 2003 5

- 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

1.3 Nivel de acceso a subred


Veremos las diferentes tecnologías sobre las que puede funcionar IP.
1.3.1 Ethernet
El campo de datos lleva como máximo 1500 bytes, y mínimo 46 bytes, que en de caso de no
conseguirse se incluirían bytes de relleno.

dirección dirección
tipo datos CRC Trama Ethernet
fuente destino
6 6 2 de 46 a 1500 4

Tipo puede valer:


 0800h indica datagrama IP.
 0806h indica petición respuesta ARP.
 0835h indica petición respuesta RARP.
Existe el problema de como averiguar la dirección Ethernet del destinatario.

1.3.2 Token Ring


El tamaño máximo del datagrama IP es de para IEEE 802.5 a 4 Mbps 4464 bytes y de 17.914
para IBM a 16 Mbps.

inicio de dirección dirección final de


tipo datos Trama Token Ring
trama destino fuente trama
3 2 2/6 2/6 hasta 4464 o 17914 2

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

Los paquetes debe ser de 576 bytes como máximo.

1.3.4 Líneas serie


Hay dos estándares definidos:
SLIP(serial line ip)
A través del interfaz RS-232, directamente o mediante modems.

C0H datagrama IP C0H Trama SLIP

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.

PPP(point to point protocol)


Corrige las deficiencias de SLIP.
Componentes:
Soporta líneas serie asíncronas, y síncronas.
Protocolo LCP (link control protocol) para establecer, configurar y comprobar la conexión.

flag addr control protocolo CRC flag


datos Trama PPP
7E FF 03 trama 7E
1 1 1 2 hasta 1500 2 1

Protocolo puede valer:


 0021h indica datagrama IP.
 C021h indica petición respuesta de LCP.
 8021h para negociar la dirección IP.
EL NIVEL DE RED EN INTERNET, 2003 8

Es el más utilizado, usado por ejemplo para acceder a Infovía.


1.3.5 Otras tecnologías
IP está implementado sobre la práctica totalidad de redes de transmisión de datos. La forma
de encapsular IP sobre los distintos protocolos de transmisión se describe en distintas RFCs.
Hay implementaciones sobre Frame Relay, sobre ATM (RFC 1577 y 1483), sobre FDDI,
sobre IPX de Novell.

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.

1.5 Direcciones IP.


1.5.1 Estructura de direcciones IP.
Dado que Internet es una red expandida por todo el mundo, las direcciones que se establecen
en IP son únicas a nivel mundial, esto genera la necesidad de que una autoridad se encargue
de distribuir de forma que no se produzcan duplicados. Esta autoridad es el NIC, ya
referenciado en el apartado anterior.
Las direcciones están compuestas por 32 bits, se suele utilizar la notación punto para hacer
más fácil el uso de estas, esta consiste en dividir los 32 bits en cuatro grupos de 8 bits, y
poner el valor en decimal de cada uno de estos grupos, separándolos por un punto.
Ejemplo:
La dirección: 1100 0000 1001 0010 0000 1001 1000 0010 se separa en 4 grupos
de 8 bits y se expresa el valor decimal correspondiente a cada uno de esos
grupos:
• 1100 0000 → 128 + 64 = 192
• 1001 0010 → 128 + 16 + 2 = 146
• 0000 1001 → 8 + 1 = 9
• 1000 0010 → 128 + 2 = 130
EL NIVEL DE RED EN INTERNET, 2003 9

Por lo tanto la dirección en notación punto es: 192.146.9.130


Los bits que componen las direcciones tienen distintos significados, según la posición que
ocupen, los bits de mayor peso indican la clase de dirección, según la clase, un numero
determinado de bits indica la red y el resto de bits el host dentro de esta red.
La siguiente figura nos da información sobre las clases de direcciones y sus características:

CLASE Primer byte


7 24

0 Red Hostal A 0-127

14 16

1 0 Red Hostal B 128-191

21 8

1 1 0 Red Hostal C 192-223

28

1 1 1 0 Dirección de grupo de multidifusión D 224-239

27

1 1 1 1 0 Reservado para uso futuro E 240-247

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

• Clase D: Es la utilizada para transmitir a un grupo, cada dirección de esta clase


define a un grupo. Podemos direccionar 268 millones de grupos. Usado en
transmisiones de videoconferencias.
La parte de la dirección reservada para identificar al host, tiene dos direcciones que no se
asignan a ningún host, estas son:
• Todo 0s: Reservado para identificar la red.
• Todo 1s: Reservado para hacer difusión en la red. Es decir, si los bits del host
valen todos uno, el destino es todos los host pertenecientes a la red.

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.5.3 Debilidades del direccionamiento.


• Si una red que tiene asignada direcciones clase C, crece por encima de 254 host, debe
cambiar a dirección clase B, esto es laborioso.
• La longitud de la dirección es pequeña para ser una dirección mundial. Debido al gran
crecimiento de Internet, las direcciones IP se están agotando, esto hace que haya que
plantearse soluciones, una solución apunta a utilizar el sistema de numeración de OSI, de
160 bits.
• Asignación de direcciones no jerárquica, lo que hace crecer mucho las tablas de
encaminamiento de los encaminadores.

1.6 Protocolo de Intered IP (Internet protocol)


EL NIVEL DE RED EN INTERNET, 2003 12

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

1.6.2 Formato de datagrama IP.


Al igual que cualquier PDU el datagrama está compuesto por los datos que le llegan del
nivel superior (transporte) y por una cabecera que utiliza para comunicarse con el mismo
nivel del siguiente hosts o encaminador por el que pase el datagrama.
La cabecera está compuesta por varios campos:
FORMATO DE DATAGRAMA IP

0 15 16 31

Versión IHL Tipo de Servicio Longitud Total


Identificación D M
- F F Desplazamiento de fragmento
Tiempo de Vida Protocolo Checksum de la cabecera 20 bytes
Dirección Fuente
Dirección Destino
Opciones Relleno

TCP o UDP Cabecera y Datos

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

• prioridad: Contiene el grado de prioridad del datagrama. El valor oscila entre 0


para prioridad mínima y 7 para máxima. Este subcampo normalmente no se
utiliza, pero es útil para enviar los datos con prioridad 0 y el control los
datagramas de control de red, con prioridad 7; de esta forma se puede enviar
información de gestión de congestión (de mayor prioridad) en redes colapsadas,
sin que el colapso acepte a estos datagramas de gestión.
• D,T,R: Se especifica con estos bits el tipo de transporte que el datagrama solicita
a la red.
- D : bajo retardo.
- T: alta capacidad.
- R: alta fiabilidad.
El contenido de estos bits pueden ser una ayuda para los algoritmos de
encaminamiento, ya que es posible que algunos nodos no puedan ofrecer la
calidad solicitada y sea necesario encaminar por otro nodo.
La elección de las opciones depende del tipo de información (voz, imagen,
datos...).
Esta facilidad no está soportada por la mayoría de las implementaciones
actuales.
• Longitud total: Contiene la longitud total del datagrama expresada en octetos e
incluyendo tanto cabecera como datos. La máxima longitud que puede tener el
datagrama es 65535 bytes. En la práctica está limitado por la unidad máxima de
transmisión de la subred (Maximum Transfer Unit, MTU).

Medio de transmisión MTU en bytes


Ethernet 1500
PPP 1500
Jumbo Frames Giga bit 9000
Ethernet
Token Ring 16 Mbps 17.914
Token Ring 4 Mbps 4.464
FDDI 4.352
IEEE 802.3/2 1492
X.25 576
SLIP 296
EL NIVEL DE RED EN INTERNET, 2003 15

• 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.

• Dirección fuente: Se almacena la dirección IP del host que envía el datagrama. El


valor de este campo no cambia en todo el recorrido.
• Dirección destino: Se almacena la dirección IP del host destino. Este valor, al igual
que pasa con la fuente, no cambia en el recorrido del datagrama.
EL NIVEL DE RED EN INTERNET, 2003 16

• 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 clase de opción número de opción

• 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

código (7) longitud puntero


primera dirección IP de la tabla
segunda dirección IP de la tabla
tercera dirección IP de la tabla

n-esima dirección IP de la tabla

Donde los campos tiene el siguiente significado:


• Código: Contiene el código de esta opción.
• Longitud: Número de octetos reservados para la opción,
contando los tres iniciales. Limite máximo fijado por el valor de
IHL(15 valor máximo-5 cabecera normal-1 cabecera opciones),
en total 9 direcciones.
• Puntero: Distancia al primer campo de dirección libre. Indica la
donde grabar la próxima dirección, y si se llenó la lista, no
grabar más direcciones.
• Campos de dirección IP.

• Opción de encaminamiento dirigido:


- Clase de opción: 0.
- Número de opción: 137
- Longitud en bytes: Variable.
- Descripción: Permite al host fuente indicar el camino que debe de seguir el
datagrama hasta llegar a su destino. Puede ser un encaminamiento estricto,
de forma que si no puede seguir la ruta marcada, abandona y lo indica con
un mensaje de error; o encaminamiento aproximado en donde se le da al
datagrama la posibilidad de elegir encaminador entre dos direcciones IP,
dotándolo de una mayor flexibilidad.
- El formato de esta opción es el siguiente:
EL NIVEL DE RED EN INTERNET, 2003 18

0 8 16 24 31 bits

código (137) longitud puntero


primera dirección IP de la ruta
segunda dirección IP de la ruta
tercera dirección IP de la ruta

n-esima dirección IP de la ruta

Donde los campos tiene el siguiente significado:


• Código: Contiene el código de esta opción.
• Longitud: Número de octetos reservados para la opción,
contando los tres iniciales.
• Puntero: Distancia al próximo campo de dirección de la ruta.
• Campos de dirección IP de la ruta.

• Opción de grabación ruta y del momento:


- Clase de opción: 0
- Número de opción: 68
- Longitud en bytes: Variable.
- Descripción: Comunica a los encaminadores por los que pasa el datagrama
que graben la ruta y el momento por el que pasan. El formato del
momento se compone de día y hora con una precisión de milisegundos.
Se utiliza el formato de hora universal (meridiano de Greenwich).
• Relleno: Es el último campo de la cabecera, son los bytes de relleno que se
introducen después de la opción para hacer que la longitud de la cabecera sea
múltiplo de 4 bytes.
EL NIVEL DE RED EN INTERNET, 2003 19

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.

La fragmentación es transparente al nivel superior, ya que el nivel de red del destino se


encarga de recomponer los datagramas. Esto se muestra en la siguiente figura:

USUARIO USUARIO

Datos de usuario Datos de usuario

APLICACION APLICACION

Mensaje de la aplicación Mensaje de la aplicación

TRANSPORTE TSAP TRANSPORTE TSAP

Mensaje 1 o TPDU Mensaje 2 Mensaje 1 o TPDU Mensaje 2

RED NSAP RED NSAP

Datagrama 1 Datagrama2 Datagrama11 Datagrama12 Datagrama21 Datagrama22

ENLACE LSAP Subred IP ENLACE LSAP

Trama 1 Trama 2 Trama 1 Trama 2 Trama 3 Trama 4


EL NIVEL DE RED EN INTERNET, 2003 20

Una vez visto el proceso de fragmentación continuamos con el formato de datagrama:


• Flag MF: Cuando está activado (1), indica que vienen más fragmentos. Si está
puesto a (0), indica que ese es el último fragmento. Este bit junto con el contenido
del desplazamiento, es necesario para reconstruir el datagrama original a partir de los
fragmentos. En el ejemplo anterior, los dos primeros fragmentos tienen MF a 1 y el
último lo tiene a 0.
• Flag DF: Indica que no está permitida la fragmentación en este datagrama. Se puede
utilizar para hacer pruebas de red, o en casos necesarios de TCP/IP, como son el
envío de un datagrama de arranque remoto, en el que el programa mínimo que hay en
la memoria ROM de arranque, no tiene implementado el software que permita
recomponer un datagrama fragmentado. Si una red no puede soportar un datagrama
que no se puede fragmentar, se envía por otra red que si lo soporte o se desecha el
datagrama en caso de que esto no sea posible.
La aplicación debe saber cuando tiene que enviar un DF=1, por ejemplo al enviar la
imagen del arranque de un S.O. a una máquina sin disco.

• Desplazamiento de fragmento: Contiene el desplazamiento, desde el comienzo del


campo de datos del datagrama original (sin fragmentar), hasta el comienzo del
campo de datos del fragmento correspondiente, expresado en múltiplos de 8 bytes, ya
que sólo hay 13 bits para representar el tamaño máximo del datagrama (64 Kbytes,
aproximadamente). Esto obliga a que el tamaño de los fragmentos sea múltiplo de
ocho.

DATOS

16 bits 0 600 1200

13 bits ÷8
Desplazamiento
0 75 140
fragmento

• Identificación: Indica el número de secuencia del datagrama, el valor de este campo


lo asigna el host origen y lo hace de forma secuencial a los datagramas que va
enviando; de esta forma se identifican en el destino y no se mezclan trozos de
diferentes datagramas.
EL NIVEL DE RED EN INTERNET, 2003 21

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

ENCAPSULAMIENTO DE UN DATAGRAMA EN UNA TRAMA

20 610
DATAGRAMA Cabecera Datos 608 resto

MTU=630

TRAMA Cabecera Datos 608

• El encaminador 1 es el encargado de fragmentar los datagramas procedentes


de la red 1.
• El encaminador 2 envía los datagramas a la red 3, con un tamaño de datos
menor que el de su capacidad máxima.
• El host B es el encargado de recomponer los datagramas que recibe
fragmentados.
La fragmentación se realiza de según muestra la siguiente figura.
EL NIVEL DE RED EN INTERNET, 2003 23

DATAGRAMA DE LA RED 1 (MTU 1500)

CABECERA DATOS
20 bytes 608 bytes 608 bytes 264 bytes

1500 bytes

DATAGRAMAS FRAGMENTADOS DE LA RED 2

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.

ENCAPSULAMIENTO EN LAS TRAMAS DE LA RED 3

DATAGRAMA
CABECERA DATOS
20 bytes 608 bytes

628 bytes

TRAMA

CABECERA DATOS ÚTILES

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í:

Longitud total 396 332 364


Identificación f000 f000 f000
Bit MF 1 1 0
Desplazamiento 0 47 86
frag.

Se pueden producir duplicados por retransmisiones debidas a pérdidas o demoras en los


ACK, por lo que el emisor vuelve a transmitir los datagramas que realmente no se han
perdido. También debido a puentes que al no conocer la dirección de destino difunde las
tramas, lo que puede implicar que lleguen varios datagramas por rutas diferentes.
El siguiente cuadro recoge los diferentes problemas y soluciones.
Problema Solución
Fragmentación optimista MF
No fragmentar DF
Fragmentos duplicados o desordenados Desplazamiento de fragmento
Mezcla con fragmentos de otros datagramas Identificación
Pérdidas TTL

1.7 Protocolo ARP (address resolution protocol).


EL NIVEL DE RED EN INTERNET, 2003 25

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.9.1 192.146.9.2 192.146.9.3 192.146.9.4


23:89:09:78:65:E3 23:89:09:78:65:E4 23:89:09:78:65:E5 23:89:09:78:65:E6

RED: 192.146.9.0 192.146.9.5


23:89:09:78:65:E7

192.146.10.37
23:89:09:78:65:E8

Otras redes IP

El host A quiere enviar un datagrama al host B, solamente conoce su dirección IP


(192.149.6.2), pero como el datagrama va encapsulado en una trama Ethernet, necesita
conocer también su dirección Ethernet. Para averiguar esta dirección envía un datagrama de
difusión a la red, indicando la dirección IP (192.149.6.2) y solicitando que responda quien
tenga esa dirección IP, enviando en la respuesta su dirección física.
EL NIVEL DE RED EN INTERNET, 2003 26

RED: 192.146.9.0

A B C D

192.146.9.1 192.146.9.2 192.146.9.3 192.146.9.4


23:89:09:78:65:E3 23:89:09:78:65:E4 23:89:09:78:65:E5 23:89:09:78:65:E6

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.1 192.146.9.2 192.146.9.3 192.146.9.4


23:89:09:78:65:E3 23:89:09:78:65:E4 23:89:09:78:65:E5 23:89:09:78:65:E6

RED: 192.146.9.0 192.146.9.5


23:89:09:78:65:E7

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

TIPO DE HARDWARE TIPO DE PROTOCOLO

LONG HARDWARE LONG PROTOCOLO OPERACION

DIRECCIÓN FÍSICA DE ORIGEN (bytes 0-3)

DIRECCIÓN FÍSICA DE ORIGEN (bytes 4-5) DIRECCIÓN IP DE ORIGEN (bytes 0-1)

DIRECCIÓN IP DE ORIGEN (bytes 2-3) DIRECCIÓN FÍSICA DE DESTINO (bytes 0-1)

DIRECCIÓN FÍSICA DE DESTINO (bytes 2-5)

DIRECCIÓN IP DE DESTINO (bytes 0-3)

El contenido de los campos tiene el siguiente significado:


• TIPO DE HARDWARE: Especifica el tipo de red física, su valor es 1 para
Ethernet.
• TIPO DE PROTOCOLO: Indica el tipo de protocolo de nivel de red del host origen.
Su valor es 0800 (expresado en base hexadecimal) para el caso del protocolo IP.
• LONGITUD HARDWARE: Longitud de la dirección hardware, 6 para Ethernet.
EL NIVEL DE RED EN INTERNET, 2003 28

• LONGITUD PROTOCOLO: Longitud de la dirección de protocolo, 4 para IP.


• OPERACIÓN: Indica el tipo de operación del datagrama, petición o respuesta
(REQUEST, REPLY).
• DIRECCIONES: Estos campos contienen las direcciones físicas y de red tanto de
origen y como de destino. Como es lógico, en una operación de petición no se utiliza
el campo de dirección física de destino puesto que es lo que queremos saber.
Cuando llega una petición al sistema final que resuelve:
• Anota en su cache la IP/Ethernet del peticionario, ya que en buena lógica deberemos
enviarle un mensaje más tarde o temprano con algún datagrama, al ser las
aplicaciones cliente-servidor normalmente.
• Rellena el campo de su dirección hardware en el mensaje ARP,
• Intercambia los dos campos de dirección del destinatario con los del originador
• Pone el campo de operación a REPLY.
Las temporizaciones de la cache son de 20 minutos.
Todos los computadores que están activos pueden aprender las direcciones Ethernet-IP de un
emisor, aunque la RFC826 no va más allá. En la práctica no suele implementarse.

1.8 Protocolo RARP (reverse address resolution


protocol).
Este protocolo es una variante de ARP, pero en este caso la traducción de direcciones se
hace al contrario, es decir, conociendo una dirección física, quiero obtener su dirección IP
correspondiente. Se utiliza en procesos de carga del sistema operativo. Existen otros
protocolos para ello, que se sumarizan en la tabla siguiente:

Característica/Protocolo RARP BOOTP DHCP


Dirección IP X X X
Máscara de subred X X
Ruta por defecto X X
Servidor de DNS X
Ubicación del S.O. Servidor Servidor En el sistema
final
EL NIVEL DE RED EN INTERNET, 2003 29

La tabla de direcciones Ethernet y sus correspondientes direcciones IP, se encuentra en el


fichero /etc/ethers. Podemos ver su contenido con el comando cat /etc/ethers. La dirección
Ethernet de nuestro hosts, se puede obtener a través del comando dmesg, o bien viendo el
contenido del fichero /usr/adm/messages buscándola con el filtro:
grep 'addr' /usr/adm/messages
También con el comando ifconfig.
Es utilizado por una host que no tiene unidad de almacenamiento permanente, en este caso
necesita un arranque remoto para conectarse a la red, es decir, necesita que un servidor le
envíe el software necesario para entrar en red. Para realizar esto, en las tarjetas de red se
puede incluir un software básico de arranque en memoria ROM adicional, este software
necesita conocer cual su dirección IP; lo único que conoce es su dirección Ethernet que está
grabada en la tarjeta de red. La forma de obtener su dirección IP es enviando un datagrama
de difusión de petición de dirección IP, indicando cual es su dirección física, de forma que
un servidor le responderá con otro datagrama en el cual le envía su dirección IP.
Debe de haber un servidor RARP activo que es el que responde a las peticiones de los host,
este servidor conoce todas las direcciones físicas (Ethernet) de la red y sus correspondiente
direcciones de red (IP).

1.9 Encaminamiento IP.


El encaminamiento es el proceso de decidir por que camino se envía un datagrama. Esto se
hace consultando una tabla de encaminamiento. Las tablas de encaminamiento en un
ordenador final son introducidas normalmente a mano. En los nodos de la red las tablas se
calculan dinámicamente de forma periódica, al ejecutarse un algoritmo de encaminamiento.
Recordemos que la arquitectura de Internet está compuesta por varias redes físicas unidas
por encaminadores. Los host son ordenadores terminales que se conectan una redes y los
encaminadores enlazan distintas redes (en la práctica puede haber un ordenador que haga
funciones de ordenador y encaminador).
Tanto los hosts como los encaminadores deben realizar encaminamiento, es decir, deben
decidir por que camino envían un datagrama.
EL NIVEL DE RED EN INTERNET, 2003 30

H11 H12 H13 H14

:3F

192.146.9.2 192.146.9.3 192.146.9.4 192.146.9.5

RED: 192.146.9.0
E12
H21 H22 H23 H24 :5A
192.146.9.1

:3A :4A 192.146.10.1

192.146.10.3 192.146.10.4 192.146.10.5 192.146.10.6 :8C

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.

Podemos hablar de dos tipos básicos de encaminamiento:


• Encaminamiento directo.
• Encaminamiento indirecto.

1.9.1 Encaminamiento directo.


Se produce cuando el host origen y destino del datagrama pertenecen a la misma red (o
subred). La forma de averiguar esto es comparando si coinciden los bits de red (o subred) de
la dirección IP de origen y destino, en caso afirmativo pertenecen a la misma red. En este
caso hay que encapsular en una trama (nivel 2) el datagrama, traduciendo las direcciones IP
para obtener las físicas de origen y destino.
EL NIVEL DE RED EN INTERNET, 2003 31

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á:

dir. RED destino siguiente salto (next hop)


193.146.10.0 193.146.10.4(dir host22, enc. directo)

Hay que tener en cuenta que el ordenador sabe de antemano su dirección IP.

RED destino siguiente salto


extraer RED destino
193.146.10.0 193.146.10.4

DD DO datos
IP

ARP

Sistema Operativo
Ethernet
DD DO DD DO datos

1.9.2 Encaminamiento indirecto.


La dirección origen y destino no están en la misma red (o subred), siendo necesario enviar el
datagrama encapsulado en una trama, a un encaminador por el cual se pueda acceder al host
de destino. En este caso no se traduce la dirección IP del host de destino sino la del
encaminador por el cual queremos enviar el datagrama, ya que la trama que lo encapsula va
dirigida a este encaminador.
El encaminamiento indirecto es más difícil de aplicar que el directo, en este el host origen
debe conocer el encaminador por el cual envía el datagrama, y este último debe conocer el
siguiente encaminador por el que debe de pasar, este proceso se repite hasta llegar al destino.
Para conocer por donde se debe enviar el datagrama, nos basamos en la dirección IP de
destino, según sea una dirección u otra, el datagrama se dirigirá por una salida u otra del
encaminador. Estas decisiones están grabadas en las tablas de encaminamiento. Cada host y
encaminador de la red almacena en las tablas de encaminamiento posibles direcciones IP
destinos, sus correspondientes direcciones IP de encaminamiento. Cada encaminador conoce
cuál es el siguiente paso a recorrer para llegar al destino, pero cada encaminador desconoce
cual es la ruta completa, que sigue el datagrama.
EL NIVEL DE RED EN INTERNET, 2003 32

En la figura anterior, el host H12 quiere enviar un datagrama al host H31, podrá tener en su
tabla de encaminamiento el siguiente valor:

destino next hop


193.146.9.0 193.146.9.3
193.146.10.0 193.146.9.1(dir router E12)
193.146.11.0 193.146.9.1(dir router E12)

RED destino siguiente salto


extraer RED destino
193.146.11.0 193.146.9.1

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

El encaminador E12 tendrá en su tabla de encaminamiento las siguientes entradas:


destino siguiente salto
193.146.9.0 193.146.9.1 (enc. directo)
193.146.10.0 193.146.10.1 (enc. directo)
193.146.11.0 193.146.10.2 (enc. indirecto, dir E23)

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

La búsqueda en las tablas de encaminamiento para decidir por donde se reenvía un


datagrama, sigue el proceso en el orden siguiente:
• A partir del datagrama obtiene la dirección IP de destino D y de esta saca la
dirección de red de destino N.

D N
193.146.11.2 193.146.11.0

• Si la dirección de red destino N es igual a alguna de las direcciones de red


conectadas directamente al encaminador, envía el datagrama a esa dirección de red
(encaminamiento directo).
• En caso contrario comprueba si la dirección de destino D está en la tabla,(como una
dirección a para un hosts específico) entonces encamina según indica en esta. Esta
opción es poco probable.
• Si lo anterior no se cumple comprueba si la dirección de red destino está en la tabla,
en caso afirmativo envía el datagrama a la dirección del router indicada en la tabla.
(encaminamiento indirecto).
• Si la condición anterior no se cumple, envía comprueba si hay alguna entrada default
en la tabla, direccionando el datagrama según indica esta.
• Si ninguna de las condiciones anteriores se cumple, envía un mensaje de error de
encaminamiento.
• En cualquier caso si hay varios encuentros, se toma la entrada con menor coste. Esto
se implementa eficientemente, ordenando las entradas de menor a mayor coste.

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

Máscara: Número de Número de Valor de la


último byte redes. hosts. máscara de subred.
11111100 64 2 255.255.255.252
11111000 32 6 255.255.255.248
11110000 16 14 255.255.255.240
11100000 8 30 255.255.255.224
11000000 4 62 255.255.255.192
10000000 2 126 255.255.255.128

Elegimos la máscara 225.225.225.224, de forma que podemos tener 16 redes de hasta 30


hosts. Recordemos que podemos tener 30 hosts y no los 32 que parece a primera vista
(25) porque hay que reservar dos direcciones especiales, 00000 para dirección de la red y
11111 para dirección difusión en la subred.
La asignación de direcciones de subred y hosts pueden ser los de la figura:
RED: 192.146.9.0

192.146.9.1 192.146.9.2 192.146.9.3 192.146.9.4


RED 1
SUBRED: 192.146.9.0 ÚLTIMO BYTE: 000XXXXX

H22
192.146.9.5

192.146.9.37

192.146.9.33 192.146.9.34 192.146.9.35 192.146.9.36


RED 2 SUBRED: 192.146.9.32 ÚLTIMO BYTE: 001XXXXX
E23
192.146.9.38

192.146.9.69

192.146.9.65 192.146.9.66 192.146.9.67 192.146.9.68


RED 3
SUBRED: 192.146.9.64 ÚLTIMO BYTE: 010XXXXX
EL NIVEL DE RED EN INTERNET, 2003 39

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:

máscara destino vía


255.255.255.224 193.146.9.32 193.146.9.34
255.255.255.224 193.146.9.0 193.146.9.37
255.255.255.224 193.146.9.64 193.146.9.38

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.

.1111 1000 4 dir.


La implementación de la alternativa 3 sería:
.1111 1100
Internet
Internet
Red 193.146.8.0

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

Subred S1 .69 .68 .65 193.146.8.64 255.255.255.240 193.146.8.65


193.146.8.64
193.146.8.80 255.255.255.252 193.146.8.66
.66 .67 193.146.8.84 255.255.255.252 193.146.8.67
E2 E3
Subred S2 .81 .85 Subred S3
193.146.8.80 193.146.8.84
.82 .86
H21 H31
EL NIVEL DE RED EN INTERNET, 2003 42

Dentro de la alternativa 3, si crece la S3 y necesitamos usar más direcciones, la primera


opción para añadir el bloque de dirección sobrante, implicaría modificar las tablas de
encaminamiento de los sistemas finales existentes para indicarles que la nueva subred está en
la misma red física. Inconveniente, modificar todos los sistemas finales existentes.
Indicar que no siempre tienen que coincidir la topología de las capas de enlace y red, en este
ejemplo hay una red a nivel de enlace y dos a nivel IP.
Tabla de encaminamiento de E1
Internet
Internet Destino Máscara Vía

Red 193.146.8.0 193.146.8.64 255.255.255.240 193.146.8.65


193.146.8.80 255.255.255.252 193.146.8.66
Resto
Restode
de 193.146.8.84 255.255.255.252 193.146.8.67
193.146.8.0
193.146.8.0 193.146.8.88 255.255.255.224 193.146.8.65
Subred 193.146.8.64

H11 H11 H41 Subred S4


E1
193.146.8.88
Subred S1 .69 .68 .65 .90
193.146.8.64
Tabla de encaminamiento de H11
.66 .67 Destino Máscara Vía
E2 E3 193.146.8.64 255.255.255.240 193.146.8.68
Subred S2 .81 .85 193.146.8.80 255.255.255.252 193.146.8.66
Subred S3
193.146.8.80 193.146.8.84 255.255.255.252 193.146.8.67
193.146.8.84
.82 .86 193.146.8.88 255.255.255.224 193.146.8.68
H21 H31 default 0.0.0.0 193.146.8.65

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

Red 193.146.8.0 193.146.8.64 255.255.255.240 193.146.8.65


193.146.8.80 255.255.255.252 193.146.8.66
Resto
Restode
de 193.146.8.84 255.255.255.252 193.146.8.67
193.146.8.0
193.146.8.0 193.146.8.88 255.255.255.224 193.146.8.89
193.146.8.89
Subred 193.146.8.64

H11 H11 H41


E1
Subred S1 .69 .68 .65 .89 .90
193.146.8.64 Tabla de encaminamiento de H11
.66 .67 Destino Máscara Vía

E2 E3 193.146.8.64 255.255.255.240 193.146.8.68


193.146.8.80 255.255.255.252 193.146.8.66
Subred S2 .81 .85 Subred S3
193.146.8.84 255.255.255.252 193.146.8.67
193.146.8.80 193.146.8.84 default 0.0.0.0 193.146.8.65
.82 .86
H21 H31
EL NIVEL DE RED EN INTERNET, 2003 43

1.11 Difusión y multidifusión


Existen tres tipos de direcciones de destino IP:
• A un único destino (unicast).
• Multidifusión (multicast).
• Difusión (broadcast).
Las dos últimas se pueden aplicar con UDP, pero no con TCP. El proceso de difusión y
multidifusión se ilustra en la siguiente figura.

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

Con la multidifusión se soluciona, un ordenador se apunta a uno o varios grupos de


multidifusión, y si es posible en el interfaz de la tarjeta se puede filtrar los mensajes de los
grupos anteriores.

1.11.1 Tipos de difusión


Difusión limitada
La dirección es la 255.255.255.255, puede ser usada como dirección de destino durante el
proceso de configuración de una máquina. Nunca será retransmitido por los encaminadores.
Usada en mensajes de distribución de rutas.

Difusión dirigida a la red


Se caracteriza por tener en la dirección todos los bits de la parte de identificación de
ordenador, a unos, suponiendo que no existen subredes. Por ejemplo para una red de clase A
13.0.0.0, la dirección sería 13.255.255.255.
Los encaminadores deben retransmitir este tipo de difusión, pero también debe tener la
opción para deshabilitar la transmisión.

Difusión dirigida a una subred


La dirección de difusión estará formada por un identificador de red y de subred. Para que
funcione bien, los sistemas participantes deben conocer la máscara de subred. Por ejemplo la
dirección de clase B 130.206.0.0 dividida en 256 redes, con la mascará de red 255.255.255.0,
la dirección de difusión de la tercera subred será 130.206.2.255.

Difusión dirigida a todas las subredes


Requiere el conocimiento de la máscara de las subredes destino, y se diferencia de la anterior
en que la parte que identifica a la subred tiene todos los bits a uno. En el ejemplo anterior la
dirección de difusión para todas las subredes sería la 130.206.255.255.
Como se enviarán los mensajes de difusión y que harán con ellos los encaminadores y los
ordenadores, depende de muchos factores, del tipo de dirección de difusión, de la aplicación,
de la implementación de IP, y de las configuraciones.

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.

1.12 Soluciones a la falta de direcciones IP


Existen cuatro alternativas para solucionar el problema:
♦ Subnetting o subredes.
♦ Supernetting.
♦ Ipv6
EL NIVEL DE RED EN INTERNET, 2003 46

♦ Traslación de direcciones (NAT)


1.12.1 Supernetting
Para solucionar el problema acuciante de la falta de direcciones, y para dar un tiempo de
prueba para los nuevos protocolos, se propuso esta solución transitoria.
La idea es la misma que se utiliza en las subredes, con una máscara eliminar las clases
de direccionamiento, en este caso en vez de dividir una clase se agrupan varias redes en una
única. También es llamado el Classles Inter-Domain Routing (CIDR).
Ahora se puede asignar varias direcciones clase C como una única dirección, con lo que
se aprovecha mejor las direcciones y se ahorran entradas en las tablas de encaminamiento.
Por ejemplo agrupando 8 clases C se puede dar una red de 2048 direcciones con la máscara
255.255.248.0.
Esto tiene un problema, hay que utilizar protocolos de encaminamiento que admitan
máscaras, y añadir un nuevo campo en las tablas de encaminamiento, para la máscara. Estas
modificaciones no afectan a los ordenadores finales solo a los encaminadores.
También hay que cambiar la ordenación de las entradas en la tabla de encaminamiento,
se ordenan por la máscara mayor (ruta más restrictiva) y las que tengan la misma máscara de
menor a mayor coste. Así evitamos problemas con usuarios conectados a través de varios
proveedores.
1.12.2 Traslación de direcciones.
También denominado NAT (Network Address Translation)
Consiste en utilizar un direccionamiento privado en el interior (direcciones que no se usan en
Internet) de una red y salir a Internet con un conjunto de direcciones públicas compartidas.
Para ello, cuando un ordenador privada quiere comunicarse con uno público, se hace una
traslación de la dirección local a la pública que será anotada en una tabla. Cuando conteste el
público se consulta la tabla y se deshace el cambio. En sentido contrario, en principio, no es
posible la comunicación, lo que beneficia la seguridad.
El rango de direcciones privadas reservadas es el siguiente:
1 CLASE A 10.0.0.0
16 CLASES B 172.16.0.0 a 172.31.0.0
256 CLASES C 192.168.0.0 a 192.168.255.0

Lo normal es tener un rango de direcciones públicas compartidas por la red privada, y el


NAT realiza la traslación de direcciones utilizando la siguiente tabla:

Tabla del NAT

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:

Tabla del NAT

Dopri POpri DOpub POpub

DDpub DOpri PD POpri datos DDpub DOpub PD PO* datos

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

DDpub DOpub PDpub PO datos DDpri DOpub PDpub PO datos

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

Aparición de redes y usuarios comerciales, lo que condiciona por la aparición de


mecanismos de seguridad. Nuevos tipos de tráfico, multimedia, que necesita mayor ancho de
banda.
Las direcciones se están agotando, la clase A está prácticamente asignada, la B al 51%
con un fuerte crecimiento y la C está casi libre 6% asignado. En 1993 ante el fuerte
crecimiento de la clase B se vio que se agotaría en pocos años si no se ponía remedio.
El problema del crecimiento afecta a los encaminadores, que tienen que almacenar
muchas rutas, ya que el sistema de direccionamiento no permite hacer asignaciones
jeráquicas de direcciones y jerarquizar el encaminamiento.

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.

1.13.2 Características de IPng


Las características más relevantes son las siguientes:
• Nuevo sistema de direccionamiento, jerárquico y compatible con el anterior de 128 bits.
• Cabecera simplificada con campos alineados a 64 bits, para facilitar su procesamiento en
los encaminadores, ya que estos están basados en microprocesadores de 64 bits.
• Caracterización de los distintos tipos de tráficos.
• Formato de datagrama flexible y extensible que permite mejorar los campos opcionales.
• Soporte para autenticación y seguridad.
• Autoconfiguración, cargar la configuración desde un servidor de configuraciones.
• Mejoras para hacer multidifusión.
• Admite el administrar el encaminamiento del tráfico.
1.13.3 Formato de un datagrama IPv6
EL NIVEL DE RED EN INTERNET, 2003 49

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

Cabecera Estensión de Estensión de


... Datos
base cabecera 1 cabecera N

El formato de la cabecera base es el mostrado en la figura.

0 4 16 31
Version Etiqueta de flujo
Longitud de los datos (payload ) Siguiente cabecera. Limite de saltos

Dirección fuente

Dirección destino

Variaciones con relación a IPv4:


• El campo de longitud de la cabecera IHL y el de longitud total del datagrama eliminados,
y aparece el campo de longitud del campo de datos de usuario.
• La información de fragmentación se incluye en una extensión de la cabecera.
• Las direcciones son de 128 bits en vez de 32 bits.
• El campo TTL es reemplazado por el de limite de saltos.
• El campo de tipo de servicio queda reemplazado por el de etiqueta de flujo.
• El campo protocolo se sustituye por una indicación del campo siguiente cabecera.
EL NIVEL DE RED EN INTERNET, 2003 50

Veamos algunos ejemplos de las extensiones de las cabeceras.

Cabecera base
Datos TCP
SC=TCP

Cabecera base Cabecera Encami.


Datos TCP
SC=Encami. SC=TCP

Cabecera base Cabecera Encami. Cabecera seguridad


Datos TCP
SC=Encami. SC=SEG SC=TCP

1.14 Direccionamiento IPng


Se amplia espectacularmente el rango de direcciones, más de 10 ^38, lo que supone 1500
direcciones por metro cuadrado de la superficie terrestre, descontando las pérdidas. Como en
IPv4 cada dirección corresponde a un interfaz de acceso a red.
Hay tres tipos de direcciones de destino:
• Única, el destino es un ordenador.
• Grupo, el destino es un conjunto de computadores que comparten un prefijo de red. El
datagrama se entregará a cada uno de los miembros del grupo, es decir los integrantes de
la red de destino.
• Multidifusión, los destinatarios pueden pertenecer a redes distintas, lo complica su
distribución.
Los tipos de direcciones vienen definidos por el valor del Format Prefix (FP), formado
por los primeros bits del campo de dirección.
EL NIVEL DE RED EN INTERNET, 2003 51

Tipo FP Fracción
NSAP 0000 001 1/128
IPX 0000 010 1/128
Proveedores 010 1/8
Multidifusión 1111 1111 1/256

Las direcciones asignadas a proveedores de red, tienen una estructura jerárquica.

010 Id. Proveedor Id. Subscriptor Id. Subred Id. Ordenador

En cuanto a la representación de las direcciones hay varias posibilidades. La forma


genérica es
X:X:X:X:X:X:X:X
donde X son 4 dígitos hexadecimales. Por ejemplo ABCC:4400:2:1000:33:44:77:22AD
Los ceros se puede eliminar
FB00:0:0:0:0:0:0:22 = FB00::22
Se pueden mezclar números decimales y hexadecimales, por ejemplo
0:0:0:0:0:0:193.146.56.20 = 193.146.56.20

1.15 Transición de IPv4 a IPv6


La idea es que se puedan migrar los ordenadores y los encaminadores en cualquier
orden.
Los objetivos de la etapa de transición son los siguientes:
• Coexistencia entre las dos versiones de IP.
• Que los mecanismos de transición sean sencillos y claros, ya que debe migrar todo el
mundo, y la mayoría de la gente no tiene conocimientos profundos de redes.
• La transición se debe completar antes de que se terminen las direcciones de IPv4.
No se darán direcciones IPv6 hasta que se agoten las de IPv4. Después puedes cambiar
la dirección a una nueva dirección IPv6. Las técnicas para conseguir la transición son las que
se describen:
• Ordenadores finales y encaminadores duales, con IPv4 e IPv6.
• Direcciones IPv6 compatibles con IPv4.
EL NIVEL DE RED EN INTERNET, 2003 52

• Encapsulación de IPv6 sobre IPv4.


• Traducción de cabeceras, esto opcionalmente.
Durante la etapa de transición coexistirán sistemas con IPv4 puro y sistemas que sean
duales, es decir que tengan las dos torres de protocolos.
Veamos algunos escenarios que se pueden dar durante la transición.

IPv4 IPv6 datos

Encaminador Encaminador
IPv4 IPv4

Ordenador Ordenador
IPv6/IPv4 IPv6/IPv4
EL NIVEL DE RED EN INTERNET, 2003 53

1.16 Protocolo ICMP (Mensaje de Control de


Protocolo Internet).
Este es un protocolo de Internet que se utiliza para control de mensajes de error producidos
en la red. Este protocolo informar a la máquina que emite un datagrama, de errores que se
hayan podido producir en la transmisión, en los encaminadores o en la entrega, en el sistema
final.

1.16.1 Estructura del mensaje.


Este protocolo está situado por encima de IP, esto implica que los mensajes ICMP se deben
encapsular en un datagrama y este a su vez en una trama.

Cabecera Datos ICMP ICMP

Cabecera Datos datagrama IP

Cabecera Datos trama ENLACE

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

Depende del tipo de mensaje ICMP

• TIPO (8 bits): Identifica el tipo de mensaje.


• CÓDIGO (8 bits): Ampliación de información referente al tipo de mensaje.
• CHEKSUM (16 bits): Contiene información que permite comprobar si ha habido
errores en la transmisión.
Los demás campos dependen del tipo de mensaje enviado.
EL NIVEL DE RED EN INTERNET, 2003 54

Podemos tener diversos tipos de mensajes:


TIPO CÓDIGO Descripción PETICIÓN ERROR
0 0 Respuesta de ECO. (ping recibido) •
3 DESTINO INALCANZABLE:
0 Red inalcanzable. •
1 Host inalcanzable. •
2 Protocolo inalcanzable. •
3 Puerto inalcanzable. (traceroute) •
4 Se necesita de fragmentación. •
5 Error en la ruta original. •
6 Red destino desconocida. •
7 Host destino desconocido. •
8 Host origen aislado (obsoleto). •
9 Prohibida red de destino administrativamente. •
10 Prohibido host de destino administrativamente. •
11 Red inalcanzable para tipo de servicio. •
12 Host inalcanzable para tipo de servicio. •
13 Comunicaciones prohibidas por filtrado. •
14 Violación host precedente. •
15 Corte precedente. •

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

1.16.2 Ejemplos de mensaje ICMP.

1.16.2.1 Mensaje de comprobación de estado de red.

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

1.16.2.3 Detección de rutas circulares.


Las tablas de encaminamiento en los encaminadores contienen información sobre el
siguiente salto a realizar del datagrama que les llega, esta falta de visión global de la ruta
puede producir rutas circulares que pasen desapercibidas por los encaminadores.
Para evitar este problema vimos que se introducía en el datagrama un contador denominado
Tiempo de Vida, que se decrementaba cada vez que el datagrama pasaba por un
encaminador, desechando este datagrama al pasar a tener el valor cero.
Otro motivo por el cual también se puede desechar un datagrama se produce con la
fragmentación. El tiempo de vida del datagrama penaliza por tiempo además de por saltos,
puede ser que el temporizador valga cero cuando no se han terminado de recibir todos los
fragmentos del datagrama, en este caso, a cumplido el tiempo de permanencia en la red sin
que se pueda recomponer.
Cuando un datagrama es desechado, se envía un mensaje al host que lo origino indicándole
lo sucedido. En este mensaje tipo tiene el valor 11 y código puede tener los valores 0 o 1:
• 0 -> Contador de tiempo de vida vale cero durante el transito en la red.
• 1-> Contador de tiempo de vida vale cero en proceso de unión de fragmentos.
En la figura se muestra el formato de este mensaje:
0 8 16 31
TIPO CÓDIGO CHECKSUM
NO USADO ( a cero )
Cabecera IP + primeros 64 bits del datagrama.

1.16.2.4 El comando traceroute


El programa envía tres mensajes IP con el campo TTL=1 arrancando un temporizador. El
primer mensaje que llega al primer encaminador que al decrementar el TTL será 0 por lo que
tirará el mensaje enviando un mensaje ICMP de tiempo de vida finalizado, al emisor. Este
mensaje tiene la dirección origen IP la dirección del encaminador, sacando el programa la
dirección del encaminador y el tiempo transcurrido.
Después se envían tres nuevos mensajes con TTL=2, y se repite el proceso.
EL NIVEL DE RED EN INTERNET, 2003 57

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.

También podría gustarte