Zstandard adatfolyam (.zst)

IETF Szabvány

A Zstandard (Zstd) a Meta modern, valós idejű veszteségmentes tömörítési algoritmusa, amely a Deflate.

ZSTD konvertálása erre: GZIP

Ingyenes, böngészőben használható ZSTD-konverter GZIP formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) Zstandard fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) Zstandard fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

28 B5 2F FD

ASCII ÁBRÁZOLÁS: (µ/ý

Szabványosítás: IETF RFC 8878

Műszaki specifikációk

Konténer architektúraKeretfejléc 0xFD2FB528 aláírással, keretleíróval, adatblokkokkal és opcionális 32 vagy 64 bites ellenőrzőösszeggel
TömörítésVégesállapotú entrópiakódoló (FSE) + Huffman-kódolás + LZ77 nagy keresőablakkal (legfeljebb 2 GB)
Bájtsorrendkis bájtsorrendű bájt- és bitfolyam-sorrend
SzínterekNem alkalmazható (adattömörítési adatfolyam)
Csatornák és struktúraÁltalános célú bájtfolyam-tömörítés
Max. méretekKorlátlan adatfolyam-kapacitás
ÁtlátszóságVeszteségmentes adat-visszaállítás, 100%-ban bitpontos egyezéssel
Streaming és progresszívRendkívül nagy áteresztőképességű adatfolyam, amelyet több gigabites NVMe- és hálózati kapcsolatok telítésére terveztek

Műszaki összehasonlító mátrix: Zstandard vs. versenytársak

Technikai attribútumZstandard (Jelenlegi)GZBROTLILZ4
Kitömörítési sebességRendkívül gyors (1.5 - 3.0 GB/s)Mérsékelt (~300 MB/s)Gyors (~400 MB/s)Villantósan gyors (~4.0 GB/s)
Tömörítési hatékonyságMagasabb, mint a Gzipé, a Bzip2-ével megegyezikAlapszintű szabványLegmagasabb webes szövegeknélAlacsony (sebességre fókuszáló)
SzótárbetanításEgyedileg betanított szótárakNincsRögzített 120 KB-os webes szótárNincs
Modern OS támogatottságLinux rendszermag, Arch, Fedora, BtrfsEgyes régi Unix-disztribúciókban érhető elWebböngészők és CDN peremhálózatokLinux kernel és játékmotorok

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

Kitömörítési hiba: 'ZSTD_error_checksum_wrong: Ellenőrzőösszeg-ellenőrzés sikertelen'.

Kiváltó ok: Sérült bájt az adatblokkban, ami miatt a 32 vagy 64 bites xxHash ellenőrzés meghiúsul.

Helyreállítás: Kitömörítés a '--force' kapcsolóval az ellenőrzőösszeg kihagyásához, vagy javítás a File2File.app Zstd Konverterrel.

Biztonsági elemzés és elemző (parser) támadási vektorok

A Zstandard FSE-dekódoló állapotgépének szigorúan ellenőriznie kell a táblázatleírásokat, hogy megakadályozza az érvénytelen állapotugrásokat.

Ismert támadási vektorok

  • Sérült, normalizált FSE-számlálótáblák, amelyek a táblán kívüli (out-of-bounds) állapottábla-kereséseket okoznak.
  • Egész túlcsordulás nagy ablakmemória-puffer foglalása során.
  • Szolgáltatásmegtagadás egyedi szótár memóriájának kimerítése révén.

Ajánlott védekezési módszerek: Érvényesítse a keretfejléc ablakméret-korlátait, és korlátozza a maximálisan megengedett szótár-lefoglalásokat.

Történeti háttér és mérföldkövek

2021Az IETF közzéteszi a Zstandardet RFC 8878 néven; a nagyobb Linux disztribúciók (Arch, Fedora, Ubuntu) átveszik csomagoláshoz.
2018A Linux Kernel 4.14 beépíti a Zstandard tömörítést a Btrfs és SquashFS fájlrendszerekbe.
2015Yann Collet kiadja a Zstandardet a Facebooknál, bevezetve a Finite State Entropy (FSE) technológiát.

Főbb előnyök

  • Hihetetlen kitömörítési sebesség: magonként 1,5 - 3,0 GB/s sebességgel tömörít ki, teljesen kihasználva a nagy sebességű NVMe SSD-ket.
  • Rendkívül rugalmas tömörítésiskála: 22 tömörítési szintet biztosít a villámgyors valós idejűtől az ultra-tömör archív szintig.
  • Az egyedi szótárbetanítás lehetővé teszi 3 - 5-ször jobb tömörítés elérését kis rekordok, például JSON és adatbázissorok esetén.

Technikai korlátok és hátrányok

  • Kicsit nagyobb memóriahasználat a hagyományos Deflate-hez képest magas szintű tömörítés és nagy ablakméretek mellett.
  • Modern eszközöket igényel; a régebbi Unix szerverekből hiányozhatnak az előre telepített zstd segédprogramok.
  • A nyers .zst adatfolyamok konténerezést (például TAR) igényelnek a könyvtárstruktúrák megőrzéséhez.

Érdekes technikai tudnivalók

  • A Zstandard a Finite State Entropy (tANS) algoritmust használja, amely egy Jarek Duda által kifejlesztett aszimmetrikus számrendszerbeli áttörés, és hardveres sebességgel éri el a Shannon-féle entróriakorlátokat.
  • Az Arch Linux áttért az xz-ről a zstd-alapú csomagarchívumokra; a projekt sokkal gyorsabb kitömörítésről számolt be, a csomagméret és a telepítési idő azonban a munkaterheléstől és a hardvertől függ.
  • A 0x28 0xB5 0x2F 0xFD varázsszámokat úgy választották ki, hogy könnyen felismerhetőek legyenek, és elkerüljék az ütközést a régebbi formátumokkal.

Gyakran Ismételt Műszaki Kérdések

Miért váltja fel a Zstandard a Gzipet a modern Linux-rendszerekben?

A Zstandard kisebbre tömöríti a fájlokat, mint a Gzip, miközben 5-10-szer gyorsabban tömörít ki, drasztikusan csökkentve a szoftverek telepítési idejét és a szerverek CPU-használatát.

Mi az a szótártömörítés (dictionary compression) a Zstd-ben?

A Zstd képes betanulni kis fájlok egy halmazán (például JSON API válaszokból) egyéni szótár létrehozásához, lehetővé téve, hogy a későbbi fájlok akár 5-ször kisebbre tömörödjenek a megosztott minták hivatkozásával.

Hogyan bonthatok ki egy .zst vagy .zstd fájlt?

A File2File.app segítségével .zst- és .tar.zst-fájlokat bonthat ki közvetlenül a webböngészőben, parancssori eszközök telepítése nélkül.