altq, cbq funktioniert nur bei 10Mb trotz 100baseTX

coop

Active Member
Hallo

ich binneu hier und versuche gerade einen router mit openBSD zu basteln... leider bin ich an der cbq gerade etwas verzweifelt... :(

folgendes szenario,

ich möchte meinem netz ein paar queues gönnen, damit es kein streit mehr gibt :)
um rein zu kommen, wollte ich erstma nur mit IPs arbeiten, sobald das dann funktioniert wollte ich dann die bandbreiten auf meine Ports übertragen (in erster linie eben eine aufteilung von SSH, FTP und rdp/vnc)

leider bin ich schon bei den IPs gescheitert...
Code:
dell--------------------                               ------------------ftp
                         |_______ openBSD Router ______|
                         |                             |
zentral---------------                               ------------------testclient
das sind meine minimalregeln...
Code:
# for cbp @ int_if
altq on $int_if cbq bandwidth 10Mb queue { std_out, ftp_out, boss_out }

queue std_out   bandwidth 2Mb cbq (default)
queue ftp_out   bandwidth 6Mb cbq
queue boss_out  bandwidth 2Mb cbq

# filter rules for int_if inbound
pass in on      $int_if from    $dell to                any             queue boss_out
pass in on      $int_if from    $zentral to             any             queue ftp_out

# filter rules for int_if outbound
pass out on     $int_if from    any to                  $dell           queue boss_out
pass out on     $int_if from    any to                  $zentral        queue ftp_out

Mein Gedanke dabei war, das ich erstmal jedem X Mb der Leitung gebe und noch etwas für default über lasse...

das hat auch soweit funktioniert, jeder hatte seine Bandbreite... alles gut...

sobald ich jetzt aber die Bandbreite auf 100 hoch setze (also alles mal10) funktioniert es nicht mehr ganz...

jeder client einzeln hat seine Bandbreite (habe ich mit einem FTP-Download und IPerf getestet) sobald aber beide clients gleichzeitig traffic verursachen, hat einer seine bandbreite, und der andere dümpelt bei NULL rum :(

meine beiden Clients sind DELL und ZENTRAL, der FTP-Server ist ftpserver und der testclient ist nur als iperf client benutzt worden...

Danke schonmal für eure Hilfe
 
Hallo, kann dir zwar keine direkte Hilfe zu deinem Problem geben, aber allgemein hast du überflüssige Regeln drin, pf matched nach states, das heisst in beide Richtungen, das heisst es reicht ein pass out match, damit die Pakete in der selben queue landen. Hier http://marc.info/?l=openbsd-misc&m=122777170426700&w=2 findest du eine schöne Erklärung dazu, die mir selber auch sehr geholfen hat beim queuing. Mittlerweile benütze ich hfsc, das erlaubt sehr detailliertes Matching, hier ist ein schönes Tutorial (hfsc scheint mir relativ undokumentiert) https://calomel.org/pf_hfsc.html

Du kannst ja mal allgemein schauen, ob ein anderer Scheduler dir ein anderes Ergebnis bringt.
 
Hallo,

vielen Dank für die Hilfe, ich habe es mal getestet,

wenn ich nur eine Regel nehme, würden nur die Pakete in die queue kommen, wo das erste Paket in die richtige Richtung geht. also habe ich ein pass in gelassen, und die pass aut raus genommen. leider tritt da das gleiche Problem auf, wenn ich mit dem ersten Client einen ftp-download anstosse, passt alles, wenn ich den zweiten einzeln nehme, dann auch, aber sobald ich beide zusammen nehme, da bricht einer komplett ein, und der andere funktioniert (also einer mit der vollen Bandbreite, und bei dem anderen geht es bis fast auf NULL zurück.)

das hfsc werde ich gleich mal testen, vielleicht geht es ja damit besser

coop
 
hi

das ist das uebliche "DSL" problem ........ limitierung nur in eine richtung
die ack die dann kommen werde nicht beachtet.

d.h. mach ein client ein dicke uebertragung per ftp verbraert er die gesamte download bw incl den acks.

kommt nun ein 2ter hinzu share dieser zwar die bandbreite in die einerichtung
durch das queuing aber nicht in die andere richtung ergo
haben die ack kein gw mehr.

ergo muss man eine priorisierung machen
schaumal hier

http://www.bsdforen.de/showthread.php?t=6876
und hier
http://www.benjaminheckmann.de/howto/openbsd42_altq_v2.7.pdf

ok die docs haben zwar was mit dsl zutun aber es geht um das gleiche problem.

holger
 
Zurück
Oben