[C] [winsock] Sortie de paquets UDP dans un système multihomed

Sortie de paquets UDP dans un système multihomed [C] [winsock] - C - Programmation

Marsh Posté le 06-09-2005 à 16:56:55    

Bonjour à tous,
 
J'ai dans mon PC 2 adaptateurs réseaux qui se trouvent sur le même réseau (192.168.0.247 et 192.168.0.248).  
 
J'aimerais envoyer des paquets UDP (datagram) d'une carte à l'autre SANS qu'ils tournent sur le loopback : disons que je veux par exemple tester le hub à distance ;)
 
J'arrive à envoyer des paquets réseaux depuis la carte que je veux (via WSAIoCtrl pour la sélection) et vers la bonne adresse IP. Par contre, quand l'adresse de destination se trouve sur le même PC (ce qui est mon cas), le stack TCP/IP ne va pas faire tourner le paquet envoyé au niveau du hub mais ce paquet tourne direct sur 127.0.0.1.  
 
J'ai bien essayé de jouer avec route add  / route delete mais sans succès.
 
J'utilise visual c++ 6.
 
Quelqu'un a-t-il une bonne idée à suggerer ou est-ce impossible à faire?
 
merci :)


Message édité par Caedes le 06-09-2005 à 16:57:33
Reply

Marsh Posté le 06-09-2005 à 16:56:55   

Reply

Marsh Posté le 06-09-2005 à 17:26:21    

pourquoi tu parles de stack TCP/IP si tu es en UDP ? Et ce n'est pas une structure de donnée qui va changer la direction de ton paquet [:pingouino]
 
Je ne suis pas trop à l'aise en réseau, mais pourtant, il me semble qu'on peut préciser explicitement quelle adresse ip on utilise pour origine. Si tu mets donc précisément l'une des deux cartes en source et l'autre en destination, ca ne suffit pas ?

Reply

Marsh Posté le 06-09-2005 à 19:23:31    

Lorsque je parlais de stack TCP/IP, je voulais dire "la gestion de routage intégrée à windows XP".
 
J'arrive à envoyer des paquets de 192.168.0.247 à 192.168.0.248 sans problème. L'ennui c'est que cet envoi tourne en local (i.e. meme sans cable reseau entre la carte reseau 1 et la carte reseau 2 ca passe). ce que je veux c'est tester le hub qui relie ces 2 cartes reseaux avec un seul PC.

Reply

Marsh Posté le 06-09-2005 à 20:44:30    

en fait ce que tu veux, c'est qu'aucune optimisation soit faite! c'est un peu tordu ton truc! surtout déjà quel idée d'avoir deux cartes réseaux dans son ordi relié au même hub, complètement inutile! La l'idée de ton programme est complètement nulle étant donné que cette situation n'arrive jms en réel (en tout cas pas sur le même hub, éventuellement sur deux routeurs différents oui). Enfin je ne sais pas comment t'aider plus loins, je ne sais même pas si c'est possible car un hub c'est qu'un séparateur de cable pour faire plusieurs sorties/entrées. Donc c'est pas comme si c'était un routeur à tester! je vois pas trop comment tu vas pouvoir faire ça dans la situation ou tu es la :s

Reply

Marsh Posté le 06-09-2005 à 21:01:00    

oui tout à fait, je veux aller à l'encontre des optimisations.  
 
Il est clair qu'en vrai cette situation arrive rarement, mais imagine que tu veux tester un prototype ou une petite serie de PC, ca devient utile.
 
Il y a moyen de tester autrement (par exemple avec un serveur à distance à pinger) mais c'est + par défi que je cherche maintenant une solution ;)


Message édité par Caedes le 06-09-2005 à 21:01:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed