Protocolo de mensajes de control de Internet (ICMP). ¿Qué es ICMP?

Conceptos básicos, estándares y organizaciones que operan en el campo de la propiedad intelectual.

Interconexión de sistemas abiertos (OSI)))

Interoperabilidad de sistemas abiertos: reglas para interconectar sistemas con arquitectura abierta de diferentes fabricantes.

Arquitectura de seguridad

La arquitectura de seguridad es una adición oficial ISO al modelo OSI que define medidas de seguridad en una red de información.

La arquitectura de seguridad supone:

Impedir que alguien lea mensajes;

Proteger el tráfico del análisis de personas externas;

Detección de cambios en los flujos de mensajes;

Detección de corrupciones en bloques de datos.

Dependiendo de los métodos utilizados, existen:

Redes con seguridad débil, en las que los esfuerzos del atacante son proporcionales a los costos del remitente;

Redes con fuerte protección, que requieren un fuerte aumento en los costos del atacante.

Modelo Básico de Referencia para la Interconexión de Sistemas Abiertos (Modelo OSI)

(Norma ISO 7498 (Modelo básico de referencia de interconexión de sistemas abiertos))

El modelo de referencia básico para la interacción de sistemas abiertos es una norma ISO que define el proceso de interacción de información entre dos o más sistemas, en forma de un conjunto de interacciones de información de subsistemas de nivel.

Sistema de manejo de mensajes (MHS)))

Sistema de procesamiento de mensajes - en el modelo OSI - un sistema de agentes de mensajes de usuario, agentes de transferencia de mensajes, dispositivos de acceso y almacenamiento de mensajes que aseguran el funcionamiento del correo electrónico.

Capa

Nivel, en el modelo OSI, un conjunto de estructuras y programas que proporcionan procesamiento de una determinada clase de eventos.

El nivel actúa como una unidad de descomposición de un conjunto de funciones que proporcionan interacción de información entre procesos de aplicación.

El modelo OSI distingue siete niveles de interacción de información:

7- nivel de aplicación: transferencia de información entre programas;

6- nivel de presentación: cifrado, codificación y compresión de datos;

Nivel de 5 sesiones: establecimiento, mantenimiento y desconexión de la conexión;

4- nivel de transporte: precisión de la entrega, nivel de calidad del servicio;

3- nivel de red: rutas de transmisión, procesamiento y transmisión de mensajes;

Nivel de 2 canales: control del canal de comunicación, acceso al medio de transmisión y direccionamiento;

1-capa física: comunicación a nivel de hardware.

Los niveles son independientes entre sí y constan de objetos activos que:

Interactuar con otros objetos del mismo nivel;

Proporcionar servicios al nivel superior adyacente;

Reciba servicio desde el nivel inferior adyacente;

Intercambian bloques de datos para realizar las tareas que se les asignan.


Modelo BOS de siete niveles.

Modelo de Interconexión de Sistemas Abiertos (OSI).

El modelo de referencia OSI, a veces denominado pila OSI, es una jerarquía de red de 7 capas desarrollada por la Organización Internacional de Normalización (ISO). Este modelo contiene esencialmente 2 modelos diferentes:

Un modelo horizontal basado en protocolos que proporciona un mecanismo para la interacción de programas y procesos en diferentes máquinas.

Un modelo vertical basado en servicios proporcionados por capas adyacentes entre sí en la misma máquina

En el modelo horizontal, dos programas requieren un protocolo común para intercambiar datos. En uno vertical, los niveles vecinos intercambian datos mediante interfaces API.

Nivel 7, aplicado

La capa de aplicación es responsable del acceso de las aplicaciones a la red. Las tareas de esta capa son transferir archivos, intercambiar mensajes de correo electrónico y administrar la red. (FTP, Telnet,...)

Nivel 6, actuaciones

Este nivel proporciona transformación de datos (codificación, compresión, etc.). Proporciona independencia de los procesos de aplicación de diversas formas de representación de datos.

Nivel 5, de sesión

Proporciona un mecanismo para organizar y formar la estructura de interacción entre procesos de aplicación.

Nivel 4, transporte

La capa de transporte divide los flujos de información en fragmentos (paquetes) lo suficientemente pequeños como para transmitirlos a la capa de red. La pila TCP/IP monitorea la integridad de la transmisión de datos. (TCP).

Nivel 3, red

En este nivel, los paquetes se enrutan basándose en la conversión de direcciones MAC en direcciones de red. La capa de red también proporciona una transmisión transparente de paquetes a la capa de transporte. (IP).

Nivel 2, canal

La capa de enlace de datos proporciona la creación, transmisión y recepción de tramas de datos. Esta capa atiende solicitudes de la capa de red y utiliza el servicio de la capa física para recibir y transmitir paquetes. Las especificaciones IEEE 802.x dividen la capa de enlace en dos subcapas: control de enlace lógico (LLC) y control de acceso a medios (MAC). La LLC proporciona servicios de capa de red y la subcapa MAC regula el acceso al medio físico compartido. (Ethernet).

Nivel 1, físico

La capa física recibe paquetes de datos de la capa de enlace superior y los convierte en señales ópticas o eléctricas correspondientes a 0 y 1 del flujo binario. Estas señales se envían a través del medio de transmisión al nodo receptor. Las propiedades mecánicas y eléctricas/ópticas del medio de transmisión se determinan a nivel físico e incluyen:

Tipo de cables y conectores

· Asignación de pines en conectores

Esquema de codificación de señal para los valores 0 y 1.

A nivel de red, se forma un paquete IP: DATOS|Encabezado IP

A nivel de enlace de datos, se forma una trama: DATOS|Encabezado IP|Encabezado Ethernet:

· 1 paquete IP por trama

· 1 paquete IP se divide en varias tramas

Varios paquetes IP caben en 1 cuadro

3. TCP/IP, distribución de protocolos entre niveles OSI.

Protocolo de control de transmisión/Protocolo de Internet (TCP/IP) es una pila de protocolos estándar de la industria diseñada para redes de área amplia.

Los estándares TCP/IP se publican en una serie de documentos denominados Solicitud de comentarios (RFC). Los RFC describen el funcionamiento interno de Internet. Algunos RFC describen servicios o protocolos de red y su implementación, mientras que otros generalizan las condiciones de aplicación.

Dado que la pila TCP/IP se desarrolló antes de la llegada del modelo de interconexión de sistemas abiertos ISO/OSI, aunque también tiene una estructura de múltiples niveles, la correspondencia de los niveles de la pila TCP/IP con los niveles del modelo OSI es bastante condicional. .

La estructura de los protocolos TCP/IP se muestra en la Figura 2.1. Los protocolos TCP/IP se dividen en 4 capas.

Arroz. 2.1. Pila TCP/IP

(nivel IV ) corresponde a las capas física y de enlace de datos del modelo OSI. Este nivel no está regulado en los protocolos TCP/IP, pero soporta todos los estándares populares de capa física y de enlace de datos: Ethernet, Token Ring, FDDI, Fast Ethernet, PPP, etc.

(nivel III ) - el nivel de interconexión de redes, que se ocupa de la transmisión de paquetes utilizando diversas tecnologías de transporte de redes locales, redes territoriales, líneas de comunicación especiales, etc. El protocolo se utiliza como protocolo principal de la capa de red (en términos del modelo OSI ) en la pila IP. El protocolo IP es un protocolo de datagramas, lo que significa que no garantiza la entrega de paquetes al host de destino. También protocolos RIP, OSPF, ICMP, etc.

