ডি এন এস কিভাবে কাজ করে?

এই প্রশ্নটা আমাকে কয়েকজন করেছে। ডি এন এস কিভাবে কাজ করে? ডি এন এস কিভাবে কাজ করে এটা বোঝার জন্য আগে আমাদের কিছু বেসিক জিনিস সম্পর্কে ধারনা নিতে হবে।

ডি এন এস কি?

অবভিয়াসলী আপনি যখন ডি এন এস সম্পর্কে জানতে চাচ্ছেন, আশা করা যায় আপনি ডোমেইন কি এবং এর ব্যবহার সম্পর্কে কিছুটা আইডিয়া রাখেন। আপনি যখন ব্রাউজারে একটা ডোমেইন নেম টাইপ করছেন, ধরুন www.ioritro.com তখন আপনার ব্রাউজার আপনাকে এই ওয়েবসাইটে নিয়ে আসছে। কিন্তু এই ওয়েবসাইট টির পেছনে কিছু একটি সার্ভার রয়েছে। সেই সার্ভারে এই ওয়েবসাইট এর যাবতীয় ডাটা সংরক্ষিত করা আছে। ফিজিক্যাল ফাইল থেকে শুরু করে ডাটাবেজ ইত্যাদি।

এই পর্যায়ে ধরে নিচ্ছি আই পি ( IP = Internet Protocol ) কি আপনি সেটা জানেন। না জানলে সংক্ষেপে বলে দেই, আইপি হলো এক ধরনের আইডেন্টিফিকেশন নম্বর। যে কোন ধরনের নেটওয়ার্কে কানেক্টেড ডিভাইস এর একটি করে আইপি থাকে। আইপির অসংখ্য ধরন আছে। সেদিকে না যাই। তাছাড়া, আইপির ডেফিনেশন এতোটা সহজ নয়। তবে এই পোষ্টে সে সম্পর্কে বিস্তারিত ব্যাখ্যা করার সুযোগ নেই। আইপি সাধারনত দুই ধরনের হয়। IPv4 এবং IPv6. প্রথমটি সাধারনত দেখতে এরকম, 192.168.1.1 এবং পরেরটি 2001:db8::ff00:42:8329 এরকম হয়। কেন হয় বা কিভাবে হয়, সে জন্য আপনাকে আরও বিস্তারিত পড়াশোনা করতে হবে। সেদিকে আপাতত না যাই।

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

এই সমস্যা সমাধান এর জন্য আছে ডোমেইন। এক্ষেত্রে ioritro.com । এই ডোমেইন এর কাজ হলো, যখন কেউ এই ডোমেইনে প্রবেশ করার চেষ্টা করবে, তখন তাকে নির্দিষ্ট একটি আইপির সাথে কানেক্ট করবে। এই পুরো প্রসেস যে প্রোটোকল হ্যান্ডেল করে, তাকেই ডি এন এস বা ডোমেইন নেম সিষ্টেম বলে। আসলে ডোমেইন নেম সিষ্টেম  একটা বিশাল প্রসেস। ডোমেইন এ প্রবেশ করলে নির্দিষ্ট আইপিতে নিয়ে আসাটা সেই বিশাল প্রসেসের একটা অংশ। সেটাকে বলা হয় ডোমেইন নেম রিসলভিং ( Domain Name Resolving ). আমাদের আজকের আলোচনা সেই রিসলভিং প্রসেস নিয়ে।

ডোমেইন রিসলভিং

পুরো প্রসেসটা আমি একটা গল্পের মতো করে ব্যাখ্যা করার চেষ্টা করবো। তাতে আপনার বুঝতে এবং মনে রাখতে সুবিধে হবে।

ধরুন, এই মূহুর্তে আপনি google.com এ ঢুকতে চাচ্ছেন। আপনি ব্রাউজারে টাইপ করলেন google.com এবং এন্টার চাপলেন। এবার একটা বেশ লম্বা প্রসেস চালু হবে।

আপনি খালি চোখে দেখছেন যে আপনি www.google.com টাইপ করেছেন। কিন্তু আসলে, আপনার ব্রাউজার সেটাকে রিড করবে, www.google.com. শেষে একটা (.) যোগ করে। এই ডট কিন্তু যেন তেন ডট নয়, এই ডট ইন্টারনেট ইনফোষ্ট্রাকচার এর সবচেয়ে গুরুত্বপূর্ন জিনিসগুলোর একটি। এইখান থেকে আরেকটি গুরুত্বপূর্ন জিনিস শিখলেন আপনি, পিচ্চি একটা ডটও গুরুত্বপূর্ন। এই ডট আসলে ইন্টারনেট নেটওয়ার্কিং এর রুট কে চিহ্নিত করে। কেডা এই রুট? সেদিকে পরে আসতেছি।

