Portál AbcLinuxu, 27. července 2025 17:43


Dotaz: Iptables a počítadle v OUTPUT

20.11.2008 17:30 Radek Hladik | skóre: 20
Iptables a počítadle v OUTPUT
Přečteno: 190×
Odpovědět | Admin
Dělám si na serveru jednoduchou statistiku přenosů pomocí počítadel v iptables. Zjistil jsem ale, že v případě chainu OUTPUT je průměrná velikost packetu v některých případech skoro 3KB. Přitom MTU mám nastavené na 1500.

Mám pocit, že IP vrstva se snaží odeslat větší packety než je MTU, což je vlastně až nastavení síťovky. Takže síťovka pošle maximálně 1500B a IP vrstva přebývající data pošle v dalších packetech. Mám tedy pocit, že jak počet packetů, tak množství přenesených dat, nebude odpovídat realitě.

Je tedy možné získat nějak přesná data pomocí iptables? Nebo je možné nastavit IP vrstvu, aby se maximálně snažila poslat 1500B - a jak by se to projevilo na výkonu?

Jako linková vrstva je gigabitový ethernet, který teoreticky umí i jumbo framy, ale ty nejsou povolený. Data bohužel potřebuju měřit přímo na serveru, nikoliv až někde cestou.

Radek
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.11.2008 17:40 Petr Holík
Rozbalit Rozbalit vše Re: Iptables a počítadle v OUTPUT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zamenujete termin IP packet(datagram) a ethernetovy ramec. U 100 Mbit ethernetu je skutecne maximalni velikost ramce cca 1500 bajtu ale u IP packetu je to cca 65KByte. Tudiz jak spravne usuzujete IP packet je fragmentovan a pak opet sestaven. Takze:

Nemyslim se, ze se jedna o chybny stav, pripadne ze data nesouhlasi. Tudiz neni potreba cokoliv opravovat.
20.11.2008 18:03 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Iptables a počítadle v OUTPUT
To dává smysl. Ale zaráží mně, že v případě chainu INPUT je opravdu maximální velikost packetu 1500B, tzn. tam se defragmentace udělá až po započítání? A jak systém dospějě k těm cca 3KB v případě odchozích packetů - je to nastavené na úrovni aplikace nebo si to IP vrstva řídí sama? Jedná se o iSCSI provoz, takže není důvod k nějaké principielní asymetričnosti, klient i server mají shodné nastavení.

A ověřil jsem, že se data opravdu započítávají správně. Přečtení i zapsání xGB dat opravdu započítá správný počet dat, jen v případě OUTPUT je velikost packetu skoro 3000B, zatímco u INPUT je to skoro 1500B.
21.11.2008 19:37 Petr Holík
Rozbalit Rozbalit vše Re: Iptables a počítadle v OUTPUT
To bohuzel bez pohledu do zdrojovych kodu nebo intezivniho googleni nejsem schopen odpovedet. Pokud vas to opravdu zajima zkuste, mezi zarizeni vlozit hub a spustit si ethereal a budete mit jasno :) pripadne se podivejte do zdrojaku iptables, coz nemusi byt uplne jednoduche.

21.11.2008 23:09 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Iptables a počítadle v OUTPUT
mozno som mimo, ale nie je to tym, ze k defragmentacii dochadza uz pri zdroji?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.