(nivel II ) se llama básico. El protocolo de control de transmisión opera en este nivel. tcp(Protocolo de control de transmisión) y protocolo de datagramas de usuario UDP(Protocolo de datagramas de usuario). El protocolo TCP proporciona una transmisión confiable de mensajes entre procesos de aplicaciones remotas mediante la formación de conexiones virtuales. El protocolo UDP permite la transmisión de paquetes de aplicaciones en forma de datagramas, como IP, y sirve únicamente como enlace entre el protocolo de red y numerosos procesos de aplicaciones.

(nivel yo ) se llama aplicado. WWW, Telnet, SMTP, etc.

Protocolos IP, ARP, RARP.

La base de los vehículos de transporte de la pila de protocolos TCP/IP es el Protocolo de Internet (IP). El documento es RFC 791. Las principales funciones del protocolo IP incluyen:

· transferencia entre redes de varios tipos de información de direcciones de forma unificada,

· montaje y desmontaje de paquetes al transmitirlos entre redes con diferentes longitudes máximas de paquete.

Composición del marco IP:

· Encabezado 20 bytes

· dentro del encabezado hay 2 bloques de 32 bits para las direcciones IP de origen y destino

campo de datos

La mayoría de los tipos de redes locales y globales definen dicho concepto como el tamaño máximo del campo de datos de una trama o paquete en el que el protocolo IP debe encapsular su paquete. Este valor suele denominarse Unidad de transferencia máxima, MTU. Las redes Ethernet tienen un valor MTU de 1500 bytes.

El protocolo ARP (Protocolo de resolución de direcciones) se utiliza para establecer una correspondencia entre las direcciones IP y MAC (ARP - cuando se conoce IP, RARP - cuando se conoce MAC). La dirección MAC es de 48 bits, integrada en cada pieza de hardware (bytes: el fabricante, otros 3 bytes: el número único de la pieza de hardware).

Las redes utilizan direcciones IP porque son más flexibles. La dirección IP no está vinculada al hardware.

Con ARP, se completa una tabla especial: la caché ARP, con entradas dinámicas.

2 nodos: A y B, A conoce la IP B y quiere enviarle datos:

1) A envía una solicitud de transmisión ARP con la dirección IP de B

2) B ve su IP y envía una respuesta de difusión con su MAC

3) A recibe MAC B, lo coloca en la caché ARP y forma una trama Ethernet (datos|encabezado IP (direcciones IP)|encabezado Ethernet (direcciones MAC))

Las solicitudes ARP no son necesarias para futuras transmisiones.

RARP: ARP inverso. Una de las aplicaciones es el inicio de estaciones sin disco que inicialmente no conocen su dirección IP.

Protocolos TCP, ICMP, UDP.

Protocolo de control de transmisión (TCP)(Protocolo de control de transmisión) es uno de los principales protocolos de red de Internet diseñado para controlar la transmisión de datos en redes y subredes TCP/IP.

Realiza las funciones del protocolo de capa de transporte del modelo OSI.

TCP es un mecanismo de transporte que proporciona un flujo de datos con una conexión preestablecida, brindando así confianza en la confiabilidad de los datos recibidos, volviendo a solicitar datos en caso de pérdida de datos y eliminando la duplicación al recibir dos copias del mismo paquete.

La unidad de datos del protocolo TCP es un segmento. La información que llega al protocolo TCP como parte de una conexión lógica desde protocolos de nivel superior es considerada por el protocolo TCP como un flujo de bytes no estructurado. Los datos entrantes se almacenan mediante TCP. Para la transmisión a la capa de red, se "corta" del búfer una determinada pieza continua de datos, llamada segmento.

Una conexión en el protocolo TCP se identifica mediante un par de direcciones completas de ambos procesos en comunicación (puntos finales). La dirección de cada punto final incluye una dirección IP (número de red y número de computadora) y un número de puerto (FTP - 21, HTTP - 80, etc.). Un punto final puede participar en múltiples conexiones.

La conexión se establece en la siguiente secuencia:

· Al establecer una conexión, una de las partes es el iniciador. Envía una solicitud al protocolo TCP para abrir un puerto para transmisión (apertura activa).

· Después de abrir el puerto, el protocolo TCP del lado del proceso iniciador envía una solicitud al proceso con el que desea establecer una conexión.

· El protocolo TCP en el lado receptor abre el puerto para recibir datos (apertura pasiva) y devuelve un recibo confirmando la recepción de la solicitud.

· Para que la transmisión se realice en ambas direcciones, el protocolo del lado receptor también abre el puerto de transmisión (puerto activo) y también transmite la solicitud al lado opuesto.

· La parte iniciadora abre el puerto receptor y devuelve un recibo. La conexión se considera establecida. A continuación, se intercambian datos dentro de esta conexión.

Se utiliza el protocolo de enlace (confirmación de la transferencia de datos)

ICMP (Protocolo de mensajes de control de Internet- Protocolo de mensajes de control de interconexión) es un protocolo de red incluido en la pila de protocolos TCP/IP. ICMP se utiliza principalmente para informar errores y otras situaciones excepcionales encontradas durante la transmisión de datos, como que el servicio solicitado no está disponible o que el host o el enrutador no responde. ICMP también realiza algunas funciones de servicio.

Cada mensaje ICMP se envía a través de la red dentro de un paquete IP. Los paquetes IP con mensajes ICMP se enrutan como cualquier otro paquete, sin prioridad, por lo que también pueden perderse. Además, en una red ocupada pueden provocar una carga adicional en los enrutadores. Para evitar provocar una avalancha de mensajes de error, los paquetes IP perdidos que contienen mensajes de error ICMP no pueden generar nuevos mensajes ICMP.

Hay varios tipos de mensajes ICMP. Cada tipo de mensaje tiene un formato diferente, pero todos comienzan con tres campos comunes: un entero de 8 bits que indica el tipo de mensaje (TIPO), un campo de código de 8 bits (CÓDIGO) que especifica el propósito del mensaje y un campo de código de 8 bits (CÓDIGO) que especifica el propósito del mensaje. -campo de control de bits (CHECKSUM). Además, el mensaje ICMP siempre contiene el encabezado y los primeros 64 bits de datos del paquete IP que provocó el error.

