Pergunta

Tento portar algum código C++ do Windows para o Linux, mas não consigo encontrar uma API semelhante para funções de controle de tráfego no Linux.

eu preciso desses funções.Por favor, ajude se você souber onde posso encontrar essa API?

Obrigado pelo seu tempo.

Foi útil?

Solução

Você definitivamente quer começar com o Linux Roteamento avançado e controle de tráfego Howto.Eu recomendo usar o utilitário tc do IPROUTE2 que o Howto usa, mas se você quiser uma API mais direta, você pode ver sua fonte para um exemplo.

Outras dicas

Como já foi dito, você deseja usar o comando de controle de tráfego do Linux tc.Eu recomendaria agendamento HTB.Você pode ativar o módulo do kernel com:

modprobe sch_htb

Os comandos básicos para configurar o tc são os seguintes:

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

Esses comandos de exemplo configuram o controle de tráfego no dispositivo eth0 para IP 109.11.28.2, com mais detalhes eles fazem o seguinte

  1. configurar a disciplina de filas
  2. configure a classe pai e seu limite de taxa de tráfego
  3. configurar uma classe filha com taxa de tráfego e teto de taxa de tráfego
  4. Adicione um filtro de IP para aplicar os limites de classe filha apenas a um IP específico

Você pode configurar quantas classes filhas desejar, cada uma pode ser usada para um IP diferente em sua rede.Para obter um guia passo a passo mais completo e detalhado sobre como configurar o controle de tráfego tc, veja aqui: http://hostrepo.com/article.php?id=194

Boa sorte !

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top