Bonjour,
Je suis entrain de créer un petit logiciel pour tester la charge réseau de flux multicast : pour cela, j'utilise la bibliothèque winpcap => jusque là, tout va bien
Pour voir le débit max que peut émettre mon programme, j'ai fait ceci :
// ******************************************
While(1){
if (pcap_sendpacket(adhandle, buf, packetSizeInByte) != 0){
printf("\nError sending the packet: %s\n", pcap_geterr(adhandle));
return 3;
}
}
// ******************************************
=> c'est une boucle infinie qui envoie des paquets UDP multicast de 1514 octets
=> le programme me permet aussi de connaitre le débit que j’émets
J'ai fait des tests en me connectant à un switch 100Mb : j'arrive bien à envoyer mes 100Mb.
Ensuite j'ai fait des tests avec un switch Gigabit D-LINK DGS-1008D : le débit d'émission s'écroule a 45Mb
=> Je n'ai aucune perte de paquets, c'est le temps d’exécution de la fonction sendpacket() qui est allongé (je l'ai mesuré).
Avez-vous une idée de quoi ça peut venir ?
Au début je pensais que ça venait du mécanisme de control de flux 802.3x mais je ne détecte aucun paquet type PAUSE Frame venant du switch avec le logiciel Wireshark (il doit bien les détecter normalement, non ?)
Qu'est-ce qui pourrait empêcher le PC d'envoyer des paquets ?
Merci d'avance,