Ang isa sa mga feature ng Chromium ay lumilikha ng malaking load sa mga root DNS server

Ang isa sa mga feature ng Chromium ay lumilikha ng malaking load sa mga root DNS server

Ang Chromium browser, ang umuunlad na open-source na magulang ng Google Chrome at ang bagong Microsoft Edge, ay nakatanggap ng makabuluhang negatibong atensyon para sa isang tampok na nilayon nang may mabuting layunin: sinusuri nito kung ang ISP ng user ay "nagnanakaw" ng mga hindi umiiral na resulta ng query sa domain .

Intranet Redirect Detector, na lumilikha ng mga pekeng query para sa mga random na "domain" na malamang na hindi umiiral sa istatistika, ay responsable para sa humigit-kumulang kalahati ng kabuuang trapiko na natanggap ng mga root DNS server sa buong mundo. Ang inhinyero ng Verisign na si Matt Thomas ay sumulat ng mahaba magpaskil sa APNIC blog na naglalarawan sa problema at tinatasa ang sukat nito.

Paano karaniwang ginagawa ang resolution ng DNS

Ang isa sa mga feature ng Chromium ay lumilikha ng malaking load sa mga root DNS server
Ang mga server na ito ay ang pinakamataas na awtoridad na dapat mong kontakin upang malutas ang .com, .net, atbp. upang sabihin nila sa iyo na ang frglxrtmpuf ay hindi isang top-level na domain (TLD).

Ang DNS, o Domain Name System, ay isang sistema kung saan maaaring lutasin ng mga computer ang mga hindi malilimutang domain name tulad ng arstechnica.com sa mga hindi gaanong user-friendly na IP address tulad ng 3.128.236.93. Kung walang DNS, hindi iiral ang Internet sa paraang magagamit ng mga tao, ibig sabihin ay isang tunay na problema ang hindi kinakailangang pagkarga sa imprastraktura sa itaas na antas.

Ang paglo-load ng isang modernong web page ay maaaring mangailangan ng hindi kapani-paniwalang bilang ng mga DNS lookup. Halimbawa, noong sinuri namin ang homepage ng ESPN, nagbilang kami ng 93 magkahiwalay na domain name, mula sa a.espncdn.com hanggang z.motads.com. Lahat ng mga ito ay kinakailangan para sa pahina upang ganap na mai-load!

Upang mapaunlakan ang ganitong uri ng workload para sa isang search engine na kailangang magsilbi sa buong mundo, ang DNS ay idinisenyo bilang isang multi-level na hierarchy. Sa tuktok ng pyramid na ito ay ang mga root server - bawat top-level na domain, gaya ng .com, ay may sariling pamilya ng mga server na pinakamataas na awtoridad para sa bawat domain sa ibaba ng mga ito. Isang hakbang pataas ng mga ito Ang mga server ay ang mga root server mismo, mula sa a.root-servers.net sa m.root-servers.net.

Gaano kadalas ito nangyayari?

Salamat sa multi-level na hierarchy ng caching ng imprastraktura ng DNS, napakaliit na porsyento ng mga query sa DNS sa mundo ang nakakaabot sa mga root server. Karamihan sa mga tao ay direktang nakakakuha ng kanilang impormasyon sa DNS resolver mula sa kanilang ISP. Kapag kailangang malaman ng device ng user kung paano makapunta sa isang partikular na website, ipapadala muna ang isang kahilingan sa isang DNS server na pinamamahalaan ng lokal na provider na iyon. Kung hindi alam ng lokal na DNS server ang sagot, ipinapasa nito ang kahilingan sa sarili nitong "mga forwarder" (kung tinukoy).

Kung walang naka-cache na tugon ang DNS server ng lokal na provider o ang β€œforwarding server” na tinukoy sa configuration nito, direktang itataas ang kahilingan sa authoritative domain server sa itaas ang sinusubukan mong i-convert. Kailan Π΄ΠΎΠΌΠ΅Π½.com ito ay nangangahulugan na ang kahilingan ay ipinadala sa mga awtoritatibong server ng domain mismo com, na matatagpuan sa gtld-servers.net.

Sistema gtld-servers, kung saan ginawa ang kahilingan, ay tumugon sa isang listahan ng mga authoritative name server para sa domain na domain.com, gayundin ng kahit isang link record na naglalaman ng IP address ng isang naturang name server. Susunod, ang mga tugon ay bumababa sa kadena - ipinapasa ng bawat forwarder ang mga tugon na ito pababa sa server na humiling sa kanila, hanggang sa tuluyang maabot ng tugon ang server ng lokal na provider at ang computer ng user. Lahat sila ay naka-cache ng tugon na ito upang hindi makagambala nang hindi kinakailangan sa mas mataas na antas ng mga sistema.

Sa karamihan ng mga kaso, nagtatala ang name server para sa domain.com ay mai-cache na sa isa sa mga forwarder na ito, kaya hindi maaabala ang mga root server. Gayunpaman, sa ngayon ay pinag-uusapan natin ang uri ng URL na pamilyar sa atin - ang isa na na-convert sa isang regular na website. Ang mga kahilingan sa Chrome ay nasa antas sa itaas ito, sa hakbang ng mga kumpol mismo root-servers.net.

Pagsusuri ng pagnanakaw ng Chromium at NXDomain

Ang isa sa mga feature ng Chromium ay lumilikha ng malaking load sa mga root DNS server
Sinusuri ng Chromium "niloloko ba ako ng DNS server na ito?" account para sa halos kalahati ng lahat ng trapiko na umaabot sa kumpol ng mga root DNS server ng Verisign.

Ang Chromium browser, ang pangunahing proyekto ng Google Chrome, ang bagong Microsoft Edge, at hindi mabilang na hindi gaanong kilalang mga browser, ay gustong magbigay sa mga user ng kadalian ng paghahanap sa isang kahon, kung minsan ay tinatawag na "Omnibox." Sa madaling salita, ipinasok ng user ang parehong mga tunay na URL at mga query sa search engine sa parehong field ng teksto sa tuktok ng window ng browser. Gumagawa ng isa pang hakbang patungo sa pagpapasimple, hindi rin nito pinipilit ang user na ipasok ang bahagi ng URL gamit ang http:// o https://.

Kahit na ito ay maginhawa, ang diskarte na ito ay nangangailangan ng browser na maunawaan kung ano ang dapat ituring na isang URL at kung ano ang dapat ituring na isang query sa paghahanap. Sa karamihan ng mga kaso ito ay medyo halata - halimbawa, ang isang string na may mga puwang ay hindi maaaring maging isang URL. Ngunit maaaring maging mas nakakalito ang mga bagay kapag isinasaalang-alang mo ang mga intranetβ€”mga pribadong network na maaari ding gumamit ng mga pribadong nangungunang antas na domain upang malutas ang mga tunay na website.

Kung ang isang user sa intranet ng kanilang kumpanya ay nag-type ng "marketing" at ang intranet ng kumpanya ay may panloob na website na may parehong pangalan, pagkatapos ay magpapakita ang Chromium ng isang kahon ng impormasyon na nagtatanong sa user kung gusto nilang maghanap para sa "marketing" o pumunta sa https://marketing. Maaaring hindi ito ang kaso, ngunit maraming ISP at pampublikong Wi-Fi provider ang "nag-hijack" sa bawat maling spelling ng URL, na nagre-redirect sa user sa ilang page na puno ng banner.

Random na henerasyon

Hindi gusto ng mga developer ng Chromium na makakita ang mga user sa mga regular na network ng kahon ng impormasyon na nagtatanong kung ano ang ibig nilang sabihin sa tuwing naghahanap sila ng isang salita, kaya nagpatupad sila ng pagsubok: Kapag naglunsad sila ng browser o nagpalit ng mga network, nagsasagawa ang Chromium ng mga DNS lookup sa tatlong random na nabuong "mga domain" sa pinakamataas na antas, pito hanggang labinlimang character ang haba. Kung ang alinman sa dalawa sa mga kahilingang ito ay bumalik na may parehong IP address, ipinapalagay ng Chromium na "kina-hijack" ng lokal na network ang mga error NXDOMAIN, na dapat nitong matanggap, kaya isinasaalang-alang ng browser ang lahat ng iisang salita na query na ipinasok bilang mga pagtatangka sa paghahanap hanggang sa karagdagang abiso.

