Sispann itilize TTL ki ba ridikil pou DNS

Ba DNS latansi se kle nan navigasyon entènèt rapid. Pou minimize li, li enpòtan pou chwazi ak anpil atansyon sèvè dns ak rle anonim. Men, premye etap la se debarase m de demann initil.

Se poutèt sa DNS te orijinal fèt kòm yon pwotokòl trè kache. Administratè zòn yo fikse yon tan pou viv (TTL) pou antre endividyèl yo, epi rezolisyonè yo itilize enfòmasyon sa yo lè yo estoke antre yo nan memwa pou evite trafik ki pa nesesè.

Èske kachèt efikas? Kèk ane de sa, ti rechèch mwen an te montre ke li pa pafè. Ann pran yon gade nan eta aktyèl la nan zafè.

Pou kolekte enfòmasyon mwen patche Sèvè dns chiffres pou konsève pou valè TTL pou repons lan. Li defini kòm TTL minimòm nan dosye li yo pou chak demann k ap fèk ap rantre. Sa a bay yon bon apèsi sou distribisyon an TTL nan trafik reyèl, epi tou li pran an kont popilarite a nan demann endividyèl yo. Vèsyon patched sèvè a te travay pandan plizyè èdtan.

Seri done ki kapab lakòz la konsiste de 1 dosye (non, qtype, TTL, timestamp). Men distribisyon an jeneral TTL (aks X se TTL an segonn):

Sispann itilize TTL ki ba ridikil pou DNS

Akote de yon ti boul nan 86 (sitou pou dosye SOA), li trè klè ke TTL yo nan ranje ki ba. Ann pran yon gade pi pre:

Sispann itilize TTL ki ba ridikil pou DNS

Oke, TTL ki pi gran pase 1 èdtan yo pa estatistik enpòtan. Lè sa a, ann konsantre sou seri a 0−3600:

Sispann itilize TTL ki ba ridikil pou DNS

Pifò TTL yo soti nan 0 a 15 minit:

Sispann itilize TTL ki ba ridikil pou DNS

A vas majorite yo soti nan 0 a 5 minit:

Sispann itilize TTL ki ba ridikil pou DNS

Li pa trè bon.

Distribisyon kimilatif fè pwoblèm nan menm plis evidan:

Sispann itilize TTL ki ba ridikil pou DNS

Mwatye repons DNS yo gen yon TTL 1 minit oswa mwens, ak twa ka gen yon TTL 5 minit oswa mwens.

Men, tann, li aktyèlman pi mal. Apre yo tout, sa a se TTL soti nan serveurs autoritÊ. Sepandan, rezolisyon kliyan yo (egzanp routeurs, kachèt lokal yo) resevwa yon TTL nan rezolisyon en, epi li diminye chak segonn.

Se konsa, kliyan an ka aktyèlman itilize chak antre pou, an mwayèn, mwatye TTL orijinal la anvan yo voye yon nouvo demann.

Petèt TTL ki ba anpil sa yo aplike sèlman nan demann etranj epi yo pa sit entènèt popilè ak API? Ann gade:

Sispann itilize TTL ki ba ridikil pou DNS

Aks X se TTL, aks Y se popilarite rechèch.

Malerezman, demann yo ki pi popilè yo tou pi move nan kachèt.

Ann rale:

Sispann itilize TTL ki ba ridikil pou DNS

Vèdik: li vrèman move. Li te deja move anvan, men li te vin pi mal. Cache DNS te vin nòmalman initil. Kòm mwens moun sèvi ak rezolisyon DNS ISP yo (pou bon rezon), ogmantasyon nan latansi vin pi aparan.

DNS kachèt vin itil sèlman pou kontni ke pèsonn pa vizite.

Tanpri sonje tou ke lojisyèl an ka nan diferan fason entèprete TTL ki ba yo.

Poukisa se konsa?

Poukisa dosye DNS yo mete sou yon TTL ki ba konsa?

  • Ekilib chaj eritaj yo te kite ak anviwònman default.
  • Gen mit ke balans chaj DNS depann de TTL (sa a se pa vre - depi epòk Netscape Navigator, kliyan yo te chwazi yon adrès IP o aza nan yon seri RRs epi yo te eseye yon lòt transparan si yo pa ka konekte)
  • Administratè yo vle aplike chanjman imedyatman, kidonk li pi fasil pou planifye.
  • Administratè a nan yon sèvè DNS oswa balans chaj wè travay li kòm efikas deplwaye konfigirasyon an ke itilizatè yo mande, epi li pa akselere sit ak sèvis yo.
  • TTL ki ba yo ba ou lapè nan tèt ou.
  • Moun yo okòmansman mete TTL ki ba pou tès yo epi yo bliye chanje yo.

