Re: Rechner zum Pingen

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Thu, 12 Aug 2004 14:08:17 +0200

On Thu, Aug 12, 2004 at 01:14:35PM +0200, Oliver Fromme wrote:
> Thomas Vogt <freebsdlists(at)bsdunix.ch> wrote:
> > Ich plane das Einrichten eines "Ping" Rechners für unsere Kunden.
> > Zur Zeit pingen viele Kunden unsere Cisco Router zu Testzwecken. Bei
> > einigen Tausend Usern bemerkt man eine grössere CPU Last auf den
> > Ciscos.
> > Ich möchte nun eine FBSD Kiste ins Netz stellen, die sich zum Pingen
> > eignet.
> >
> > Muss man etwas spezielles beachten? Die Kiste sollte nicht gleich bei
> > ersten DoS abliegen. Wobei Pings von einigen Tausendkunden wohl oft wie
> > ein DoS aussehen. Gibt es irgendwelche speziellen Tunningoptionen?
> >
> > Vielleicht hat ja jemand schon einmal so etwas gemacht und kennt somit
> > die Probleme die sowas mit sich bringt.
>
> Sollte eigentlich ziemlich unkritisch sein. ICMP-Pakete
> sind (normalerweise) relativ klein. Man kann zwar auch
> zum Testen große Ping-Pakete verschicken, aber wenn das
> tausend Kunden regelmäßig tun, dann hast Du definitiv ein
> Policy-Problem, kein technisches Problem.
>
> FreeBSD bearbeitet ICMP-Pakete bereits während des Empfangs
> im Interrupt-Handler, so daß der Overhead und die Latenz
> relativ gering sind. Du kannst im übrigen die Rate, mit
> der ICMP-Pakete generiert werden, per sysctl begrenzen;
> siehe »net.inet.icmp« (dort speziell »icmplim«).

Das stimmt nur bis FreeBSD-4, auf FreeBSD-5 gibt es den Software
Interrupt Namens »net«, der die Verarbeitung nach der IRQ Routine
weiterführt und der IRQ nicht zu lange blockiert wird.
Eine langsamme FreeBSD Maschine mit zu wenig RAM kannst du mit ping
deswegen gar abschießen - zuletzt überprüft mit einem 5.1.
Du schickst viele große fragmentierte Packete, die der Rechner bis zum
zusammensetzen im Speicher halten muss und der ist irgendwann voll,
aber da IRQs priorisiert sind kommt es bei zu kleiner CPU nicht mehr
dazu und es werden schlicht schneller Packete angenommen als
verarbeitet.
Die Erfahrung habe ich auf einem Soekris System machen müssen.
net.inet.ip.maxfragpackets=0 hilft und da es ein Router war konnte
ich ganz gut ohne dem CPU fressenden Feature leben.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 12 Aug 2004 - 14:09:38 CEST

search this site