¿Cómo se pasa el prefijo IP al enrutador?

8

Primero, algunos antecedentes sobre lo que ya sé:

Una dirección IPv4 es una dirección de 32 bits que identifica un nodo en una red. Una dirección IP tendrá un prefijo IP que determina la parte de "Red" de la dirección IP y el resto determinará el "Host".

Un ejemplo:

128.208.0.0/24 me dirá que los primeros 24 bits son la parte "Red" de la dirección IP, y los 8 bits restantes serán para el host en la Red dada. Además, 128.208.0.0. será la dirección IP más baja que esté disponible en la red dada.

Ahora Tannenbaum afirma en su libro:

Dado que la longitud del prefijo no se puede inferir solo de la dirección IP, los protocolos de enrutamiento deben llevar los prefijos a los enrutadores. A veces, los prefijos se describen simplemente por su longitud, como en un '' / 16 '' que se pronuncia '' barra 16 ''. La longitud del prefijo corresponde a una máscara binaria de 1s en la porción de red. Cuando se escribe de esta manera, se llama máscara de subred. Se puede AND con la dirección IP para extraer solo la parte de la red. Para nuestro ejemplo, la máscara de subred es 255.255.255.0.

Entonces mis preguntas son:

1) ¿Cómo llevan los protocolos de enrutamiento los prefijos? ¿Dónde se almacena la parte "barra oblicua"?

2) ¿Qué significa esto en absoluto?

Se puede AND con la dirección IP para extraer solo la parte de la red. Para nuestro ejemplo, la máscara de subred es 255.255.255.0.

Gracias.

Koray Tugay
fuente
¿Puede el votante aclarar por qué esta pregunta se rechaza?
Koray Tugay
Sospecho que la comunidad está expresando un voto negativo porque su pregunta es introductoria y este sitio está dirigido a profesionales. Sin embargo, por el lado positivo, la gente no te vota de cerca.
Craig Constantine
Lo siento, el inglés no es mi lengua materna. ¿Qué significa esto: "Sin embargo, al alza, la gente te vota a ti".
Koray Tugay
Quise decir: la gente no vota para cerrar tu pregunta. Por lo tanto, a algunas personas no les gusta (abajo los votantes), pero no es tan malo que las personas voten para cerrarlo.
Craig Constantine
@CraigConstantine Lo tengo, gracias ... Sí, tienes razón ...
Koray Tugay

Respuestas:

8
  1. ¿Cómo llevan los protocolos de enrutamiento los prefijos? ¿Dónde se almacena la parte "barra oblicua"?

Contestaré esto lo más directo posible con OSPF. A continuación se muestra un paquete de saludo Tipo 1 enviado todas las interfaces para formar una adyacencia.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       1       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Network Mask                           |    <------
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         HelloInterval         |    Options    |    Rtr Pri    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     RouterDeadInterval                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Designated Router                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Backup Designated Router                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Neighbor                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |

RFC 2328, A.3.2 El paquete Hello

El Network Maskcampo se completa con la máscara de subred que está utilizando con esa interfaz.

La notación CIDR no es más que una versión más corta de su máscara de subred en aras de la brevedad. Y para el caso, las máscaras de subred son solo una versión condensada de las posiciones de bits. Imagine tener que escribir en decimal cada vez que desea configurar un puerto.

11111111.11111111.11111111.00000000    <---- This would be painstaking
255.255.255.0                          <---- Better, but not optimal
0xffffff00                             <---- Shorter still, but still not optimal
/24                                    <---- Best-case scenario

Todo sale a la misma cosa al final. Por lo tanto, tener estas formas abreviadas de representar los mismos datos simplemente tiene sentido.

Ryan Foley
fuente
¿Se envía toda la máscara de red? ¿No sería más eficiente usar 5 bits (solo se necesitan de 1 a 31) que indiquen cuántos bits hay en la red? ¿Existe realmente alguna ventaja en poder definir una 255.0.255.0máscara?
Cruncher
@Cruncher 255.0.255.0no es una posibilidad. Solo las máscaras comodín pueden funcionar con bits no contiguos como este. El RFC no describe por qué envía la máscara de red completa con los paquetes OSPF.
Ryan Foley
¿Es este un paquete DHCP?
Koray Tugay
No, el ejemplo anterior es un paquete de saludo OSPF tipo 1.
Ryan Foley
La máscara de comodín @Cruncher solo se usa para la lista de acceso y NATing, es prácticamente una máscara de subred invertida.
Chris
6

Depende del protocolo de enrutamiento. Los protocolos antiguos como RIP v1 asumen una máscara con clase y no anuncian una máscara, pero los más nuevos como RIP v2, OSPF, ISIS, BGP, etc.

La respuesta a la segunda parte de su pregunta: para determinar la parte de red de la dirección, o para probar si una dirección dada es parte de una red en particular, realiza un AND lógico a nivel de bits con la máscara de subred.

Por ejemplo, para obtener la dirección de red 172.16.24.5/24, usted Y cada bit de la dirección de 32 bits y la Máscara, de esta manera:

10101100 00010000 00011000 00000101 <- 172.16.24.5

11111111 11111111 11111111 00000000 <- 255.255.255.0


10101100 00010000 00011000 00000000 <- Resultado: 172.16.24.0

El resultado es la porción de red de la dirección IP (también llamada número de red). Esto es exactamente lo que hace su enrutador y su PC para determinar qué red usar para transmitir el paquete.

Ron Trunk
fuente
Gracias por la respuesta, pero ¿qué tiene de especial 255.255.255.0?
Koray Tugay
1
En realidad, nada, aparte de que la división entre la red y la máscara de host se encuentra en el límite del "punto", es fácil de usar (el último dígito decimal siempre es 0). Por lo tanto, se usa con mucha frecuencia.
Ron Trunk
¿Asume que la IP tiene un prefijo de 24 bits?
Koray Tugay
Lo que no entiendo es que ha dado un ejemplo: 172.16.24.5/24 y ya conoce la longitud del prefijo. Pero, ¿cómo sabe el enrutador el prefijo? Si no conoce el prefijo, ¿cómo sabrá que debe usar 255.255.255.0?
Koray Tugay
Los anuncios de enrutador para cada ruta llevan el prefijo (para protocolos modernos).
Ron Trunk