Ngayon, maraming pangunahing serbisyo ng DNS at mga tagagawa ng DNS server ang magsasagawa ng isang magkasanib na kaganapan. , na idinisenyo upang ituon ang pansin sa Pagkapira-piraso ng IP kapag pinoproseso ang malalaking mensahe ng DNS. Ito ang pangalawang ganitong kaganapan; ang "Araw ng Bandila ng DNS" noong nakaraang taon sa wastong pagproseso ng mga kahilingan sa EDNS.
Ang mga kalahok sa inisyatibo ng DNS flag day 2020 ay nananawagan para sa pag-aayos ng mga inirerekomendang laki ng buffer para sa EDNS sa mga halagang nasa antas na 1232 bytes (laki ng MTU 1280 binawasan ng 48 bytes para sa mga header), at Ang pagproseso ng mga kahilingan sa pamamagitan ng TCP ay kasama sa listahan ng mga mandatoryong sinusuportahang opsyon sa mga server. Tanging ang suporta para sa pagproseso ng mga kahilingan sa pamamagitan ng UDP ang minarkahan bilang mandatory, habang ang TCP ay nakalista bilang kanais-nais ngunit hindi kinakailangan para sa operasyon. и Ang TCP ay malinaw na itinuturing na isang mandatoryong kakayahan para gumana nang tama ang DNS. Iminumungkahi ng kasalukuyang inisyatibo na pilitin ang paglipat mula sa pagpapadala ng mga kahilingan sa pamamagitan ng UDP patungo sa paggamit ng TCP sa mga kaso kung saan ang itinatag na laki ng EDNS buffer ay hindi sapat.
Ang mga iminungkahing pagbabago ay mag-aalis ng kalituhan tungkol sa laki ng EDNS buffer at tutugunan ang pagkakapira-piraso ng malalaking mensahe ng UDP, na ang pagproseso ay kadalasang humahantong sa pagkawala ng packet at mga timeout sa panig ng kliyente. Sa panig ng kliyente, ang laki ng EDNS buffer ay magiging pare-pareho, at ang malalaking tugon ay direktang ipapadala sa kliyente sa pamamagitan ng TCP. Ang pag-aalis ng pagpapadala ng malalaking mensahe sa pamamagitan ng UDP ay tutugon din sa mga isyu sa malalaking packet drop sa ilang firewall at magpapahintulot sa pagharang. Pagkalason sa cache ng DNS, batay sa pagmamanipula ng mga pira-pirasong packet ng UDP (kapag nahati sa mga fragment, ang pangalawang fragment ay hindi kasama ang isang header na may isang identifier, kaya maaari itong mapeke, kung saan ito ay sapat lamang para sa checksum na tumugma).
Simula ngayon, ang mga kalahok na DNS provider, kabilang ang CloudFlare, Quad 9, Cisco (OpenDNS) at Google, Ang laki ng EDNS buffer ay tataas mula 4096 patungong 1232 bytes sa kanilang mga DNS server (ang pagbabago sa EDNS ay ikakalat sa loob ng 4-6 na linggo at sasaklaw sa tumataas na bilang ng mga query sa paglipas ng panahon). Ang mga tugon sa mga UDP query na lalampas sa bagong limitasyon ay ipapadala sa pamamagitan ng TCP. Ang mga vendor ng DNS server, kabilang ang BIND, Unbound, Knot, NSD, at PowerDNS, ay maglalabas ng mga update na magpapabago sa default na laki ng EDNS buffer mula 4096 patungong 1232 bytes.
Sa huli, ang mga pagbabagong ipinapatupad ay maaaring humantong sa mga isyu sa paglutas kapag ina-access ang mga DNS server na ang mga tugon ng UDP DNS ay lumampas sa 1232 bytes at hindi kayang tumugon sa pamamagitan ng TCP. Ipinakita ng isang eksperimento sa Google na ang pagbabago ng laki ng EDNS buffer ay halos walang epekto sa rate ng pagkabigo: sa isang 4096-byte buffer, ang rate ng mga pinutol na kahilingan ng UDP ay 0.345%, at ang rate ng mga hindi maabot na tugon sa muling pagsubok sa pamamagitan ng TCP ay 0.115%. Sa isang 1232-byte buffer, ang mga bilang na ito ay 0.367% at 0.116%. Ang paggawang mandatory ng suporta sa TCP para sa DNS ay hahantong sa mga isyu sa humigit-kumulang 0.1% ng mga DNS server. Nabanggit na, sa mga modernong kondisyon, ang operasyon ng mga server na ito nang walang TCP ay hindi pa matatag.
Dapat tiyakin ng mga administrator ng mga awtoritatibong DNS server na ang kanilang server ay tumutugon sa pamamagitan ng TCP sa network port 53 at ang TCP port na ito ay hindi hinaharangan ng isang firewall. Ang isang awtoritatibong DNS server ay hindi rin dapat magpadala ng mga tugon ng UDP na mas malaki kaysa sa
Ang hiniling na laki ng EDNS buffer. Sa server mismo, ang laki ng EDNS buffer ay dapat itakda sa 1232 bytes. Ang mga resolver ay dapat may mga katulad na kinakailangan: mandatoryong kakayahan sa pagtugon ng TCP, mandatoryong suporta para sa muling pagpapadala ng mga kahilingan ng TCP kapag nakatanggap ng pinutol na tugon ng UDP, at isang 1232-byte na EDNS buffer.
Ang mga sumusunod na parameter ay responsable para sa pag-configure ng laki ng buffer ng EDNS sa iba't ibang mga DNS server:
mga pagpipilian {
edns-udp-size 1232;
max-udp-size 1232;
};
pinakamataas na udp-payload: 1232
net.bufsize(1232)
udp-truncation-threshold=1232
edns-outgoing-bufsize=1232
udp-truncation-threshold=1232
laki-ng-buffer-ng-edns: 1232
laki ng ipv4-edns: 1232
laki ng ipv6-edns: 1232
Pinagmulan: opennet.ru
