DNS প্রোপাগেশন এবং ক্যাশিং প্রক্রিয়া
ডোমেন নেম সিস্টেম (DNS) ইন্টারনেটের ফোনবুক হিসেবে কাজ করে, যা মানুষের পঠনযোগ্য ডোমেন নামগুলোকে আইপি (IP) অ্যাড্রেসে রূপান্তর করে। যখন একটি ডোমেনের DNS রেকর্ডে কোনো পরিবর্তন করা হয়, তখন সেই পরিবর্তনটি বিশ্বব্যাপী সমস্ত DNS রিসলভার বা সার্ভারে তাৎক্ষণিকভাবে পৌঁছায় না। এই প্রক্রিয়াটিকে DNS প্রোপাগেশন বলা হয়।
DNS প্রোপাগেশনের সময়কাল এবং কার্যকারিতা মূলত ক্যাশিং প্রক্রিয়ার ওপর নির্ভর করে। প্রতিটি DNS রেকর্ডের সাথে একটি নির্দিষ্ট সময় যুক্ত থাকে, যাকে TTL বা Time To Live বলা হয়। রিসলভারগুলো এই TTL সময়সীমা পর্যন্ত রেকর্ডটি নিজেদের মেমরিতে বা ক্যাশে জমা রাখে। ফলে, একই ডোমেনের জন্য বারবার মূল সার্ভারে কোয়েরি পাঠানোর প্রয়োজন হয় না। তবে এর অসুবিধা হলো, মূল সার্ভারে রেকর্ড পরিবর্তন করা হলেও রিসলভারগুলো তাদের ক্যাশ খালি না হওয়া পর্যন্ত পুরোনো তথ্যই দেখাতে থাকে।
DNS রেকর্ডের গঠন এবং সাধারণ রেকর্ড টাইপসমূহ
একটি স্ট্যান্ডার্ড DNS রেকর্ড নির্দিষ্ট কিছু উপাদানের সমন্বয়ে গঠিত হয়। এই উপাদানগুলো সঠিকভাবে বুঝতে পারলে DNS কনফিগারেশন এবং ত্রুটি নির্ণয় করা সহজ হয়। একটি আদর্শ dig উত্তর লাইনের গঠন নিচে দেওয়া হলো:
নাম TTL IN টাইপ মান (যেমন: example.com. 300 IN A 192.0.2.1)
এখানে প্রতিটি অংশের কাজ নিম্নরূপ:
- নাম (Name): এটি ডোমেন বা সাবডোমেনের নাম নির্দেশ করে (যেমন:
example.com.)। - TTL (Time To Live): সেকেন্ডের এককে প্রকাশিত সময়, যা নির্দেশ করে রিসলভারগুলো কতক্ষণ এই রেকর্ডটি ক্যাশে রাখবে (যেমন:
300)। - IN (Class): এটি ইন্টারনেট ক্লাস নির্দেশ করে।
- টাইপ (Type): এটি DNS রেকর্ডের ধরণ নির্ধারণ করে (যেমন: A, MX)।
- মান (Value): রেকর্ডের মূল তথ্য বা গন্তব্য (যেমন আইপি অ্যাড্রেস
192.0.2.1)।
ওয়েবসাইট এবং অ্যাপ্লিকেশনের প্রাপ্যতা নিশ্চিত করতে বিভিন্ন ধরণের DNS রেকর্ড ব্যবহার করা হয়। এর মধ্যে সবচেয়ে সাধারণ রেকর্ড টাইপগুলো হলো:
- A রেকর্ড: ডোমেন নামকে IPv4 অ্যাড্রেসের সাথে সংযুক্ত করে।
- AAAA রেকর্ড: ডোমেন নামকে IPv6 অ্যাড্রেসের সাথে সংযুক্ত করে।
- CNAME রেকর্ড: একটি ডোমেন নামকে অন্য একটি ডোমেন নামের সাথে রিডাইরেক্ট করে।
- MX রেকর্ড: ডোমেনের ইমেল ট্রাফিককে সঠিক মেল সার্ভারে নির্দেশ করে।
- TXT রেকর্ড: বিভিন্ন যাচাইকরণ এবং নিরাপত্তার জন্য টেক্সট তথ্য ধারণ করে।
DNS প্রোপাগেশন চেকার টুলের ইনপুট এবং ব্যবহারের নিয়ম
এই টুলটি ব্যবহার করে আপনি একাধিক রিসলভার থেকে প্রাপ্ত DNS উত্তরগুলো পাশাপাশি রেখে তুলনা করতে পারেন। এটি কোনো লাইভ DNS কোয়েরি পাঠায় না, বরং আপনার দেওয়া তথ্যের ওপর ভিত্তি করে তুলনা সম্পন্ন করে।
ইনপুট ফর্ম্যাট এবং সীমাবদ্ধতা
টুলটিতে ইনপুট দেওয়ার জন্য নির্দিষ্ট কিছু নিয়ম রয়েছে:
- রিজলভার
‹n›নাম: প্রতিটি রিসলভারের জন্য একটি পরিচিতিমূলক নাম। - রিজলভার
‹n›উত্তর: এখানে DNS উত্তর রেকর্ডগুলো পেস্ট করতে হবে।- স্ট্যান্ডার্ড dig উত্তর লাইন:
নাম TTL IN টাইপ মান(যেমন:example.com. 300 IN A 192.0.2.1)। - সংক্ষিপ্ত লাইন:
টাইপ TTL মান(যেমন:A 300 192.0.2.1)।
- স্ট্যান্ডার্ড dig উত্তর লাইন:
- সীমাবদ্ধতা: ইনপুটে থাকা মন্তব্য (Comments) এবং dig সেকশন হেডিংগুলো স্বয়ংক্রিয়ভাবে উপেক্ষা করা হয়। প্রতিটি রিসলভারের উত্তরের আকার অবশ্যই ১০০,০০০ অক্ষরের নিচে হতে হবে। তুলনা শুরু করার জন্য কমপক্ষে দুটি রিসলভারের উত্তর প্রদান করা আবশ্যক।
ইন্টারফেসের ত্রুটি বার্তা এবং সমাধান
ভুল ইনপুট বা নিয়ম লঙ্ঘন করলে টুলটি নির্দিষ্ট কিছু ত্রুটি বার্তা প্রদর্শন করে:
- যদি কোনো উত্তর পেস্ট না করে "উত্তর তুলনা করুন" বাটনে ক্লিক করা হয়, তবে কমপক্ষে দুইটি রিসলভার উত্তর পেস্ট করুন। বার্তাটি দেখাবে।
- যদি কেবল একটি রিসলভার প্যানেলে উত্তর পেস্ট করা হয়, তবে কমপক্ষে দুইটি রিসলভার প্যানেলে উত্তর পেস্ট করুন। ত্রুটিটি প্রদর্শিত হবে।
- যদি কোনো রিসলভারের ইনপুট ১০০,০০০ অক্ষরের বেশি হয়, তবে স্ক্রিনে রিসলভার
‹n›উত্তর অসাধারণভাবে বড়। এটি 100,000 অক্ষরের নিচে রাখুন। লেখাটি আসবে। - যদি কোনো লাইন সমর্থিত ফর্ম্যাটে না থাকে, তবে টুলটি দেখাবে: রিসলভার
‹n›, লাইন‹line›একটি সমর্থিত DNS রেকর্ড নয়। নাম ব্যবহার করুন TTL IN টাইপ মান, অথবা টাইপ TTL মান।।
"মুছে ফেলুন" বাটনে ক্লিক করলে সমস্ত রিসলভারের উত্তর মুছে যাবে, ফলাফল রিসেট হবে এবং ইনপুট ফোকাস আবার প্রথম উত্তর ফিল্ডে চলে যাবে।
তুলনা ফলাফলের ব্যাখ্যা
ইনপুট বিশ্লেষণ করার পর টুলটি "পাশে পাশে তুলনা" সেকশনে ফলাফল প্রদর্শন করে। ফলাফলের প্রতিটি রেকর্ডের পাশে নিচের স্ট্যাটাসগুলোর যেকোনো একটি দেখা যাবে:
| স্ট্যাটাস লেবেল | অর্থ ও ব্যাখ্যা |
|---|---|
| ঠিক মিল | রেকর্ড টাইপ, TTL এবং মান সবকটি রিসলভারের ক্ষেত্রে হুবহু এক। |
| TTL ভিন্ন | রেকর্ড টাইপ এবং মান একই, কিন্তু তাদের TTL মান আলাদা। |
| মান ভিন্ন | রেকর্ড টাইপ একই হলেও রিসলভারগুলোর মধ্যে মানের অমিল রয়েছে। |
| কোনো রেকর্ড নেই | অন্য রিসলভারে উপস্থিত একটি নির্দিষ্ট রেকর্ড টাইপ এই রিসলভারের উত্তরে অনুপস্থিত। |
তুলনা শেষে একটি সংক্ষিপ্ত সারাংশ প্রদর্শিত হয়, যেমন: ‹resolvers› রিসলভার নমুনার মধ্যে ‹types› রেকর্ড টাইপ তুলনা করা হয়েছে।।
স্থানীয় তুলনা বনাম বৈশ্বিক প্রোপাগেশন
এই টুলটি ব্যবহারের সময় মনে রাখা প্রয়োজন যে, এটি শুধুমাত্র আপনার দেওয়া নমুনার ওপর ভিত্তি করে তুলনা পরিচালনা করে। এটি সরাসরি কোনো DNS কোয়েরি পাঠায় না। ফলে, এখানে প্রাপ্ত ফলাফল বিশ্বব্যাপী DNS প্রোপাগেশন সম্পন্ন হয়েছে কিনা তা নিশ্চিত করে না। এটি কোনো অথরিটেটিভ নেমসার্ভারের নির্ভুলতা বা বিশ্বের যেকোনো প্রান্তের একজন নির্দিষ্ট ব্যবহারকারী ঠিক কী রেকর্ড পাবেন, তা প্রমাণ করতে পারে না। এটি মূলত সাইট মেইনটেইনার এবং ডেভেলপারদের জন্য একটি সহায়ক টুল, যারা ইতিমধ্যে বিভিন্ন রিসলভার থেকে প্রাপ্ত টেক্সট উত্তরগুলো ম্যানুয়ালি তুলনা করতে চান।
গোপনীয়তা এবং ডেটা প্রসেসিং
আপনার তথ্যের গোপনীয়তা আমাদের কাছে গুরুত্বপূর্ণ। এই টুলে আপনার পেস্ট করা সমস্ত DNS উত্তর সম্পূর্ণভাবে আপনার নিজস্ব ওয়েব ব্রাউজারে প্রসেস করা হয়। কোনো ডেটা বা তথ্য BroBroGo সার্ভারে আপলোড করা হয় না এবং কোথাও সংরক্ষণ করা হয় না।
সাধারণ জিজ্ঞাসা (FAQ)
কোন DNS ফলাফল ফর্ম্যাটগুলো আমি পেস্ট করতে পারি?
স্ট্যান্ডার্ড dig উত্তর লাইন যেমন “example.com. 300 IN A 192.0.2.1” বা সংক্ষিপ্ত লাইন যেমন “A 300 192.0.2.1” পেস্ট করুন। মন্তব্য এবং dig সেকশন হেডিংগুলো উপেক্ষা করা হবে।
TTL ভিন্ন মান কি DNS মান ভুল নির্দেশ করে?
প্রয়োজনীয় নয়। রিকার্সিভ রেজোলভারগুলি ক্যাশ করা TTL মান কমাতে থাকে এবং স্বল্পমেয়াদী ক্যাশ সীমা প্রয়োগ করতে পারে। ভিন্ন TTL সহ মেলানো মান সাধারণত ভিন্ন ক্যাশ বয়স দেখায়, ভিন্ন জোন ডেটা নয়।
এখানে মেল খাওয়া কি প্রমাণ করে যে DNS সর্বত্র প্রবাহিত হয়েছে?
না। তুলনাটি কেবল আপনি যে উত্তরগুলো পেস্ট করেছেন তা কভার করে। অন্যান্য পাবলিক, ISP, কোম্পানি এবং ডিভাইস ক্যাশ ভিন্ন ডেটা ফেরত দিতে পারে, এবং এই পৃষ্ঠা অথরিটেটিভ নেমসার্ভের সাথে যোগাযোগ করে না।