DNS ছাড়া অচল ইন্টারনেট দুনিয়া

DNS কি?

DNS এর মানে হচ্ছে Domain Name System. আমরা অনেকেই অনেক সময় ডোমেইন এবং DNS কে একই মনে করি। কিন্ত তাদের কাজ একে-অপরের থেকে সম্পূর্ণভাবে আলাদা। ডোমেইন হ’ল একটি নাম। প্রতিটি ওয়েবসাইটের একটি নাম আছে আর সেই নামটিই হচ্ছে ডোমেইন। যেমনঃ google.com, facebook.com, keenhost.com ইত্যাদি। তাহলে DNS কি? সহজভাবে বললে, DNS একটি পদ্ধতি যা নাম (ডোমেইন)-কে সংখ্যায় (IP address) পরিনত করে এবং ঠিক এর উল্টোটা মানে সংখ্যাকে নামে পরিনত করে।

DNS যে কারনে ব্যবহৃত হয়

মানুষ এবং কম্পিউটারের মধ্যে যোগাযোগের ঘাটতি পূরণ করতে এবং যোগাযোগকে আরো সহজ করার লক্ষ্যে নেটওয়ার্কিং ইঞ্জিনিয়াররা DNS তৈরি করে। আমরা যখন কোন ডোমেইন নাম টাইপ করি IP address এর পরিবর্তে তখন আমাদের হয়ে DNS সেই নামটিকে IP address এ রুপান্তরিত করে নেয়।

ইন্টারনেটে সংযুক্ত প্রতিটি ডিভাইসের একটি ইউনিক IP address আছে। আর ইন্টারনেট জুড়ে একটি ডিভাইস আর একটি ডিভাইসকে খুজে পায় বা চিনে থাকে এই IP address এর মাধ্যমে। আমরা মানুষরা যে ভাষায় কথা বলি বা একজন অপরজনকে একটি নামের মাধ্যমে চিনে থাকি সেভাবে কম্পিউটার বা ইন্টারনেটজুড়ে থাকা ডিভাইসগুলো একে অপরকে চিনেনা। তারা যা চিনে তা হচ্ছে নাম্বার। আর সেই নাম্বারগুলো অবশ্যই নামের চাইতে সহজবোধ্য নয় যে মানুষ সহজেই মনে রাখতে পারবে। কি বিশ্বাস হচ্ছে না? আচ্ছা মনে করুন একটি ওয়েবসাইটের IP address নাম্বার ‘172.217.163.46’ অথবা আরো জটিল নাম্বার ‘2400:cb00:2048:1::cb29:d7a2’ এমন এবং সেটির ডোমেইন নাম google.com, এখন আপনিই বলুন, এই IP address মনে রাখা আপনার জন্য সহজবোধ্য নাকি ডোমেইন নামটা, অবশ্যই আপনার উত্তর হবে ডোমেইন নাম। আর একটি-দুইটি ওয়েবসাইট হলেও কোন কথা ছিল, প্রতিদিন নিজের কাজের প্রয়োজনেই অনেক ওয়েবসাইটে ঢুঁ মারার প্রয়োজন হয় আপনার, এখন এই সবগুলো ওয়েবসাইটের নাম বসে বসে মুখস্থ করবেন না নিশ্চয়ই। তাই, মানুষের যেন এই কষ্টসাধ্য নাম্বারগুলো মনে না রাখতে হয় এই জন্যই DNS তৈরি হয়েছিল। আর কি কাজ করে সেইটা তো শুরুতেই বলেছি, নাম থেকে নাম্বারে আবার ঠিক নাম্বার থেকে নামে রুপান্তর করাই DNS এর কাজ। DNS এর কার্যপ্রক্রিয়া শুনতে সহজ লাগলেও এটি মোটেও কিন্ত সহজ নয়, অত্যন্ত জটিল।

DNS এবং ফোনবুক