আপনি যখন ব্রাউজারে এই ডোমেইন প্রবেশ করালেন, আপনার ব্রাউজার তখন অপারেটিং সিষ্টেম কি জিজ্ঞেস করবে,

-> হেই ডুড, এই google.com আছে কই, জানো নাকি?

ডি এন এস এর বেসিকটা শিখতে গেলে আমাদের এমন একটা জগতে প্রবেশ করতে হবে, যেখানে ডি এন এস ক্যাশ বলে কিছু নেই। ডি এন এস ক্যাশ কি, সেটা পরে ব্যাখ্যা করবো।

অপারেটিং সিষ্টেম জবাব দিলো,

-> নাহ ম্যান, আমি তো জানি না। খাড়াও, রিসলভার রে জিগাই !

রিসলভার

রিসলভার হলো এমন একটি সিষ্টেম, যে এদিক ওদিকে দৌড়াদৌড়ি করে আপনার অপারেটিং সিষ্টেম এর কাছে নির্দিষ্ট ডোমেইন এর আইপি অ্যাড্রেস খুঁজে এনে দেয়। আপনারা অনেকেই গুগল ডি এন এস ব্যবহার করেন ( 8.8.8.8, 8.8.4.4 ) বেশিরভাগ ক্ষেত্রেই এটা না জেনে যে এই রিসলভার আসলে কি কাজে লাগে ! ব্যাখ্যা করছি।

অপারেটিং সিষ্টেম এসে আপনার রিসলভারকে জিজ্ঞেস করবে,

-> বসে বসে ম্যাল্যা টাইম পাস করছো, আমারে তাড়াতাড়ি এই google.com কই আছে খুঁজে এনে দাও !

এবার রিসলভার ডোমেইন এর নাম নিয়ে প্রথমে যাবে রুট সার্ভার এর কাছে।

সবার বাপ, দ্যা রুট সার্ভার

আপনারা অনেকেই বিগ ব্যাং থিওরীর নাম জানে। না বিগ ব্যাং থিওরী সিরিজের কথা বলতেছি না, বৈজ্ঞানিক বিগ ব্যাং থিওরীর কথা বলতেছি। সেখানে সব কিছু শুরু হয় একটা বিন্দু থেকে। ইন্টারনেটেরও সব কিছু এই বিন্দু দিয়েই শুরু। একটু আগে আপনাকে বলেছিলাম যে আপনি যখন google.com এ ঢুকতে চাচ্ছেন, আপনি কিন্তু আসলে google.com. এ যাচ্ছেন। এই ডটটা আসলে রুট সার্ভারকে রিপ্রেজেন্ট করে।

শুনে অবাক হবেন, সারা দুনিয়াতে মাত্র ১৩ টা রুট সার্ভার আছে। ১৩ টা ফিজিক্যাল সার্ভার, যারা প্র্যাক্টিক্যালী গোটা ইন্টারনেট কে সচল রাখে। এই ১৩ টা সার্ভার ১২ টা প্রতিষ্টান নিয়ন্ত্রন করে। এর মধ্যে ৭ টি ফিজিক্যালী আমেরিকাতে অবস্থিত, বাকিগুলো এনিকাষ্টের মাধ্যমে জিয়োগ্রাফিক্যালী ছোট ছোট নোড আকারে বিভিন্ন যায়গায় স্থাপন করা আছে। রুট সার্ভারের কাজ খুবই সামান্য। কিন্তু গুরুত্ব অসামান্য।

রুট সার্ভারে লিষ্ট, আইপি এবং নিয়ন্ত্রনকারী প্রতিষ্টান এর নাম
রুট সার্ভারে লিষ্ট, আইপি এবং নিয়ন্ত্রনকারী প্রতিষ্টান এর নাম

আপনার রিসলভার রুট সার্ভার কে গিয়ে জিজ্ঞেস করে,

-> বস, আমারে একজন google.com কই আছে জিগাইলো, হেল্প করেন।

রুট সার্ভার এবার উত্তর দেয়,

-> আমি কেমনে কমু কই আছে? তবে যেহেতু এইটা .com ডোমেইন, এর টি এল ডি সার্ভার কই আছে আমি জানি। আমি তার আইপি অ্যাড্রেস তোমারে দিতেছি। ওরে গিয়া জিগাও।

এবার রুট সার্ভার আপনার রিসলভারকে একটা আইপি অ্যাড্রেস দেবে, যেটা একটা টি এল ডি সার্ভারের অন্তর্ভূক্ত।