Sa kasamaang palad, sa mga network na hindi nakawin ang mga resulta ng mga query sa DNS, ang tatlong operasyong ito ay karaniwang tumataas sa pinakatuktok, hanggang sa mga root name server mismo: hindi alam ng lokal na server kung paano lutasin qwajuixk, kaya ipinapasa ang kahilingang ito sa forwarder nito, na ganoon din ang ginagawa, hanggang sa wakas a.root-servers.net o ang isa sa kanyang "mga kapatid" ay hindi mapipilitang magsabi ng "Paumanhin, ngunit hindi ito isang domain."

Dahil may humigit-kumulang 1,67*10^21 posibleng mga pekeng pangalan ng domain na mula pito hanggang labinlimang character ang haba, ang pinakakaraniwan bawat mula sa mga pagsubok na ito na isinagawa sa "tapat" na network, napupunta ito sa root server. Ang halaga nito ay kasing dami kalahati mula sa kabuuang pag-load sa root DNS, ayon sa mga istatistika mula sa bahaging iyon ng mga kumpol root-servers.net, na pagmamay-ari ng Verisign.

Nauulit ang kasaysayan

Hindi ito ang unang pagkakataon na gumawa ng isang proyekto na may pinakamahusay na intensyon nabigo o halos bumaha sa isang pampublikong mapagkukunan ng hindi kinakailangang trapiko - agad nitong ipinaalala sa amin ang mahaba at malungkot na kasaysayan ng server ng NTP (Network Time Protocol) ng D-Link at Poul-Henning Kamp noong kalagitnaan ng 2000s.

Noong 2005, ang developer ng FreeBSD na si Poul-Henning, na nagmamay-ari din ng nag-iisang Stratum 1 Network Time Protocol server ng Denmark, ay nakatanggap ng hindi inaasahang at malaking bill para sa ipinadalang trapiko. Sa madaling sabi, ang dahilan ay isinulat ng mga developer ng D-Link ang mga address ng Stratum 1 NTP server, kabilang ang Kampa server, sa firmware ng linya ng switch, router at access point ng kumpanya. Agad nitong pinataas ang trapiko ng server ng Kampa ng siyam na beses, na naging sanhi ng pagbabago ng Danish Internet Exchange (Internet Exchange Point ng Denmark) mula sa "Libre" sa "$9 bawat taon."

Ang problema ay hindi dahil napakaraming D-Link router, ngunit ang mga ito ay "wala sa linya." Tulad ng DNS, dapat gumana ang NTP sa isang hierarchical form - Ang mga server ng Stratum 0 ay nagpapasa ng impormasyon sa mga server ng Stratum 1, na nagpapasa ng impormasyon sa mga server ng Stratum 2, at iba pa pababa sa hierarchy. Ang isang karaniwang home router, switch, o access point tulad ng isang D-Link na na-program na may mga NTP server address ay magpapadala ng mga kahilingan sa Stratum 2 o Stratum 3 server.

Ang proyekto ng Chromium, marahil na may pinakamabuting intensyon, ay kinopya ang problema sa NTP sa problema sa DNS, na nilo-load ang mga root server ng Internet ng mga kahilingang hindi nila dapat pangasiwaan.

May pag-asa para sa isang mabilis na solusyon

Ang proyekto ng Chromium ay may open source surot, na nangangailangan ng hindi pagpapagana ng Intranet Redirect Detector bilang default upang malutas ang isyung ito. Dapat nating bigyan ng kredito ang proyekto ng Chromium: natagpuan ang bug bago yunkung paano binigyan siya ng Matt Thomas ng Verisign ng maraming atensyon sa kanya pag-aayuno sa APNIC blog. Ang bug ay natuklasan noong Hunyo, ngunit nanatiling nakalimutan hanggang sa post ni Thomas; Pagkatapos ng pag-aayuno, nagsimula siyang maging sa ilalim ng malapit na pangangasiwa.

Inaasahan na ang problema ay malapit nang malutas, at ang mga root DNS server ay hindi na kailangang tumugon sa tinatayang 60 bilyong huwad na mga query araw-araw.

Sa Mga Karapatan ng Pag-advertise

Mga epic na server - Ay VPS sa Windows o Linux na may makapangyarihang AMD EPYC na mga processor ng pamilya at napakabilis na Intel NVMe drive. Bilisan mo mag order!

Ang isa sa mga feature ng Chromium ay lumilikha ng malaking load sa mga root DNS server

Pinagmulan: www.habr.com

Magdagdag ng komento