Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
070tcpip:020_adresse_ip [le 17/06/2011 à 09:10] – [Quelle est la partie de l'adresse qui concerne l'hôte (HostID)?] prof | 070tcpip:020_adresse_ip [le 11/12/2024 à 15:47] (Version actuelle) – supprimée prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== L' | ||
- | {{keywords> | ||
- | |||
- | ===== Avant de commencer ===== | ||
- | |||
- | Il est bon de savoir qu'il existe une adresse « MAC » (Media Access Control), écrite normalement en « dur » dans la ROM de l' | ||
- | |||
- | ===== Définition d'une adresse IP ===== | ||
- | |||
- | **Internet Protocol** | ||
- | |||
- | Il existe déjà sur le Net une multitude de pages qui traitent du sujet, ça ne fait rien, mettons en une de plus... | ||
- | |||
- | Dans sa version 4, IP définit une adresse sur 4 octets. Une partie définit l' | ||
- | |||
- | ==== Les classes d' | ||
- | |||
- | Bien que cette façon de faire soit désormais obsolète (nous verrons plus loin pourquoi), il reste intéressant de l' | ||
- | |||
- | === Topologie === | ||
- | |||
- | Hormis la classe D multicast, destinée à faire de la diffusion d' | ||
- | |||
- | {{ : | ||
- | Comme vous le voyez, la classe A permet de créer peu de réseaux, mais avec beaucoup d' | ||
- | |||
- | === Étendue de chaque classe === | ||
- | |||
- | Comment fait-on pour savoir à quelle classe appartient une adresse ? Il y a deux méthodes pour le savoir: | ||
- | |||
- | * La triviale, qui consiste à apprendre par cœur le tableau. | ||
- | * La subtile, qui consiste à retenir la règle, qui est logique. | ||
- | |||
- | Voici donc la règle: | ||
- | |||
- | * La classe est définie par les bits les plus lourds (les plus à gauche) | ||
- | * Le bit le moins signifiant pour la classe est toujours un 0 | ||
- | * Les autres sont tous à 1 | ||
- | * La classe A est signalée par un seul bit, donc obligatoirement un 0 | ||
- | * La classe B par deux bits, donc 1 0 | ||
- | * La classe C par trois bits, donc 1 1 0 | ||
- | * La classe D (multicast) par 4 bits donc 1 1 1 0 | ||
- | |||
- | {{tcpip: | ||
- | |||
- | Il existe même une classe E, dont les bits les plus lourds sont 11110, qui est « réservée à un usage ultérieur ». | ||
- | |||
- | Si l'on arrive à retenir la définition ou son image, ça devient facile de retrouver l' | ||
- | |||
- | ^ Class ^ Première adresse | ||
- | | A | 0.0.0.1 | ||
- | | B | 128.0.0.1 | ||
- | | C | 192.0.0.1 | ||
- | | D | 224.0.0.1 | ||
- | |||
- | A ce stade, nous pourrions penser qu'il peut y avoir, par exemple, 128 réseaux de classe A, avec la possibilité d' | ||
- | |||
- | Il y a déjà quelques adresses que l'on ne peut pas attribuer à un hôte: | ||
- | |||
- | * L' | ||
- | * L' | ||
- | |||
- | === Les réseaux privés === | ||
- | |||
- | Et ce n'est pas tout. Nous savons qu'une adresse Internet doit être unique dans un inter réseau. Cette considération, | ||
- | |||
- | Pour permettre aux entreprises de construire leur réseau privé, il a donc été réservé dans chaque classe A, B et C des adresses de réseaux qui ne sont jamais attribuées sur l' | ||
- | |||
- | Ces réseaux privés sont: | ||
- | |||
- | ^ Classe | ||
- | | | ||
- | | | ||
- | | | ||
- | | | ||
- | | | ||
- | | //(1) L' | ||
- | | //(2) Système « zeroconf » qui permet une allocation dynamique d' | ||
- | |||
- | ==== Le masque de sous réseau ==== | ||
- | |||
- | Le masque de sous-réseau a une importance que peu d' | ||
- | |||
- | * Soit l' | ||
- | * Soit l' | ||
- | |||
- | Les masques de sous-réseau par défaut sont, suivant les classes d' | ||
- | |||
- | ^ Classe | ||
- | | A | 255.0.0.0 | ||
- | | B | 255.255.0.0 | ||
- | | C | 255.255.255.0 | ||
- | |||
- | Par défaut, un masque de sous réseau englobe donc la totalité de la classe. | ||
- | |||
- | Mais pourquoi « sous réseau »? | ||
- | |||
- | Le principe en est simple: Imaginons que nous disposions d'une classe B. Nous disposons donc de deux octets pour les adresses d' | ||
- | |||
- | Si par exemple, bien qu' | ||
- | |||
- | Deux hôtes, bien qu' | ||
- | |||
- | ==== Le modèle CIDR ==== | ||
- | |||
- | Cette façon de faire aboutit malheureusement à un formidable gaspillage d' | ||
- | |||
- | Avec ce modèle (Classless Inter-Domain Routing), la notion de classe n' | ||
- | |||
- | L'IANA distribue donc désormais des blocs d' | ||
- | |||
- | adresse.de.base/ | ||
- | |||
- | A titre d' | ||
- | |||
- | 192.168.0.0/ | ||
- | |||
- | Ici, nous avons toujours deux adresses remarquables : | ||
- | |||
- | * 192.168.0.0 qui symbolise tout le bloc ; | ||
- | * 192.168.0.255 qui est l' | ||
- | |||
- | La souplesse de cette méthode CIDR réside dans le fait que l'on peut définir désormais un bloc comme ceci : | ||
- | |||
- | 192.168.0.0/ | ||
- | |||
- | Il existe sur toute bonne distribution GNU/Linux un utilitaire nommé « ipcalc » qui va nous décortiquer ce bloc : | ||
- | |||
- | < | ||
- | ~$ ipcalc 192.168.0.0/ | ||
- | <span class=" | ||
- | <span class=" | ||
- | Wildcard: | ||
- | => | ||
- | Network: | ||
- | <span class=" | ||
- | <span class=" | ||
- | <span class=" | ||
- | Hosts/Net: 62 Class C, Private Internet | ||
- | </ | ||
- | |||
- | Notez l' | ||
- | |||
- | 192.168.0.0 - 192.168.0.63 | ||
- | |||
- | Voyons le bloc suivant qui pourrait être tout naturellement : | ||
- | |||
- | 192.168.0.64/ | ||
- | |||
- | < | ||
- | :~$ ipcalc 192.168.0.64/ | ||
- | <span class=" | ||
- | <span class=" | ||
- | Wildcard: | ||
- | => | ||
- | Network: | ||
- | <span class=" | ||
- | <span class=" | ||
- | <span class=" | ||
- | Hosts/Net: 62 Class C, Private Internet | ||
- | </ | ||
- | |||
- | ==== Un autre exemple ==== | ||
- | |||
- | Sur un réseau privé, nous pourrions prendre les deux classes C 192.168.0.0 et 192.168.1.0. En utilisant un masque de type 255.255.254.0, | ||
- | |||
- | En notation CIRD : 192.168.0.0/ | ||
- | |||
- | ~$ ipcalc 192.168.0.0/ | ||
- | Address: | ||
- | Netmask: | ||
- | Wildcard: | ||
- | => | ||
- | Network: | ||
- | HostMin: | ||
- | HostMax: | ||
- | Broadcast: 192.168.1.255 | ||
- | Hosts/Net: 510 Class C, Private Internet | ||
- | |||
- | Ça fonctionne... Avec quelques restrictions cependant, sur les anciens systèmes. Certaines vieilles piles IP (Windows 95 par exemple) risquent de ne pas accepter les adresses 192.168.0.255 et 192.168.1.0 comme adresses d' | ||
- | |||
- | ==== Un exemple « vrai » de configuration ==== | ||
- | |||
- | //**Cet exemple appartient désormais au passé, du temps d'un fournisseur d' | ||
- | |||
- | Un client se connecte et récupère l' | ||
- | |||
- | whois -h whois.geektools.com 62.161.99.115 ... | ||
- | Query: 62.161.99.115 | ||
- | Registry: whois.ripe.net | ||
- | Results: | ||
- | |||
- | % Rights restricted by copyright. See http:// | ||
- | |||
- | inetnum: 62.161.96.0 - 62.161.120.255 | ||
- | ... | ||
- | |||
- | Cette adresse appartient donc au bloc 62.161.96.0 - 62.161.120.255, | ||
- | |||
- | Voyons maintenant les informations données par le DHCP. (Exemple sous Linux avec PUMP) | ||
- | |||
- | < | ||
- | Device eth0 | ||
- | <span class=" | ||
- | Netmask: 255.255.248.0 | ||
- | Broadcast: 62.161.103.255 | ||
- | Network: 62.161.96.0</ | ||
- | Boot server 62.161.120.11 | ||
- | Next server 62.161.120.11 | ||
- | <span class=" | ||
- | ... | ||
- | Nameservers: | ||
- | Renewal time: Thu Feb 1 10:17:57 2001 | ||
- | Expiration time: Thu Feb 1 10:25:27 2001 | ||
- | </ | ||
- | |||
- | Le masque de sous réseau est ici aussi inhabituel | ||
- | |||
- | < | ||
- | ~$ ipcalc 62.161.96.0 255.255.248.0 | ||
- | Address: | ||
- | <span class=" | ||
- | Wildcard: | ||
- | => | ||
- | <span class=" | ||
- | HostMin: | ||
- | HostMax: | ||
- | Broadcast: 62.161.103.255 | ||
- | Hosts/Net: 2046 Class A | ||
- | </ | ||
- | |||
- | === Exercices... === | ||
- | |||
- | == A quel sous réseau appartient l' | ||
- | | Adresse IP | '' | ||
- | | Masque de sous réseau: | '' | ||
- | | Adresse du sous-réseau: | ||
- | | donc en décimal: | '' | ||
- | |||
- | L' | ||
- | |||
- | == Quelle est la partie de l' | ||
- | | Adresse IP | '' | ||
- | | Masque de sous réseau: (complément logique) | '' | ||
- | | HostID: (ET logique) | '' | ||
- | | donc en décimal: | '' | ||
- | |||
- | L' | ||
- | |||
- | == Quelle est la plus petite adresse possible dans ce sous réseau? == | ||
- | * SubnetID+1=62.161.96.1 .\\ Qui est d' | ||
- | |||
- | == Quelle est la plus grande adresse possible dans ce sous réseau? == | ||
- | * C'est SubnetID+!SubnetMask-1\\ | ||
- | |||
- | | SubnetID: | '' | ||
- | | !Masque de sous réseau-1: | '' | ||
- | | Plus grande adresse possible: (+) | '' | ||
- | | donc en décimal: | '' | ||
- | |||
- | > L' | ||
- | |||
- | C'est bien, n' | ||
: Dernière modification le: 17/06/2011 à 09:10 par prof