Mwen pa mete "failover" nan lis la paske li vin pi piti ak mwens enpòtan. Si ou bezwen redireksyon itilizatè yo nan yon lòt rezo jis pou montre yon paj erè lè absoliman tout lòt bagay kase, yon reta plis pase 1 minit se pwobableman akseptab.

Anplis de sa, yon TTL yon minit vle di ke si sèvè DNS otorite yo bloke pou plis pase 1 minit, pèsonn pa p ap kapab jwenn aksè nan sèvis depandan yo. Ak redondance pa pral ede si kòz la se yon erè konfigirasyon oswa yon Hack. Nan lòt men an, ak TTLs rezonab, anpil kliyan ap kontinye sèvi ak konfigirasyon anvan an epi pa janm remake anyen.

Sèvis CDN ak balanse chaj yo se lajman blame pou TTL ki ba, espesyalman lè yo konbine CNAME ak TTL ki ba ak dosye ak TTL egalman ba (men endepandan):

$ drill raw.githubusercontent.com
raw.githubusercontent.com.	9	IN	CNAME	github.map.fastly.net.
github.map.fastly.net.	20	IN	A	151.101.128.133
github.map.fastly.net.	20	IN	A	151.101.192.133
github.map.fastly.net.	20	IN	A	151.101.0.133
github.map.fastly.net.	20	IN	A	151.101.64.133

Chak fwa CNAME oswa nenpòt nan dosye A yo ekspire, yo dwe voye yon nouvo demann. Tou de gen yon TTL 30 segonn, men se pa menm bagay la. TTL mwayèn aktyèl la pral 15 segonn.

Men tann! Li pi mal toujou. Gen kèk rezolisyon ki konpòte yo trè mal nan sitiyasyon sa a ak de TTL ki ba ki asosye:

$ fè egzèsis raw.githubusercontent.com @4.2.2.2 raw.githubusercontent.com. 1 NAN CNAME github.map.fastly.net. github.map.fastly.net. 1 NAN YON 151.101.16.133

Rezolisyon Level3 la pwobableman ap kouri sou BIND. Si w kontinye voye demann sa a, y ap toujou retounen yon TTL 1. raw.githubusercontent.com pa janm nan kachèt.

Men yon lòt egzanp yon sitiyasyon konsa ak yon domèn trè popilè:

$ drill detectportal.firefox.com @1.1.1.1
detectportal.firefox.com.	25	IN	CNAME	detectportal.prod.mozaws.net.
detectportal.prod.mozaws.net.	26	IN	CNAME	detectportal.firefox.com-v2.edgesuite.net.
detectportal.firefox.com-v2.edgesuite.net.	10668	IN	CNAME	a1089.dscd.akamai.net.
a1089.dscd.akamai.net.	10	IN	A	104.123.50.106
a1089.dscd.akamai.net.	10	IN	A	104.123.50.88

Omwen twa dosye CNAME. Ay. Youn gen yon TTL desan, men li konplètman initil. Lòt CNAME yo gen yon premye TTL 60 segonn, men pou domèn akamai.net TTL maksimòm lan se 20 segonn epi okenn nan yo pa an faz.

Ki sa ki sou domèn ki toujou ap sondaj aparèy Apple yo?

$ drill 1-courier.push.apple.com @4.2.2.2
1-courier.push.apple.com.	1253	IN	CNAME	1.courier-push-apple.com.akadns.net.
1.courier-push-apple.com.akadns.net.	1	IN	CNAME	gb-courier-4.push-apple.com.akadns.net.
gb-courier-4.push-apple.com.akadns.net.	1	IN	A	17.57.146.84
gb-courier-4.push-apple.com.akadns.net.	1	IN	A	17.57.146.85

Menm pwoblèm ak Firefox ak TTL ap bloke nan 1 segonn pi fò nan tan an lè w ap itilize rezolisyon Nivo 3.

Dropbox?

