je dois coder la commande
traceroutedisponible sous unix en utilisant le langage C mais je ne sais pas vraiment comment m'y prendre avec tous les cours qui ont sauté ...
Si quelqu'un pouvait m'aider ?
Merci
ou est-ce un sujet "académique" que tu dois faire à partir de rien.
Pour l'implémentation sur la partie graphe, tu peux utiliser du C++ avec la lib boost (plus précismment la BGL), un peu chaude à manipuler au début mais ultra bien faite et hyper rapide.
Détermination de l'itinéraire vers www.commentcamarche.net [163.5.255.85] avec un maximum de 30 sauts : 1 33 ms 32 ms 33 ms raspail-2-81-57-234-254.fbx.proxad.net [81.57.234.254] 2 33 ms 33 ms 33 ms vlq-6k-2-a5.routers.proxad.net [213.228.4.254] 3 33 ms 33 ms 33 ms vlq-6k-2-v802.intf.routers.proxad.net [212.27.50.46] 4 33 ms 33 ms 33 ms th1-6k-2-v806.intf.routers.proxad.net [212.27.50.41] 5 32 ms 34 ms 34 ms cbv-6k-2-v802.intf.routers.proxad.net [212.27.50.34] 6 34 ms 32 ms 33 ms ldc-6k-1-a0.routers.proxad.net [213.228.15.67] 7 35 ms 35 ms 35 ms cogent.FreeIX.net [213.228.3.187] 8 36 ms 36 ms 35 ms NeufTelecom.demarc.cogentco.com [130.117.16.22] 9 36 ms 36 ms 36 ms V3994.c1cbv.gaoland.net [212.94.162.209] 10 34 ms 34 ms 35 ms V4080.core3.cbv.gaoland.net [212.94.161.129] 11 36 ms 35 ms 37 ms 212.94.164.210 12 36 ms 36 ms 36 ms nestor.commentcamarche.org [163.5.255.85] Itinéraire déterminé.
163.5.255.85 81.57.234.254 213.228.4.254 212.27.50.46 212.27.50.41 212.27.50.34 213.228.15.67 213.228.3.187 130.117.16.22 212.94.162.209 212.94.161.129 212.94.164.210 163.5.255.85
Il s'agit d'écrire un programme (ou un ensemble de programmes) permettant d'effectuer des traceroute automatiquement, en tâche de fond ; et pendant que se font ces traceroute, de rassembler des informations sur le graphe d'Internet. En particulier, pour chaque noeud du graphe (on assimilera un noeud à son adresse IP), on souhaite pouvoir connaître ses voisins, ainsi que sa distance minimale à l' « origine » (la distance n'est pas forcément constante, par exemple entre le noeud A et le noeud B, le noeud X peut apparaître en 5è position ; et le même noeud X peut apparaître en 8è position entre le noeud A et le noeud C -- c'est surprenant, mais c'est possible!). Il est indispensable de pouvoir : * avoir plusieurs traceroute s'effectuant simultanément, afin de rassembler des informations le plus vite possible ; * pouvoir choisir à la volée combien de traceroute on souhaite exécuter en parallèle) ; * ajouter de nouvelles « cibles » pour traceroute pendant que l'ensemble fonctionne ; * ajouter des cibles « aléatoires » (en tirant des adresses IP au hasard) ; * visualiser des statistiques indiquant le nombre d'adresses IP « explorées » (nombre total, et classement par distance par rapport à l'origine) ; * indiquer les « voisins » d'un noeud donné par son adresse IP ; * exporter (et importer) l'état du graphe, sous forme de deux fichiers CSV : un contenant la liste des sommets (adresses IP) avec leur distance minimale à la source, et un autre contenant une liste de couples d'adresses IP ; * fournir un rapport expliquant les structures algorithmiques utilisées, avec une indication de leurs limites (mémoire, CPU, occupation disque...) -- c'est-à-dire une étude de la complexité des algorithmes utilisés ; * présenter un code propre et lisible, autant que faire ce peu. Informations techniques Une adresse IP = 4 octets. Généralement on la représente sous la forme 134.157.0.129 (sous forme de 4 nombres entiers, en décimal, séparés par des points). Les plages d'adresses suivantes sont « privées », c'est-à-dire internes : * 10.0.0.0 à 10.255.255.255 * 172.16.0.0 à 172.31.255.255 * 192.168.0.0 à 192.168.255.255 La plage 224.0.0.0 à 239.255.255.255 est réservée au multicast. Les adresses de 240.0.0.0 à 255.255.255.255 sont réservées. Toutes ces plages (adresses privées, multicast, réservées) doivent être traitées de manière spéciale ; il est parfaitement acceptable de ne pas les stocker dans le graphe (de les considérer comme les « * » qui apparaissent parfois dans traceroute). Le format CSV à utiliser, pour la liste des noeuds : adresse IP, distance 1.2.3.4,17 134.157.0.129,8 193.55.63.92,2 Le format CSV à utiliser, pour la liste des arêtes : adresse IP1, adresse IP2 1.2.3.4,1.2.3.5 134.157.0.129,134.157.254.1 193.55.63.1,193.55.63.29 On utilisera \n comme séparateur de lignes.
Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.
Merci par avance