Más tarde pasó a manos del NSF (organismo gubernamental que financia proyectos de investigación), derivando más tarde a lo que hoy se conoce como red INTERNET.
El servicio que ofrece es:
1.- Funcionamiento Interno: (de una red de paquetes):
Tendremos dos alternativas:
En redes IP se utiliza una tecnología interna de red de datagramas.
Normalmente, los protocolos de circuitos virtuales están orientados a conexión.
(NOTA: Datagrama º paquete º PDU º ‘unidad de datos que circula por la red)
2.- El Interfaz: (marcado en negrita en el dibujo)
Se define como el acceso a una subred
que tiene asignado una dirección IP:
Sistemas Finales: también llamados equipos de usuario o host, son aquellos que sólo tienen una interfaz. El procesamiento que realizan llega hasta el Nivel de aplicación.
Sistemas Intermedios: también llamados Routers, Nodos o Encaminadores, son aquellos que tienen más de una interfaz. El procesamiento que realizan se queda en niveles inferiores.
(NOTA: puede haber sistemas que funcionen como sistemas finales e intermedios, por lo que no esta muy clara la diferencia entre ambos).
Los equipos IP están unidos entre sí por:
Una dirección está vinculada a un punto de acceso al servicio, es decir, una dirección identifica de forma única a un punto de acceso remoto con el cual queremos comunicar. Esto es lo que posibilita el encaminamiento (la dirección es única en el contexto en que está siendo utilizada), ya que nos identifica perfectamente al destino.
(NOTA: ¿En X.25 teníamos
algo similar? ¿estaban las direcciones estructuradas?: Pues si,
lo estaban en campos: DNIC y NTN, con los cuales se sabía si destino
estaba conectado a la misma red o no).
Para enviar del sistema ‘X’ al sistema
‘Y’, el objetivo es alcanzar la subred a la que ‘Y’ está conectado.
Esto se consigue utilizando el prefijo de subred al encaminar.
a.- Clase A: para redes grandes:
b.- Clase B: para redes medianas:
c.- Clase C: para redes pequeñas:
a.- Clase D:
a.- Clase E:
1.- Campo todo a 1: Difusión (Broadcast). (¡Sólo válida como dirección destino!)
2.- Campo todo a 0: ("este"). Se usa como arranque (¡sólo válido como dirección fuente!).
3.- Loopback: inválida
(no podrán ir en ningún datagrama) tanto como dirección
fuente como dirección destino a nivel de red. Sólo será
valida cuando fuente y destino residan en el mismo sistema (Ej: dos procesos
que se quieren comunicar en una misma máquina).
4.- Dirección Inválida:
La representación utilizada
para representar direcciones IP se denomina Notación Punto,
y consiste en cuatro números codificados en binario:
Consiste en un formato único (tanto para el interfaz UNI como para el NNI):
En X.25, los paquetes de datos no llevaban dirección (ya que ésta estaba vinculada a la conexión, y todos los paquetes tenían el mismo destino), sino que llevaban un identificador de multiplexión. En cambio, en IP cada datagrama se encamina individualmente, siendo necesarias estas direcciones.
El DLCI se asignaba dinámicamente (multiplexión), mientras que las direcciones no. Además, un DLCI no es único a nivel de red, es decir, un DLCI no está asignado a un único destino, mientras que las direcciónes si lo están.
Procedimiento de almacenamiento y reenvío
(utilización
de las direcciones de origen y destino):
Por tanto, la transmisión va por "saltos".
Siempre que el destino esté conectado a la misma subred que el sistema que tiene el datagrama, este está obligado a enviarlo a través de dicha subred. Es decir, como 137.2 coincide con el destino, el sistema B está obligado a mandar el datagrama a traves de la subred a la que ambos están conectados.
La dirección fuente y destino en el datagrama nunca varían, pero si varía el resto del datagrama (cada sistema, cuando recibe el datagrama, lo "destruye" y "crea" otro que envia al siguiente sistema). El diálogo NO es extremo a extremo, por tanto el procesamiento se realiza salto a salto.
Campos del datagrama:
Esta longitud está relaccionada con la MTU (Maximun Transfer Unit), asociada a cada subred (depende de la tecnología de la subred). Debido a esto, los 64K octetos máximos de cada datagrama pueden verse limitados aún más, dependiendo del MTU de cada subred por la que pasa. (NOTA: X.25 no imponía este tipo de limitaciones.)
Esto nos lleva a la necesidad de SEGMENTACIÓN y ENSAMBLADO de los datagramas:
Los campos del datagrama utilizados
en la segmentación son:
El identificador lo asigna aisladamente
la fuente (de forma cíclica). Esto introduce un problema aparente:
podría haber varios datagramas independientes (que provengan de
diferentes datagramas originales) con el mismo IDENTIFICADOR. Pero esto
no es problema, ya que estos datagramas llevarían diferente dirección
fuente.
El proceso de FRAGMENTADO se puede realizar tanto en origen como en tránsito.
El proceso de ENSAMBLADO se realiza en el sistema final destino, el cual va recolectando los fragmentos con el mísmo IDENTIFICADOR y DIRECCIÓN FUENTE hasta recibir todos, en cuyo caso, se ordenan los campos de DATOS y se entregan al Nivel Superior. Si faltase algún trozo o no llegan todos en un tiempo T se descartaría el datagrama completo.
La razón por la que sólo se realiza ensamblado en destino es evidente: si ensamblo en un nodo intermedio, puede que mas tarde sea necesario volver a fragmentar antes de llegar al destino (pérdida de tiempo).
Los fragmentos de un mismo datagrama original pueden encaminarse independientemente por sitios diferentes.
NOTA: Campos de OFFSET y MF para diversos
tipos de datagramas:
NOTA: Un fragmento puede volver a fragmentarse.
En caso de fragmentar un fragmento primero o intermedio, nunca podrá
llevar el MF a 0, es decir, sólo podrá llevar el MF a 0 el
último fragmento del último fragmento.
La utilidad del bit DF radica en impedir la generación de trafico "inservible".
Otros campos del datagrama:
1.- En ocasiones podemos tener inestabilidad
en los algoritmos de encaminamiento, probablemente debido a desfases en
la actualización de las tablas de los nodos. Una consecuencia de
esta inestabilidad, por ejemplo, sería el que dos sistemas intermedios
se enviaran indefinidamente el datagrama de uno a otro:
2.- Puede que el datagrama, debido a rutas mal asignadas, esté dando vueltas por la red antes de seguir un buen camino. El que llegaran datagramas a destiempo, es decir, cuando ya se piense que se han perdido, se parecería mucho a que la red se invente tráfico. Es decir, cuando se recibe algo que ya no se espera al darse por perdido, se piensa que la red se lo ha inventado.
3.- Si hay fragmentación, el destino podría retener fragmentos hasta que, al ser el identificador cíclico, llegara un fragmento ajeno a los anteriores pero con igual identificador, luego se mezclarían datos de fuentes distintas.
NOTA: En cada salto, cambia el campo
TTL de la cabecera, por lo que es necesario cambiar también el CRC.
Esto implica perdida de tiempo en cada nuevo cálculo, introduciendo
cierta ineficiencia.
La forma de identificar a que entidad de N.S van dirigidos los datos es mediante el sufijo de dirección.
El sufijo de dirección nos permitirá
identificar hasta 256 entidades de Nivel Superior sobre el Nivel IP con
una dirección IP.
El campo de Tipo de Servicio tiene
la forma siguiente:
Subcampos:
(NOTA: Estos flags se usan muy poco, ya que los routers no suelen tener capacidad para elegir entre varias rutas).
a.- Entrega Directa: cuando el destino está conectado a la misma subred de la fuente.
b.- Ruta de Host: se comprueba si la dirección destino coincide con alguna ruta.
c.- Ruta de Subred.
d.- Ruta por Defecto.
e.- Descarte: si no se encuentra ruta de acceso.
Si las tablas de encaminamiento son consistentes, el paquete llegará a su destino, y en otro caso, se perderá.
En el caso de X.25, como se establece una ruta de datos, en el campo ‘destino’ de la tabla estarían los NCLs y las interfaz de salida (implícita en IP), ya que hay un NCL asignado a cada interfaz de la ruta de datos. Cada nodo tendría en su tabla la interfaz y el nuevo NCL por el que tendría que salir la trama.
La máscara nos dice cuánto de la dirección destino que aparece en la tabla es significativo para encaminar. Las máscaras flexibilizan la longitud de los "subcampos" de subred y sistema final (nos permitirá tener redes intermedias entre las clases B y C). La máscara está asociada a cada interfaz.
Funcionamiento de la máscara: se realiza un AND lógico de la máscara y la dirección destino, comparándose el resultado con la tabla de encaminamiento para decidir el siguiente salto.
La ruta por defecto (0.0.0.0) permite tener tablas de encaminamiento incompletas (si no encontramos encaminamiento en la tabla para un datagrama, entonces se encaminará hacia un router con "visión" más global). Esta tabla puede variar de datagrama a datagrama.
Subnetting: si la dirección pasada por la máscara coincide con la dirección de la interfaz, tendremos entrega directa.
Supernetting: cuando utilizamos una máscara con ceros, realizamos el mismo salto para distintas direcciones. Esto se hace cuando un conjunto de direcciones consecutivas van por la misma interfaz (consecutivas inplica el tener iguales los 8,16,24 bits de la dirección). Los protocolos de encaminamientos que utilizan esta técnica con las máscaras se denominan CIDR (Classless Inter Domain Routing). Gracias al agrupamiento de varias direcciones de red no es necesario tener tablas demasiado grandes.
Las tabla de direccionamiento deben estar ordenadas (de las direcciones más específicas hasta la más general) y recorrerse en este orden.
Las tabla de direccionamiento pueden hacerse manualmente.
7.- Resolución de direcciones en IP:
Supongamos que A quiere mandar a B
un datagrama:
Una vez que se ha realizado entrega directa o accedido a la tabla (por tanto conocemos el siguiente salto), independientemente de la subred de que se trate, tenemos que indicar (a X.25, Ethernet, etc.) la dirección a la que queremos realizar el envío (resolver la dirección destino). De esto se encarga IP utilizando distintos métodos de Resolución de Direcciones:
El utilizar el mecanismo ARP incrementa el tráfico un 300% (1 trama + 1 trama (pregunta) + 1 trama (respuesta)). Para evitar esto, se utiliza una memoria caché donde se guardan las últimas direcciones utilizadas, borrándose si no se utilizan. Es decir, tendremos una memoria de direcciones dinámica.
8.- Protocolo ICMP (Internet Control Message Protocol):
El formato del datagrama ICMP es el
siguiente:
Los campos son:
El resto es opcional y depende del
tipo de mensaje.
ICMP va instalado sobre IP, así que el datagrama ICMP viaja encapsulado en el campo de datos del datagrama IP.
Luego cuando una entidad ICMP quiere comunicar con otra entidad ICMP, tendrá que hacerlo a través de la entidad IP.
Los distintos tipos de mensajes ICMP
son:
Cuando Una entidad ICMP recibe un mensaje Echo Req, genera un mensaje Echo Reply cuyo destinatario es la fuente del mensaje Echo Req.
Estos mensajes pueden llevar un campo
de datos (opcional). Si existe, es copiado del Echo Req al Echo Reply tal
como llega.
La aplicación opcional Ping es un proceso que genera varios Echo Req y los envía, tras lo cual espera respuestas, mostrándolas en pantalla.
(NOTA: Cuando una aplicación solicita un Echo Req, ICMP sólo se limita a enviarlo. El que en realidad se queda "esperando" la respuesta es la aplicación).
Utilizando esta pareja de datagramas
(Echo Req/Reply) ICMP con datos, podemos hacer pruebas para ver si datagramas
de distinto tamaño llegan o no a un destino.
El host ‘origen’ y sus vecinos enviarían sus datagramas a traves del router A por defecto, para luego éste enviarlos al destino a través del router B. Esto sería poco eficiente, ya que se podrían ahorrar saltos si el host origen enviara su datagrama directamente al router B..
La solución a esta ineficiencia consiste en que cuando el router A recibe el datagrama del origen, lo enruta por el router B, pero además envía un mensaje Redirect al host origen comunicandole la ruta óptima.
Cuando un sistema final recibe un mensaje
Redirect, incluye la información en su tabla de encaminamiento.
El control de congestión en IP se realiza extremo a extremo en el nivel de transporte (se le encomienda al TCP).
El hecho de situar el control de congestión a nivel de transporte es problemático, ya que hay tráfico que no es TCP (por ejemplo tráfico ICMP, tráfico de routing, etc.) y que por tanto no estará sujeto al control de congestión.
DNS:
Top Level Domains:
Están prefijados y asignados a organismos "oficiales", es decir,
organismos que colaboran en la gestión y administración de
la red. En ningún caso son usuarios finales. Algunos de estos Top
Level Domains son:
No hay límite en el numero de Domains (subdominios).
La forma de identificar un host sería:
nombre_host.subdominio.subdominio...subdominio.dominio
Por ejemplo: lina.it.uc3m.es
Cada organización encargada
de un subárbol está obligada a tener un servidor DNS las
24 horas del día.
El objetivo de este plano es automatizar
y llevar a cabo las siguientes funciones:
¿Cómo se realizan estas funciones?:
Protocolo SNMP (Simple Network Management Protocol):
Estudiaremos la versión 1. El
modelo está compuesto de los siguientes componentes:
Estos Recursos o Elementos Gestionables han de tener dirección IP para que la Estación de Gestión pueda comunicarse con ellos.
Estos Elementos Gestionables tienen dentro un Agente de Gestión (son procesos implementados sobre IP), produciéndose una comunicación entre la Estación de Gestión y los Agentes de Gestión. Esa comunicación se realiza mediante un protocolo normalizado.
Operaciones que realiza la Estación
de Gestión sobre los Dispositivos de Gestión:
El Agente de Gestión tiene acceso a la Base de Datos de Información de Gestión (MIB), la cual representa todo lo que es capaz el equipo de ofrecer al Administrador (Estación de Gestión).
Para configurar el equipo, lo que se hace es actualizar sus variables.
Los MIBs también están normalizados: para cada familia de equipos se definen parámetros que se pueden configurar sobre él o leer de él. Es decir, tendremos MIBs de routers estandar, MIBs de bridges estandar, MIBs de HUBs estandar, etc.
Ésto nos abstrae de la heterogeneidad, permitiendo introducir fácilmente en Estaciones de Gestión las Aplicaciones de Gestión, que son las que comunican a la Estación de Gestión con los Agentes de Gestión para realizar escrituras/lecturas de las MIBs.
Se permiten Extensiones Propietarias en las MIBs (facilidades de administración del equipo, etc.) ®MIBs Propietarias.
Protocolo SNMP (Versión 1):
Implementa funciones limitadas.
Tanto Get Req como Get Next Req y Set Request se envían de la Estación de Gestión al Agente de Gestión, ya que es precisamente la Estación de Gestión la que decide alterar el valos de las variables de la MIB (Set Request) o leerlas (Get Req).
Get Response se envía del Agente de Gestión a la Estación de Gestión y es la respuesta a las tres anteriores, por lo que llevará los datos requeridos por la Estación de Gestión.
Todas las PDUs vistas hasta ahora son por iniciativa de la Estación de Gestión.
Trap es la única enviada
por iniciativa del Agente de Gestión y es de uso muy limitado. Es
el Administrador de Red quien configura a los Agentes de Gestión
acerca de bajo qué circunstancias deben notificar un Trap
a la Estación de Gestión (Ejemplo: averías).
En el campo de Variables se reflejan las asociaciones entre los nombres de las variables de la MIB y sus valores.
El formato de codificación de estos campos de Variables es abierto, es decir, se utiliza sintaxis abstracta de transferencia para la codificación, ya que la longitud de las variables depende del tipo de variable que queramos codificar.
NOTA: ¿Donde se identificará
el dispositivo destinatario de la operación? Pues en el paquete
IP sobre el que viajarán estas unidades de datos.