$ fè egzèsis client.dropbox.com @8.8.8.8 client.dropbox.com. 7 NAN CNAME client.dropbox-dns.com. client.dropbox-dns.com. 59 NAN YON 162.125.67.3 $ fè egzèsis client.dropbox.com @4.2.2.2 client.dropbox.com. 1 NAN CNAME client.dropbox-dns.com. client.dropbox-dns.com. 1 NAN YON 162.125.64.3

Nan anrejistreman an safebrowsing.googleapis.com Valè TTL se 60 segonn, tankou domèn Facebook. Epi, ankò, nan pwen de vi kliyan an, valè sa yo redwi mwatye.

Kouman sou mete yon minimòm TTL?

Sèvi ak non, kalite demann, TTL, ak timestamp orijinal ki estoke, mwen te ekri yon script pou simulation 1,5 milyon demann ki pase nan yon rezolisyon kachèt pou estime volim demann ki pa nesesè yo voye akòz yon antre kachèt ekspire.

47,4% nan demann yo te fè apre yon dosye ki egziste deja te ekspire. Sa a se san rezon segondè.

Ki sa ki pral enpak sou kachèt si yo tabli TTL minimòm lan?

Sispann itilize TTL ki ba ridikil pou DNS

Aks X la se valè TTL minimòm yo. Dosye ki gen TTL sous ki pi wo a valè sa a pa afekte.

Aks Y a se pousantaj demann nan men yon kliyan ki deja gen yon antre nan kachèt, men li te ekspire epi li ap fè yon nouvo demann.

Pati nan demann "siplemantè" redwi soti nan 47% a 36% lè w tou senpleman mete TTL minimòm nan 5 minit. Lè w mete TTL minimòm nan 15 minit, kantite demann sa yo desann a 29%. Yon minimòm TTL 1 èdtan diminye yo a 17%. Diferans enpòtan!

Kouman sou pa chanje anyen sou bò sèvè a, men olye mete TTL nan minimòm nan kachèt DNS kliyan (routeurs, rezolisyon lokal)?

Sispann itilize TTL ki ba ridikil pou DNS

Kantite demann ki nesesè yo desann soti nan 47% a 34% ak ​​yon minimòm TTL nan 5 minit, a 25% ak yon minimòm de 15 minit, ak nan 13% ak yon minimòm de 1 èdtan. Petèt 40 minit se pi bon.

Enpak ti chanjman sa a se gwo anpil.

Ki konsekans yo?

Natirèlman, sèvis la ka deplase nan yon nouvo founisè nwaj, nouvo sèvè, nouvo rezo, ki egzije kliyan yo sèvi ak dènye dosye DNS yo. Ak yon TTL jistis ti ede fè yon tranzisyon konsa san pwoblèm ak insansibl. Men, ak tranzisyon an nan nouvo enfrastrikti, pèsonn pa atann kliyan yo imigre nan nouvo dosye DNS nan 1 minit, 5 minit, oswa 15 minit. Mete minimòm TTL a 40 minit olye pou yo 5 minit pa pral anpeche itilizatè yo jwenn aksè nan sèvis la.

Sepandan, sa pral siyifikativman redwi latansi ak amelyore vi prive ak fyab nan evite demann ki pa nesesè.

Natirèlman, RFC yo di ke TTL dwe entèdi swiv. Men, reyalite a se ke sistèm DNS la vin twò efikas.

Si w ap travay ak sèvè DNS ki gen otorite, tanpri tcheke TTL ou yo. Èske ou reyèlman bezwen valè sa yo ridikil ba?

Natirèlman, gen bon rezon pou mete ti TTL pou dosye DNS. Men, pa pou 75% DNS trafik ki rete nòmalman chanje.

Men, si pou kèk rezon ou reyèlman bezwen sèvi ak TTL ki ba pou DNS, an menm tan an asire w ke sit ou a pa gen kachèt pèmèt. Pou menm rezon yo.

Si ou gen yon kachèt DNS lokal ap kouri, tankou dnscrypt-proxyki pèmèt ou mete minimòm TTLs, sèvi ak fonksyon sa a. Sa a se byen. Pa gen anyen mal ki pral rive. Mete TTL minimòm nan apeprè 40 minit (2400 segonn) ak 1 èdtan. Byen yon seri rezonab.

Sous: www.habr.com

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster