dns বা ডোমেইন নেম সিস্টেম শব্দটি সাথে ইন্টারনেট ব্যবহারকারীরা সবাই পরিচিত। সাম্প্রতিক সময় হ্যাকিং বেড়ে যাওয়াতে শব্দটি আরো বেশি করে শোনা যাচ্ছে। আমরা এই পোস্টে বুঝতে চেষ্টা করবো dns জিনিসটা আসলে কি।
tcp/ip প্রটোকলগুলোর মধ্যে একটি হলো dns। প্রটোকল হলো কিছু নিয়ম যেখানে বলা আছে একটি কম্পিউটারের সাথে আরেকটি কম্পিউটার কিভাবে নেটওয়ার্কে যুক্ত হবে। মনে করো তুমি www.google.com সাইটে ঢুকতে চাও। কোনো এক বা একাধিক সার্ভারে সাইটটির ডাটা রাখা আছে,ব্রাউজার সেই সার্ভারে রাখা ডাটা তোমাকে দেখাবে। সার্ভারটিকে চিহ্নিত করার জন্য দরকার একটি unique আইপি অ্যাড্রেস। আইপি অ্যাড্রেস বেশ বড় একটি সংখ্যা,ওয়েবসাইটে ঢুকতে যদি তোমার সেই সাইটের আইপি মুখস্থ রাখা লাগে বা টাইপ করা লাগে তাহলে সেটা বিশাল ঝামেলার একটা ব্যাপার হবে। সেজন্য তৈরি করা হয়েছে domain name system।
গুগলের অনেকগুলো আইপির একটি হলো 74.125.53.147।
আপনি এ সংখ্যাটি ব্রাউজারে লিখলে www.google.com এ পৌছে যাবে। www.google.com লিখলেও পৌছে যাবে,এ ক্ষেত্রে dns এর সাহায্যে human readable ওয়েব ঠিকানাকে আগে আইপি অ্যাড্রেসে পরিবর্তন করতে হবে,তারপর সেই আইপি অনুযায়ী সার্ভার থেকে ডাটা তোমার কাছে আসবে। কিন্তু কোন সাইটের আইপি কত সেটা কোথা থেকে জানা যাবে?
dns server নামক কিছু বিশেষ সার্ভার এ কাজটি করে। dns server এর বিশাল ডাটাবেসে লাখ লাখ সাইটের নামের বিপরীতে আইপি অ্যাড্রেস ম্যাপিং করা থাকে। তুমি www.google.com এ ঢুকতে চাইলে আগে কোনো dns server এ সাইটটির নাম পাঠানো হবে,সেখান থেকে আইপি নিয়ে সার্ভারের ডাটা নিয়ে আসা হবে। একটি dns server এ আইপি খুজে না পেলে সেই সার্ভার স্বয়ংক্রিয় ভাবে অন্য একটি সার্ভারে খুজবে। জিনিসটা অনেকটা তোমার ফোনবুকের সাথে তুলনা করতে পারো,তুমি ফোনবুকে “petr” এর নাম বের করে কল করলে সে আগে petr এর ফোন নম্বরটা ডাটাবেস থেকে খুজে বের করে তারপর তার ফোনে সংকেত পাঠাবে।
নিচের ছবিটি দেখলে ধারণাটি আরো পরিষ্কার হবে:
আপনি যদি সরাসরি আইপি ব্যবহার করে কোনো সাইটে প্রবেশ করো তাহলে dns server এ খুজতে হবেনা। তবে সাইটের আইপি পরিবর্তন হতে পারে,একটি সাইটের একাধিক আইপি থাকতে পারে। তোমার internet service provider বা isp ইন্টারনেট সেটআপের সময় ঠিক করে দিয়েছে তুমি কোন dns server ব্যবহার করবে,তবে তুমি চাইলে সেটা বদলাতে পারে সেটিং এ গিয়ে।
১৯৮২ সালে প্রথম আইপি অ্যাড্রেসের পরিবর্তে ডোমেইন নেম ব্যবহার শুরু হয়। সেসময় নেটওয়ার্ক ছিল একদম ছোট,এখন ইন্টারনেট বলতে যা বোঝায় সেটা তখনও চালু হয়। তখন HOSTS.TXT নামের একটি ফাইলে নামগুলো আইপি দিয়ে ম্যাপিং করে রাখা হতো। কিন্তু নেটওয়ার্ক বড় হবার সাথে সাথে এ সিস্টেম অচল হয়ে গেলো কারণ HOSTS.TXT ম্যানুয়ালি আপডেট করতে হতো,এটা মেইনটেইন করা অনেক ঝামেলা। পরবর্তিতে ১৯৮৩ সালে Jon Postel, Paul Mockapetris তৈরি করলেন প্রথম domain name system। ১৯৮৪ সালে Douglas Terry, Mark Painter, David Riggle, and Songnian Zhou প্রথম unix এর জন্য dns তৈরি করেন যার নাম ছিলো The Berkeley Internet Name Domain (BIND) Server,পরবর্তিতে bind এ অনেক অনেক পরিবর্তন আনা হয়,বিস্তারিত জানতে উইকিপেজ দেখতে পারো।
বছরখানেক আগে google.com.bd হ্যাকিং নিয়ে অনেক শোরগোল উঠেছিল। হ্যাকিং এর আসল কাজটা করা হয়েছিল dns এ,মূল সাইটে না। তারা dns server এ আইপিটা এমন ভাবে বদলে দিয়েছিলো যাতে তুমি আসল সাইটে না গিয়ে অন্য কোথাও চলে যাও,এবং সেই “অন্য কোথাও” তারা তাদের ছবি,গান ইত্যাদি বসিয়ে দিয়েছিলো। আমি যতটুক জানি বাংলাদেশি যতগুলো সাইট সেসময় হ্যাক হয়েছিলো সবগুলো .bd সাইট ছিলো,অর্থাত সাইটগুলোর আইপি বাংলাদেশি dns server এ ছিলো(তথ্যে ভুল থাকতে পারে,থাকলে জানাতে অনুরোধ করছি)।
কোনো সাইটের আইপি জানতে এই টুলসটি ব্যবহার করতে পারো: http://websiteipaddress.com/ 
রেফারেন্স: http://www.howstuffworks.com/dns.htm