একটি উদাহরনের মাধ্যমে DNS এর ব্যপারটা আপনাদের কাছে আরেকটু সহজ করে দেয়া যায়। DNS কে আপনার মোবাইলের ফোনবুকের সাথে তুলনা করা যেতে পারে। আমরা প্রত্যেকেই অন্তত একটা করে সিম ব্যবহার করে থাকি আমাদের মোবাইলে এবং আমাদের ব্যবহৃত সিমের নাম্বারটিও কিন্ত ইউনিক। এখন আপনি এই সিম ব্যবহার করে আপনার পরিচিত বা অপিরিচিত মানুষদের সাথে যোগাযোগ করতে পারছেন তাদের সিম নাম্বার ব্যবহার করে। তবে আপনার ফোনবুকে আপনার পরিচিত মানুষগুলোর নাম্বারগুলো কিন্ত আপনি তাদের যার যার নাম দিয়ে সেভ করে রাখছেন। কারন, সবার নাম্বার আপনার পক্ষে মনে রাখা কষ্টসাধ্য। যখন যাকে প্রয়োজন ঠিক ফোনবুকে যেয়ে সেই নির্দিষ্ট ব্যক্তির নাম লিখে সার্চ করলেই আপনার কাংক্ষিত ফোন নাম্বারটি পেয়ে যাচ্ছেন এবং সেখান থেকে তাকে কল বা ম্যাসেজ করতে পারছেন। ঠিক এমনই প্রত্যেকটা সিমের নাম্বারই তাদের আইডেন্টিফিকেশন ঠিক যেমন ইন্টারনেটজুড়ে থাকা ডিভাইসগুলোর ক্ষেত্রে IP address. এখন আপনার বন্ধুর ফোন নাম্বার রহিম নামে সেভ করে রেখেছেন কিন্ত তাকে যখন কল করছেন তখন সিম অপারেটর কিন্ত রহিমকে চিনছেনা, চিনছে তার সিম নাম্বার দিয়ে এবং ঠিক সেই নাম্বারেই আপনার কলটি পৌঁছিয়ে দিচ্ছে। আর নামের মাধ্যমে সহজে নাম্বারটি সেভ করে রাখার সুবিধা দিচ্ছে আপনার ফোনবুক। বুঝতে পেরেছেন? আপনার ফোনবুকের সাথে DNS এর অনেক মিল থাকায় কিন্ত DNS কে ইন্টারনেটের ফোনবুক বলা হয়ে থাকে।

DNS যেভাবে কাজ করে

আমরা যখন আমাদের ওয়েব ব্রাউজারে facebook.com টাইপ করে Enter বাটন প্রেস করি তখন DNS সার্ভার খোঁজ করে দেখে যে ডোমেইনের সাথে ম্যাচ করে IP address টি তার ডাটাবেজে আছে কিনা। যদি থাকে তাহলে সে facebook-এর ওয়েবসাইটের ডোমেইন নামটিকে IP address-এ রুপান্তরিত করে ফেলে। আর একবার এ কাজটি সম্পন্ন হয়ে গেলেই আপনার ব্রাউজার facebook-এর ওয়েব সার্ভারের সাথে কমিউনিকেট করতে সক্ষম হয় এবং ওয়েব পেইজটি রিট্রিভ করতে পারে।
চলুন জেনে নেই DNS কোন পদক্ষেপগুলো নিয়ে থাকে যখন আপনি আপনার ওয়েব ব্রাউজারে facebook.com টাইপ করে থাকেন কিন্ত আপনার ওয়েব ব্রাইজার অথবা আপনার অপারেটিং সিস্টেম তাদের cache memory-তে সেই ডোমেইনের IP address টি খুজে পায় না। যদি ব্রাউজার তার cache memory-তে IP address টি খুজে না পায় তাহলে এটি পরবর্তী একটি স্তরে/ধাপে query প্রেরণ করে যে স্তরকে ‘Resolver Server’ বলা হয়।

Resolver সার্ভার-টি মূলত আপনার ISP (Internet service provider). যখন Resolver সার্ভার-টি facebook.com এর নির্দিষ্ট IP’র জন্য query রিসিভ করে তখন এটি তার নিজের cache memory-তে সেই ডোমেইনটির IP address আছে কিনা খোঁজ করে দেখে। Resolver server যদি তার কাছে IP খোঁজ করে না পায় সেক্ষেত্রে সে query-টি তার পরবর্তী স্তরে পাঠায় যে স্তরটিকে ‘Root server’ বলা হয়।