UDP (Protocolo de datagramas de usuario- User Datagram Protocol) es un protocolo de transporte para la transmisión de datos a través de redes IP sin establecer una conexión. Es uno de los protocolos de capa de transporte más simples del modelo OSI. A diferencia de TCP, UDP no garantiza la entrega de paquetes. Esto le permite entregar datos mucho más rápido y más eficientemente para aplicaciones que requieren comunicaciones de gran ancho de banda o tiempos de entrega de datos rápidos.

  • Enrutadores. El principio de funcionamiento del enrutador. Protocolos de enrutamiento.
  • Protocolos de enrutamiento. Exploración de rutas estáticas y RIP en una red mediante enrutadores Cisco

  • Protocolo para transmitir comandos y mensajes de error ( ICMP- protocolo de mensajes de control de Internet, RFC-792, - 1256) realiza diversas funciones y no solo de diagnóstico. Al reenviar paquetes, los nodos intermedios no son informados sobre los problemas que han surgido, por lo que un error en la tabla de enrutamiento puede percibirse como un mal funcionamiento en el nodo de destino y no será diagnosticado de manera confiable. El protocolo ICMP informa errores en los datagramas IP, pero no proporciona información sobre errores en los mensajes ICMP en sí. ICMP usa IP y el protocolo IP debe usar ICMP. En el caso de la fragmentación ICMP, el mensaje de error se emitirá sólo una vez por datagrama, incluso si hubo errores en varios fragmentos. Para resumir, podemos decir que ICMP es un protocolo:

    • transmite solicitudes y respuestas;
    • controla la vida útil de los datagramas en el sistema;
    • implementa el reenvío de paquetes;
    • emite mensajes sobre la inaccesibilidad del destinatario o parámetros incorrectos;
    • genera y reenvía marcas de tiempo;
    • emite solicitudes y respuestas para máscaras de direcciones y otra información.

    Los mensajes de error ICMP nunca se emiten:

    • en respuesta a un mensaje de error ICMP;
    • con direccionamiento de multidifusión o difusión;
    • para un fragmento de datagrama (excepto el primero);
    • para datagramas cuya dirección de origen es nula, de difusión o de multidifusión.

    Estas reglas están diseñadas para bloquear flujos de datagramas enviados en respuesta a mensajes de difusión ICMP o multidifusión. Las características del protocolo ICMPv6 se describen en RFC-2463. En IPv6, ICMP proporciona funciones de gestión de grupos (IGMP).

    Los mensajes ICMP tienen su propio formato y su esquema de adjuntos es similar a UDP o TCP y se muestra en la Fig. 3.1.

    Todos los paquetes ICMP comienzan con un campo tipo ICMP de 8 bits y su código (15 valores).


    Arroz. 3.1.

    Esencialmente, los valores de los campos tipo y código realizan casi la misma función que el puerto en los protocolos TCP y UDP.

    El código especifica la función del mensaje ICMP. La tabla 3.1 de estos códigos se muestra a continuación (los mensajes de error están marcados con *, el resto son solicitudes).

    El procedimiento de “deshabilitación de fuente” (apagar, tipo de campo ICMP=4) le permite controlar los flujos de datos en los canales de Internet. Incapaz de hacer frente al procesamiento de datagramas, la computadora receptora (o dispositivo de red de tránsito) puede enviar una solicitud de "desactivación de fuente" al remitente, lo que puede reducir la velocidad de envío de paquetes, por ejemplo, a la mitad, o incluso interrumpir su envío. . No existe un equipo especial para levantar prohibiciones anteriores. Si los mensajes de interrupción se detienen, la fuente puede reanudar el envío de paquetes o aumentar la frecuencia con la que se envían. A continuación (en la Fig. 3.2) se presenta el formato de la solicitud de eco (ping) y la respuesta para el protocolo ICMP.

    ID de campos (normalmente el ID del proceso) y número de serie(aumenta en 1 por cada paquete enviado) se utilizan para que el remitente pueda emparejar solicitudes y respuestas.

    El campo tipo determina si este paquete es una solicitud (8) o una respuesta (0). Campo suma de control es el complemento de módulo 1 de 16 bits de toda la suma de comprobación del mensaje ICMP, comenzando con el campo tipo. El campo de datos se utiliza para registrar la información devuelta al remitente. Cuando se realiza ping, se envía al destinatario una solicitud de eco con una marca de tiempo en el campo de datos. Si el destino está activo, recibe el paquete IP, intercambia las direcciones de origen y destino y lo devuelve. La computadora emisora, al recibir esta respuesta, puede comparar la marca de tiempo que registró en el paquete con la lectura actual del reloj interno y determinar el tiempo de propagación del paquete (RTT - tiempo de ida y vuelta). El tamaño del campo de datos no está regulado y está determinado por el tamaño máximo del paquete IP.

    Tabla 3.1.
    Tipos y códigos de mensajes ICMP mensaje ICMP
    descripción del mensaje Tipo
    0 código
    3 Respuesta de eco (respuesta de ping)
    0 Destinatario inalcanzable
    1 *Red inalcanzable
    2 * La computadora es inalcanzable
    3 *Protocolo no disponible
    4 *Puerto no disponible
    5 * Se requiere fragmentación de mensajes (indicador DF establecido)
    6 *El enrutamiento del remitente no es factible
    7 *Red de destino desconocida
    8 * Se desconoce el ordenador de destino
    9 * La computadora original está aislada (obsoleta)
    10 * La comunicación con la red de destino está prohibida administrativamente
    11 * La comunicación con el ordenador de destino está administrativamente prohibida
    12 *Red no disponible para este tipo de servicio (TOS)
    13 *La computadora no está disponible para este tipo de servicio (TOS)
    14 * La comunicación está administrativamente prohibida mediante un filtro.
    15 * Violación de precedencia informática.
    4 0 *Discriminación por antigüedad
    5 * Deshabilitar la fuente cuando la cola está llena (apagar)
    0 Redirigir (cambiar ruta)
    1 Reenviar datagrama a la red (obsoleto)
    2 Reenviar un datagrama a una computadora
    3 Datagrama directo para tipo de servicio (ToS) y red
    8 0 Datagrama directo para tipo de servicio y host
    9 0 Solicitud de eco (solicitud de ping)
    10 0 Anuncio de enrutador
    11 Consulta de enrutador
    0 El tiempo de vida del datagrama ha expirado (ttl=0):
    1 *al momento de la transferencia
    12 * tiempo de espera de compilación (caso de fragmentación)
    0 * Problema con los parámetros del datagrama.
    1 *Error en el encabezado IP
    13 *Falta la opción requerida
    14 Solicitar una marca de tiempo
    15 Respuesta de marca de tiempo
    16 Solicitud de información (obsoleta)
    17 Respuesta de información (obsoleta)
    18 Solicitud de máscara de dirección


    Respuesta a la solicitud de máscara de dirección


    Arroz. 3.2.

    Arroz. 3.2a.

    El tiempo de propagación de una solicitud ICMP, en general, no es igual al tiempo de propagación de la respuesta (la situación con las colas, por ejemplo, en los enrutadores, puede ser diferente). Esto se debe no sólo a posibles cambios en el canal. En general, las rutas de su movimiento pueden ser diferentes. Se utilizan las mismas consultas al ejecutar el procedimiento Traceroute.

    Este procedimiento permite no sólo diagnosticar, sino también optimizar la ruta. Por ejemplo, el comando traceroute cernvm.cern.ch emitido en la computadora SUN (ITEP) se puede mostrar en la pantalla (las direcciones IP de los hosts y los valores de vida útil de los datagramas se indican entre paréntesis, los valores RTT se dan en milisegundos) ( Tabla 3.1.1.):

    Tabla 3.1.1.
    traceroute a crnvma cern ch (128 141 2 4) 30 saltos máximo, paquetes de 40 bytes
    1 itep-fddi-bbone (193.124.224.50) 3 ms 2 ms 3 ms
    2 msu - torre .moscow.ru.radio- msu .net (193.124.137.13) 3 ms 3 ms 3 ms
    3 npi-msu.moscow.ru.radio-msu.net (193.124.137.9) 27 ms 3 ms 9 ms
    4 desy.hamburg.de.radio-msu.net (193.124.137.6) 556 ms 535 ms 535 ms
    5 * 188.1.133.56 (188.1.133.56) 637 ms 670 ms
    6 duesseldorf2.empb.net (193.172.4.12) 740 ms(ttl=59!) 839ms(ttl=59!) 2066ms(ttl=59!)
    7 berna3.empb.net (193.172.4.30) 2135 ms (ttl=58!) 1644 ms (ttl=58!) 1409 ms (ttl=58!)
    8 cernh3.euro-hep.net (193.172.24.10) 1808 ms 1508 ms 1830 ms
    9 cgate1.cern.ch (192.65.185.1) 1116 ms 1270 ms 1278 ms
    10 crnvma.cern.ch (128.141.2.4) 1132 ms 1362 ms 1524 ms

    De esto se desprende que los tramos más estrechos de la ruta (en el momento del procedimiento) son Hamburgo-Dusseldorf-Berna-CERN. Hay que tener en cuenta que el canal MSU-Hamburgo era satélite y el retraso de 500 ms aquí duplica el tiempo de propagación de la señal al satélite y viceversa. El tramo Hamburgo-Dusseldorf (X.25, cuota 256 kbit/s) era común para el flujo de datos de Alemania a EE.UU. IP sobre X.25 también reduce el ancho de banda efectivo del enlace. Las conexiones restantes tienen un ancho de banda insuficiente. El programa ping muestra una alta proporción de paquetes perdidos en estas áreas durante las horas pico. Así, teniendo un mapa de conexiones y utilizando los procedimientos especificados, se puede diagnosticar con éxito la situación en la red. Los programadores avanzados pueden escribir fácilmente sus propios programas de diagnóstico basados ​​en ICMP, tanto para la red local como para la Internet "vecinal".

    Cuando un enrutador no puede entregar un datagrama a su destino, envía un mensaje de destino inalcanzable al remitente. El formato de dicho mensaje se muestra a continuación (en la Fig. 3.3).


    Arroz. 3.3. Formato de mensaje ICMP "destino inalcanzable"

    El campo de código contiene un número entero que aclara la situación. La lista de códigos para dichos mensajes figura en la tabla 3.1. El campo MTU en la siguiente etapa caracteriza la longitud máxima de los paquetes en el siguiente paso de reenvío. Esta información (MTU) le permite seleccionar el tamaño de paquete óptimo.

    Dado que el mensaje contiene el encabezado de Internet y los primeros 64 bits del datagrama, es fácil entender qué dirección era inalcanzable. Este tipo de mensaje ICMP también se envía cuando el datagrama tiene el DF=1 (indicador "no fragmentar") y la fragmentación es necesaria. En este caso, se escribirá el número 4 en el campo del código.

    Si el buffer de recepción de mensajes está lleno, la computadora envía un mensaje de tipo 4.

    Dado que los propios relojes de diferentes ordenadores tienen su propia representación de la hora, el protocolo ICMP sirve, entre otras cosas, para sincronizar, en caso necesario, el funcionamiento de diferentes nodos (solicitudes de marca de tiempo). Protocolo de sincronización NTP (protocolo de hora de red) se describe en RFC-1119.

    Cuando los datagramas llegan con demasiada frecuencia y el lado receptor no puede hacer frente a este flujo, se puede enviar un mensaje al remitente exigiéndole que reduzca drásticamente el flujo de información (solicitud de extinción). La reducción del flujo debe continuar hasta que cesen las solicitudes de extinción. Este mensaje tiene el formato que se muestra en la Fig. 3.4.


    Arroz. 3.4.

    En Internet, las tablas de enrutamiento permanecen sin cambios durante bastante tiempo, pero a veces cambian. Si un enrutador detecta que un host está utilizando una ruta subóptima, puede enviarle una solicitud de redireccionamiento ICMP. Hay que tener en cuenta que un hacker también puede aprovechar esta oportunidad. El formato de dicho mensaje se muestra en la Figura 3.5.


    Arroz. 3.5.

    El campo Dirección del enrutador de Internet contiene la dirección del enrutador que la computadora debe usar para que el datagrama enviado llegue al destino especificado en su encabezado. Además del encabezado en sí, el campo del encabezado de Internet contiene los primeros 64 bits del datagrama que provocó este mensaje. El campo de código especifica cómo se debe interpretar la dirección de destino (ver Tabla 3.1).

    El enrutador envía comandos de reenvío solo a la computadora y nunca a otros enrutadores. Veamos un ejemplo específico. Deje que alguna computadora, según su tabla de enrutamiento, envíe un paquete al enrutador M1. Mira su tabla de enrutamiento y descubre que el paquete debe reenviarse al enrutador M2. Además, resulta que el paquete de M1 a M2 debe enviarse a través de la misma interfaz por la que llegó a M1. Esto significa que M2 también está disponible directamente en la computadora emisora. En tal situación, M1 envía una solicitud de redirección ICMP a la computadora que envía el paquete especificado para que realice los ajustes apropiados en su tabla de enrutamiento (o para que el administrador cambie la dirección IP o la máscara de la computadora).

    La tabla de enrutamiento se puede cargar desde un archivo generado por el administrador de red, pero también se puede crear como resultado de solicitudes y anuncios enviados por los enrutadores. Después de que se inicia el sistema, el enrutador envía una solicitud de transmisión. Uno o más enrutadores responden con mensajes sobre información de enrutamiento disponible. Además, los enrutadores transmiten periódicamente (cada 450.600 segundos) sus rutas, lo que permite a otros enrutadores ajustar sus tablas de enrutamiento. RFC-1256 describe los formatos para mensajes ICMP de este tipo (ver Figura 3.6). Debido a su vulnerabilidad, esta tecnología apenas se ha utilizado recientemente.


    Arroz. 3.6.

    El campo de número de direcciones caracteriza el número de registros de direcciones en el mensaje. El campo de longitud de la dirección contiene la cantidad de palabras de 32 bits necesarias para describir la dirección del enrutador. El campo de vida útil está destinado a registrar la vida útil de las rutas (direcciones) anunciadas en segundos. De forma predeterminada, la vida útil es de 30 minutos. Los campos de nivel de prioridad representan una medida de la prioridad de una ruta en relación con otras. rutas de este subredes Cuanto mayor sea este código, mayor será la prioridad. La ruta predeterminada tiene un nivel de prioridad de 0. Formato de solicitud de información de ruta (8 octetos,

    Protocolo de mensajes de control de Internet (ICMP) juega un papel auxiliar en la red, es decir, permite que el enrutador informe al nodo final sobre los errores que encontró al transmitir cualquier paquete IP desde este nodo final.

    Los mensajes de control ICMP no se pueden enviar al enrutador intermedio que participó en la transmisión del paquete con el que surgieron los problemas, ya que no hay información de dirección para dicho envío: el paquete transporta solo las direcciones de origen y destino, sin registrar las direcciones del intermedio. enrutadores.

    ICMP es un protocolo mensajes de error, no un protocolo corrección de errores. El host final puede tomar algunas acciones para garantizar que el error ya no ocurra, pero estas acciones no están reguladas por el protocolo ICMP.

    Cada mensaje ICMP se envía a través de la red dentro de un paquete IP. Los paquetes IP con mensajes ICMP se enrutan como cualquier otro paquete, sin prioridad, por lo que también pueden perderse. Además, en una red ocupada pueden provocar una carga adicional en los enrutadores. Si se pierden paquetes IP que transportan mensajes ICMP, los enrutadores no deben generar paquetes nuevos para evitar causar una gran cantidad de mensajes de error.

    Hay varios tipos de mensajes ICMP, cada uno con un formato diferente, aunque todos comienzan con tres campos comunes: un número entero de 8 bits que indica el tipo de mensaje (Type), un campo de código de 8 bits (Code) que especifica el propósito del mensaje y un campo de suma de comprobación de 16 bits. Además, el mensaje ICMP siempre contiene el encabezado y los primeros 64 bits de datos del paquete IP que provocó el error. Esto se hace para que el nodo emisor pueda analizar con mayor precisión la causa del error, ya que todos los protocolos de capa de aplicación de la pila TCP/IP contienen la información más importante para el análisis en los primeros 64 bits de sus mensajes. Campo Tipo de mensaje puede tener los significados presentados en mesa 2.14.

    El protocolo ICMP proporciona a los administradores de red un medio para probar la accesibilidad de los hosts de la red. Estas instalaciones son un protocolo de eco muy simple que implica el intercambio de dos tipos de mensajes: solicitud de eco Y respuesta de eco.

    Una computadora o enrutador envía una solicitud de eco a través de Internet, que especifica la dirección IP del host cuya accesibilidad desea verificar. El nodo que recibe la solicitud de eco genera y envía una respuesta de eco y devuelve un mensaje al nodo que envió la solicitud. La solicitud puede contener algunos datos que deben devolverse en la respuesta.

    Dado que la solicitud de eco y la respuesta de eco se transmiten a través de la red dentro de paquetes IP, su entrega exitosa significa el funcionamiento normal de todo el sistema de transporte de la red.


    Tabla 2.14 – Valores del campo Tipo de mensaje

    Puede imaginar una serie de situaciones en las que el protocolo IP no puede entregar un paquete al destino; por ejemplo, el tiempo de vida del paquete ha expirado, la tabla de enrutamiento no tiene una ruta a la dirección de destino especificada en el paquete, el El paquete no pasa la verificación de suma de comprobación, la puerta de enlace no tiene suficiente espacio en su buffer para transmitir cualquier paquete, etc., etc.

    Como hemos señalado más de una vez, el protocolo IP entrega datos basándose en el principio "si es posible", es decir, no toma medidas para garantizar la transferencia de datos al destinatario. Esta propiedad "opcional" del protocolo IP se compensa con protocolos en niveles superiores de la pila TCP/IP, como TCP en la capa de transporte y, hasta cierto punto, DNS en la capa de aplicación. Asumen la responsabilidad de garantizar la fiabilidad, utilizando técnicas tan conocidas como la numeración de mensajes, la confirmación de entrega y el reenvío de datos.

    El protocolo ICMP también sirve como complemento para compensar la falta de fiabilidad del protocolo IP, pero de un modo ligeramente diferente. No pretende corregir los problemas encontrados durante la transmisión de paquetes: si se pierde un paquete, ICMP no puede reenviarlo. El propósito de ICMP es diferente: es un medio para notificar al remitente sobre "accidentes" que han ocurrido con sus paquetes. Supongamos, por ejemplo, que el protocolo IP que se ejecuta en algún enrutador detecte que un paquete necesita fragmentarse para su posterior transmisión a lo largo de la ruta, pero el indicador DF (no fragmentar) está configurado en el paquete. Un protocolo IP que detecta que no puede reenviar un paquete IP más en la red debe enviar un mensaje de diagnóstico ICMP al host final de origen antes de descartar el paquete.

    Para transmitirse a través de una red, el mensaje ICMP se encapsula en el campo de datos del paquete IP. La dirección IP del host de origen se determina a partir del encabezado del paquete que provocó el incidente.

    Un mensaje que llega al nodo de origen puede ser procesado allí por el núcleo del sistema operativo, por los protocolos de la capa de aplicación y transporte, o por las aplicaciones, o simplemente ignorarse. Es importante que el procesamiento de mensajes ICMP no sea responsabilidad de los protocolos IP e ICMP.

    Tenga en cuenta que algunos de los paquetes pueden desaparecer en la red sin provocar ninguna alerta. En particular, ICMP no informa problemas que ocurren al procesar paquetes IP que contienen mensajes de error ICMP. Esta decisión fue tomada por los desarrolladores del protocolo para no crear “tormentas” en las redes, cuando la cantidad de mensajes de error aumenta como una avalancha.

    Una característica del protocolo ICMP es la diversidad funcional de las tareas que resuelve y, por tanto, de los mensajes asociados a él. Todos los tipos de mensajes tienen el mismo formato (Figura 1), pero la interpretación de los campos depende significativamente del tipo de mensaje que sea.

    Arroz. 1. Formato de mensaje ICMP

    El encabezado del mensaje ICMP consta de 8 bytes:

    • tipo (1 byte): identificador numérico del tipo de mensaje;
    • código (1 byte): un identificador numérico que diferencia más sutilmente el tipo de error;
    • suma de comprobación (2 bytes): calculada para todo el mensaje ICMP.

    El contenido de los cuatro bytes restantes en los campos de encabezado y datos depende de los valores de los campos de tipo y código.

    En la figura. La Figura 2 muestra una tabla de los principales tipos de mensajes ICMP. Estos mensajes se pueden dividir en dos grupos (marcados con símbolos en la figura):

    • mensajes de error;
    • mensajes de solicitud-respuesta.

    Los mensajes del tipo solicitud-respuesta se conectan en pares: solicitud de eco - respuesta de eco, solicitud de máscara - respuesta de máscara, solicitud de tiempo - respuesta de tiempo. El remitente de un mensaje de solicitud siempre espera recibir el mensaje de respuesta correspondiente.

    Arroz. 2. Tipos y códigos de mensajes ICMP

    Los mensajes que pertenecen a un grupo de mensajes de error se especifican con un código aclaratorio. La figura muestra un fragmento de la tabla de códigos para el mensaje de error inalcanzable del nodo de destino, que tiene tipo 3. En la tabla vemos que este mensaje puede deberse a varios motivos, como una red incorrecta o una dirección de nodo (código O o 1 ), la ausencia del destino del protocolo de capa de aplicación requerido (código 2 - "protocolo inalcanzable") o un puerto UDP/TCP abierto (código 3 - "puerto inalcanzable"). También es posible que no se pueda acceder al nodo (o red) de destino debido a una falla temporal del hardware o porque el enrutador no conoce la ruta a la red de destino. En total, la tabla contiene 15 códigos. Existen tablas de códigos similares para otros tipos de mensajes de error.

    protocolo ICMP

    El Protocolo de mensajes de control de Internet (ICMP) está diseñado para permitir que los enrutadores de Internet informen errores o proporcionen información sobre condiciones inusuales de la red. Es una parte necesaria del protocolo IP. Y proporciona retroalimentación, notificando al remitente de datos sobre problemas que surgen en los equipos de comunicación.

    ICMP es un mecanismo de informe de errores. Proporciona una forma para que los enrutadores que detectan errores informen el error a la fuente original. Aunque la especificación del protocolo define usos aceptables de ICMP y sugiere posibles acciones en respuesta a errores, ICMP no especifica completamente las acciones que se deben tomar en respuesta a todos los errores posibles. Por lo tanto, ICMP sólo informa errores que ocurren en la fuente original; Depende de la fuente asociar los errores con programas de aplicación específicos y tomar medidas para corregirlos.

    El protocolo ICMP realiza las siguientes funciones principales:

      intercambiar mensajes de prueba para determinar la presencia y actividad de nodos de red;

      analizar la accesibilidad de los nodos y descartar paquetes dirigidos a nodos inalcanzables;

      cambiar rutas (Redirigir);

      destrucción de paquetes con vida útil vencida (Time-To-Live);

      sincronización horaria en nodos de red;

      control de tráfico (regulando la frecuencia de envío de paquetes).

    En términos de protocolos de capa, ICMP es parte de la capa de red. Pero en comparación con IP, ICMP es un protocolo de nivel superior porque utiliza servicios IP para entregar sus mensajes. En otras palabras, cada mensaje ICMP se transmite a través de la red dentro de un datagrama 1P.

    Hay dos tipos de mensajes ICMP: mensaje de solicitud y mensaje de error. Un mensaje de error está estrechamente relacionado con el datagrama que lo generó y siempre contiene el encabezado de ese datagrama IP y los primeros 64 bits de sus datos. Esto es necesario para que el nodo de origen pueda analizar con mayor precisión la causa del error, ya que todos los protocolos de aplicación de la pila TCP/IP contienen la información más importante para el análisis en los primeros 8 bytes de su mensaje. Los mensajes de consulta transmiten información sobre una red específica y una computadora específica o se utilizan con fines de diagnóstico.

    Los paquetes IP con mensajes ICMP se transmiten a través de la red "de forma general", sin prioridades, por lo que también pueden perderse. En una red ocupada, pueden causar una carga adicional en los enrutadores cuando la pérdida de un mensaje de error conduce a la generación de un nuevo mensaje, y así sucesivamente, hasta que el canal de comunicación agota su ancho de banda. Para evitar tales situaciones, la especificación define claramente las reglas mediante las cuales una computadora puede decidir si transmite su mensaje ICMP o no.

    Regla 1: La pérdida de un paquete de mensajes ICMP nunca genera un nuevo mensaje ICMP.

    Regla 2: Los mensajes de error nunca se generan en respuesta a datagramas IP con direcciones de difusión o multidifusión, para no provocar una sobrecarga completa de la red: una tormenta de difusión. (transmisión tormenta).

    Regla 3: si un datagrama fragmentado está dañado, el mensaje 1CMP se envía solo después del primer fragmento dañado (ya que la fuente seguirá repitiendo la transmisión del datagrama completo).

    La entrega de paquetes ICMP requiere dos niveles de encapsulación. Los paquetes ICMP se encapsulan dentro de un datagrama IP, que a su vez se transmite a través de cada red física en el campo de datos de la trama (Figura 5.29).

    Aunque los mensajes ICMP se encapsulan y se envían mediante IP, ICMP no se considera un protocolo de nivel superior: es

    una parte necesaria de la propiedad intelectual. El protocolo IP es necesario para transportar mensajes ICMP porque deben atravesar múltiples redes físicas para llegar a su destino final. Por lo tanto, no pueden transmitirse únicamente mediante transmisión física.

    Formato de paquete ICMP. Aunque cada mensaje ICMP tiene su propio formato, todos comienzan con los mismos tres campos: un campo "Tipo" de 8 bits que identifica el mensaje, un campo "Código" de 8 bits que proporciona información más específica sobre el tipo de mensaje. y un campo "" Suma de comprobación" de 16 bits (Fig. 5.30). Además, los mensajes de error ICMP siempre incluyen el encabezado y los primeros 64 bits de datos del datagrama que causó el error. Esto es necesario para que el nodo emisor pueda analizar con mayor precisión la causa del error, ya que todos los protocolos de capa de aplicación de la pila TCP/IP contienen la información más importante para el análisis en los primeros 64 bits de sus mensajes.

    Los programas de red reconocen los mensajes ICMP según dos criterios: el valor del campo "Tipo" y el valor del campo "Código". La suma de comprobación se calcula no sólo para el encabezado ICMP, sino también para todo el mensaje.

    Tabla 5.12. Tipos de mensajes ICMP

    mensajes

    Descripción

    Respuesta de eco

    Destino inalcanzable

    Fuente de extinción

    Redirección de ruta (Redirect)

    Solicitud de eco

    Información sobre enrutadores (Anuncio de enrutador)

    Solicitud de enrutador

    Tiempo excedido para un datagrama

    Problema de parámetros en un datagrama

    Solicitud de marca de tiempo

    Respuesta de marca de tiempo

    Solicitud de información (no válida)

    Responder a una solicitud de información (no válido)

    Solicitud de máscara de dirección

    Dirección Máscara Responder

    Los tipos de mensajes ICMP se presentan en la tabla. 5.12. Veamos cada uno de estos mensajes y su formato con más detalle.

    Probar la accesibilidad de un destino. Los protocolos TCP/IP proporcionan un medio para ayudar a los administradores o usuarios de la red a identificar problemas de red. Como una de las herramientas de depuración más utilizadas, el usuario utiliza un comando que genera mensajes de solicitud de eco y respuesta de eco ICMP. La computadora o enrutador envía un mensaje de solicitud de eco al destino especificado. Cualquier máquina que reciba una solicitud de eco genera una respuesta de eco y la devuelve al remitente original. Esta solicitud contiene un área de datos opcional; la respuesta contiene una copia de los datos enviados en la solicitud. Se puede utilizar una solicitud de eco y su respuesta asociada para probar la accesibilidad de un destino y su capacidad para responder a las solicitudes. Dado que tanto la solicitud de eco como la respuesta se envían en datagramas IP, la recepción exitosa de la respuesta indica la funcionalidad de las partes principales del sistema de transporte. Primero, el software IP de la máquina de origen realizó el enrutamiento del datagrama. En segundo lugar, los enrutadores intermedios entre el origen y el destino están operativos y enrutan correctamente los datagramas. En tercer lugar, la máquina receptora está funcionando (al menos está procesando interrupciones) y el software, tanto IP como ICMP, está realizando sus funciones. Y finalmente, las tablas de rutas en los routers son correctas en todo el camino de retorno.

    En muchos sistemas, el comando que los usuarios llaman para enviar una solicitud de eco ICMP se llama silbido. Las versiones avanzadas de este programa envían una serie de solicitudes de eco ICMP, aceptan respuestas e informan estadísticas de pérdida de datagramas. Permiten al usuario especificar la longitud de los datos que se enviarán y los intervalos de tiempo entre solicitudes. Las versiones menos sofisticadas simplemente envían una solicitud de eco ICMP y esperan una respuesta.

    Formato de mensaje de solicitud de eco y respuesta de eco. Las herramientas para probar la accesibilidad de los nodos de la red son un protocolo de eco muy simple que implica el intercambio de dos tipos de mensajes: solicitud de eco y respuesta de eco. Una computadora o enrutador envía una solicitud de eco a través de Internet, que especifica la dirección IP del host cuya accesibilidad desea verificar. El nodo que recibe la solicitud de eco genera y envía una respuesta de eco y devuelve un mensaje al nodo que envió la solicitud. La solicitud puede contener algunos datos que deben devolverse en la respuesta.

    Arroz. La Figura 5.30 ilustra el formato de los mensajes de solicitud de eco y respuesta de eco. El campo Datos opcionales tiene una longitud variable y contiene datos que deben devolverse al remitente. Una respuesta de eco siempre devuelve los mismos datos que recibió en la solicitud. El remitente utiliza los campos "Identificador" y "Número de serie" para verificar que las respuestas coincidan con las solicitudes. El valor del campo Tipo determina si el mensaje es una solicitud (8) o una respuesta (0).

    Mensajes sobre el destino inalcanzable. Cuando un enrutador no puede entregar un datagrama IP, envía un mensaje de "destino inalcanzable" al remitente original utilizando el formato que se muestra en la Figura 1. 5.31. El campo Código en el mensaje de destino inalcanzable contiene un número entero que describe el motivo. Los valores posibles se presentan en la tabla. 5.13.

    Tabla 5.13. Códigos de mensajes inalcanzables

    mensajes

    Explicaciones

    Red inalcanzable

    Computadora inalcanzable

    Protocolo inalcanzable

    Puerto inalcanzable

    Se necesita fragmentación

    Error de enrutamiento de origen

    Red de destino desconocida

    La computadora de destino es desconocida

    Computadora fuente aislada

    La interacción con la red de destino está prohibida administrativamente

    Lo mismo con la computadora de destino.

    Red inalcanzable debido a la clase de servicio

    No se puede acceder a la computadora debido a la clase de servicio

    Aunque el protocolo EP es un mecanismo de entrega poco confiable, los datagramas no se destruyen simplemente. Siempre que un error impide que un enrutador enrute o entregue un datagrama, el enrutador envía un mensaje de destino inalcanzable a su origen y luego descarta el datagrama. Los errores de red inalcanzable suelen ser el resultado de errores de enrutamiento; Los errores de computadora inalcanzables son consecuencia de errores de entrega.

    Es posible que no se pueda acceder a los destinos porque el hardware estuvo temporalmente inactivo, el remitente especificó una dirección de destino inexistente o (en casos excepcionales) el enrutador no tenía una ruta a la red de destino especificada. Cabe señalar que no todos estos errores pueden detectarse.

    Si un datagrama contiene una opción de enrutamiento de origen con una ruta no válida, esto puede generar un mensaje de error de enrutamiento de origen. Si una puerta de enlace necesita fragmentar un datagrama, pero el bit "no fragmentar" está establecido, entonces la puerta de enlace envía un mensaje "se requiere fragmentación" al origen.

    Control de flujo de datagramas y congestión de la red. Debido a que el protocolo IP no tiene conexión, los enrutadores no pueden reservar memoria ni recursos de comunicación antes de recibir datagramas. Como resultado, el tráfico puede hacer que los enrutadores se saturen, una situación llamada congestión. La congestión de la red se produce por dos motivos completamente diferentes. Primero, una computadora de alta velocidad puede generar tráfico más rápido de lo que la red puede transmitirlo. Por ejemplo, imagine una supercomputadora generando tráfico de red. Es posible que, en última instancia, los datagramas que envía deban viajar a través de una red de área amplia (WAN) lenta, aunque la propia supercomputadora puede estar conectada a una LAN de alta velocidad. Se producirá congestión en un enrutador conectado a la WAN porque los datagramas llegarán más rápido de lo que pueden enviarse. En segundo lugar, si una gran cantidad de computadoras necesitan enviar datagramas simultáneamente a través de un solo enrutador, ese enrutador puede congestionarse, aunque ninguna fuente única causa este problema.

    Cuando los datagramas llegan a una puerta de enlace o enrutador más rápido de lo que puede procesarlos, los pone temporalmente en cola en su memoria. Si estos datagramas crean un pequeño pico de carga al transmitir datagramas, entonces este almacenamiento en búfer resuelve el problema. Si el tráfico continúa llegando, eventualmente el enrutador o puerta de enlace ocupará toda la memoria de la cola y se verá obligado a eliminar los nuevos datagramas que lleguen. Luego, la máquina utiliza mensajes de supresión de origen para recuperarse del estado de desbordamiento.

    Un mensaje de supresión de fuente requiere que la fuente reduzca su tasa de datagramas. Normalmente, los enrutadores de desbordamiento envían un mensaje de supresión de origen por cada datagrama que se descarta, o utilizan técnicas de recuperación de desbordamiento más sofisticadas. El formato de supresión de fuente se muestra en la Fig. S.32. Además de los campos normales Tipo ICMP, Código y Suma de comprobación y un campo de 32 bits no utilizado, los mensajes de Supresión de origen tienen un campo que contiene

    Prefijo del datagrama. Al igual que con otros mensajes de error ICMP, el campo de prefijo de datagrama contiene el prefijo del datagrama que provocó esta solicitud de supresión de origen.

    No existe ningún mensaje ICMP que tenga el efecto opuesto a la supresión de fuente. En cambio, una computadora que ha recibido mensajes de supresión de fuente de alguna máquina reduce la velocidad a la que le envía datagramas. Esto sucede hasta que deja de recibir mensajes de supresión de origen. Luego aumenta gradualmente la velocidad hasta que vuelve a recibir mensajes de supresión de fuente.

    Redirección de rutas. Las tablas de enrutamiento para computadoras suelen ser estáticas, ya que las configura el administrador de la red, mientras que para los enrutadores son dinámicas y se generan automáticamente mediante protocolos de intercambio de información de enrutamiento. Por lo tanto, con el tiempo, cuando cambia la topología de la red, las tablas de enrutamiento de las computadoras pueden quedar obsoletas.

    Cuando la topología de la red cambia, las tablas de enrutamiento en el enrutador o la computadora pueden volverse incorrectas. El cambio puede ser temporal (por ejemplo, es necesario reemplazar el equipo defectuoso) o permanente (por ejemplo, cuando se incorpora una nueva red a la red). Los enrutadores intercambian periódicamente información de enrutamiento para monitorear los cambios en la red y cambiar las rutas de manera oportuna. Para ajustar el comportamiento de las computadoras, un enrutador puede usar un mensaje ICMP llamado "Redireccionamiento", que solicita un cambio de ruta en la tabla de enrutamiento de la computadora.

    El mecanismo de redirección ICMP permite que las computadoras contengan solo las direcciones IP de sus enrutadores locales en el archivo de configuración. Con la ayuda de mensajes de redireccionamiento, los enrutadores le darán a la computadora toda la información que necesita sobre a qué enrutador debe enviar paquetes para una red de destino en particular, es decir, los enrutadores le darán a la computadora la parte de sus tablas de enrutamiento que necesita.

    La ventaja del esquema de redireccionamiento ICMP es su simplicidad: permite que la computadora conozca inicialmente la dirección de un solo enrutador en la red local. Este enrutador inicial devuelve un mensaje de redireccionamiento ICMP cada vez que la computadora envía un datagrama para el cual existe una ruta mejor. La tabla de enrutamiento de la computadora seguirá siendo pequeña pero contendrá las rutas óptimas para todos los destinos utilizados.

    Sin embargo, los mensajes de redirección no resuelven completamente el problema de distribuir información de enrutamiento porque están destinados únicamente a la comunicación entre un enrutador y una computadora en la misma red física. Cada mensaje de redirección contiene un campo de dirección IP del enrutador de 32 bits y un campo de prefijo de datagrama, como se muestra en la Figura 1. 5.33.

    El campo Dirección de Internet del enrutador contiene la dirección IP del enrutador que la computadora debe usar al enviar un datagrama al destino especificado en el encabezado del datagrama. El campo Prefijo de datagrama contiene el encabezado IP y los siguientes 8 bytes del datagrama que generó este mensaje. Por lo tanto, la computadora que recibe el mensaje de redirección ICMP debe extraer la dirección de destino del datagrama del prefijo del datagrama. El campo Código en un mensaje de redirección ICMP especifica más específicamente cómo interpretar la dirección de destino, y los valores tienen el siguiente significado: 0 - Datagramas de redirección para esta red (obsoletos), 1 - Datagramas de redirección para esta computadora, 2 - Redirigir datagramas para este tipo de servicio y red, 3 - redirección de datagramas para este tipo de servicio y computadora. Recuerde que cada encabezado IP especifica el tipo de servicio utilizado en el enrutamiento. Normalmente, los enrutadores solo envían solicitudes de redireccionamiento ICMP a las computadoras y no a otros enrutadores.

    La modificación de rutas es una de las características más interesantes del protocolo ICMP; esencialmente, es uno de los mecanismos para optimizar automáticamente la entrega de paquetes y adaptar las redes TCP/IP a los cambios en la topología.

    Consultas de información del enrutador (tipos 9 y 10).

    La información de enrutamiento se encuentra en archivos de configuración locales y se carga desde allí cuando se inicia la computadora. Para garantizar que la tabla de enrutamiento no contenga datos obsoletos, se actualiza dinámicamente. El protocolo ICMP implementa una de las formas de actualizarlo.

    Hay 2 tipos de mensajes de enrutador:

      9 - información de enrutamiento;

      Registro de 10 enrutadores.

    Cada vez que se inicia la computadora, genera mensajes de registro. En respuesta, los enrutadores ubicados en la misma red local envían mensajes con información de enrutamiento que permiten configurar correctamente la tabla de enrutamiento.

    El formato del mensaje de información de enrutamiento (tipo 9) se describe en RFC 1256 (Figura 5.34).

    Un mensaje ICMP puede contener una descripción de varias direcciones, cuyo número se indica en el campo "Número de direcciones". El campo Tamaño de dirección especifica la longitud de la dirección en palabras de 32 bits. Actualmente, la "Longitud del campo de dirección" es siempre 2.

    El campo “Vida útil” especifica el intervalo de tiempo durante el cual la información aún no está desactualizada. Como regla general, esto es 1800 s.

    El campo Prioridad indica qué dirección debe usarse primero y con mayor intensidad. Normalmente, cuanto mayor sea el valor del campo, mayor será la prioridad. Los enrutadores transmiten mensajes de información a intervalos aleatorios. Generalmente después de 450...600 s. El campo Lifetime se puede utilizar para notificar que un enrutador determinado se está apagando. En este caso, el contenido de este campo se establece en 0.

    El formato del mensaje “Registro” (tipo 10) se muestra en la Fig. 5.35.

    La solicitud de "Registro" se envía 3 veces a intervalos de 3 s cuando el enrutador se inicia y continúa (si es necesario) hasta que el enrutador recibe un mensaje informativo con la información de enrutamiento requerida.

    Detección de caminos cíclicos o demasiado largos. Como se señaló anteriormente, para proteger Internet de sobrecargas, cada datagrama tiene un contador TTL (tiempo de vida). El enrutador disminuye el contador de tiempo de vida cada vez que procesa un datagrama y lo descarta cuando el contador llega a cero.

    Independientemente de si un enrutador ha descartado un datagrama porque el contador de tiempo de vida se ha borrado o porque los fragmentos de datagrama han expirado, envía un mensaje ICMP Datagram Timeout Exceeded a la fuente del datagrama del formato especificado (Figura 5.36).

    El campo "Código" explica el motivo del mensaje: 0: se ha excedido el valor del contador de vida útil; 1: se superó el tiempo de espera de los fragmentos durante el montaje.

    Mensajes sobre otras situaciones. Cuando un enrutador o computadora encuentra un problema que no encaja dentro de los mensajes de error ICMP descritos (por ejemplo, un encabezado de datagrama no válido) asociado con el datagrama, envía un mensaje de "Problema de parámetro de paquete" al remitente original. Esta situación puede deberse a argumentos de opción incorrectos. El mensaje, cuyo formato se muestra en la Fig. 5.37, se envía sólo si el datagrama debe descartarse debido a este error. Para localizar un error en un datagrama, el remitente utiliza el campo Puntero en el encabezado del mensaje para identificar el octeto en el datagrama que contiene el error.

    Sincronización de reloj y estimación del tiempo de transmisión. La pila de protocolos TCP/IP incluye varios protocolos que se pueden utilizar para la sincronización del reloj. La red utiliza varias tecnologías para ello. Una de las técnicas más simples se implementa mediante mensajes ICMP para obtener el valor del tiempo de otra máquina. La máquina solicitante envía un mensaje de solicitud de marca de tiempo ICMP a la otra máquina, esperando que la segunda máquina le devuelva el valor de hora actual. La máquina receptora devuelve una “Respuesta de marca de tiempo” a la máquina que emitió la solicitud. Arroz. La Figura 5.38 ilustra el formato de los mensajes de solicitud y respuesta de marca de tiempo. El campo Tipo identifica el mensaje como solicitud (13) o respuesta (14); Los campos Identificador y Número de serie utilizan la fuente para vincular respuestas y solicitudes. Los campos restantes especifican tiempos en milisegundos después de la medianoche, hora media de Greenwich. El campo "Marca de tiempo del remitente" está completo

    el remitente original antes de transmitir el paquete, el campo Marca de tiempo de recepción se completa inmediatamente después de recibir la solicitud y el campo Marca de tiempo de transmisión se completa justo antes de enviar la respuesta.

    Las computadoras utilizan estos tres campos de marca de tiempo para determinar el tiempo de transmisión esperado entre ellas y sincronizar sus relojes. Debido a que la respuesta incluye un campo Marca de tiempo del remitente, la computadora puede calcular el tiempo total requerido para transmitir la solicitud a su destino, generar una respuesta y devolver la respuesta. Dado que la respuesta contiene tanto la hora en que llegó la solicitud a la máquina remota como la hora en que se emitió la respuesta, la computadora puede calcular el tiempo de transmisión a través de la red y, en función de él, la diferencia entre su propio reloj y el remoto. En la práctica, puede resultar difícil estimar con precisión los tiempos de transmisión de la red, ya que GR es una tecnología de entrega no garantizada, los datagramas pueden perderse, retrasarse o entregarse fuera de orden, lo que limita la utilidad de los mensajes de marca de tiempo ICMP.

    Mensajes de solicitud y respuesta de información. Los mensajes de solicitud de información y respuesta de información ICMP (tipos 15 y 16) ahora están obsoletos y en desuso. Estaban destinados a permitir que las computadoras descubrieran sus direcciones IP cuando se iniciaban. Actualmente, se utilizan los protocolos RARP y BOOTP para determinar direcciones.

    Obtención de una máscara de subred. Para utilizar el direccionamiento de subred, una computadora necesita saber qué bits de su dirección IP de 32 bits corresponden a la red física y qué bits corresponden a la dirección de la computadora. La información necesaria para interpretar la dirección es un valor de 32 bits llamado máscara de subred. Para averiguar la máscara de subred utilizada en una red local, una máquina puede enviar un mensaje de solicitud de máscara de dirección al enrutador y recibir una respuesta de máscara de dirección. La máquina que realiza la solicitud puede enviar el mensaje directamente si conoce la dirección del enrutador o enviar un mensaje de difusión si no la conoce. Arroz. La figura 5.39 ilustra el formato de los mensajes de máscara de dirección. El campo Tipo en el mensaje de máscara de dirección indica si el mensaje es una solicitud (17) o una respuesta (18). La respuesta contiene la máscara de dirección de subred en el campo Máscara de dirección. Normalmente, los campos Identificador y Número de serie permiten que la máquina asocie la respuesta con la solicitud.



    
    Arriba