Pas dy vjet e gjysmë zhvillimi, konsorciumi ISC paraqiti lëshimin e parë stabil të degës së re të rëndësishme të serverit DNS BIND 9.20, e cila përmban ndryshimet e zhvilluara në degën eksperimentale BIND 9.19. Mbështetje për degën 9.20 do të sigurohet në kuadër të një cikli të zgjeruar mbështetje deri në tremujorin e parë të vitit 2028. Mbështetje për degën 9.18 do të përfundojë në tremujorin e dytë të vitit 2025. Për zhvillimin e funksionalitetit të versionit të ardhshëm stabil BIND do të formohet një degë eksperimentale BIND 9.21.0. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën MPL 2.0.
Ndryshimet kryesore:
- Bërthama e aplikacionit, e cila lidh të gjitha komponentët, është përkthyer për të përdorur një cikël përpunimi ngjarjesh në modalitetin asinkron, të implementuar mbi bibliotekën libuv, e cila përdoret në projekte si Node.js, Knot DNS, H2O, Luvit dhe MoarVM. Në degën 9.16, menaxheri i lidhjeve rrjet, bazuar në libuv, është përkthyer në BIND, dhe tani janë përfshirë gjithashtu pjesët që përdoren për ndërveprimin e komponenteve të brendshme të infrastrukturës, si dhe proceset ndihmëse që ekzekutohen për një kohë të gjatë në thread të veçantë (threadpool), të përdorura për verifikimin e DNSSEC, transfertën e zona, ruajtjen e katalogeve të zonave dhe trajtimin e RPZ (Response Policy Zone). Tani kërkohet të paktën versioni 1.34.0 i libuv për ndërtimin e BIND.
- NjĂ« backend i ri Ă«shtĂ« propozuar pĂ«r punĂ«n me bazat e tĂ« dhĂ«nave â "QP trie", i cili zĂ«vendĂ«son RBTDB (Red-Black Tree Database) dhe Ă«shtĂ« aktivizuar si parazgjedhje pĂ«r ruajtjen e caches dhe bazĂ«s sĂ« zonave DNS. PĂ«r punĂ«n shumĂ«fijor nĂ« QP trie, Ă«shtĂ« pĂ«rdorur biblioteka liburcu me implementimin nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit tĂ« strukturave qĂ« nuk kĂ«rkojnĂ« bllokime, pĂ«r shkak tĂ« pĂ«rdorimit tĂ« mekanizmit tĂ« sinkronizimit RCU (read-copy-update) dhe metodĂ«s sĂ« çlirimit tĂ« sigurt tĂ« memories QSBR (Quiescent-State-Based Reclamation).
- Mekanizmi i azhurnuar i kompresimit është aktivizuar emrave të domain-eve, duke përdor një metod më kompakt për kodimin e emrave me një numër të madh etiketash.
- Funksionaliteti DNSSEC është zgjeruar: "dnssec-policy" lejohet të përdoret për menaxhimin e zonave të nënshkruara (opsioni auto-dnssec është hequr); gjatë përdorimit të "inline-signing" është shtuar mbështetje për RFC 8901 (modeli i shumë-nënshkruesve DNSSEC 2); është rinovuar mbështetja për PKCS#11 mbi OpenSSL 3.0.0 Engine API; në "dnssec-policy" është shtuar mbështetje për HSM (Moduli i Sigurisë Harduerike).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r versionin e dytĂ« tĂ« katalogut tĂ« zonave (Catalog Zone, RFC 9432), qĂ« e thjeshton mbĂ«shtetje pĂ«r serverĂ«t DNS tĂ« dytĂ« duke siguruar qĂ« nĂ« vend tĂ« pĂ«rcaktimit nĂ« serverin e dytĂ« tĂ« regjistrimeve tĂ« veçanta pĂ«r çdo zonĂ« tĂ« dytĂ«, tĂ« organizohet njĂ« transfertĂ« e katalogut tĂ« zonave tĂ« dytĂ« midis serverĂ«ve kryesorĂ« dhe tĂ« dytĂ«. Pas konfigurimit tĂ« transfertĂ«s sĂ« katalogut nĂ« mĂ«nyrĂ« tĂ« ngjashme me transfertĂ«n e zonave tĂ« veçanta, zonat e krijuara nĂ« serverin kryesor, tĂ« cilat janĂ« tĂ« shĂ«nuara si tĂ« pĂ«rfshira nĂ« katalog, krijohen automatikisht nĂ« serverin e dytĂ« pa nevojĂ«n pĂ«r modifikimin e skedarĂ«ve tĂ« konfigurimit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin e gabimeve tĂ« zgjeruara (Extended DNS Errors, RFC 8914), i cili lejon kthimin e informacionit shtesĂ« nĂ« lidhje me shkakun e gabimit qĂ« ka ndodhur gjatĂ« ekzekutimit tĂ« kĂ«rkesĂ«s DNS.
- Implementimi i teknologjive "DNS mbi HTTPS" (DoH, DNS over HTTPS) dhe DNS mbi TLS (DoT, DNS over TLS), të aplikuara për enkriptimin e kërkesave të klientëve ndaj resolverit dhe për shkëmbimin e enkriptuar të të dhënave midis serverëve, është kaluar në përdorimin e transportit të unifikuar.
- Shtuar mundësia për përdorimin e protokollit PROXYv2 me të gjitha transportet e mbështetura në BIND. Protokolli PROXY lejon transmetimin e informacionit mbi lidhjen për të ruajtur informacionin mbi IP-në dhe numrin e portës origjinale kur kalojnë kërkesat DNS përmes backend-eve të tjera, balancuesve të ngarkesës dhe proxy-ve.hostingut.
- Shtuar mbështetje për modin USDT (User Statically Defined Tracing), i cili ofron mundësinë për të kryer gjurmimin e aplikacioneve duke përdorur komandën perf, pa krijuar ngarkesa shtesë kur gjurmimi është i çaktivizuar.
- Në statistikën e mbledhur është realizuar reflektimi i informacionit mbi operacionet e papërfunduara të hyrjes për transferimin e zonave.
- Puna është bërë për të reduktuar vonesat, për të ulur konsumimin e kujtesës dhe për të reduktuar ngarkesën mbi CPU gjatë rezolvimit, punës me DNS-over-TLS dhe formimit të përgjigjeve sipas UDP dhe TCP.



Burimi: opennet.ru



