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.
Réponses:
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é.
RFC 2328, A.3.2 Le paquet Hello
Le
Network Mask
champ 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.
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.
la source
255.0.255.0
masque?255.0.255.0
n'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.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:
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.
la source