ایک پیراگراف میں خلاصہ
براؤزر میں google.com ٹائپ کرنے سے IP ملنے تک اوسطاً 15-150 ملی سیکنڈ لگتے ہیں۔ اس دوران کیش میں 4 بار تلاش اور زیادہ سے زیادہ 3 کراس نیٹ ورک کوئریز ہوتی ہیں: براؤزر کیش ← OS کا stub کیش ← راؤٹر کیش ← ISP کے ریکرسیو ریزالور کا کیش ← روٹ (.) سے پوچھنا ← TLD (.com) سے پوچھنا ← مستند سرور (ns.google.com) سے پوچھنا ← A ریکارڈ ملنا۔ کیش جتنا پہلے ہٹ ہو، اتنا ہی تیز — لیکن کیش TTL پورا ہونے پر ختم ہو جاتا ہے، اور تب پورا راستہ دوبارہ طے ہوتا ہے۔ آئیے قدم بہ قدم دیکھتے ہیں۔
1۔ 8 مراحل کا مکمل فلو
┌─────────────────────────────────────────────────────────────┐
│ براؤزر (Chrome / Firefox) — google.com ٹائپ کریں │
└────────────────┬────────────────────────────────────────────┘
│ ① براؤزر کا DNS کیش (Chrome ~60s)
↓ نہیں ملا
┌─────────────────────────────────────────────────────────────┐
│ OS کا stub ریزالور + سسٹم DNS کیش │
└────────────────┬────────────────────────────────────────────┘
│ ② سسٹم کیش میں نہیں ملا ← راؤٹر کو UDP کوئری بھیجتا ہے
↓
┌─────────────────────────────────────────────────────────────┐
│ گھریلو راؤٹر کی DNS فارورڈنگ + راؤٹر کیش │
└────────────────┬────────────────────────────────────────────┘
│ ③ راؤٹر کیش میں نہیں ملا ← ISP کے ریکرسیو ریزالور کو بھیجتا ہے
↓
┌─────────────────────────────────────────────────────────────┐
│ ISP / پبلک ریکرسیو ریزالور (1.1.1.1 / 8.8.8.8 / 223.5.5.5) │
│ کیش میں مل گیا: فوراً جواب، پورا عمل 1-5ms │
│ کیش میں نہیں ملا: نیچے والا «مکمل تلاش» کا فلو شروع │
└────────────────┬────────────────────────────────────────────┘
│ ④ روٹ NS سے پوچھتا ہے «google.com کہاں ہے؟»
↓
روٹ نیم سرورز کے 13 گروپ (a~m.root-servers.net)
│ ⑤ جواب: «مجھے نہیں معلوم، .com کے NS سے پوچھیں: a.gtld-servers.net»
↓
.com TLD کے مستند سرورز (Verisign)
│ ⑥ جواب: «میرے پاس بھی پورا جواب نہیں، google.com کے NS سے پوچھیں: ns1.google.com»
↓
google.com کے مستند سرورز (جنہیں خود Google چلاتا ہے)
│ ⑦ جواب: «google.com کا A ریکارڈ = 142.250.x.x»
↓
┌─────────────────────────────────────────────────────────────┐
│ ⑧ ریکرسیو ریزالور جواب کو (TTL کے مطابق) کیش کرتا ہے اور │
│ کلائنٹ کو لوٹا دیتا ہے — راستے کی ہر تہہ بھی │
│ اپنی ایک کاپی کیش کر لیتی ہے │
└─────────────────────────────────────────────────────────────┘اہم نکتہ: حقیقی صورتحال میں مکمل 8 مراحل والا فلو تقریباً کبھی نہیں چلتا۔ بڑی ویب سائٹس کے IP ایڈریس تقریباً ہمیشہ ریکرسیو ریزالور کے کیش میں موجود ہوتے ہیں، اس لیے عام صارفین کو مرحلہ ④ پر ہی جواب مل جاتا ہے۔ صرف غیر معروف ڈومینز، شاذ و نادر کھولی جانے والی سائٹس، میعاد ختم ہو چکے TTL یا نئے رجسٹرڈ ڈومینز پر ہی مکمل فلو چلتا ہے۔
2۔ DNS کیشنگ کی 5 تہیں — تفصیل سے
1983 میں جب DNS ڈیزائن کیا گیا تو ایک حقیقت پہلے ہی پیش نظر تھی: تلاش کی درخواستیں تبدیلیوں سے 100,000 گنا زیادہ ہوتی ہیں۔ اسی لیے ہر جگہ کیشنگ ہے، اور ہر تہہ ڈیٹا کو TTL (Time To Live) کی مدت تک اپنے پاس رکھتی ہے۔
| تہہ | مقام | عام TTL | کیسے دیکھیں / صاف کریں |
|---|---|---|---|
| ① براؤزر | Chrome / Firefox کے پراسیس کے اندر | 60 سیکنڈ (Chrome) | یہاں دیکھیں / صاف کریں: chrome://net-internals/#dns |
| ② OS کا stub ریزالور | Windows DNS Client / macOS mDNSResponder / systemd-resolved | ریکارڈ کے TTL کے برابر | Windows: ipconfig /displaydns سے دیکھیں، ipconfig /flushdns سے صاف کریں |
| ③ گھریلو راؤٹر | راؤٹر کا بلٹ اِن DNS فارورڈر | راؤٹر کی امپلیمنٹیشن پر منحصر | راؤٹر ری اسٹارٹ کرنے سے / ایڈمن پینل میں دستی طور پر صاف ہوتا ہے |
| ④ ISP / پبلک ریکرسیو ریزالور | 1.1.1.1 / 8.8.8.8 / 223.5.5.5 | ریکارڈ کے TTL کے برابر | صارف اسے صاف نہیں کر سکتے — TTL ختم ہونے کا انتظار کرنا پڑتا ہے |
| ⑤ مستند سرور | ڈومین کے مالک کا NS | کیش نہیں ہوتا — یہی اصل ماخذ ہے | — |
3۔ ریکرسیو بمقابلہ اِٹریٹو کوئری — بنیادی تصورات
3.1 ریکرسیو (Recursive)
کلائنٹ (براؤزر / OS stub) ISP کے ریکرسیو ریزالور سے کہتا ہے: «میرے لیے google.com کا IP ڈھونڈ دیں — مجھے اس سے غرض نہیں کہ آپ یہ کیسے کرتے ہیں۔» ریکرسیو ریزالور کو پوری تلاش مکمل کر کے حتمی نتیجہ واپس دینا ہوتا ہے۔
3.2 اِٹریٹو (Iterative)
جب ریکرسیو ریزالور روٹ، TLD اور مستند سرورز سے بات کرتا ہے تو یہ تبادلہ اِٹریٹو ہوتا ہے — وہ روٹ سے پوچھتا ہے، روٹ کہتا ہے «.com سے پوچھیں»، وہ جا کر .com سے پوچھتا ہے، .com کہتا ہے «google سے پوچھیں»، وہ جا کر google سے پوچھتا ہے۔ ہر مرحلے میں صرف ایک ہاپ طے ہوتا ہے — ایسا نہیں کہ «میں نے روٹ سے پوچھا اور روٹ نے میرا سارا کام کر دیا»۔
کلائنٹ ↔ ریکرسیو ریزالور = ریکرسیو4۔ خود آزمائیں — dig +trace
dig +trace مکمل اِٹریٹو تلاش پر مجبور کرتا ہے اور ہر مرحلہ دکھاتا ہے:
$ dig +trace cleanip.io
; <<>> DiG 9.10.6 <<>> +trace cleanip.io
;; global options: +cmd
;① ہاپ 1 — روٹ (.) سے کوئری
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
... (13 روٹ NS ریکارڈز)
;; Received 525 bytes from 127.0.0.53#53 in 5 ms
;② ہاپ 2 — .io TLD سے کوئری
io. 172800 IN NS a0.nic.io.
io. 172800 IN NS b0.nic.io.
... (.io کے 4 NS)
;; Received 822 bytes from 198.41.0.4#53(a.root-servers.net) in 121 ms
;③ ہاپ 3 — cleanip.io کے مستند سرورز سے کوئری
cleanip.io. 86400 IN NS nolan.ns.cloudflare.com.
cleanip.io. 86400 IN NS treasure.ns.cloudflare.com.
;; Received 109 bytes from 156.154.150.6#53(a0.nic.io) in 53 ms
;④ آخرکار جواب مل گیا
cleanip.io. 300 IN A 104.21.x.x
cleanip.io. 300 IN A 172.67.x.x
cleanip.io. 86400 IN NS nolan.ns.cloudflare.com.
cleanip.io. 86400 IN NS treasure.ns.cloudflare.com.
;; Received 154 bytes from 173.245.59.108#53(nolan.ns.cloudflare.com) in 12 msتجزیہ:
- پورے عمل میں 5 + 121 + 53 + 12 = 191 ms لگے — پہلی کولڈ تلاش واقعی سست ہوتی ہے
- لیکن ایک سیکنڈ بعد اسی ڈومین کی دوبارہ کوئری میں صرف 1-2 ms لگتے ہیں، کیونکہ ISP کے ریکرسیو کیش میں یہ پہلے سے موجود ہوتا ہے (TTL 300 سیکنڈ)
104.21.x.x / 172.67.x.xCloudflare CDN کے ایڈریس ہیں — ہماری سائٹ کا اصل اوریجن IP، CDN کے پیچھے چھپا ہوا ہے
5۔ TTL کی وضاحت — کیشنگ دراصل کتنی دیر رہتی ہے
TTL (Time To Live) وہ فیلڈ ہے جس کے ذریعے مستند سرور ہر ریکرسیو ریزالور کو بتاتا ہے کہ «آپ اسے زیادہ سے زیادہ اتنی دیر کیش کر سکتے ہیں»؛ اس کی اکائی سیکنڈ ہے۔
| عام TTL | مطلب | کہاں استعمال ہوتا ہے |
|---|---|---|
| 60 (1 منٹ) | انتہائی مختصر، بار بار IP بدلنے والی سروسز کے لیے موزوں | فیل اوور / A/B ٹیسٹنگ |
| 300 (5 منٹ) | مختصر، CDN عام طور پر یہی استعمال کرتے ہیں | Cloudflare کا ڈیفالٹ |
| 3600 (1 گھنٹہ) | درمیانہ | عام ویب سائٹس |
| 86400 (1 دن) | طویل | NS ریکارڈز / شاذ و نادر بدلنے والے A ریکارڈز |
| 172800 (2 دن) | TLD کے NS ریکارڈز کا معیاری TTL | .com / .io وغیرہ کے NS ریکارڈز |
| 518400 (6 دن) | روٹ NS ریکارڈز کا معیاری TTL | 13 روٹ سرور کلسٹرز کے NS ریکارڈز |
نوٹ: TTL «زیادہ سے زیادہ کیش کا وقت» ہے — کوئی بھی ریزالور اپنا کیش پہلے صاف کر سکتا ہے، لیکن اسے کبھی بڑھا نہیں سکتا۔ لہٰذا مستند TTL 1 گھنٹہ ہو تب بھی کچھ ریزالور صرف 10 منٹ بعد دوبارہ کوئری کر سکتے ہیں۔
احتیاط: IP بدلنے سے پہلے TTL کو مختصر کریں (1-5 منٹ) اور پرانے TTL کے مکمل ختم ہونے کا انتظار کر کے ہی سوئچ کریں — ورنہ کچھ صارفین ایک گھنٹے سے زیادہ پرانے IP پر جاتے رہیں گے۔
6۔ DNS ریکارڈ کی اقسام — فوری حوالہ
| قسم | مطلب | مثال |
|---|---|---|
| A | IPv4 ایڈریس | cleanip.io → 104.21.x.x |
| AAAA | IPv6 ایڈریس | cleanip.io → 2606:4700::6810:x |
| CNAME | عرف (دوسرے ڈومین کی طرف اشارہ) | www.cleanip.io → cleanip.io |
| NS | ڈومین کا مستند NS | cleanip.io → nolan.ns.cloudflare.com |
| MX | میل سرور | cleanip.io → mx1.cleanip.io (10) |
| TXT | کوئی بھی متن (SPF / DKIM / تصدیق) | SPF / Google verification |
| SOA | زون کا اسٹارٹ آف اتھارٹی — اس میں پرائمری NS / ای میل / سیریل نمبر ہوتا ہے | ہر زون میں ایک |
| PTR | ریورس تلاش: IP ← ہوسٹ نیم | 8.8.8.8 → dns.google |
| CAA | کون میرے لیے SSL سرٹیفکیٹ جاری کر سکتا ہے | cleanip.io → letsencrypt.org |
| SRV | سروس ریکارڈ (پورٹ سمیت) | SIP / XMPP / Matrix |
7۔ DNS آپٹیمائزیشن — ریزولوشن کو تیز کیسے کریں
7.1 قریبی ریکرسیو ریزالور منتخب کریں
مین لینڈ چین میں: 223.5.5.5 (Alibaba) / 119.29.29.29 (DNSPod) چین کے اندر کی سائٹس سب سے تیزی سے ریزالو کرتے ہیں۔ دیگر جگہوں پر: 1.1.1.1 (Cloudflare، سب سے وسیع اینی کاسٹ نیٹ ورک) / 8.8.8.8 (Google)۔ مزید تفصیل کے لیے دیکھیں:پبلک DNS ریزالورز کی فہرست.
7.2 DoH (DNS-over-HTTPS) آن کریں
اگر DNS کوئریز HTTPS پر انکرپٹ ہوں تو ISP انہیں نہ دیکھ سکتے ہیں نہ بدل سکتے ہیں (NXDOMAIN ہائی جیکنگ سے بچاؤ)۔ Chrome، Firefox اور Edge سب اسے سپورٹ کرتے ہیں — بس ترتیبات میں آن کر دیں۔
7.3 پہلے سے تیاری (DNS Prefetch)
اپنی سائٹ کے <head> میں <link rel="dns-prefetch" href="//api.example.com"> شامل کریں تاکہ براؤزر فارغ وقت میں اسے پہلے ہی ریزالو کر لے — جب اصل درخواست ہو گی تو کیش ہٹ ملے گا۔
7.4 CDN + اینی کاسٹ NS استعمال کریں
اپنے مستند NS کو اینی کاسٹ (Cloudflare / Route 53) پر رکھیں تاکہ دنیا بھر کے صارفین قریب ترین انسٹینس تک پہنچیں — اس سے مرحلہ ③ کی لیٹنسی 100ms سے گھٹ کر 10ms رہ جاتی ہے۔
7.5 TTL سوچ سمجھ کر سیٹ کریں
شاذ و نادر بدلنے والے ریکارڈز (NS / MX) کے لیے طویل TTL (1-7 دن) رکھیں؛ جن A ریکارڈز کو بدلنا پڑ سکتا ہے ان کے لیے مختصر TTL (5-60 منٹ) رکھیں۔
8۔ عمومی سوالات
8.1 میں نے DNS بدلا لیکن کچھ نہیں ہوا — کیوں؟
پہلے موجودہ TTL پر غور کریں۔ DNS بدلنے کے بعد جب تک پرانا TTL ختم نہیں ہوتا، ہر ریکرسیو ریزالور پرانا IP ہی لوٹاتا رہے گا۔ «عالمی سطح پر پھیلاؤ» میں عام طور پر TTL کا تقریباً 2 گنا وقت لگتا ہے (کیونکہ ریزالورز آپس میں ہم وقت نہیں ہوتے)۔
- کلائنٹ:
ipconfig /flushdns(Windows) /sudo killall -HUP mDNSResponder(macOS) - پبلک ریکرسیو ریزالور کے کیش ختم ہونے کا انتظار: 1.1.1.1 / 8.8.8.8 دونوں اپنا اپنا «purge» ٹول دیتے ہیں جس سے کیش دستی طور پر صاف کیا جا سکتا ہے
8.2 کچھ صارفین سائٹ کھول سکتے ہیں، کچھ نہیں — DNS پوائزننگ
مین لینڈ چین سے بیرون ملک کی سائٹس کھولتے وقت یہ عام ہے — چین کی گریٹ فائر وال (GFW) جعلی DNS جوابات داخل کرتی ہے / ISP کوئریز ہائی جیک کرتے ہیں۔ DoH (براؤزر میں انکرپٹڈ DNS) پر منتقل ہونے سے زیادہ تر DNS پوائزننگ سے بچا جا سکتا ہے۔
8.3 ڈومین رجسٹر کرنے کے کتنی دیر بعد اسے استعمال کیا جا سکتا ہے؟
رجسٹریشن کے بعد TLD رجسٹری آپ کے NS ریکارڈز کو .com / .net وغیرہ کے ٹاپ لیول مستند سرورز تک پہنچاتی ہے — عام طور پر 15 منٹ سے 24 گھنٹے۔ .cn / .com.cn ڈومینز کو مین لینڈ چین کے اندر ریزالو ہونے سے پہلے ICP رجسٹریشن کی ضرورت پڑ سکتی ہے۔
مزید مطالعہ
- روٹ نیم سرورز کے صرف 13 گروپ کیوں ہیںDNS فلو کی سب سے اوپری سطح — مرحلہ ④
- دنیا بھر کے پبلک DNS کی فہرستکون سا ریزالور سب سے تیزی سے ریزالو کرتا ہے
- RFC 1035 — DNS پروٹوکول کی اصل تفصیلات
- RFC 8484 — DoH (DNS-over-HTTPS)