Root servers হল DNS অনুক্রমের শীর্ষ অথবা মূল। এই রুট সার্ভারগুলির মোট 13 টি সেট রয়েছে যেগুলো কৌশলগতভাবে পুরো বিশ্বজুড়ে স্থাপন করা হয়েছে এবং তারা ১২ টি ভিন্ন সংস্থা দ্বারা পরিচালিত হয়।এই রুট সার্ভারগুলির প্রতিটি সেটের রয়েছে তাদের নিজস্ব ইউনিক IP address. যখন একটি Root সার্ভার facebook.com এর IP address এর জন্য query রিসিভ করে তখন এটি কিন্ত আসলে জানেনা যে সেই ডোমেইনের জন্য নির্দিষ্ট IP address টা কি তবে সে এটি জানে যে Resolver সার্ভারকে ঠিক কোন জায়গায় বা ঠিকানায় পাঠালে সে সেই নির্দিষ্ট IP address টি পাবে তার ডোমেইন নামের জন্য। তাই রুট সার্ভার Resolver-কে ডিরেক্ট করবে TLD অথবা Top Level Domain সার্ভারের কাছে .com ডোমেইনটির জন্য। Resolver এরপর TLD সার্ভারকে facebook.com এর IP address এর জন্য বলবে।

TLD সার্ভার শীর্ষ স্তরের ডোমেইনগুলোর যেমনঃ .com, .org, .net, .edu ইত্যাদির তথ্য সংগ্রহ করে রাখে। এই নির্দিষ্ট TLD সার্ভারটি .com ডোমেইন পরিচালনা করে যা facebook.com এর একটি অংশ। ব্যাপার হচ্ছে, একটি TLD সার্ভার যখন facebook.com এর IP address আছে কিনা তার query রিসিভ করে তখন সেও কিন্ত জানেনা facebook.com এর জন্য নির্দিষ্ট IP address-টি কি। আর তাই TLD সার্ভার Resolver সার্ভারকে ডিরেক্ট করে দেয় পরবর্তী এবং শেষ ধাপে যেটি হ’ল Authoritative Name Server (অনুমোদিত নাম সার্ভার). এরপরে Resolver সার্ভার Authoritative Name Server এর কাছে facebook.com এর জন্য IP address চাইবে।

Authoritative Name Server-গুলো ডোমেইন এর IP address সহ সমস্ত তথ্য জানার জন্য দায়বদ্ধ। তারাই চূড়ান্ত কর্তৃপক্ষ, তাই যখন তারা Resolver এর কাছে থেকে IP-এর জন্য query রিসিভ করে তখন নাম সার্ভারটি facebook.com এর IP address-এর জন্য সাড়া দিয়ে থাকে এবং সবশেষে, Resolver সার্ভার আপনার ব্রাউজারকে facebook.com-এর জন্য নির্দিষ্ট IP address-টি বলবে এবং অতঃপর আপনার ব্রাউজার facebook এর ওয়েব পেইজটি রিট্রিভ করবে।

একটি বিষয় কিন্ত মনে রাখা গুরুত্বপূর্ণ যে, একবার Resolver সার্ভার IP address-টি পেয়ে গেলে সে এটি তার cache memory-তে সংরক্ষন করে এবং তার পাশাপাশি আপনার ব্রাউজার এবং অপারেটিং সিস্টেম ও সেটি তাদের cache memory-তে সংরক্ষন করে রাখে যেন পরবর্তীবার এটি যদি facebook.com এর নির্দিষ্ট IP address এর জন্য আবার কোন query পেয়ে থাকে তাহলে তাকে যেন আবার এতগুলো ধাপ অতিক্রম না করে আসতে হয়।

আশা করছি লেখাটি পড়ে DNS সম্পর্কে একটা পরিস্কার ধারণা পেয়েছেন। এই বিষয়ে আপনাদের আরও কিছু জানবার থাকলে অথবা কোন সাজেশন থাকলে অবশ্যই তা কমেন্ট সেকশনে জানাতে ভুলবেন না।

ধন্যবাদ।

Leave a Comment