Re: ipfw dummynet - adsl link(s) simulieren

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 6 May 2009 23:30:35 +0200 (CEST)

Sebastian Mellmann wrote:
> Ich hoffe ich bin hier richtig.

Ja, bist Du.

> Ich beschäftige mich seit kurzem mit 'ipfw dummynet' und würde gerne
> einen Rat bekommen, ob meine Regeln wirklich das tun, was ich möchte.
>
> Ich möchte mehrere ADSL-Links simulieren (in diesem Beispiel
> 6Mbit/1Mbit) und die gesamte Bandbreite auf einen bestimmten Wert
> begrenzen (hier z.B. 100Mbit).
> Für die Queue Größe, sowie das Delay habe ich hier feste Werte verwendet.
> Unter Umständen will ich diese aber variabel gestalten können (kein
> Problem mit einem passenden Bash-Skript), um evtl. den Einfluß einer
> kleineren Queue oder höheren Delays festzustellen.
>
> 192.168.5.0/24 - Client Subnet
> 192.168.7.0/24 - Server Subnet
>
> Meine Regeln:
>
> ipfw pipe 100 config mask all bw 1024Kbit/s queue 50 delay 10
> ipfw pipe 200 config mask all bw 6144Kbit/s queue 50 delay 10
>
> ipfw add pipe 100 all from 192.168.5.0/24 to 192.168.7.0/24 in recv em0
> ipfw add pipe 200 all from 192.168.7.0/24 to 192.168.5.0/24 out xmit em0
>
> ipfw pipe 500 config bw 100Mbit/s queue 50
> ipfw add pipe 500 all from any to any in recv em0
>
> ipfw pipe 510 config bw 100Mbit/s queue 50
> ipfw add pipe 510 all from any to any out xmit em0

Sieht soweit gut aus -- Aber hast Du auch den sysctl
net.inet.ip.fw.one_pass auf 0 gesetzt (Default ist 1)?
Anderenfalls greift nur jeweils die erste Pipe (für
den ADSL-Link), nicht aber die Pipe für die 100 Mbps.

Außerdem scheint mir 10 ms Delay etwas hochgegriffen.
Bei mir daheim sind's bis zum anderen Ende des DSL-Links
etwa 3 ms. Aber das mag auch von der jeweiligen Technik,
Leitungsqualität, Fehlerkorrektur, "Fast-path" und
ähnlichen Dingen abhängen.

> Ich habe die Regeln mit 'ping' und 'scp' "getestet" und sie scheinen zu
> "greifen".
> Ich bin mir jedoch bzgl. der Queue-Größe nicht sicher, ob sie wirklich
> so funktioniert, wie ich mir das vorstelle.
> Besitzt jede 'pipe' ihre eigene Queue?

Ja, das passt schon.

> Wann genau verwendet man 'pipe' und wann 'queue'?

Die Manpage erklärt es eigentlich recht gut. Für die
Simulation bestimmter Arten von Hardware-Links (wie bei
Dir: ADSL) genügen in der Regel Pipes.

> Die ipfw manpage sagt:
>
> In practice, pipes can be used to set hard limits to the bandwidth
> that a flow can use, whereas queues can be used to determine how
> different flow share the available bandwidth.

Richtig, das sagt sie, unter anderem.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"The last good thing written in C was
Franz Schubert's Symphony number 9."
        -- Erwin Dieterich
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 06 May 2009 - 23:31:03 CEST

search this site