Aprendizaje de TCP / IP "IP (Protocolo de Internet)"

IP es el protocolo más básico del conjunto de protocolos TCP / IP. Todos los datos TCP, UDP, ICMP e IGMP se transmiten en formato de datagrama IP.

  • No confiable significa que no puede garantizar que el datagrama IP pueda llegar con éxito al destino. IP solo proporciona el mejor servicio de transmisión. Si ocurre un error durante la transmisión, IP descartará el paquete y enviará un mensaje ICMP a la fuente. La capa superior debe proporcionar la fiabilidad requerida.
  • El término sin conexión significa que IP no mantiene ninguna información de estado sobre los datagramas posteriores. El procesamiento de cada datagrama es independiente entre sí. Esto también muestra que los datagramas IP se pueden recibir desordenados.

Encabezado IP

Formato de datagrama IP y campos en el encabezado

Aprendizaje de TCP / IP "IP (Protocolo de Internet)"
El valor de 32 bits de 4 bytes se transmite en el siguiente orden: primero, 0 ~ 7 bits, luego 8 ~ 15 bits, luego 16 ~ 23 bits y finalmente 24-31 bits. Este orden de transmisión se denomina orden de bytes big endian. Debido a que todos los enteros binarios en el encabezado TCP / IP deben estar en este orden cuando se transmiten a través de la red, también se denomina orden de bytes de red.

  • Versión: 4
  • Longitud del encabezado: ocupa 4 dígitos, el valor decimal más grande que se puede representar es 15. Tenga en cuenta que la unidad del número representado por este campo es una longitud de palabra de 32 bits (una longitud de palabra de 32 bits es de 4 bytes). Por lo tanto, cuando la longitud del encabezado IP es 1111 (es decir, 15 en decimal), la longitud del encabezado alcanza 60 byte. Cuando la longitud del encabezado del paquete IP no es un múltiplo entero de 4 bytes, debe llenarse con el último campo de relleno. Por lo tanto, la parte de datos siempre comienza en un múltiplo entero de 4 bytes, lo que es más conveniente cuando se implementa el protocolo IP. La desventaja de limitar la longitud del encabezado a 60 bytes es que a veces puede que no sea suficiente. Pero esto se hace con la esperanza de que los usuarios minimicen los gastos generales. La longitud del encabezado más comúnmente utilizada es de 20 bytes (es decir, la longitud del encabezado es 0101) y no se utilizan opciones en este momento.
  • Tipo de servicio (TOS): el campo incluye un subcampo de prioridad de 3 bits (ahora ignorado), un subcampo TOS de 4 bits y 1 bit no utilizado, pero debe establecerse en 0. Los TOS de 4 bits representan respectivamente: retardo mínimo , Máximo rendimiento, máxima fiabilidad y mínimo coste. Solo se puede configurar uno de los 4 bits. Si los 4 bits son 0, significa servicio normal. En 1998, el IETF cambió el nombre de este campo a Servicios diferenciados (DS). Este campo solo funciona cuando se utilizan servicios diferenciados.

Valor recomendado del campo de tipo de servicio:

Aprendizaje de TCP / IP "IP (Protocolo de Internet)"

  • Longitud total: se refiere a la longitud de todo el datagrama IP, en bytes. El campo de longitud total es de 16 bits, por lo que la longitud máxima del datagrama es 2 ^ 16-1 = 65535 bytes. Cada capa de enlace de datos debajo de la capa IP tiene su propio formato de trama, que incluye la longitud máxima del campo de datos en el formato de trama, que se denomina Unidad de transferencia máxima (MTU). Cuando un datagrama se encapsula en una trama de capa de enlace, la longitud total del datagrama (es decir, el encabezado más la parte de datos) no debe exceder el valor de MTU de la capa de enlace de datos a continuación. El campo de longitud total es un contenido necesario en el encabezado IP, porque algunos enlaces de datos (como Ethernet) necesitan completar algunos datos para lograr la longitud mínima. Aunque la longitud mínima de trama de Ethernet es de 46 bytes, los datos IP pueden ser más cortos. Si no hay un campo de longitud total, la capa IP no sabe cuánto de los 46 bytes es el contenido del datagrama IP.
  • Identificación (identificación): ocupa 16 dígitos. El software de IP mantiene un contador en la memoria, cada vez que se genera un datagrama, el contador se incrementa en 1 y este valor se asigna al campo de identificación. Pero esta "identificación" no es un número de secuencia, porque IP es un servicio sin conexión y no hay problema de recepción secuencial de datagramas. Cuando un datagrama debe estar fragmentado porque su longitud excede la MTU de la red, el valor de este campo de identificación se copia al campo de identificación de todos los datagramas. El valor del mismo campo de identificación permite que cada datagrama después de la fragmentación sea finalmente reensamblado correctamente en el datagrama original.
  • Bandera (bandera): ocupa 3 bits, pero solo 2 bits son significativos.

    • El bit más bajo en el campo de bandera se marca como MF (más fragmento). MF = 1 significa que detrás hay datagramas "fragmentados". MF = 0 significa que este es el último de varios fragmentos de datagrama.
    • Un bit en el medio del campo de bandera se marca como DF (No fragmentar), lo que significa que "no se puede fragmentar". La fragmentación solo se permite cuando DF = 0.
  • Offset de película: 13 bits. El desplazamiento de corte indica la posición relativa de un corte en el grupo original después de que se corte el grupo más largo. Es decir, en relación con el comienzo del campo de datos del usuario, dónde comienza la pieza. El desplazamiento de chip utiliza 8 bytes como unidad de desplazamiento. Esto significa que, a excepción del último fragmento, la longitud de cada fragmento debe ser un múltiplo entero de 8 bytes (64 bits).
  • Tiempo de vida (TTL): ocupa 8 bits. La abreviatura en inglés comúnmente utilizada para el campo de tiempo de vida es TTL (Time To Live), que indica la vida útil del datagrama en la red. Este campo lo establece la fuente del datagrama. Su propósito es evitar que los datagramas que no se pueden entregar circulan por Internet de manera indefinida, consumiendo así recursos de la red en vano. El diseño original utiliza segundos como unidad de TTL. Cada vez que pasa a través de un enrutador, el TTL se resta del período de tiempo que el enrutador consume el datagrama. Si el tiempo consumido por el datagrama en el enrutador es inferior a 1 segundo, el valor TTL se reduce en 1. Cuando el valor TTL es 0, el datagrama se descarta. Más tarde, la función del campo TTL se cambió a "límite de salto" (pero el nombre permanece sin cambios). El enrutador reduce el valor TTL en 1 antes de enviar el datagrama Si el valor TTL se reduce a cero, el datagrama se descarta y ya no se envía. Por tanto, la unidad de TTL ya no son segundos, sino saltos. El significado de TTL es especificar como máximo cuántos enrutadores puede atravesar un datagrama en la red. Obviamente, el valor máximo del enrutador que pasa un datagrama en la red es 255. Si el valor inicial de TTL se establece en 1, significa que el datagrama solo se puede transmitir en la red de área local.
  • Protocolo: Ocupa 8 bits, el campo de protocolo indica qué protocolo se usa para los datos transportados en este datagrama, de modo que la capa IP del host de destino sepa qué procedimiento de procesamiento debe entregarse en la parte de datos.
  • Primera suma de comprobación: 16 lugares. Este campo solo verifica el encabezado del datagrama, pero no incluye la parte de datos. Esto se debe a que cada vez que un datagrama pasa a través de un enrutador, el enrutador debe volver a calcular la suma de comprobación del encabezado (algunos campos, como el tiempo de vida, las banderas, el desplazamiento del segmento, etc., pueden cambiar). No verificar la parte de datos puede reducir la carga de trabajo del cálculo. ICMP, IGMP, UDP y TCP contienen encabezados de cobertura simultáneos y códigos de suma de comprobación de datos en sus respectivos encabezados.

  Para calcular la suma de comprobación de IP de un datagrama, primero establezca el campo de suma de comprobación en 0. Luego, realice la suma del complemento binario para cada 16 bits en el encabezado (el encabezado completo se considera una cadena de palabras de 16 bits) y el resultado se almacena en el campo de suma de comprobación. Cuando se recibe un datagrama IP, también se agrega el complemento binario de cada 16 bits en el encabezado. Dado que el receptor incluye la suma de control en el encabezado del remitente en el proceso de cálculo, si no hay ningún error en el encabezado durante la transmisión, el resultado del cálculo del receptor debe ser todos unos. Si el resultado no es todo 1 (es decir, la suma de comprobación es incorrecta), entonces IP descarta el datagrama recibido. Pero no se genera ningún mensaje de error, y la capa superior encuentra el datagrama perdido y lo retransmite.

  • Dirección de origen: 32 bits.
  • Dirección de destino: 32 bits.
  • Opcional: el campo de opción se utiliza para respaldar la resolución de problemas, la medición y las medidas de seguridad, y el contenido es muy rico. La longitud de este campo es variable, desde 1 byte hasta 40 bytes, según el elemento seleccionado. Algunos elementos de opción solo necesitan 1 byte y solo incluye 1 byte de código de opción. Pero hay algunas opciones que requieren varios bytes. Estas opciones se unen una a una sin un separador en el medio. Finalmente, se usa un campo de relleno de todos los 0 para completar un múltiplo entero de 4 bytes. Agregar la parte variable del encabezado es para aumentar la función del datagrama IP, pero también hace que la longitud del encabezado del datagrama IP sea variable. Esto aumenta la sobrecarga de cada enrutador para procesar datagramas. De hecho, estas opciones rara vez se utilizan. La nueva versión de IP IPv6 fija la longitud del encabezado del datagrama IP. Estas opciones se definen de la siguiente manera (estas opciones se usan con poca frecuencia y no todos los hosts y enrutadores admiten estas opciones):
    • Restricciones de seguridad y manejo (para uso militar)
    • Registre la ruta (deje que cada enrutador escriba su dirección IP)
    • Sello de tiempo (deje que cada enrutador escriba la dirección IP y la hora local de cada enrutador por el que pasa el datagrama IP)
    • Ruta de origen suelta (especifique una serie de direcciones IP por las que se deben pasar los datagramas)
    • Ruta de origen estricta (Ruta de origen estricta) (similar a la ruta de origen suelta, pero solo se requiere pasar a través de estas direcciones especificadas, no otras direcciones)

Enrutamiento IP

IP puede recibir y enviar datagramas (es decir, datagramas generados localmente) desde TCP, UDP, ICMP e IGMP, o recibir y enviar datagramas (datagramas que se reenviarán) desde una interfaz de red. La capa IP tiene una tabla de enrutamiento en la memoria. Cuando recibe un datagrama y lo envía, busca en la tabla una vez. Cuando el datagrama proviene de una determinada interfaz de red, IP primero verifica si la dirección IP de destino es una de las direcciones IP locales o una dirección de transmisión IP.

  • Si este es el caso, el datagrama se envía al módulo de protocolo especificado por el campo de protocolo de encabezado IP para su procesamiento.
  • Si el destino del datagrama no son estas direcciones, entonces:
    • Si la capa IP está configurada como una función de enrutador, entonces el datagrama se reenvía;
    • Caída de paquetes (no configurado como función de enrutador).
Información contenida en cada elemento de la tabla de enrutamiento:
  • Dirección IP de destino. Puede ser una dirección de host completa o una dirección de red, que se especifica mediante el campo de marca en la entrada. La dirección de host tiene un número de host distinto de cero para especificar un host específico, y el número de host en la dirección de red es 0 para especificar todos los hosts de la red (como Ethernet, Token Ring).
  • La dirección IP del enrutador del siguiente salto o la dirección IP de una red conectada directamente. El enrutador de próxima parada se refiere a un enrutador en una red conectada directamente a través del cual se pueden reenviar los datagramas. El enrutador de la siguiente parada no es el destino final, pero puede reenviar el datagrama entregado al destino final.
  • Firmar. Uno de los indicadores indica si la dirección IP de destino es una dirección de red o una dirección de host, y el otro indicador indica si el enrutador de próxima parada es un enrutador de próxima parada real o una interfaz conectada directamente.
  • Especifique una interfaz de red para la transmisión de datagramas.