টি এল ডি সার্ভার

টি এল ডি সার্ভার (TLD Server) মানে টপ লেভেল ডোমেইন সার্ভার ( Top Level Domain Server ). আপনি এরই মধ্যে বেশ কিছু ডোমেইন এক্সটেনশন দেখেছেন, যেমন .com, .net, .biz, .edu, .gov । এগুলোকে বলা হয় টপ লেভেল ডোমেইন। তবে টপ লেভেল ডোমেইন এর মধ্যে বেশ কিছু ভাগ রয়েছে। কান্টিকোড টপ লেভেল ডোমেইন (cTLD – যেমন, .com.bd বা .uk ), জেনেরিক টপ লেভেল ডোমেইন (gTLD – যেমন .com, .info, .net ), স্পনসরড টপ লেভেল ডোমেইন ( sTLD – যেমন .academy, .gift ইত্যাদি )। এই ধরনের প্রতিটি টপ লেভেল ডোমেইন যে কোন একটি অর্গানাইজেশন নিয়ন্ত্রন করে। যেমন .com নিয়ন্ত্রন করে Verisign. এই ধরনের প্রতিটি TLD কে ম্যানেজ করার জন্য একটি ( বা একাধিক ) সার্ভার রয়েছে। এদেরকে বলা হয় টপ লেভেল ডোমেইন নেম সার্ভার।

এবার যেহেতু আমাদের রুট সার্ভার আমাদেরকে এরকম একটি টপ লেভেল ডোমেইন নেম সার্ভারের কাছে পাঠিয়েছে, আমাদের রিসলভার এবার তার সাথে কথা বলছে।

-> রুট সার্ভার বললো আপনি নাকি .com ম্যানেজ করে, তো এবার আমাকে একটু google.com কোথায় আছে খুঁজে দেন।

.com এর টি এল ডি সার্ভারের কাছে দুনিয়ার যাবতীয় .com ডোমেইন এর নেম সার্ভার ইনফরমেশন সংরক্ষিত আছে। সে এবার নিজের ডাটাবেজ ঘেঁটে দেখবে google.com এর নেম সার্ভার কোনটা। তবে তার কাছেও এক্সাক্ট ইনফরমেশন নেই। সে শুধু জানে গুগল ডট কম এর অথোরেটেটিভ নেম সার্ভার এর নাম কি এবং কোথায় আছে। সে উত্তর দেবে,

-> আমি অতো কিছু জানি না, এইযে চারটা অথোরেটেটিভ নেম সার্ভার এর নাম আমি জানি, এদেরকে গিয়া জিগাও।

google.com এর অথরেটেটিভ নেম সার্ভার সমূহ
google.com এর অথরেটেটিভ নেম সার্ভার সমূহ

অথোরেটেটিভ নেম সার্ভার

আপনারা যারা ওয়েব ডেভেলপমেন্ট এর সাথে জড়িত, তারা অবশ্যই ডোমেইন সার্ভারে পয়েন্ট করার সমঊ নেম সার্ভার ব্যবহার করেছেন। সেখানে আপনি ডোমেইন রেজিষ্টার করের পরে ডোমেইন এর কন্ট্রোল প্যানেল থেকে ns1.example.com, ns2.example.com এভাবে নেম সার্ভার যোগ করে। এই ধরনের নেম সার্ভারকে বলা হয় অথোরেটেটিভ নেম সার্ভার। আপনি যখন একটা ডোমেইন রেজিষ্টারে অথোরেটেটিভ নেম সার্ভার যোগ করেন বা আপডেট করে, আপনার ডোমেইন রেজিষ্টার কোম্পানী প্রায় সাথে সাথেই সেই TLD’র নিয়ন্ত্রনকারী সার্ভারকে জানিয়ে দেয় যে কোন অথোরেটেটিভ নেম সার্ভারে এই ডোমেইন কে পাওয়া যাবে। এবং রিসলভার যখন টি এল ডি সার্ভারকে জিজ্ঞেস করে, তখন টি এল ডি সার্ভার সেই ইনফরমেশন গুলোই ফরোয়ার্ড করে।

অথোরেটেটিভ নেম সার্ভার হলো এই ধাপের শেষ খেলোয়ার। আপনার রিসলভার তখন অথোরেটেটিভ নেম সার্ভারকে গিয়ে জিজ্ঞেস করে,

-> স্যার, অনেক দৌড়াদৌড়ি করছি, এবার দয়া করে বলেন google.com কই আছে?

