Një nga veçoritë e Chromium krijon një ngarkesë të madhe në serverët DNS rrënjë

Një nga veçoritë e Chromium krijon një ngarkesë të madhe në serverët DNS rrënjë

Shfletuesi Chromium, prindi i lulëzuar me burim të hapur i Google Chrome dhe Microsoft Edge i ri, ka marrë vëmendje të konsiderueshme negative për një veçori që ishte menduar me qëllime të mira: ai kontrollon nëse ISP-ja e përdoruesit po "vjedh" rezultate të pyetjeve joekzistente të domenit. .

Detektor i ridrejtimit të intranetit, i cili krijon pyetje të rreme për "domainët" e rastësishëm që statistikisht nuk ka gjasa të ekzistojnë, është përgjegjës për afërsisht gjysmën e trafikut total të marrë nga serverët DNS rrënjë në mbarë botën. Inxhinieri i Verisign Matt Thomas shkroi një të gjatë post në blogun e APNIC duke përshkruar problemin dhe duke vlerësuar shkallën e tij.

Si kryhet zakonisht rezolucioni i DNS

Një nga veçoritë e Chromium krijon një ngarkesë të madhe në serverët DNS rrënjë
Këta serverë janë autoriteti më i lartë që duhet të kontaktoni për të zgjidhur .com, .net, etj., në mënyrë që ata t'ju thonë se frglxrtmpuf nuk është një domen i nivelit të lartë (TLD).

DNS, ose Domain Name System, është një sistem me anë të të cilit kompjuterët mund të zgjidhin emra të paharrueshëm domenesh si arstechnica.com në adresa IP shumë më pak miqësore për përdoruesit si 3.128.236.93. Pa DNS, interneti nuk do të ekzistonte në një mënyrë që njerëzit të mund ta përdornin, që do të thotë se ngarkesa e panevojshme në infrastrukturën e nivelit të lartë është një problem real.

Ngarkimi i një faqeje të vetme ueb moderne mund të kërkojë një numër të jashtëzakonshëm kërkimesh për DNS. Për shembull, kur analizuam faqen kryesore të ESPN, numëruam 93 emra të veçantë domenesh, duke filluar nga a.espncdn.com në z.motads.com. Të gjitha ato janë të nevojshme që faqja të ngarkohet plotësisht!

Për të akomoduar këtë lloj ngarkese pune për një motor kërkimi që duhet t'i shërbejë të gjithë botës, DNS është projektuar si një hierarki me shumë nivele. Në krye të kësaj piramide janë serverët rrënjë - çdo domen i nivelit të lartë, si p.sh. com, ka familjen e vet të serverëve që janë autoriteti më i lartë për çdo domen poshtë tyre. Një hap më lart këto serverët janë vetë serverët rrënjë, nga a.root-servers.net tek m.root-servers.net.

Sa shpesh ndodh kjo?

Falë hierarkisë së cachimit me shumë nivele të infrastrukturës DNS, një përqindje shumë e vogël e pyetjeve DNS në botë arrijnë te serverët rrënjë. Shumica e njerëzve marrin informacionin e tyre për zgjidhjen e DNS direkt nga ISP-ja e tyre. Kur pajisja e një përdoruesi duhet të dijë se si të shkojë në një uebsajt të caktuar, një kërkesë i dërgohet fillimisht një serveri DNS të menaxhuar nga ai ofrues lokal. Nëse serveri lokal DNS nuk e di përgjigjen, ai ia përcjell kërkesën "përcjellësve" të tij (nëse specifikohet).

Nëse as serveri DNS i ofruesit lokal dhe as "serverët e përcjelljes" të specifikuar në konfigurimin e tij nuk kanë një përgjigje të memorizuar, kërkesa ngrihet drejtpërdrejt në serverin autoritar të domenit sipër atë që po përpiqeni ta konvertoni. Kur домен.com kjo do të thotë që kërkesa dërgohet në serverët autoritativ të vetë domenit com, të cilat ndodhen në gtld-servers.net.

