Adresse Réseau | Classe | Adresses des machines dans le réseau |
157.159 | B | 100.69, 100.1, 10.1 |
195.83.240 | C | 65 |
193.48.75 | C | 45, 9, 129 |
193.48.53 | C | 14 |
195.220.180 | C | 34, 29 |
193.251.128 | C | 113, 134 |
144.232 | B | 8.209, 0.45, 0.30, 8.214 |
4 | A | 24.4.189, 24.4.112, 0.1.246, 24.4.193, |
0.2.169, 0.1.46, 0.1.202 | ||
192.233.33 | C | 3 |
18 | A | 168.0.16, 181.0.31 |
Le subnetting peut se faire de manière récursive. On peut ainsi redécouper le sous-réseau 4.24.4 en 4 sous-(sous-)réseaux de 64 machines avec le masque 255.255.255.192. En parallèle, 4.0.1 peut être découpé en 8 réseaux de 32 machines avec un masque 255.255.255.224. Les masques pour le subnetting étant à chaque fois connus de l'ensemble des machines des sous-réseaux engendrés par le masque, et potentiellement ignorés par les machines extérieures.
Dans l'algo, on considère une fonction AttendrePaquetValide(T) qui retourne soit le paquet ICMP de réponse reçu (ICMP-ECHO-REPLY ou ICMP-TIME-EXCEEDED), soit une valeur TempoExpire si on n'a pas une telle réponse au bout du temps T. ( NB: AttendrePaquetValide teste le fait que le paquet ICMP reçu est bien une réponse à notre paquet à partir d'identifiants dans l'entête ICMP et dans les données ICMP).