Optimális csomagméret (MTU alatt) és sebesség fájlküldésnél
2015-08-18T17:08:42+02:00
2015-08-19T10:27:01+02:00
2022-07-22T06:28:26+02:00
  • Magyarul csatorna minőség függő, hogy mi az optimális.
    Mutasd a teljes hozzászólást!
  • a válasz egyszerű: Jumbo frame - Wikipedia, the free encyclopedia

    nagyobb frame, jobb adatátvitel, ebben nincs újdonság :)

    64 byte-os csomagoknál kb. óriási a sallang (header, ack) arány.

    WAND Network Research Group: Analysis of YouTube Application Flow Control
    Mutasd a teljes hozzászólást!
  • Miért nem teszteled le magadnak, én kíváncsi lennék az eredményekre..
    Mutasd a teljes hozzászólást!
  • Hali.

    Főként olyan hálózatokban tapasztalt fejlesztők véleményére lennék kíváncsi, akiknek már szükségük volt mélyebben beleásniuk magukat a valósidejű adatküldés (networking stream) rejtelmeibe. Példának okáért vegyük alapul a TCP-t, mivel itt nem kell külön megírni, az oda-vissza adatküldést/ellenőrzést. A programkörnyezet C#, bár utóbbi gondolom most nem annyira lényeg. A legegyszerűbb példát veszem alapul. Nyitok egy darab portot, majd figyelem a beérkező kapcsolatot. Ha ez megtörténik egy nyers 100 megás fájlt küldök a kliensnek. Ez 104 857 600 byte-ot jelent, amit 64 byte-os csomagonként küldözgetek, ezt az értéket vettem alapul. Tehát 1638400 x küldök a kliens felé egy 64 byte-os tömböt. Ez meg is történik gond nélkül. Az eredmények nagyjából a következők:

    Ha a szerver és kliens is ugyanazon a gépen fut, akkor az adatátvitel ideje kb. 12mp.
    Ha a kliens egy másik gépen fut, akkor ugyanez az adat kb. 18mp alatt megy át. (Router + LAN kábellel a kapcsolat helyi hálózaton)

    Egyértelmű, ha nagyobb csomagot küldenék pl. 128, 256, 512, akkor ugyanez az adatmennyiség lényegesen gyorsabban átmenne. Jók-e ezek az értékek így kisebb csomag (64 byte) esetén? Ha hálózaton keresztül (100 megabit) számolom, akkor annak a 18mp-nek megfelelően picivel több mint 5 mega/mp az adatátvitel, és azt is látom a feladatkezelőben, hogy a Hálózati terhelés sem 100%-on történik. Érdemes-e nagyobb mennyiségű csomagokat küldözgetni fájlok átvitelére, esetleg feszegetni az 1400-1500-as MTU korlátot? Mondjuk 1300-at még feltételezem gond nélkül elbír, de feltétlenül ez kell-e a nagyobb adatátvitelhez? Természetesen úgy a leggyorsabb a teszt idejéig, ha egyből a 100 megás buffert küldöm át 1 üzenetben, de gondolom ez így helytelen, max helyi hálózatnál jó, ahol nem történik nagyon csomagveszteség, kapcsolat szakadás. Igazából azt sem igazán vágom, hogy a több gigabites szolgáltatóknál hogyan oldják meg azt a marha nagy adatátvitelt, ha az MTU korlátoz? Tudom, hogy gyorsabb kapcsolatnál egyszerűen több csomagot küldenek el, de ennek akkor is van valahol egy korlátja, főleg ha ellenőrizni kell őket.

    Mindenki véleményét szívesen várom, sajnos nem nagyon találtam még sehol ezekre kielégítő választ, főleg arra, hogy mi az optimális csomagméret ilyen célokra.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd