Înîsiyatîfa roja ala DNS ya 2020-an ji bo çareserkirina pirsgirêkên perçebûn û piştgiriya TCP

Îro, hejmarek karûbarên mezin ên DNS û hilberînerên servera DNS dê bûyerek hevbeş pêk bînin Roja ala DNS 2020dîzaynkirin ku balê li ser biryar pirsgirêkên bi perçebûna IP-ê dema ku peyamên DNS-ê yên mezin têne hilberandin. Ev bûyera duyemîn e, sala borî "Roja ala DNS" bal kişandibû li ser pêvajoyek rast a daxwazên EDNS.

Beşdarên înîsiyatîfa roja ala DNS-ê ya 2020-an bang dikin ku mezinahiyên tampon ên pêşniyarkirî yên ji bo EDNS li 1232 bytes bêne sererast kirin (mezinahiya MTU 1280 minus 48 bytes ji bo sernavan), û her weha wergerandin Pêvajoya daxwazên bi rêya TCP-ê taybetmendiyek pêdivî ye ku li ser serveran heye. LI RFC 1035 Tenê piştgirî ji bo daxwazên pêvajoyê yên bi navgîniya UDP ve mecbûrî tê nîşankirin, û TCP wekî xwestek tête navnîş kirin, lê ji bo xebatê ne hewce ye. Nşh RFC 7766 и RFC 5966 bi eşkere TCP-ê wekî kapasîteya pêdivî ya ku DNS rast kar bike navnîş bike. Înîsiyatîfê pêşniyar dike ku di rewşên ku mezinahiya tampon a EDNS-ê ya sazkirî têrê nake de derbasbûna ji şandina daxwazan li ser UDP-yê ber bi karanîna TCP-ê ve were zor kirin.

Guhertinên pêşniyarkirî dê di hilbijartina mezinahiya tampon EDNS de tevliheviyê ji holê rabike û pirsgirêka perçebûna peyamên mezin ên UDP-yê çareser bike, ku pêvajokirina wan pir caran dibe sedema windabûna pakêtê û dema xerîdar. Li aliyê xerîdar, mezinahiya tamponê EDNS dê domdar be û bersivên mezin dê tavilê ji xerîdar re li ser TCP werin şandin. Dûrketina şandina peyamên mezin li ser UDP dê di heman demê de pirsgirêkên bi pakêtên mezin ên ku li ser hin dîwaran têne avêtin çareser bike û rê bide astengkirinê. êrîşên ji bo jehrkirina cache DNS-ê, li ser bingeha manîpulekirina pakêtên UDP-ya perçebûyî (gava ku perçe perçe dibe, perçeya duyemîn sernavek bi nasnameyek nagire, ji ber vê yekê ew dikare were çêkirin, ji bo vê yekê bes e ku tenê jimareya kontrolê li hev bike) .

Ji îro pê ve, pêşkêşkerên DNS-ê yên beşdar di nav de CloudFlare, Quad 9, Cisco (OpenDNS) û Google, wê gav bi gav biguhere Mezinahiya tamponê EDNS ji 4096 heta 1232 byte li ser serverên wê yên DNS (guheztina EDNS dê di nav 4-6 hefteyan de belav bibe û dê bi demê re hejmareke zêde ya daxwazan veşêre). Bersivên li ser daxwazên UDP yên ku di nav sînorê nû de cih nagirin dê bi riya TCP ve werin şandin. Firoşkarên servera DNS di nav de BIND, Unbound, Knot, NSD û PowerDNS dê nûvekirinan derxînin da ku mezinahiya tamponê ya xwerû ya EDNS ji 4096 byte berbi 1232 bytes biguhezînin.

Di dawiyê de, ev guhertin dikarin bibin sedema pirsgirêkên çareseriyê dema ku bigihîjin serverên DNS yên ku bersivên UDP DNS ji 1232 bytes derbas dibin û nekarin bersivek TCP bişînin. Ezmûnek ku li Google hate kirin destnîşan kir ku guhertina mezinahiya tampon EDNS bi rastî ti bandorek li ser rêjeya têkçûnê nake - bi tamponek 4096 byte, hejmara daxwazên UDP yên qutkirî 0.345%, û hejmara dubareyên negihîştî li ser TCP 0.115%. Bi tamponek 1232 byte, ev hejmar %0.367 û 0.116% in. Piştgiriya TCP-ê wekî taybetmendiyek DNS-ya pêwîst çêbike dê bi qasî 0.1% serverên DNS re bibe sedema pirsgirêkan. Tê zanîn ku di şert û mercên nûjen de, bêyî TCP, xebata van serveran jixwe ne aram e.

Rêvebirên serverên DNS yên otorîter divê piştrast bikin ku servera wan bi TCP-ê li porta torê 53 bersivê dide û ku ev porta TCP-ê ji hêla dîwarê agir ve neyê asteng kirin. Pêdivî ye ku serverek DNS-ya navdar jî bersivên UDP yên ku jê mezintir in neşîne
mezinahiya tampon EDNS xwest. Li ser serverê bixwe, mezinahiya tamponê EDNS divê li 1232 byte were danîn. Çareser bi qasî heman hewcedariyên xwe hene - şiyana mecbûrî ya bersivdana bi TCP-ê, piştgirîya mecbûrî ji bo şandina daxwazên dubare bi riya TCP-ê dema ku bersivek UDP-ya qutkirî werdigire, û tampona EDNS li 1232 byte danîn.

Parametreyên jêrîn ji bo danîna mezinahiya tampon EDNS di serverên DNS yên cihêreng de berpirsiyar in:

  • BIHEVGIRÊDAN

    vebijark {
    edns-udp-size 1232;
    max-udp-size 1232;
    };

  • KnotDNS

    max-udp-payload: 1232

  • Knot Resolver

    net.bufsize(1232)

  • PowerDNS Desthilatdar

    udp-truncation-threshold=1232

  • PowerDNS Recursor

    edns-outgoing-bufsize=1232
    udp-truncation-threshold=1232

  • Unbound

    edns-buffer-size: 1232

  • NSD

    ipv4-edns-size: 1232
    ipv6-edns-size: 1232

    Source: opennet.ru

  • Add a comment