techtunes
DNS সার্ভার কি, কেন এবং কিভাবে?
DNS সার্ভার, একজন আই.টি/নেটওয়ার্ক প্রফেশনালের নিকট একটি অতি পরিচিত নাম। একজন সাধারণ ইন্টারনেট ব্যবহারকারী তার দৈনন্দিন প্রয়োজনে যতটুকু সময় ইন্টারনেট ব্যবহার করে থাকে তার পুরোটা সময়জুড়েই সে এই DNS সার্ভারের সাথে ইন্টার্যািক্ট করে থাকে যা সে কখনোই বুঝতে পারে না। কিন্তু একজন নেটওয়ার্ক প্রফেশনাল হিসেবে এই DNS সার্ভারের কার্যক্রম সম্পর্কে পরিষ্কার ধারণা থাকা আমাদের জন্য খুবই জরুরী।
শুরুতেই জেনে নিই, DNS সার্ভার কি এবং কেন দরকার। আমাদের ইন্টারনেট ব্যবহারকালীন সময়ের অধিকাংশ ক্ষেত্রেই আমরা কোন না কোন ওয়েবসাইট ব্রাউজ করে থাকি। যখন আমরা আমাদের বাসায় বা অফিসে বসে একটি ওয়েব পেজের জন্য কোন ওয়েব সার্ভারের নিকট রিকোয়েষ্ট পাঠাই তখন ঐ ওয়েব সার্ভার সেই কাঙ্খিত ওয়েব পেজটি আমাদের ব্রাউজারে সরবরাহ করে। আমাদের কম্পিউটার ও ওয়েব সার্ভারের মধ্যে যে যোগাযোগ সংঘটিত হয় তার মূলে হলো নিজ নিজ প্রান্তের আই.পি এ্যাড্রেস। এই আই.পি এ্যাড্রেস হলো ইন্টারনেটের সাথে সংযুক্ত প্রতিটি নেটওয়ার্ক হোষ্টের একটি স্বতন্ত্র নাম। কিন্তু আমরা ৯৯.৯৯% বা তার বেশিরভাগ ক্ষেত্রেই ব্রাউজারে আই.পি এ্যাড্রেস লিখে ইন্টারনেট ব্রাউজ করি না। যদি করি তাতে কোন সমস্যা নেই, সমস্যা অন্য জায়গায় আর সে সমস্যাটি হলো আমরা ঠিক কতগুলো ওয়েব সাইটের আই.পি এ্যাড্রেস মনে রাখবো? আর আই.পি এ্যাড্রেস মনে রাখার ক্ষেত্রে মানুষ হিসেবে আমাদের স্মরণশক্তিই বা কতটা বেশি? আমরা প্রতিদিন অসংখ্য ওয়েব সাইট ব্রাউজ করি, আর এই সব ওয়েব সাইটের আই.পি এ্যাড্রেস মনের রাখার মতো কাজ আমাদের ক’জনকে দিয়েই সম্ভব? প্রকৃতপক্ষে এই উদ্ভট সমস্যা থেকে আমাদের মুক্তি দেয়ার জন্য ইন্টারনেটে DNS সার্ভারের আবির্ভাব হয়েছে। এই DNS সার্ভার প্রদত্ত সুবিধার কারণেই কষ্ট করে আমাদেরকে শত শত ওয়েব সাইটের আই.পি এ্যাড্রেস কাগজে লিখে রেখে সাথে নিয়ে ঘুরতে হয় না। এর বদলে আমরা শুধু মনে রাখি www.googgle.com, www.yahoo.com, www.facebook.com সহ প্রয়োজনীয় সকল ওয়েব সাইটের নাম (ডোমেইন নেম), যা আমাদের জন্য অপেক্ষাকৃত অনেক সহজ।
আসলে DNS সার্ভার হলো এমন একটি সার্ভার যা ব্রাউজারে লিখে দেওয়া কোন একটি ডোমেইন নেমকে তার সংশ্লিষ্ট আই.পি এ্যাড্রেসে রূপান্তর করে সঠিক সার্ভারের কাছে রিকোয়েষ্ট পাঠায়। এজন্য আমাদেরকে কম্পিউটারের নেটওয়ার্ক সেটিংস-এ একটি DNS সার্ভারের আই.পি এ্যাড্রেস লিখে দিতে হয়, যে সার্ভারটি ব্যাকগ্রাউন্ডে থেকে সমস্ত DNS অপারেশন সম্পন্ন করে।
DNS হলো বর্তমান ইন্টারনেটের একটি অতীব গুরুত্বপূর্ণ ও জটিল সার্ভিস যা ছাড়া ইন্টারনেট প্রায় অচল। ডোমেইন নেম রিসল্ভ করা ছাড়াও DNS সার্ভারের মাধ্যমে আরো কিছু কাজ করা হয়। যেমনঃ কোন একটি সার্ভিস প্রোভাইডারের নেটওয়ার্ক ডিজাইন, ক্লাষ্টারিং, লোড ব্যালান্সিং সহ আরো বিভিন্ন কাজে DNS ব্যবহৃত হয়।
এতক্ষন আমরা আলোচনা করলাম DNS কি, এখন আমরা দেখবো DNS কিভাবে কাজ করে। এজন্য DNS সংক্রান্ত বেশ কিছু Terms সম্পর্কে আমাদের আগে থেকেই পরিষ্কার ধারণা থাকা আবশ্যক।
একটি ওয়েব এ্যাড্রেস সাধারণত তিনটি অংশে বিভক্ত। যেমনঃ www.example.com। এই তিনটি অংশ নিজেদের মধ্যে ডট (.) দিয়ে পৃথক থাকে। সবচেয়ে ডানের অংশটিকে (com) বলা হয় Top Level Domain (TLD) । TLD এর বামে যে অংশটি (example) থাকে তাকে বলা হয় Domain Name । আর সবচেয়ে বামে যে অংশটি (www) থাকে তাকে বলা হয় Hostname । অর্থাৎ একটি সম্পূর্ণ ওয়েব এ্যাড্রেস (www.example.com) এই তিনটি অংশ তথা Hostname, Domain Name ও TLD নিয়ে গঠিত। এই সম্পূর্ন ওয়েব এ্যাড্রেসটিকে আবার Fully Qualified Domain Name (FQDN) ও বলা হয়ে থাকে।
এখন আমরা এই FQDN এর অংশগুলো সম্পর্কে সংক্ষেপে জানবো।
Top Level Domain (TLD): আমরা আগেই জেনেছি TLD হলো একটি FQDN এর সবচেয়ে ডানের অংশ। যেমন: .com । ইন্টারনেটে এরকম আরো অনেক TLD রয়েছে। যেমন: .org, .net, .gov, .mil, .tv ইত্যাদি। এছাড়া বিভিন্ন দেশের জন্য তাদের নিজস্ব কিছু TLD রয়েছে। যেমন: .au (অস্ট্রেলিয়া), .us (আমেরিকা), .bd (বাংলাদেশ) ইত্যাদি। এগুলোকে বলা হয় Country Code Top Level Domain (ccTLD) যা প্রতিটি দেশের জন্য আলাদাভাবে সংরক্ষিত। সমস্ত TLD সমূহের ব্যবস্থপনা Root Zone এর মাধ্যমে সম্পন্ন হয়ে থাকে।
Domain Name: একটি Domain Name হলো একটি স্বতন্ত্র নাম যা একটি নির্দিষ্ট TLD এর অধীনে রেজিষ্টার্ড হয়ে থকে। যেমন: facebook.com । এখানে facebook নামক ডোমেইনটি .com নামক TLD এর অধীনে রেজিষ্টার্ড করা আছে। কোন একটি TLD এর অধীনে রেজিষ্ট্রিকৃত Domain এর রিসোর্স রেকর্ডসমূহ একটি নির্দিষ্ট Authoritative Name Server এর মাধ্যমে মেইনটেইন করা হয়ে থাকে।
Hostname: Hostname হলো একটি FQDN এর সবচেয়ে বামের অংশ। Hostname হলো কোন একটি ডোমেইনের অধীনে অবস্থিত একটি সার্ভারের নাম। যেমন: www.google.com, mail.google.com, drive.google.com ইত্যাদি। এখানে www, mail, drive হলো এক একটি আলাদা সার্ভার যাতে আলাদা সার্ভিস চলমান থাকে।
Root Zone and Root Server: Root Zone হলো ইন্টারনেটের DNS Hierarchical Name Space এর মূল। Root Zone এর মাধ্যমে ইন্টারনেটের সকল TLD সমূহ নিয়ন্ত্রন করা হয়। এই Root Zone কে ইন্টারনেটে তেরটি (১৩) Root Server এর মাধ্যমে হোষ্ট করা হয়েছে। এই তেরটি Root Server হলো A.ROOT-SERVER.NET, B.ROOT-SERVER.NET, C.ROOT-SERVER.NET……………… এভাবে M.ROOT-SERVER.NET পর্যন্ত।
প্রতিটি Root Server আবার একটি ফিজিক্যাল মেশিনের মধ্যে সীমাবদ্ধ নয়। কাজের সুবিধার জন্য একেকটি Root Server এর বিভিন্ন Instance সমূহকে বিভিন্ন লোকেশনে রাখা হয়েছে। বিভিন্ন লোকেশনে ছড়িয়ে থাকা Instance সমূহ ক্লাষ্টারিং এর মাধ্যমে পরষ্পর সংযুক্ত যা Fault Tolerance ও Redundancy সুবিদা প্রদান করে। এই Root Server সমূহ হলো ইন্টারনেটে DNS রিসল্ভের প্রথম ধাপ। DNS রিসল্ভের সময় একটি লোকাল/আই.এস.পি এর DNS সার্ভার এই তেরটি Root Server এর যেকোন একটির কাছে Query পাঠায়। লোকাল/আই.এস.পি এর DNS সার্ভারে এই তেরটি Root Server এর FQDN ও IP Address লিপিবদ্ধ থাকে। আমরা নিচের লিংক থেকে এই Root Server সমূহের বিস্তারিত দেখে নিতে পারি।
http://www.internic.net/domain/named.root
একটি Root Server কিন্তু কোন ওয়েব এ্যাড্রেসের আই.পি রিসল্ভ করে না। Root Server লোকাল/আই.এস.পি এর DNS সার্ভার থেকে প্রাপ্ত Query এর Domain Name ও TLD এর উপর ভিত্তি করে সংশ্লিষ্ট Authoritative Name Server এর আই.পি টি কে লোকাল/আই.এস.পি এর DNS সার্ভারের কাছে পাঠায়। অতঃপর লোকাল/আই.এস.পি এর DNS সার্ভার উক্ত Authoritative Name Server এর কাছে DNS Query পাঠায়।
Authoritative Name Server: DNS অপারেশনের ক্ষেত্রে Authoritative Name Server হলো এমন একটি সার্ভার যা কোন একটি ডোমেইনের রিসোর্স রেকর্ডসমূহ সংরক্ষন করে। রিসোর্স রেকর্ড সমূহ হলো একটি DNS Query এর উত্তর যা Authoritative Name Server এর Zone File এর মধ্যে উল্লেখ থাকে। এই Authoritative Name Server ই নির্দিষ্ট FQDN এর বিপরীতে নির্দিষ্ট আই.পি এ্যাড্রেসটি ক্লায়েন্ট কম্পিউটারকে প্রদান করে।
শুরুতেই জেনে নিই, DNS সার্ভার কি এবং কেন দরকার। আমাদের ইন্টারনেট ব্যবহারকালীন সময়ের অধিকাংশ ক্ষেত্রেই আমরা কোন না কোন ওয়েবসাইট ব্রাউজ করে থাকি। যখন আমরা আমাদের বাসায় বা অফিসে বসে একটি ওয়েব পেজের জন্য কোন ওয়েব সার্ভারের নিকট রিকোয়েষ্ট পাঠাই তখন ঐ ওয়েব সার্ভার সেই কাঙ্খিত ওয়েব পেজটি আমাদের ব্রাউজারে সরবরাহ করে। আমাদের কম্পিউটার ও ওয়েব সার্ভারের মধ্যে যে যোগাযোগ সংঘটিত হয় তার মূলে হলো নিজ নিজ প্রান্তের আই.পি এ্যাড্রেস। এই আই.পি এ্যাড্রেস হলো ইন্টারনেটের সাথে সংযুক্ত প্রতিটি নেটওয়ার্ক হোষ্টের একটি স্বতন্ত্র নাম। কিন্তু আমরা ৯৯.৯৯% বা তার বেশিরভাগ ক্ষেত্রেই ব্রাউজারে আই.পি এ্যাড্রেস লিখে ইন্টারনেট ব্রাউজ করি না। যদি করি তাতে কোন সমস্যা নেই, সমস্যা অন্য জায়গায় আর সে সমস্যাটি হলো আমরা ঠিক কতগুলো ওয়েব সাইটের আই.পি এ্যাড্রেস মনে রাখবো? আর আই.পি এ্যাড্রেস মনে রাখার ক্ষেত্রে মানুষ হিসেবে আমাদের স্মরণশক্তিই বা কতটা বেশি? আমরা প্রতিদিন অসংখ্য ওয়েব সাইট ব্রাউজ করি, আর এই সব ওয়েব সাইটের আই.পি এ্যাড্রেস মনের রাখার মতো কাজ আমাদের ক’জনকে দিয়েই সম্ভব? প্রকৃতপক্ষে এই উদ্ভট সমস্যা থেকে আমাদের মুক্তি দেয়ার জন্য ইন্টারনেটে DNS সার্ভারের আবির্ভাব হয়েছে। এই DNS সার্ভার প্রদত্ত সুবিধার কারণেই কষ্ট করে আমাদেরকে শত শত ওয়েব সাইটের আই.পি এ্যাড্রেস কাগজে লিখে রেখে সাথে নিয়ে ঘুরতে হয় না। এর বদলে আমরা শুধু মনে রাখি www.googgle.com, www.yahoo.com, www.facebook.com সহ প্রয়োজনীয় সকল ওয়েব সাইটের নাম (ডোমেইন নেম), যা আমাদের জন্য অপেক্ষাকৃত অনেক সহজ।
আসলে DNS সার্ভার হলো এমন একটি সার্ভার যা ব্রাউজারে লিখে দেওয়া কোন একটি ডোমেইন নেমকে তার সংশ্লিষ্ট আই.পি এ্যাড্রেসে রূপান্তর করে সঠিক সার্ভারের কাছে রিকোয়েষ্ট পাঠায়। এজন্য আমাদেরকে কম্পিউটারের নেটওয়ার্ক সেটিংস-এ একটি DNS সার্ভারের আই.পি এ্যাড্রেস লিখে দিতে হয়, যে সার্ভারটি ব্যাকগ্রাউন্ডে থেকে সমস্ত DNS অপারেশন সম্পন্ন করে।
DNS হলো বর্তমান ইন্টারনেটের একটি অতীব গুরুত্বপূর্ণ ও জটিল সার্ভিস যা ছাড়া ইন্টারনেট প্রায় অচল। ডোমেইন নেম রিসল্ভ করা ছাড়াও DNS সার্ভারের মাধ্যমে আরো কিছু কাজ করা হয়। যেমনঃ কোন একটি সার্ভিস প্রোভাইডারের নেটওয়ার্ক ডিজাইন, ক্লাষ্টারিং, লোড ব্যালান্সিং সহ আরো বিভিন্ন কাজে DNS ব্যবহৃত হয়।
এতক্ষন আমরা আলোচনা করলাম DNS কি, এখন আমরা দেখবো DNS কিভাবে কাজ করে। এজন্য DNS সংক্রান্ত বেশ কিছু Terms সম্পর্কে আমাদের আগে থেকেই পরিষ্কার ধারণা থাকা আবশ্যক।
একটি ওয়েব এ্যাড্রেস সাধারণত তিনটি অংশে বিভক্ত। যেমনঃ www.example.com। এই তিনটি অংশ নিজেদের মধ্যে ডট (.) দিয়ে পৃথক থাকে। সবচেয়ে ডানের অংশটিকে (com) বলা হয় Top Level Domain (TLD) । TLD এর বামে যে অংশটি (example) থাকে তাকে বলা হয় Domain Name । আর সবচেয়ে বামে যে অংশটি (www) থাকে তাকে বলা হয় Hostname । অর্থাৎ একটি সম্পূর্ণ ওয়েব এ্যাড্রেস (www.example.com) এই তিনটি অংশ তথা Hostname, Domain Name ও TLD নিয়ে গঠিত। এই সম্পূর্ন ওয়েব এ্যাড্রেসটিকে আবার Fully Qualified Domain Name (FQDN) ও বলা হয়ে থাকে।
এখন আমরা এই FQDN এর অংশগুলো সম্পর্কে সংক্ষেপে জানবো।
Top Level Domain (TLD): আমরা আগেই জেনেছি TLD হলো একটি FQDN এর সবচেয়ে ডানের অংশ। যেমন: .com । ইন্টারনেটে এরকম আরো অনেক TLD রয়েছে। যেমন: .org, .net, .gov, .mil, .tv ইত্যাদি। এছাড়া বিভিন্ন দেশের জন্য তাদের নিজস্ব কিছু TLD রয়েছে। যেমন: .au (অস্ট্রেলিয়া), .us (আমেরিকা), .bd (বাংলাদেশ) ইত্যাদি। এগুলোকে বলা হয় Country Code Top Level Domain (ccTLD) যা প্রতিটি দেশের জন্য আলাদাভাবে সংরক্ষিত। সমস্ত TLD সমূহের ব্যবস্থপনা Root Zone এর মাধ্যমে সম্পন্ন হয়ে থাকে।
Domain Name: একটি Domain Name হলো একটি স্বতন্ত্র নাম যা একটি নির্দিষ্ট TLD এর অধীনে রেজিষ্টার্ড হয়ে থকে। যেমন: facebook.com । এখানে facebook নামক ডোমেইনটি .com নামক TLD এর অধীনে রেজিষ্টার্ড করা আছে। কোন একটি TLD এর অধীনে রেজিষ্ট্রিকৃত Domain এর রিসোর্স রেকর্ডসমূহ একটি নির্দিষ্ট Authoritative Name Server এর মাধ্যমে মেইনটেইন করা হয়ে থাকে।
Hostname: Hostname হলো একটি FQDN এর সবচেয়ে বামের অংশ। Hostname হলো কোন একটি ডোমেইনের অধীনে অবস্থিত একটি সার্ভারের নাম। যেমন: www.google.com, mail.google.com, drive.google.com ইত্যাদি। এখানে www, mail, drive হলো এক একটি আলাদা সার্ভার যাতে আলাদা সার্ভিস চলমান থাকে।
Root Zone and Root Server: Root Zone হলো ইন্টারনেটের DNS Hierarchical Name Space এর মূল। Root Zone এর মাধ্যমে ইন্টারনেটের সকল TLD সমূহ নিয়ন্ত্রন করা হয়। এই Root Zone কে ইন্টারনেটে তেরটি (১৩) Root Server এর মাধ্যমে হোষ্ট করা হয়েছে। এই তেরটি Root Server হলো A.ROOT-SERVER.NET, B.ROOT-SERVER.NET, C.ROOT-SERVER.NET……………… এভাবে M.ROOT-SERVER.NET পর্যন্ত।
প্রতিটি Root Server আবার একটি ফিজিক্যাল মেশিনের মধ্যে সীমাবদ্ধ নয়। কাজের সুবিধার জন্য একেকটি Root Server এর বিভিন্ন Instance সমূহকে বিভিন্ন লোকেশনে রাখা হয়েছে। বিভিন্ন লোকেশনে ছড়িয়ে থাকা Instance সমূহ ক্লাষ্টারিং এর মাধ্যমে পরষ্পর সংযুক্ত যা Fault Tolerance ও Redundancy সুবিদা প্রদান করে। এই Root Server সমূহ হলো ইন্টারনেটে DNS রিসল্ভের প্রথম ধাপ। DNS রিসল্ভের সময় একটি লোকাল/আই.এস.পি এর DNS সার্ভার এই তেরটি Root Server এর যেকোন একটির কাছে Query পাঠায়। লোকাল/আই.এস.পি এর DNS সার্ভারে এই তেরটি Root Server এর FQDN ও IP Address লিপিবদ্ধ থাকে। আমরা নিচের লিংক থেকে এই Root Server সমূহের বিস্তারিত দেখে নিতে পারি।
http://www.internic.net/domain/named.root
একটি Root Server কিন্তু কোন ওয়েব এ্যাড্রেসের আই.পি রিসল্ভ করে না। Root Server লোকাল/আই.এস.পি এর DNS সার্ভার থেকে প্রাপ্ত Query এর Domain Name ও TLD এর উপর ভিত্তি করে সংশ্লিষ্ট Authoritative Name Server এর আই.পি টি কে লোকাল/আই.এস.পি এর DNS সার্ভারের কাছে পাঠায়। অতঃপর লোকাল/আই.এস.পি এর DNS সার্ভার উক্ত Authoritative Name Server এর কাছে DNS Query পাঠায়।
Authoritative Name Server: DNS অপারেশনের ক্ষেত্রে Authoritative Name Server হলো এমন একটি সার্ভার যা কোন একটি ডোমেইনের রিসোর্স রেকর্ডসমূহ সংরক্ষন করে। রিসোর্স রেকর্ড সমূহ হলো একটি DNS Query এর উত্তর যা Authoritative Name Server এর Zone File এর মধ্যে উল্লেখ থাকে। এই Authoritative Name Server ই নির্দিষ্ট FQDN এর বিপরীতে নির্দিষ্ট আই.পি এ্যাড্রেসটি ক্লায়েন্ট কম্পিউটারকে প্রদান করে।
December 07, 2017

No comments:
Post a Comment