Question

J'essaie de porter un code C ++ de Windows à Linux, mais je ne trouve pas une API similaire pour les fonctions de contrôle de la circulation sous Linux.

J'ai besoin de ces Fonctions.S'il vous plaît aider si vous savez où je peux trouver une telle API?

Merci pour votre temps.

Était-ce utile?

La solution

Vous voulez certainement commencer par le Contrôle de routage avancé Linux HOWTO.Je vous recommanderais d'utiliser l'utilitaire tc à partir de IProute2 que les utilisations howTO, mais si vous souhaitez une API plus directe, vous pouvez examiner sa source pour un exemple.

Autres conseils

Comme indiqué déjà, vous souhaitez utiliser la commande de contrôle de trafic Linux TC.Je recommanderais HTB Sceduling.Vous pouvez activer son module de noyau avec:

modprobe sch_htb

Les commandes de base pour la configuration de TC sont les suivantes:

tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit
tc class add dev eth0 parent 1:1 classid 1:1000 htb rate 500Kbit ceil 1000Kbit
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip src 109.11.28.2 flowid 1:1000

Ces exemples commandes de configuration Contrôle de la circulation sur le périphérique ETH0 pour IP 109.11.28.2, plus en détail, ils effectuent les éléments suivants

  1. Configurez la discipline de la queue
  2. Configuration de la classe mère et de sa limite de taux de circulation
  3. Configurez une classe enfant avec un taux de circulation et un plafond de taux de circulation
  4. Ajouter un filtre IP Pour appliquer les limites de la classe enfant à une adresse IP spécifique uniquement
  5. Vous pouvez configurer autant de classes enfant que vous le souhaitez, chacun pourrait être utilisé pour une adresse IP différente sur votre réseau.Pour un guide d'étape plus approfondi et détaillé pour configurer le contrôle de la circulation TC, voir ici: http://hostrepo.com/article.php?id=194

    bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top