Comment le préfixe IP est-il transmis au routeur?

8

Tout d'abord quelques informations générales sur ce que je sais déjà:

Une adresse IPv4 est une adresse 32 bits qui identifie un nœud dans un réseau. Une adresse IP aura un préfixe IP qui détermine la partie "réseau" de l'adresse IP et le reste déterminera "l'hôte".

Un exemple:

128.208.0.0/24 me dira que les 24 premiers bits sont la partie "Réseau" de l'adresse IP, et les 8 bits restants seront pour l'hôte dans le réseau donné. Aussi, 128.208.0.0. sera l'adresse IP la plus basse disponible sur le réseau donné.

Maintenant, Tannenbaum déclare dans son livre:

Étant donné que la longueur du préfixe ne peut pas être déduite de l'adresse IP seule, les protocoles de routage doivent transporter les préfixes aux routeurs. Parfois, les préfixes sont simplement décrits par leur longueur, comme dans un '' / 16 '' qui se prononce '' barre oblique 16. '' La longueur du préfixe correspond à un masque binaire de 1 dans la partie réseau. Lorsqu'il est écrit de cette façon, il est appelé masque de sous-réseau. Il peut être ANDé avec l'adresse IP pour extraire uniquement la partie réseau. Pour notre exemple, le masque de sous-réseau est 255.255.255.0.

Mes questions sont donc:

1) Comment les protocoles de routage portent-ils les préfixes? Où est stockée la partie "barre oblique"?

2) Qu'est-ce que cela signifie:

Il peut être associé à l'adresse IP pour extraire uniquement la partie réseau. Pour notre exemple, le masque de sous-réseau est 255.255.255.0.

Merci.

Koray Tugay
la source
Le votant peut-il préciser pourquoi cette question est rejetée?
Koray Tugay
Je soupçonne que la communauté exprime un certain vote négatif parce que votre question est de niveau introductif, et ce site est destiné aux professionnels. En revanche, les gens ne votent pas de près.
Craig Constantine
Désolé, l'anglais n'est pas ma langue maternelle. Qu'est-ce que cela signifie: "Du côté positif, les gens vous votent de près."
Koray Tugay
Je voulais dire: les gens ne votent pas pour clore votre question. Donc, certaines personnes ne l'aiment pas (baisse des électeurs), mais ce n'est pas si mal que les gens votent pour la fermer.
Craig Constantine
@CraigConstantine J'ai compris merci .. Oui, vous avez raison ..
Koray Tugay

Réponses:

8
  1. Comment les protocoles de routage portent-ils les préfixes? Où est stockée la partie "barre oblique"?

Je répondrai à cela aussi directement que possible avec OSPF. Ci-dessous, un paquet Hello de type 1 envoyé à toutes les interfaces pour former une contiguïté.

    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 Le paquet Hello

Le Network Maskchamp est rempli avec le masque de sous-réseau que vous utilisez avec cette interface.

La notation CIDR n'est rien de plus qu'une version plus courte de votre masque de sous-réseau par souci de concision. Et d'ailleurs, les masques de sous-réseau ne sont qu'une version condensée des positions de bits. Imaginez que vous deviez écrire en décimal chaque fois que vous vouliez configurer un port.

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

Tout revient à la même chose à la fin. Il est donc logique de disposer de ces raccourcis pour représenter les mêmes données.

Ryan Foley
la source
Le masque de réseau entier est envoyé? Ne serait-il pas plus efficace d'utiliser 5 bits (seuls 1 à 31 sont nécessaires) indiquant le nombre de bits du réseau? Y a-t-il vraiment un avantage à pouvoir définir un 255.0.255.0masque?
Cruncher
@Cruncher 255.0.255.0n'est pas une possibilité. Seuls les masques génériques peuvent fonctionner avec des bits non contigus comme celui-ci. Le RFC ne décrit pas pourquoi il envoie le masque de réseau entier avec les paquets OSPF.
Ryan Foley
S'agit-il d'un paquet DHCP?
Koray Tugay
Non, l'exemple ci-dessus est un paquet Hello de type 1 OSPF.
Ryan Foley
Les masques génériques @Cruncher ne sont utilisés que pour la liste d'accès et le NAT, il s'agit pratiquement d'un masque de sous-réseau inversé.
chris
6

Cela dépend du protocole de routage. Les anciens protocoles comme RIP v1 supposent un masque de classe et n'annoncent pas de masque, mais les nouveaux comme RIP v2, OSPF, ISIS, BGP, etc. le font.

La réponse à la deuxième partie de votre question: Pour déterminer la partie réseau de l'adresse ou pour tester si une adresse donnée fait partie d'un réseau particulier, vous effectuez un ET logique au niveau du bit avec le masque de sous-réseau.

Par exemple, pour obtenir l'adresse réseau de 172.16.24.5/24, vous ET chaque bit de l'adresse 32 bits et le masque, comme ceci:

10101100 00010000 00011000 00000101 <- 172.16.24.5

11111111 11111111 11111111 00000000 <- 255.255.255.0


10101100 00010000 00011000 00000000 <- Résultat: 172.16.24.0

Le résultat est la partie réseau de l'adresse IP (également appelée numéro de réseau). C'est exactement ce que font votre routeur et votre PC pour déterminer le réseau à utiliser pour transmettre le paquet.

Ron Trunk
la source
Merci pour la réponse mais quelle est la particularité de 255.255.255.0?
Koray Tugay
1
Rien de vraiment, sinon parce que la division entre le réseau et le masque d'hôte tombe sur la frontière "point", il est facile à utiliser (le dernier chiffre décimal est toujours 0). Il est donc très couramment utilisé.
Ron Trunk
Est-ce que cela suppose que l'IP a un préfixe 24 bits?
Koray Tugay
Ce que je ne comprends pas, c'est que vous avez donné un exemple: 172.16.24.5/24 et que vous connaissez déjà la longueur du préfixe. Mais comment le routeur connaît-il le préfixe? S'il ne connaît pas le préfixe, comment saura-t-il qu'il doit utiliser 255.255.255.0?
Koray Tugay
Les annonces de routeur pour chaque route portent le préfixe (pour les protocoles modernes).
Ron Trunk