Se connecter / S'enregistrer
Votre question

Algorithme vérification et détermination de l'adresse IPV4

Tags :
  • Ipv4
  • Programmation
Dernière réponse : dans Programmation
26 Janvier 2011 15:42:16

Bonjour,

Je dois rédiger un algo permettant de vérifier et déterminer une adresse ipv4. A vrai dire je ne sais pas par quel bout commencer et je ne vois pas trop comment faire ... !

D'avance merci pour vos réponses

Autres pages sur : algorithme verification determination adresse ipv4

a c 145 L Programmation
26 Janvier 2011 15:58:40

Une adresse IPV4 est de la forme xxx.xxx.xxx.xxx avec xxx allant de 0 à 255.
Donc, l'algo est à mon avis:
décomposer en 4 parties => Oui = ok, Non = ko
Pour chaque partie
Comprise entre 0 et 255 => Oui = ok, Non = ko
fin

Si tu n'as pas de ko, tout est bon (en théorie).
m
0
l
26 Janvier 2011 17:42:42

D'un point de vue plus pratique :

  • "spliter" la chaine en fonction du caractère "." (point).
  • si la taille du split est différent de 4, on retourne FAUX et on fait pas la suite
    < boucle sur les element du split, donc faire les points suivant pour les 4 parties >
  • convertir l'element en entier
  • si la convertion échoue, on retourne FAUX et on fait pas la suite
  • si l'entier obtenu n'est pas compris entre 0 et 255, on retourne FAUX et on fait pas la suite
    </ fin de la boucle sur les élement du split >

    en théorie, à la fin de cet algorithme, on a une adresse IPV4 conforme au standard !
    m
    0
    l
    26 Janvier 2011 18:41:14

    Tout d'abord merci pour vos réponses ! Cependant il faut que l'algo détermine aussi la classe de l'adresse ip. Une idée ?
    m
    0
    l
    26 Janvier 2011 19:37:56

    C'est simple, tout ce fait sur la valeur du premier champs (le plus à gauche) :
  • entre 0 et 126, c'est une classe A.
  • entre 128 et 191, c'est une classe B.
  • entre 192 et 223, c'est une classe C.
  • entre 224 et 239, c'est une classe D.
  • entre 240 et 255, c'est une classe E.

    La dernière classe est réservé, donc en général jamais attribué !
    Tu rajoutes ça dans la boucle précédente, et le tout est joué.
    m
    0
    l
    a c 145 L Programmation
    26 Janvier 2011 21:14:59

    A ça, tu peux ajouter les classes réservées (0.0.0.0, 255.255.255.255, 10.*, 192.168.*, 127.0.0.1)
    m
    0
    l
    a c 232 L Programmation
    26 Janvier 2011 23:35:38

    Doit y avoir une plage réservée au local dans la classe B aussi, mais je n'ai plus en tête laquelle.
    m
    0
    l
    Tom's guide dans le monde
    • Allemagne
    • Italie
    • Irlande
    • Royaume Uni
    • Etats Unis
    Suivre Tom's Guide
    Inscrivez-vous à la Newsletter
    • ajouter à twitter
    • ajouter à facebook
    • ajouter un flux RSS