2016-01-26 15 views
10

mam konfigurowania dowód koncepcji zdławić ruch wejściowy na koniec terminala (klient):Czym jest osobny przepływ w systemie Linux fq_codel?

eth0 -> ifb0 -> htb -> filter by ip -> htb rate -> fq_codel+ecn 

mam 2 adresy IP źródłowe dla konkretnego programu chcę udusić. Program, o którym mowa, otwiera kilka połączeń TCP (pliki do pobrania, a więc i przepustnicę), i chciałbym ograniczyć łączną przepustowość, którą używa (zrobić) i mieć uczciwe planowanie połączeń z tym samym adresem IP (to pytanie).

Na koniec jest 1 wiadro z przypisaną stawką i 1 fq_codel wystąpienie.

mam to działa, ale mam kilka pytań:

  • pewno CODEL ma oddzielne kolejki za Protocol (TCP vs udp)?
  • Czy codel ma osobne kolejki na źródło ip?
  • Czy kodek ma osobną kolejkę na połączenie TCP?
  • Czy muszę ręcznie oddzielać/oznaczać przepływy?

Dla każdego identyfikatora przepływu badania internetowego "hash of 5-tuple", pytanie brzmi, jakie elementy pakietu są częścią 5-tki? Czy dołączono porty źródłowy i docelowy?

+0

P.S. Szukam lepszej/bardziej wiarygodnej odpowiedzi niż moja własna –

Odpowiedz

1

Wydaje porty zarówno źródłowy i docelowy są włączone, przynajmniej domyślnie:

http://lxr.free-electrons.com/source/net/core/flow_dissector.c#L655

655 /** 
656 * __skb_get_hash: calculate a flow hash 
657 * @skb: sk_buff to calculate flow hash from 
658 * 
659 * This function calculates a flow hash based on src/dst addresses 
660 * and src/dst port numbers. Sets hash in skb to non-zero hash value 
661 * on success, zero indicates no valid hash. Also, sets l4_hash in skb 
662 * if hash is a canonical 4-tuple hash over transport ports. 
663 */ 
664 void __skb_get_hash(struct sk_buff *skb) 
Powiązane problemy