Sistem gtld-servers, të cilit i është bërë kërkesa, përgjigjet me një listë të serverëve autoritativë të emrave për domenin domain.com, si dhe të paktën një regjistrim lidhjesh që përmban adresën IP të një serveri të tillë emri. Më pas, përgjigjet lëvizin poshtë zinxhirit - secili përcjellës ia kalon këto përgjigje serverit që i ka kërkuar, derisa përgjigja të arrijë më në fund në serverin e ofruesit lokal dhe në kompjuterin e përdoruesit. Të gjithë ata e ruajnë këtë përgjigje në mënyrë që të mos shqetësojnë në mënyrë të panevojshme sistemet e nivelit më të lartë.

Në shumicën e rasteve, serveri i emrave regjistron për domain.com do të ruhet tashmë në një nga këta përcjellës, kështu që serverët rrënjë nuk do të shqetësohen. Megjithatë, tani për tani po flasim për llojin e URL-së me të cilën jemi njohur - atë që konvertohet në një faqe interneti të rregullt. Kërkesat e Chrome janë në nivel sipër kjo, në hapin e vetë grupimeve root-servers.net.

Kontrolli i vjedhjes së Chromium dhe NXDomain

Një nga veçoritë e Chromium krijon një ngarkesë të madhe në serverët DNS rrënjë
Chromium kontrollon "a po më mashtron ky server DNS?" përbëjnë gati gjysmën e të gjithë trafikut që arrin grupin e serverëve DNS rrënjë të Verisign.

Shfletuesi Chromium, projekti mëmë i Google Chrome, Microsoft Edge i ri dhe shfletues të panumërt më pak të njohur, dëshiron t'u ofrojë përdoruesve lehtësinë e kërkimit në një kuti të vetme, që ndonjëherë quhet "Omnibox". Me fjalë të tjera, përdoruesi fut URL-të reale dhe pyetjet e motorit të kërkimit në të njëjtën fushë teksti në krye të dritares së shfletuesit. Marrja e një hapi tjetër drejt thjeshtimit, gjithashtu nuk e detyron përdoruesin të fusë një pjesë të URL-së me http:// ose https://.

Sado e përshtatshme të jetë kjo, kjo qasje kërkon që shfletuesi të kuptojë se çfarë duhet të konsiderohet si URL dhe çfarë duhet të konsiderohet si një pyetje kërkimi. Në shumicën e rasteve kjo është mjaft e qartë - për shembull, një varg me hapësira nuk mund të jetë një URL. Por gjërat mund të bëhen më të ndërlikuara kur merrni parasysh intranetet – rrjete private që mund të përdorin gjithashtu domene private të nivelit të lartë për të zgjidhur faqet e internetit reale.

Nëse një përdorues në intranetin e kompanisë së tij shkruan "marketing" dhe intraneti i kompanisë ka një faqe interneti të brendshme me të njëjtin emër, atëherë Chromium shfaq një kuti informacioni që e pyet përdoruesin nëse dëshiron të kërkojë "marketing" ose të shkojë në https://marketing. Ky mund të mos jetë rasti, por shumë ISP dhe ofrues publikë Wi-Fi "rrëmbejnë" çdo URL të shkruar gabimisht, duke e ridrejtuar përdoruesin në një faqe të mbushur me baner.

Gjenerim i rastësishëm

Zhvilluesit e Chromium nuk donin që përdoruesit në rrjetet e rregullta të shihnin një kuti informacioni që pyeste se çfarë donin të thoshin sa herë që kërkonin për një fjalë të vetme, kështu që ata zbatuan një test: Kur hapin një shfletues ose ndryshojnë rrjetet, Chromium kryen kërkime DNS në tre niveli më i lartë i "domaineve" të krijuara rastësisht, shtatë deri në pesëmbëdhjetë karaktere. Nëse çdo dy nga këto kërkesa kthehen me të njëjtën adresë IP, atëherë Chromium supozon se rrjeti lokal po "rrëmben" gabimet NXDOMAIN, që duhet të marrë, kështu që shfletuesi i konsideron të gjitha pyetjet me një fjalë të futura si përpjekje kërkimi deri në njoftimin e mëtejshëm.

