DNS — Domain Name System — হলো সেই সিস্টেম যা একটি মানুষের পড়ার যোগ্য ডোমেইন নামকে একটি কম্পিউটারের সার্ভারে সংযুক্ত হতে আসলে দরকার সাংখ্যিক IP ঠিকানায় অনুবাদ করে। এটি, কার্যকরভাবে, ইন্টারনেটের ফোন বই, প্রতিটি একক অনুরোধে স্বয়ংক্রিয়ভাবে খুঁজে দেখা হয়।
আপনার ব্রাউজারের যখন example.com লোড করা দরকার, মোটামুটি এটি ঘটে: এটি একটি DNS resolver-কে (প্রায়ই আপনার ইন্টারনেট প্রদানকারী চালায়) জিজ্ঞাসা করে এটি ইতিমধ্যে উত্তর জানে কিনা; না জানলে, resolver DNS সার্ভারের একটি শৃঙ্খলকে জিজ্ঞাসা করে, সবচেয়ে সাধারণ থেকে সবচেয়ে নির্দিষ্ট পর্যন্ত কাজ করে, যতক্ষণ না এটি বিশেষভাবে example.com-এর জন্য দায়ী nameserver-এ পৌঁছায়; সেই nameserver আসল IP ঠিকানা ফেরত দেয়; আর resolver সেটি আপনার ব্রাউজারে ফিরিয়ে দেয়, যা শেষে সার্ভারের সাথে আসল সংযোগ তৈরি করে।
একটি ডোমেইনের nameserver হলো নির্দিষ্ট সার্ভার যা এর জন্য কর্তৃত্বপূর্ণ DNS রেকর্ড ধরে রাখে — সেই ডোমেইনটি কোথায় নির্দেশ করে তার আসল সত্যের উৎস। আপনি একটি ডোমেইন নিবন্ধন করলে, এটি আপনার registrar থেকে ডিফল্ট nameserver নিয়ে আসে; আপনি অন্যত্র হোস্টিং কিনলে, আপনি সাধারণত হয় আপনার ডোমেইনকে সেই host-এর nameserver-এর দিকে নির্দেশ করেন, অথবা registrar-এর nameserver রাখেন আর এর বদলে পৃথক রেকর্ড যোগ করেন। দুটো পদ্ধতিই ডোমেইন সংযুক্ত করার পাঠে ব্যবহারিকভাবে কভার করা।
সেই পুরো শৃঙ্খল জুড়ে প্রতিটি একক অনুরোধে DNS খুঁজে দেখা ধীর হতো — তাই উত্তরটি পথের একাধিক বিন্দুতে ক্যাশ করা হয়: আপনার ব্রাউজার, আপনার অপারেটিং সিস্টেম, আপনার ইন্টারনেট প্রদানকারীর resolver, আর মাঝখানে অন্যরা। প্রতিটি ক্যাশ করা কপির একটি TTL (time to live) আছে, একটি সময়কাল যার পরে এটি মেয়াদ শেষ হয়ে নতুন করে খুঁজে দেখার অনুমতি পায়।
এই কারণেই একটি DNS পরিবর্তন — উদাহরণস্বরূপ, একটি ডোমেইনকে নতুন হোস্টিং-এর দিকে নির্দেশ করা — সর্বত্র সাথে সাথে কার্যকর হয় না। কিছু ভিজিটর মিনিটের মধ্যে পরিবর্তনটি দেখেন; অন্যরা, যাদের resolver একটি দীর্ঘ TTL সহ পুরোনো উত্তর ক্যাশ করেছে, ঘণ্টা পরে দেখতে পারেন। এই দেরিকে সাধারণত propagation বলা হয়, ডোমেইন সংযুক্ত করার পাঠে ব্যবহারিক সময়ের নির্দেশনাসহ কভার করা।
DNS পরিবর্তন করা ঝুঁকিপূর্ণ নয়, কিন্তু তাৎক্ষণিকও নয়। যেকোনো DNS পরিবর্তন এই প্রত্যাশা নিয়ে পরিকল্পনা করুন যে এটি সর্বত্র দৃশ্যমান হতে মিনিট থেকে প্রায় ৪৮ ঘণ্টা পর্যন্ত সময় নিতে পারে, আর একটি গুরুত্বপূর্ণ মুহূর্তের (একটি launch ইভেন্ট, একটি নির্ধারিত ঘোষণা) ঠিক আগে একটি পরিবর্তন করা এড়ান যেখানে একটি ভুল ঠিক করার কোনো জায়গা থাকবে না।
DNS নিজেই শুধু lookup প্রক্রিয়া। এটি আসলে যা সংরক্ষণ আর ফেরত দেয় তা হলো রেকর্ড — ভিন্ন উদ্দেশ্যের জন্য ভিন্ন ধরন, পরের পাঠে সম্পূর্ণভাবে কভার করা।