Part 1 · নেটওয়ার্কিং 📖 ১২ মিনিট পড়া 📝 ২০টি কুইজ

Domain Name System (DNS)

ইন্টারনেটের ফোনবুক — নাম থেকে IP-তে অনুবাদ।

📝 কুইজে যান

আপনি ব্রাউজারে google.com লিখলেই Google-এর পেজ খুলে যায়। কিন্তু ইন্টারনেট তো নাম বোঝে না — সে শুধু IP অ্যাড্রেস বোঝে! তাহলে google.com থেকে সঠিক IP কীভাবে পাওয়া যায়?

উত্তর হলো — DNS

DNS কী?

DNS মানে Domain Name System। এটি ইন্টারনেটের একটি বিকেন্দ্রীভূত (decentralized) সিস্টেম যা ডোমেইন নাম (যেমন: google.com)-কে IP অ্যাড্রেসে (যেমন: 142.250.190.46) অনুবাদ করে।

💡 সহজ উদাহরণ: DNS হলো ইন্টারনেটের ফোনবুকের মতো। আপনি বন্ধুর নাম মনে রাখেন, ফোন নম্বর নয়। ফোনবুক নাম দিয়ে নম্বর খুঁজে দেয়। DNS-ও তেমনই।

DNS কীভাবে কাজ করে — ধাপে ধাপে

আপনি ব্রাউজারে google.com লিখলেন। দেখা যাক কী হয়:

  1. Browser cache: ব্রাউজার আগে নিজের cache-এ দেখে এই নামের IP আছে কিনা।
  2. OS cache: না পেলে অপারেটিং সিস্টেমের cache-এ দেখে।
  3. Recursive resolver: ISP-এর DNS resolver-কে জিজ্ঞেস করে।
  4. Root server: Resolver root server-কে জিজ্ঞেস করে — ".com কোথায়?"
  5. TLD server: Root .com TLD server-এর ঠিকানা দেয়।
  6. Authoritative server: .com TLD বলে "google.com-এর authoritative server এই ঠিকানায়"।
  7. IP প্রাপ্তি: Authoritative server google.com-এর সঠিক IP দেয়।
  8. Cache: উত্তর resolver, OS ও browser-এ cache হয় (TTL অনুযায়ী)।
আপনি → Browser → OS → Recursive Resolver
                              ↓
           Root → TLD (.com) → Authoritative
                              ↓
                         IP: 142.250.190.46
                              ↓
                       Browser-এ ফেরত

DNS সার্ভারের ধরন

১. Recursive Resolver

ক্লায়েন্টের পক্ষে অন্য সার্ভারগুলো থেকে উত্তর খুঁজে আনে। সাধারণত ISP বা পাবলিক DNS (Google 8.8.8.8, Cloudflare 1.1.1.1) এই কাজ করে।

২. Root Name Server

DNS hierarchy-র শীর্ষ। বিশ্বে মোট ১৩টি logical root server cluster আছে (a.root-servers.net থেকে m.root-servers.net)। এরা TLD server-এর তথ্য রাখে।

৩. TLD Server

Top-Level Domain — যেমন .com, .org, .net, .bd। প্রতিটি TLD-এর নিজস্ব সার্ভার আছে যা সেই extension-এর domain-গুলোর authoritative server-এর তথ্য রাখে।

৪. Authoritative Name Server

একটি নির্দিষ্ট ডোমেইনের সঠিক IP রেকর্ড এখানে থাকে। যেমন google.com-এর authoritative server জানে www.google.com, mail.google.com-এর IP।

গুরুত্বপূর্ণ DNS রেকর্ড টাইপ

  • A Record: ডোমেইন নামকে IPv4 অ্যাড্রেসে map করে। সবচেয়ে বেশি ব্যবহৃত।
  • AAAA Record: ডোমেইন নামকে IPv6 অ্যাড্রেসে map করে।
  • CNAME (Canonical Name): এক ডোমেইনকে অন্য ডোমেইনের alias করে। যেমন www.example.com → example.com।
  • MX Record: Mail server নির্দেশ করে। ইমেইল কোন সার্ভারে যাবে সেটি।
  • NS Record: Authoritative name server নির্দেশ করে।
  • TXT Record: যেকোনো text তথ্য রাখা যায় (SPF, DKIM ভেরিফিকেশন)।
  • PTR Record: Reverse DNS — IP থেকে ডোমেইন বের করে।
  • SOA Record: Zone-এর authority সংক্রান্ত তথ্য।

DNS Caching ও TTL

DNS query প্রতিবার সবার কাছে যায় না — caching এর কারণে দ্রুত হয়।

  • TTL (Time To Live): প্রতিটি DNS রেকর্ডে TTL থাকে — কতক্ষণ cache-এ রাখা যাবে।
  • Browser cache: কয়েক মিনিট পর্যন্ত।
  • OS cache: কয়েক ঘণ্টা।
  • ISP resolver cache: TTL অনুযায়ী, সাধারণত কয়েক ঘণ্টা থেকে কয়েকদিন।
📝 নোট: ডোমেইনের IP পরিবর্তন করলে সেটা সবখানে কার্যকর হতে কিছু সময় লাগে — TTL-এর কারণে। একে বলে DNS propagation

বাস্তব উদাহরণ

  • Google Public DNS: 8.8.8.8 ও 8.8.4.4 — ফাস্ট ও free।
  • Cloudflare DNS: 1.1.1.1 — গোপনীয়তায় ফোকাস।
  • OpenDNS: Cisco-র DNS — ফিল্টারিং সুবিধা।
  • CDN: Cloudflare DNS দেখে আপনার কাছাকাছি সার্ভারে পাঠায়।

DNS নিরাপত্তা

  • DNS Spoofing: হ্যাকার ভুয়া উত্তর দিয়ে ইউজারকে ভুল সাইটে পাঠায়।
  • DNSSEC: DNS উত্তরে digital signature যোগ করে নিরাপত্তা বাড়ায়।
  • DoH (DNS over HTTPS): DNS query-কে এনক্রিপ্ট করে।
  • DoT (DNS over TLS): TLS দিয়ে DNS এনক্রিপশন।

সাধারণ ভুল ধারণা

  1. "DNS শুধু ISP-র": না, যে কেউ DNS server চালাতে পারে।
  2. "DNS পরিবর্তন তাৎক্ষণিক": না, propagation-এ ২৪-৪৮ ঘণ্টা লাগতে পারে।
  3. "localhost-ও DNS লাগে": না, localhost (127.0.0.1) hardcoded।

সিস্টেম ডিজাইনে DNS-এর গুরুত্ব

  • Geo-routing: একই domain বিভিন্ন region-এ বিভিন্ন IP দিতে পারে।
  • Load balancing: Round-robin DNS-এ একাধিক IP দেওয়া যায়।
  • Failover: এক সার্ভার down হলে DNS-এর মাধ্যমে অন্য সার্ভারে redirect।
  • CDN integration: CDN-এর কাছাকাছি edge সার্ভার DNS দিয়ে চিহ্নিত হয়।

📌 চ্যাপ্টার সারমর্ম

  • DNS ডোমেইন নাম থেকে IP-তে অনুবাদ করে।
  • Recursive resolver → Root → TLD → Authoritative — এই ক্রমে query চলে।
  • A, AAAA, CNAME, MX, NS, TXT — গুরুত্বপূর্ণ রেকর্ড টাইপ।
  • TTL ক্যাশিং দ্রুত response নিশ্চিত করে।
  • DNS-এর উপর CDN, load balancing, failover নির্ভরশীল।