Fatkeqësisht, në rrjetet që jo vjedhin rezultatet e pyetjeve DNS, këto tre operacione zakonisht ngrihen në krye, deri në vetë serverët e emrave rrënjë: serveri lokal nuk di si ta zgjidhë qwajuixk, pra ia përcjell këtë kërkesë përcjellësit të saj, i cili bën të njëjtën gjë, deri në fund a.root-servers.net ose një nga "vëllezërit" e tij nuk do të detyrohet të thotë "Më falni, por kjo nuk është një fushë".

Meqenëse ka përafërsisht 1,67*10^21 emra të rremë domenesh që variojnë nga shtatë deri në pesëmbëdhjetë karaktere në gjatësi, më të zakonshmet çdo nga këto teste të kryera në rrjetin "të ndershëm", ai kalon në serverin rrënjë. Kjo arrin në po aq Gjysma e nga ngarkesa totale në root DNS, sipas statistikave nga ajo pjesë e grupimeve root-servers.net, të cilat janë në pronësi të Verisign.

Historia përsëritet

Kjo nuk është hera e parë që një projekt krijohet me qëllimet më të mira dështoi ose pothuajse përmbyti një burim publik me trafik të panevojshëm - kjo na kujtoi menjëherë historinë e gjatë dhe të trishtuar të serverit NTP (Network Time Protocol) të D-Link dhe Poul-Henning Kamp në mesin e viteve 2000.

Në vitin 2005, zhvilluesi i FreeBSD Poul-Henning, i cili zotëronte gjithashtu serverin e vetëm të protokollit të rrjetit Stratum 1 në Danimarkë, mori një faturë të papritur dhe të madhe për trafikun e transmetuar. Shkurtimisht, arsyeja ishte se zhvilluesit e D-Link shkruan adresat e serverëve NTP të Stratum 1, duke përfshirë serverin Kampa, në firmuerin e linjës së çelsave, ruterave dhe pikave të aksesit të kompanisë. Kjo e rriti menjëherë nëntëfish trafikun e serverëve të Kampa-s, duke bërë që Shkëmbimi Danez i Internetit (Pika e Shkëmbimit të Internetit të Danimarkës) të ndryshojë tarifën e saj nga "Falas" në "9 dollarë në vit".

Problemi nuk ishte se kishte shumë ruter D-Link, por se ata ishin "jashtë linjës". Ashtu si DNS, NTP duhet të funksionojë në një formë hierarkike - serverët e Stratum 0 kalojnë informacionin tek serverët e Stratum 1, të cilët kalojnë informacion tek serverët e Stratum 2, dhe kështu me radhë poshtë hierarkisë. Një ruter tipik në shtëpi, ndërprerës ose pikë aksesi si ai që D-Link kishte programuar me adresat e serverit NTP do të dërgonte kërkesa te serveri Stratum 2 ose Stratum 3.

Projekti Chromium, ndoshta me qëllimet më të mira, përsëriti problemin NTP në problemin DNS, duke ngarkuar serverët rrënjë të internetit me kërkesa që nuk ishin menduar kurrë t'i trajtonin.

Ka shpresë për një zgjidhje të shpejtë

Projekti Chromium ka një burim të hapur insekt, e cila kërkon çaktivizimin e Detektorit të Redirect Intranetit si parazgjedhje për të zgjidhur këtë problem. Ne duhet t'i japim kredi projektit Chromium: defekti u gjet përpara sesesi Matt Thomas i Verisign i solli shumë vëmendje me të tijën agjërimi në blogun e APNIC. Bug u zbulua në qershor, por mbeti i harruar deri në postimin e Thomas; Pas agjërimit, ai filloi të ishte nën mbikëqyrje të ngushtë.

Shpresohet se problemi do të zgjidhet së shpejti dhe serverët DNS rrënjë nuk do të duhet t'u përgjigjen më 60 miliardë pyetjeve false çdo ditë.

Për të Drejtat e Reklamimit

Serverë epikë - A VPS në Windows ose Linux me procesorë të fuqishëm të familjes AMD EPYC dhe disqe shumë të shpejta Intel NVMe. Nxitoni të porosisni!

Një nga veçoritë e Chromium krijon një ngarkesë të madhe në serverët DNS rrënjë

Burimi: www.habr.com

Shto një koment