Zstandard tok (.zst)

IETF Standard

Zstandard (Zstd) je savremeni algoritam kompanije Meta za kompresiju bez gubitaka u realnom vremenu. Pruža stepen kompresije uporediv s algoritmom Deflate.

Konvertujte ZSTD u GZIP

Besplatan konvertor ZSTD u GZIP u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju Zstandard datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju Zstandard datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

28 B5 2F FD

ASCII REPREZENTACIJA: (µ/ý

Standardizacija: IETF RFC 8878

Tehničke specifikacije

Arhitektura kontejneraZaglavlje okvira s potpisom 0xFD2FB528, deskriptorom okvira, blokovima podataka i opcionom kontrolnom sumom od 32 ili 64 bita
KompresijaKoder konačnih stanja (FSE), Huffmanovo kodiranje i LZ77 s velikim prozorima pretrage (do 2 GB)
Bajtni redosled (Endianness)Redosled bajtova i bitova od najmanje značajnog ka najznačajnijem
Prostori bojaNije primenljivo (tok za kompresiju podataka)
Kanali i strukturaKompresija bajtnih tokova opšte namene
Maksimalne dimenzijeNeograničen kapacitet za strimovanje podataka
TransparentnostPotpuno očuvanje podataka bez gubitaka i uz potpuno podudaranje bitova
Strimovanje i progresivno učitavanjeStrimovanje veoma velikog protoka, projektovano da u potpunosti iskoristi višegigabitne NVMe i mrežne veze

Tehnička matrica poređenja: Zstandard u odnosu na konkurente

Tehnički atributZstandard (Trenutno)GZBROTLILZ4
Brzina dekompresijeIzuzetno brzo (1,5 - 3,0 GB/s)Umereno (~300 MB/s)Brzo (~400 MB/s)Munjevito (~4,0 GB/s)
Efikasnost kompresijeViša od Gzip-a, uporediva sa Bzip2Osnovni standardNajviša na veb tekstuNiska (fokusirana na brzinu)
Obuka rečnikaPrilagođeni obučeni rečniciNemaFiksni veb rečnik od 120 KBNema
Usvajanje od strane modernog OS-aLinux kernel, Arch, Fedora, BtrfsDostupan u nekim starijim Unix distribucijamaVeb pretraživači i CDN iviceLinux kernel i gejm endžini

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Greška pri dekompresiji: 'ZSTD_error_checksum_wrong: Checksum verification failed'.

Osnovni uzrok: Oštećeni bajt u bloku podataka zbog čega 32-bitna ili 64-bitna xxHash verifikacija ne uspeva.

Oporavak: Raspakujte sa '--force' da biste zaobišli kontrolnu sumu ili popravite pomoću File2File.app Zstd Konvertera.

Bezbednosna analiza i vektori napada parsera

Mašina stanja za FSE dekodiranje u Zstandardu mora strogo da proverava opise tabela kako bi sprečila prelazak u nevažeća stanja.

Poznati vektori napada

  • Oštećene normalizovane FSE tabele brojača koje uzrokuju pristup tabeli stanja van dozvoljenih granica.
  • Prelivanje celobrojne vrednosti tokom alokacije bafera velikog prozora.
  • Uskraćivanje usluge (DoS) iscrpljivanjem memorije prilagođenog rečnika.

Najbolje prakse za zaštitu: Proverite ograničenja veličine prozora u zaglavlju okvira i ograničite maksimalno dozvoljene alokacije rečnika.

Istorijat i prekretnice

2021IETF objavljuje Zstandard kao RFC 8878; glavne Linux distribucije (Arch, Fedora, Ubuntu) ga usvajaju za pakovanje.
2018Linux kernel 4.14 uključuje Zstandard kompresiju za Btrfs i SquashFS sisteme datoteka.
2015Yann Collet predstavlja Zstandard u Facebooku, uvodeći tehnologiju entropije konačnih stanja (FSE).

Ključne prednosti

  • Neverovatna brzina dekompresije: dekompresuje brzinom od 1,5 do 3,0 GB/s po jezgru, maksimalno iskorišćavajući brze NVMe SSD diskove.
  • Veoma fleksibilna skala kompresije: nudi 22 nivoa kompresije, od munjevito brze u realnom vremenu do ultra-guste arhivske.
  • Obuka prilagođenog rečnika omogućava postizanje 3 do 5 puta bolje kompresije na malim zapisima kao što su JSON i redovi baze podataka.

Tehnička ograničenja i nedostaci

  • Nešto veći memorijski otisak od starijeg Deflate algoritma tokom kompresije visokog nivoa sa velikim veličinama prozora.
  • Zahteva moderne alate; stariji Unix serveri možda nemaju unapred instalirane zstd alate.
  • Sirovi .zst tokovi zahtevaju kontejnerizaciju (poput TAR-a) da bi se sačuvale hijerarhije direktorijuma.

Zanimljivosti

  • Zstandard koristi entropiju konačnih stanja (tANS), revolucionarnu primenu asimetričnih numeričkih sistema koju je razvio Jarek Duda i koja dostiže Šenonovu granicu entropije brzinom hardvera.
  • Arch Linux je prešao s xz arhiva paketa na zstd. Projekat je prijavio znatno bržu dekompresiju u svom toku rada s paketima, dok veličina paketa i vreme instalacije zavise od radnog opterećenja i hardvera.
  • Magijski bajtovi 0x28 0xB5 0x2F 0xFD izabrani su tako da budu lako prepoznatljivi i da se izbegnu kolizije sa starijim formatima.

Često postavljana tehnička pitanja

Zašto Zstandard zamenjuje Gzip u savremenim Linux sistemima?

Zstandard kompresuje datoteke manje od Gzip-a dok ih dekompresuje 5 do 10 puta brže, dramatično skraćujući vreme instalacije softvera i smanjujući potrošnju CPU-a na serveru.

Šta je kompresija pomoću rečnika u Zstd-u?

Zstd može da obuči model na skupu malih datoteka (poput JSON API odgovora) da bi kreirao prilagođeni rečnik, omogućavajući naknadnim datotekama da se kompresuju do 5 puta više upućivanjem na deljene šablone.

Kako mogu da dekompresujem .zst ili .zstd datoteku?

Možete dekompresovati .zst i .tar.zst datoteke direktno u Vašem veb pretraživaču pomoću aplikacije File2File.app bez instaliranja alata komandne linije.