N-PN White-Hat Project
[C] Calculs réseau. - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25)
+--- Sujet : [C] Calculs réseau. (/showthread.php?tid=3353)

Pages : 1 2


[C] Calculs réseau. - Kiwazaru - 02-10-2013




RE: [C] Calculs réseau. - Loup - 02-10-2013

Juste une question,
J'ai pas à compris à quoi servait

Code :
returnMask(_rMask);

Pourquoi donner l'inverse du masque sous-réseau?


RE: [C] Calculs réseau. - b0fh - 02-10-2013

Chouettos.

Petite remarque: c'est extrêmement traitre de faire le -2 a l'intérieur de la fonction pow(). Quand on lit le code, on se dit que ça calcule la puissance et c'est tout... si un jour un mec doit maintenir du code écrit comme ça, il risque bien de te maudire Smile


RE: [C] Calculs réseau. - crown - 02-10-2013

(02-10-2013, 22h30)Machiavelli a écrit : Juste une question,
J'ai pas à compris à quoi servait

Code :
returnMask(_rMask);

Pourquoi donner l'inverse du masque sous-réseau?

Pour ensuite faire un OR logique entre l'adresse de sous-réseau et le masque inversé ce qui donnera l'addr de broadcast, enfin ce qui est expliqué par Reverse :

Citation :
Code C :

bAddr[i] = sAddr[i] | _rMask[i]; /* On |(OR) notre adresse de sous-réseau par le masque inversé pour obtenir l'adresse de broadcast */
 

Après c'est sûr que l'afficher à l'écran n'a pas beaucoup de pertinence imo

@Reverse
Pas mal ce petit bout de code Wink


RE: [C] Calculs réseau. - Kiwazaru - 02-10-2013

On veut obtenir l'adresse de broadcast avec le retour de cette fonction, et l'adresse de broadcast c'est (désolé j'ai pas réussi à faire le barre du haut pour inverse le nombre en LaTeX, si quelqu'un sait comment faire ça serait cool de me le dire :p) :
Adresse de Broadcast = B + ~M
B étant l'adresse de sous-réseau et ~M l'inverse de notre masque de sous-réseau de base.
Au final on fait ça pour faire un OR logique qui modifiera les bits non inclus dans le masque qui couvre les valeurs de l'adresse fixes.
Par exemple t'auras:
0000 0000 . 0000 0000 . 0000 0000 . 1111 1111 = ~M
1100 0000 . 1010 1000 . 0000 0000 . 0000 0000 = Adresse de sous-réseau

Les caractéristiques d'un OR logique c'est:
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1

En ayant que des 0 dans le début du masque, on va donc éviter de modifier le début de l'adresse, et avec la fin du masque inversé, on va avoir une suite de 0 | 1 qui va nous renvoyer un 1. Avec ça on aura notre adresse de broadcast réservée (D'où notre calcul max d'hôtes 2^(32 - n) - 2 qui réserve une place pour notre adresse de broadcast étant l'adresse max, et notre adresse pour le sous-réseau étant normalement 0)
Voilà, en espérant avoir été assez clair :p


RE: [C] Calculs réseau. - Loup - 02-10-2013

Merci pour tes explications ReVerSe Big Grin


RE: [C] Calculs réseau. - 0pc0deFR - 03-10-2013

Citation :Le nombre d'hôte(s) possible du réseau: 254

Je dirais plutôt 253 car l'adresse 192.168.0.0 et l'adresse 192.168.0.255 ne sont pas utilisable.


RE: [C] Calculs réseau. - gruik - 03-10-2013

ça tombe bien sur 8bits on peut coder 256 valeurs, moins les deux que tu cites 254 on est bon Big Grin

edit: @ReVeRse j'en profite pour rajouter qu'une notation qu'on voit souvent c'est <IP>/<MASK> genre 192.168.53.18/24, 24 étant donc le nombre de bits du masque Wink


RE: [C] Calculs réseau. - levur - 03-10-2013

Pour le nombre de fois ou j'ai essayer de faire un tel programme bravo ReVeRse.
Manque plus que la classe, une partie ou tu saisie toi même l'@ip et tant qu'a faire le nombre de sous réseaux possible avec leur @ip ^^


RE: [C] Calculs réseau. - Kiwazaru - 03-10-2013

J'ai fais ce code à la va vite, je vais sûrement ajouter des options oui, notamment la range d'ip possible genre: 192.168.x.x et la classe c'est une bonne idée aussi ouais thanks :p


RE: [C] Calculs réseau. - levur - 03-10-2013

[ReVeRse]
J'ai fais ce code à la va vite
[ReVeRse]
me fais pas rager Dodgy

Mais j'essaye également de mon coté (même si sa risque de prendre du tps Wink )


RE: [C] Calculs réseau. - ark - 03-10-2013

Pas mal ce petit bout de code :)
Petite suggestion, en plus des bonnes idées des autres, faire un prompt pour ask des ips avec netmask, et garder une listes de toutes les entrées pour ensuite définir lesquelles peuvent communiquer entre elles.


RE: [C] Calculs réseau. - Kiwazaru - 05-10-2013

Updated Wink


RE: [C] Calculs réseau. - notfound - 05-10-2013

(02-10-2013, 22h21)ReVeRse a écrit : Première machine: 192.168.1.0 / Dernière machine: 192.168.1.255

Big Grin

Edit:

Après discussion avec l'autre gusse, on peut prétendre que .0 = 1ere @ et .255 = dernière.
C'est une "notation" à choisir ...
Au temps pour moi.


RE: [C] Calculs réseau. - Kiwazaru - 05-10-2013

Après quelques recherches, certains calculateur incluent le .0 et le maximum, et d'autre non.
Je ne confirme donc pas que cette notation soit correcte !