Portál AbcLinuxu, 16. července 2025 06:08


Dotaz: Spojování malých paketů do jednoho velkého bloku

28.4.2004 09:00 T P | skóre: 8
Spojování malých paketů do jednoho velkého bloku
Přečteno: 129×
Odpovědět | Admin
Mám wifi spoj: server - AP - AP - server. Pokud si spoj testuji, tak z něj dostanu cca 4Mbit. Pokud ale na něj pustím klienty, tak se nedostanu přes 1,5Mbit. Při sledování provozu sítě je tam vidět spousta odesílaných krátkých paketů a pak něco málo dlouhých paketů. Chci se zeptat, jestli se nedá někde v linuxu nastavit, aby server všechny ty krátké pakety spojil a udělal z nich jeden velký a ten odeslal? A na druhé straně server zase ty pakety rozbalil? Tím by se dal určitě lépe využít radiový spoj, kdyby nemusel odesílat tisíce krátkých paketů a místo toho odesílal jeden velký. Prohledal jsem všechno možné, ale nic kloudného nenašel.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

DjAARA avatar 28.4.2004 09:11 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
Rozbalit Rozbalit vše Re: Spojování malých paketů do jednoho velkého bloku
Odpovědět | | Sbalit | Link | Blokovat | Admin
fragmentovane pakety by slo defragmentovat, ale pokud sou to skutecne male pakety (a vsechny sou male) tak by treba pomohlo zvetsit MTU
DjAARA's blog
28.4.2004 10:11 Radek Podgorny
Rozbalit Rozbalit vše Re: Spojování malých paketů do jednoho velkého bloku
A neznamena to M v MTU "maximal"? :-)
28.4.2004 10:28 T P | skóre: 8
Rozbalit Rozbalit vše Re: Spojování malých paketů do jednoho velkého bloku
to jo, ale když ho mám nastavené na 1500, tak proč radio vysílá pakety velký 75 ? A tyhle pakety já potřebuju zachytit a spojit do velkého bloku a poslat. A by radio nevysílalo 10x miniaturní paket místo 1-ho velkého.
28.4.2004 10:32 Cronin
Rozbalit Rozbalit vše Re: Spojování malých paketů do jednoho velkého bloku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Teoreticky je to riesitelne, ale v praxi sa to asi velmi nepouziva. Pri prenose by sa muselo cakat na urcite mnozstvo malych paketov, aby naplnili jeden velky paket a preniesli by sa. Implementacne by musel byt dany nejaky deadline, pocas ktoreho by sa cakalo na prichod malych paketov a po ktorom by sa "velky" paket odoslal aj nenapleny. Takze taketo rieseniu by sice mohlo viest k zlepseniu priepustnosti, ale viedlo by aj k zhorseniu odozvy, co je pri niektorych aplikaciach (synchronizacia casu, hry typu Quake, a pod.) velmi neziaduce.

MTA sa tyka ramcov, nie paketov. Zvysenie MTA pomoze, ak sa jedna skutocne len o retazec server - AP - AP - server, pricom musi byt zvyseny na vsetkych zariadeniach zucastnujucich sa na prenose (vratane switchov, smerovacov, a pod.). Standardna hodnota MTA zvykne byt 1500. Ak vsak je retazec server - AP - AP - internet, zvysenie MTA bude kontraproduktivne, nakolko ak dorazi ramec na zariadenie, ktore jeho velkost nezvladne, vynuti sa nova fragmentacia celeho paketu, z ktoreho bol ramec vytvoreny, na mensie ramce, a prenos celeho paketu sa zopakuje, cim dojde k zvyseniu mnozstva prenasanych udajov aj zvacseniu odozvy.
DjAARA avatar 28.4.2004 10:40 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
Rozbalit Rozbalit vše Re: Spojování malých paketů do jednoho velkého bloku
pokud neodesila ty male pakety kvuli tomu ze se mu nekde cestou fragmentovaly-proto sem hned jako prvni psal defragmentaci paketu...
28.4.2004 13:29 T P | skóre: 8
Rozbalit Rozbalit vše Re: Spojování malých paketů do jednoho velkého bloku
Včerejší testy na spoji, pro který je tato funkce potřebná, ukázaly, že jeho paketová propustnost je 500 pkt/s a datová 2,5Mbit, pokud se však trafik skládá převážně z krátkých paketů jeho kapacita klesá na 1Mbit. odezva 32b pingu je na nezatíženém spoji 2-3 ms na zatíženém (400pkt/s) je odezva 10-40ms. poměr mezi krátkými pakety (do 256b) a dlouhými je zhruba 3:1.

Kdyby se všechny pakety pod 256b spojovaly po paketů 256b klesl by počet paketů na min 1/2 (mělo by to být parametricky konfigurovatelné aby se dala najít ideální hranice pro spojování) Pravidlo by mohlo obsahovat i podnínku jak dlouhé pakety skládat do jak dlouhých balíčků (např: sbírej pakety pod 64 a posílej je po 256, od 64 je posílej v 512 balíčcích. atd.) V praxi by tu měly být minimálně dvě fronty pro úplně krátké pakety a pro delší, které se ale dají poslat v celku.

odezva na nezatíženém spoji 32b 2-3ms 256b 6-7ms 512b 10-11ms

Z toho plyne, pokud by šli krátké pakety balíčky 256b resp. 512b byla by odezva min 6ms resp 10 což je pořád méně než teď když jdou samostatně s odezvou 10-40ms. A díky úspoře množství paketů by se dala efektivněji využít datová propustnost počítám až na reálné 2Mbit

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.