অথোরেটেটিভ নেম সার্ভারের কাছে ঐ ডোমেইন এর সার্ভারের আইপি লিপিবদ্ধ থাকে। সে তখন বলে,

-> বৎস, তোমার সাধনা শেষ হইয়াছে, এই 74.125.131.105 তে রইয়াছে google.com। যাও, জানাইয়া দাও সবাইকে।

বহু দৌড়াদৌড়ির পরে গুগল ডট কম এর আইপি নিয়ে আপনার অপারেটিং সিষ্টেম এর কাছে ফেরত আসে রিসলভার।

-> এই নে, এইটা গুগল ডট কম এর আইপি। এইখানে গেলে পাবি।

এবার অপারেটিং সিষ্টেম আপনার ব্রাউজারকে আইপি টি হস্তান্তর করে। এরপর আপনার স্ক্রিনে ভেসে ওঠে গুগল ডট কম এর ওয়েবপেজ।

মজার ব্যাপার, এই বিশাল প্রসেস সম্পন্ন হতে সময় লাগে কয়েক মিলিসেকেন্ড। ( সেটা আপনার ইন্টারনেট কানেকশন এর লেটেন্সি এবং স্পিড এর ওপর নির্ভর করে অনেকটাই )।

ডি এন এস ক্যাশ

এই বিশাল প্রসেসকে আরও দ্রুত করার জন্য ডি এন এস ক্যাশ নিয়ে আসা হয়। এই পদ্ধতিতে, আপনার রিসলভার যখন একবার google.com এর আইপি পেয়ে যায়, তখন সেটা মেমরীতে সেভ করে রাখে। পরের বার যখন আপনি গুগল ডট কম এ যান, তখন সে আর পুরো প্রসেস না চালিয়ে, সরাসরি মেমরী থেকে আপনাকে আইপিটা দিয়ে দেয়। এতে করে একটা বিশাল প্রসেস অনেক সংক্ষিপ্ত করে ফেলা হয়। ক্যাশ এর আরও অনেক গুলো ধাপ আছে, তবে ধারনা করছি আপনি আইডিয়া পেয়ে গেছেন ডি এন এস ক্যাশ কিভাবে কাজ করে। উপরের প্রতিটা ধাপেই একবার করে ক্যাশ করা হয় রেজাল্টগুলো।

 

আশা করছি ডি এন এস কিভাবে কাজ করে সেটা ব্যাখ্যা করতে সক্ষম হলাম। যদি কিছু বুঝতে না পারেন কিংবা প্রশ্ন থাকে, কমেন্ট বক্স রয়েছে। 😉

27 Comments

  1. দারুন একটা পোস্ট। অনেক কিছু জানতে পারলাম। আমি অবশ্য কয়েকদিন আগেই ফেসবুকে এইটার লিংক পেয়ে মোবাইল থেকে পড়ছিলাম। কিন্তু, কি জানি অপেরা মিনি থেকে কমেন্ট করা যায় না।
    যাই হোক, আপনাকে অনেক অনেক ধন্যবাদ। এইরকম ইন-ডিটেইলস টেকি পোস্ট আরও চাই।

  2. KM Muttakee

    এক কথায় পাঙ্খা পোস্ট। অনেক নতুন তথ্য পেলাম। এগুলার জন্যই তো অপেক্ষায় থাকি… আরো লিখতে হবে।

  3. হাসান সাঈদ মুন্না

    আসলেই জানতে পারলাম ভাই এত দিন মনের মধ্যে গুর গুর করাসিলো। অসংখ্য ধন্যবাদ।

      • kaisar

        এমন কোন app বা সিস্টেম আছে যাতে কেউ বুজতে পারবে না যে ভিপিএন ব্যবহার করে তাদের সাইটে ডুকেছি?
        দয়া করে জানাবেন।

        • আপনি সম্ভবত প্রক্সির কথা বলছেন। প্রক্সি ট্রাক করা সহজ। কিন্তু ভিপিন এ এই ঝামেলা কম হয়। তবে বেশিরভাগ ফ্রি ভিপিএন এ খুব অল্প সংখ্যাক আইপি থাকে, ফলে সেগুলো লিস্ট করে কেউ ঐ আইপি দিয়ে ঢুকছে কিনা চেক করা যায়। আপনি যদি কোন প্রিমিয়াম ভিপিএন ব্যবহার করেন, তাহলে এই সমস্যা থেকে মুক্তি পাবেন।

        • ভি পি এন ব্যবহার করে ঢুকলে এমনিতেও বোঝার আসলে সেরকম কোন উপায় নেই। প্রক্সি ধরা সহজ, ভিপিএন ধরা এতোটা সহজ না।

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.