El enrutamiento IP completa principalmente las siguientes funciones:

 1) Busque en la tabla de enrutamiento para encontrar una entrada que pueda coincidir exactamente con la dirección IP de destino (el número de red y el número de host deben coincidir). Si se encuentra, el mensaje se envía al siguiente enrutador o interfaz de red conectada directamente especificada por la entrada (según el valor del campo de marca).
 2) Busque en la tabla de enrutamiento para encontrar una entrada que pueda coincidir con el número de red de destino. Si se encuentra, el mensaje se envía al siguiente enrutador o interfaz de red conectada directamente especificada por la entrada (según el valor del campo de marca). Todos los hosts de la red de destino se pueden manejar a través de esta entrada.
 3) Busque en la tabla de enrutamiento para encontrar la entrada marcada como "predeterminada". Si se encuentra, el mensaje se envía al siguiente enrutador designado por la entrada.
 Si ninguno de los pasos anteriores tiene éxito, entonces el datagrama no se puede transmitir. Si el datagrama que no se puede transmitir proviene de la máquina local, generalmente devolverá un error de "host inaccesible" o "red inaccesible" a la aplicación que generó el datagrama.


Direccionamiento de subred

Direccionamiento de subred


Máscara de subred

Máscara de subred


Dirección IP para circunstancias especiales

Aprendizaje de TCP / IP "IP (Protocolo de Internet)"
Los dos primeros elementos, el número de red es 0, si el host utiliza el protocolo BOOTP para determinar la dirección IP de la máquina, solo puede aparecer como la dirección de origen en el proceso de inicialización.


comando ifconfig

ifconfig


comando netstat

netstat


El futuro de la propiedad intelectual

Hay tres problemas principales con la propiedad intelectual, que son el resultado del rápido crecimiento de Internet en los últimos años.
 1) Se han asignado más de la mitad de las direcciones de clase B. Según estimaciones, se agotaron alrededor de 1995.
 2) Desde la perspectiva del crecimiento a largo plazo de Internet, las direcciones IP de 32 bits generalmente no son suficientes.
 3) La estructura de enrutamiento actual no tiene estructura jerárquica y pertenece a una estructura plana, cada red necesita una entrada en la tabla de enrutamiento. A medida que aumenta el número de redes, un sitio web con varias redes debe asignar varias direcciones de clase C en lugar de una dirección de clase B, por lo que la escala de la tabla de enrutamiento seguirá creciendo.

Para la nueva versión de IP, la IP de próxima generación, a menudo llamada IPng, hay cuatro sugerencias principales.

 1) .SIP, protocolo de Internet simple. Propone una propuesta de modificación mínima para la IP actual, utilizando una dirección de 64 bits y un formato de encabezado diferente (los primeros 4 bits del encabezado aún contienen el número de versión del protocolo, y su valor ya no es 4).
 2) PIP. Esta propuesta también utiliza direcciones jerárquicas, de longitud variable y más grandes, y el formato de encabezado también es diferente.
 3) TUBA, que significa "TCP y UDP con dirección más grande", se basa en CLNP (Protocolo de red sin conexión) de OSI, un protocolo OSI similar a IP. Proporciona un espacio de direcciones mucho más grande: longitud variable, hasta 20 bytes.
 4) TP / IX. Aunque SIP usa una dirección de 64 bits, también cambia los formatos de TCP y UDP: ambos protocolos son números de puerto de 32 bits, números de serie de 64 bits, números de confirmación de 64 bits y ventanas de TCP de 32 bits. .


Supongo que te gusta

Origin blog.51cto.com/14033577/2532477
Recomendado
Clasificación