This is an old revision of the document!


09. HTB - u32 hashing tables

Generarea de mână a filtrelor folosind hash tables este anevoioasă și NU se recomandă. Vom folosi un program C, disponibil |aici.

Descărcați și compilați programul prefixtree:

root@gateway:~# wget http://vcalinus.gemenii.ro/prefixtree.c
root@gateway:~# make prefixtree
cc     prefixtree.c   -o prefixtree
root@gateway:~# ./prefixtree
IPv4 u32 hash filter generator - (C) 2006 Calin Velea
 
Syntax: prefixtree {prefix.in} {u32filters.out} {interface} {src/dst} [batch]

Vom scrie fișierul prefix.in care trebuie să conțină pe câte o linie adresa IP pentru care vrem să ne genereze filtrele și classid-ul asociat.

Modificați scriptul de la exercițiul 07. [10p] HTB - observarea consumului de resurse astfel încât să introducă perechea adresaIP:classid în fișierul prefix.in în loc să adauge filtrul asociat. Adăugați și masca adresei IP (/32).

Rulăm comanda prefixtree pe fișierul generat:

root@gateway:~# ./prefixtree prefix.in filters.out eth0 dst
lines parsed: 4066
total hashtables: 4

Observați conținutul fișierului filters.out. Aplicăm filtrele generate:

root@gateway:~# chmod +x filters.out
root@gateway:~# ./filters.out

Testați din nou folosind iperf. Obervați faptul că stația gateway, cea care face limitările, nu mai intră în load (thread-urile kernel ksoftirqd nu CPU usage foarte mic).

saisp/labs/11/contents/08.1400410921.txt.gz · Last modified: 2014/05/18 14:02 by mihai.carabas
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0