Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
040-adresses:020-adressesipv4 [le 02/03/2025 à 10:28] – [Un exemple « vrai » de configuration] prof040-adresses:020-adressesipv4 [le 02/03/2025 à 14:17] (Version actuelle) – [Relations avec les adresses MAC] prof
Ligne 86: Ligne 86:
 ^  C  |  255.255.255.0  |  1  | ^  C  |  255.255.255.0  |  1  |
  
-Par défaut, un masque de sous réseau englobe donc la totalité de la classe. Cependant, il est possible de découper une classe en plusieurs tranches pour réaliser des sous-réseaux. Exemple sur la classe C privée ''192.168.0.0'' qui par défaut dispose du masque ''255.255.255.0''. Un outil comme ''ipcalc'' nous montre ceci:+Par défaut, un masque de sous réseau englobe donc la totalité de la classe. Cependant, il est possible de découper une classe en plusieurs tranches pour réaliser des sous-réseaux. Exemple sur la classe C privée ''192.168.0.0'' qui par défaut dispose du masque ''255.255.255.0''. Un outil comme ''[[https://jodies.de/ipcalc|ipcalc]]'' nous montre ceci:
 <html><pre class="code"> <html><pre class="code">
 <b>ipcalc 192.168.0.0 255.255.255.0</b> <b>ipcalc 192.168.0.0 255.255.255.0</b>
Ligne 152: Ligne 152:
 </pre></html> </pre></html>
 Dans cet exemple, nous avons englobé deux classes C adjacentes pour disposer de 510 adresses dans le même réseau. Dans cet exemple, nous avons englobé deux classes C adjacentes pour disposer de 510 adresses dans le même réseau.
 +===== Relations avec les adresses MAC =====
 +Il faudra patienter un peu pour accéder à toutes les travaux pratiques sur le routage IPv4. Pour l'instant, Voyons ce qu'est une table ARP en mémoire système. Il y a deux outils sous GNU/Linux qui permettent ces introspections:
 +  - **arp** si le paquet ''net-tools'' (Debian) est installé;
 +  - **ip** le couteau suisse du poquet ''iproute2''.
 +Soit un réseau ''192.168.60.0/24'' équipé de:
 +  * un NAS 192.168.60.3;
 +  * une imprimante 192.168.60.10;
 +  * une station 192.168.60.47;
 +  * une station 192.168.60.127;
 +  * un routeur 192.168.60.254;
  
 +Nous sommes sur la station 192.168.60.127:
 +<html><pre class="code">
 +<b>arp -n</b>
  
-==== Un exemple « vrai » de configuration ====+Adresse                  TypeMap AdresseMat          Indicateurs           Iface 
 +192.168.60.254           ether   68:a3:78:86:ec:02                       enp1s0 
 +192.168.60.47            ether   ae:2a:a7:dd:e6:07                       enp1s0 
 +192.168.60.3             ether   18:31:bf:df:a1:f0                       enp1s0 
 +</pre></html> 
 +(le ''-n'' sert juste à éviter à l'outil de chercher à traduire une adresse IP en URI si un RDNS est présent, mais c'est hors de propos ici).
  
-//**Cet exemple appartient désormais au passé, du temps d'un fournisseur d'accès aujourd'hui disparu.**// +À peu près la même chose avec la commande ''ip'':
- +
-Un client se connecte et récupère l'adresse 62.161.99.115. C'est une adresse de classe A. Nous allons essayer de voir toutes les informations que l'on peut en tirer, au niveau du réseau. « whois » nous dit:+
 <html><pre class="code"> <html><pre class="code">
-<b>whois 62.161.99.115</b>+<b>ip -4 neigh list</b>
  
-Query: 62.161.99.115 +192.168.60.254 dev enp1s0 lladdr 68:a3:78:86:ec:02 STALE  
-Registrywhois.ripe.net +192.168.60.47 dev enp1s0 lladdr ae:2a:a7:dd:e6:07 REACHABLE  
-Results+192.168.60.3 dev enp1s0 lladdr 18:31:bf:df:a1:f0 STALE 
-... +
-inetnum62.161.96.0 - 62.161.127.255 +
-...+
 </pre></html> </pre></html>
 +En gros, les mêmes informations. le ''-4'' sert ici à ne donner que les informations concernant IPv4.
  
-Cette adresse appartenait donc au bloc 62.161.96.0 - 62.161.127.255, soit ''62.161.96.0/19'' qui est une portion du réseau de classe A 62.0.0.0. +Nous constatons qu'il n'y a pas de référence à ''192.168.60.10''l'imprimanteLa station envoie un document à imprimer et de suite  après:
- +
-Aujourd'hui (02/03/2025), le même whois donne: +
-   inetnum:  62.161.99.112 - 62.161.99.119 +
-soit ''62.161.99.112/29'' +
-Ce qui démontre les évolutions de l'attribution des adresses. +
- +
- +
-Voyons maintenant les informations données par le DHCP. (Exemple sous Linux avec PUMP) +
 <html><pre class="code"> <html><pre class="code">
-Device eth0 +<b>ip -4 neigh ls</b>
-<span class="bhly"   IP: 62.161.99.115 +
-    Netmask: 255.255.248.0 +
-    Broadcast: 62.161.103.255 +
-    Network: 62.161.96.0</span> +
-    Boot server 62.161.120.11 +
-    Next server 62.161.120.11 +
-<span class="bhly">    Gateway: 62.161.96.1</span> +
-  ... +
-    Nameservers: 62.161.120.11 +
-    Renewal time: Thu Feb  1 10:17:57 2001 +
-    Expiration time: Thu Feb  1 10:25:27 2001 +
-</pre></html>+
  
-Le masque de sous réseau est ici aussi inhabituel +<span class="hly">192.168.60.10 dev enp1s0 lladdr f8:da:0c:0c:8d:48 REACHABLE</span>  
- +192.168.60.254 dev enp1s0 lladdr 68:a3:78:86:ec:02 STALE  
-<html><pre class="code"> +192.168.60.47 dev enp1s0 lladdr ae:2a:a7:dd:e6:07 REACHABLE  
-~$ ipcalc 62.161.96.0 255.255.248.0 +192.168.60.3 dev enp1s0 lladdr 18:31:bf:df:a1:f0 STALE 
-Address  62.161.96.0          00111110.10100001.01100 000.00000000 +
-<span class="bhly">Netmask  255.255.248.0 = 21</span>   11111111.11111111.11111 000.00000000 +
-Wildcard 0.0.7.255            00000000.00000000.00000 111.11111111 +
-=> +
-<span class="bhly">Network  62.161.96.0/21</span>       00111110.10100001.01100 000.00000000 +
-HostMin  62.161.96.1          00111110.10100001.01100 000.00000001 +
-HostMax:   62.161.103.254       00111110.10100001.01100 111.11111110 +
-Broadcast62.161.103.255       00111110.10100001.01100 111.11111111 +
-Hosts/Net2046                  Class A+
 </pre></html> </pre></html>
 +L'imprimante apparaît dans la table ARP comme «reachable». Il y a donc eu quelque part un mécanisme qui a retrouvé l'adresse MAC correspondant à l'adresse IP de l'imprimante. Normal puisqu'au niveau Ethernet, ce sont les seules adresses exploitables. Il faudra voir comment ça se passe...
  
-=== Exercices... === +Si l'on retourne voir la table arp après un moment sans s'être servi de l'imprimantenous verrons en ce qui la concerne
- +  192.168.60.10 dev enp1s0 lladdr f8:da:0c:0c:8d:48 STALE 
-== A quel sous réseau appartient l'adresse 62.161.99.115 (SubnetID)? == +Elle est devenue «stale»Suivant le contexteil pourra se faire que cette référence finisse pas disparaître de la table pour ne pas l'encombrer inutilement.
-| Adresse IP | ''0011 1110 . 1010 0001 . 0110 0011 . 0111 0011''+
-| Masque de sous réseau: | ''1111 1111 . 1111 1111 . 1111 1000 . 0000 0000''+
-| Adresse du sous-réseau: (ET logique) | ''0011 1110 . 1010 0001 . 0110 0000 . 0000 0000''+
-| donc en décimal: | ''62.161.96.0''+
- +
-L'opération consiste simplement en un ET logique bit à bit entre l'adresse et le masque. Mais on avait déjà la réponse en consultant les informations du client DHCP +
- +
-== Quelle est la partie de l'adresse qui concerne l'hôte (HostID)? == +
-| Adresse IP | ''0011 1110 . 1010 0001 . 0110 0011 . 0111 0011''+
-| Masque de sous réseau: (complément logique) | ''0000 0000 . 0000 0000 . 0000 0111 . 1111 1111''+
-| HostID: (ET logique) | ''0000 0000 . 0000 0000 . 0000 0011 . 0111 0011''+
-| donc en décimal: | ''0.0.3.115''+
- +
-L'opération consiste ici en un ET logique entre l'adresse et le __complément__ du masque. Bien entendu, HostID + SubnetID doit reconstituer l'adresse IP, ce qui est bien le cas''(62.161.96.0) + (0.0.3.115) = 62.161.99.115'' +
- +
-== Quelle est la plus petite adresse possible dans ce sous réseau? == +
-    * SubnetID+1=62.161.96.1 .\\  Qui est d'ailleurs l'adresse de la passerelle (c'est un choix de FTCI, pas une obligationToute adresse dans le même sous réseau aurait aussi bien fait l'affaire)..\\ +
- +
-== Quelle est la plus grande adresse possible dans ce sous réseau? == +
-    * C'est SubnetID+!SubnetMask-1\\  Pourquoi?\\ ''!SubnetMask-1'' correspond à la plus grande HostID possible dans ce sous réseau,\\ ''!SubnetMask'' correspondant à l'adresse de « l'hôte de broadcast » +
- +
-| SubnetID| ''0011 1110 . 1010 0001 . 0110 0000 . 0000 000''+
-| Masque de sous réseau-1| ''0000 0000 . 0000 0000 . 0000 0111 . 1111 1110''+
-| Plus grande adresse possible(+) | ''0011 1110 . 1010 0001 . 0110 0111 . 1111 1110''+
-| donc en décimal| ''62.161.103.254'' | +
- +
-> L'opération est une somme binaireLe résultat était prévisibleune fois encore, en regardant les informations du client DHCP. En effet; l'adresse de broadcast pour le sous réseau étudié est 62.161.103.255 (HostID avec tous les bits à 1). +
- +
-C'est bien, n'est-ce pas, de pouvoir donner une explication rationnelle à tous ces paramètres IP plus ou moins obscurs à première vue... +
Les adresses IPv4: Dernière modification le: 02/03/2025 à 10:28 par prof