আজ সন্ধ্যায় রুমে এসে দেখি ফোরাম আসছে না। অন্য একজনকে বল্লাম চেক করতে সেও বলে যে আসছে না s) আবার আর একজন বলে আসতেছে -? । পরে ব্যাপারটা বুঝলাম ডিএনএস(DNS=Domain Name Server) ক্যাসিং সমস্যা। জিনিস কি বা DNS কি এটা নিয়ে সাধারন কিছু আলোচনা করতে চাই আর কিভাবে ডোমেইন ক্যাসিং সমস্যা থেক পরিত্রান পাওয়া যায় তা নিয়ে কিছু বয়ান করার চেস্টা করি। ভুল ত্রুটি হলে ধরিয়ে দেওয়ার অনুরোধ। ডিএনএস, নেম ডাটাবেজ, আইপি প্রতিটি নিয়ে অনেক কিছু বলা যায় কিন্তু আমি শুধু পার্টিকুলার কিছু জিনিস বলবো।
নেম সার্ভার বা ডিএনএস সার্ভারঃ
আমরা যখন ব্রাউজার লিখি google.com এবং এক খানা এন্টার চাপ দিয়ে দিই আর গুগলের সার্চ পেজ চলে আসে কিন্তু ব্যাকগ্রাউন্ডে অনেক কিছু ঘটে যায়। যাক সব কিছু আলোচনার বিষয় না। যা হয় ব্যাপারটা তা হলো এই রকম যে আমাদের যারা ইন্টারনেট দেয়(আইএসপি বা ইন্টারনেট সার্ভিস প্রোভাইডার বা আরো সহজ করে ইন্টারনেট কানেকশন না থাকলে যাদের আগে গালি দেয়) তাদের এক বা একাধিক নেম সার্ভার বা ডিএনএস সার্ভার থাকে যে সকল কম্পিউটারে ডাটাবেজে এই গুগল.কম কে গুগলের আইপি এড্রেসে পরিবর্তন করে দিতে সাহায্য করে। মোদ্দা কথা হলো আমরা লিখি গুগল ডট কম কিন্তু কিছু ব্রাউজার কিছুক্ষন পরে বুঝতে পারে একটা আইপি। এটাকেই নেম ট্রানশ্লেশন বলে। যদি ধরেন আইএসপির সার্ভার বেশি বিজি থাকে তাহলে কিন্তু আপনার ব্রাউজার এই আইপি এড্রেস নাও পেতে পারে। আর এক্ষেত্রেও আপনি পেক নয় ফাউন্ড বা এই ধরনের মেসেজ পেতে পারেন। দেখা যায় বার বার ট্রাই করার পর সাইট চলে আসে।
ডিএনএস ক্যাশিং কিঃ
এই যে আমরা গুগল ডট কম লিখে এন্টার দেয় আর সাইট চলে আসে, এর মাঝে অনেক কিছু সাথে নেম ট আইপি ট্রানশ্লেশন হয়ে যাচ্ছে, এটা যেন বার বার না করতে হয় সেই জন্য অপারেটিং সিস্টেম আইপি এড্রেসগুলো সাইট নেমের বিপরীতে ক্যাশ করে রাখে। এই ক্যাশিং টাইম ২৪ ঘন্টার মতো। তবে অপারেটিং সিস্টেম ভেদে ব্যাপারটা ভিন্ন ভিন্ন হতে পারে। আমি উইন্ডোজকে টার্গেট করে লিখছি।
ডিএন এস ক্যাশিং এর সমস্যাঃ
ধরুন আপনি কোন সাইট ওপেন করার চেস্টা করলে কিন্তু আসলো না। এক্ষেত্রে ঘটনা অনেক রকম হতে পারে। যেমন ক্যাশেতে যে আইপি এড্রেস ছিলো তা এখন পরিবর্তন হয়ে গেছে(এটার সম্ভাবনা খুব কম তবে হতে পারে) । অন্য কারন হতে পারে হোস্টিং সার্ভার ডাউন বা ঐ সাইটে হেবি ট্রাফিক বা ডিএনএস সার্ভার বেশি বিজি যে আপনাকে সার্ভ করতে পারলো না অথবা নেট কানেকশনের সমস্যা। এখন পজিটিভ রেসপন্স মানে নেম থেকে আইপিতে পরিবর্তন করে যেমন ক্যাশেতে রাখে তেমন নেগেটিভ রেসপন্সও ক্যাশেতে জমা হয়। এই ডাটা ডিএনএস ক্যাশেতে থাকে ৩০০ সে বা ৫ মিনিট। এই পাঁচ মিনিট ঐ পিসিতে সাইট আসার সম্ভাবনা কম। নেগেটিভ রেসপন্সও অনেক কারনে হতে পারে তা আর আলোচনা নাই করলাম।
আপাতত এই টুকু বুঝা যাচ্ছে যে এই ক্যাশিং যেমন সুবিধা দেয় মানে বার বার নেম ট্রানশ্লেশন করতে হয় তেমন আবার অসবুধাও আছে যেমন আজকে আমার অনেক একটা দুইটা সাইট আসছিলো না।
কিভাবে এই সমস্যা দূর করবেন?
হুম আমি অন্তত উইন্ডোজের জন্য বলতে পারবো কারন আমি একটু আগে এটা ঠিক করলাম। উইন্ডোজে একটা কমান্ড আছে যা দিয়ে আপনি নিমিষেই ডিএনএস ক্যাশ ক্লিয়ার করে দিতে পারেন।
রান থেকে লিখুনঃ ipconfig /flushdns
ধরুন যদি দেখতে চান ক্যাশেতে এই মুহূর্তে কি আছে তা দেখতে তাহলে নিচের কমান্ড চালানঃ
ipconfig /displaydns
ডিএনএস ক্যাশিং সার্ভিস বন্ধ করতে লিখুনঃ
net stop dnscache অথবা ফরম্যাট এই রকমঃ sc servername stop dnscache
উইন্ডোজে রেজিস্ট্রি এডিট করেও এটা করা যায় তবে যারা আমার মতো বিপদের কথা মাথায় রেখে অবশ্যই রেজিস্ট্রি ব্যাকআপ রেখে দেবেন। কিভাবে রেজিস্ট্রি ব্যাকআপ ও রিস্টোর করতে হবে তা এখানে আছে।
রেজিস্ট্রি এডিট করে ডিএনএস ক্যাশিং টাইম নিয়ন্ত্রনঃ
রেজিস্ট্রি সম্পাদনা করে নেম টু আইপি ট্রানশ্লেশন এর নেগেটিভ বা পজিটিভ রেসপন্স ক্যাশেতে রাখার সময়(TTL বা টাইম টু লিভ) নিয়ন্ত্রন করা যায়। এখন দেখি কিভাবে তা করবো। আগেই বলে রেখেছি রেজিস্ট্রিতে আচঁড় দেওয়ার আগে ব্যাকআপ রাখতে ভুলবেন না অথবা যদি বিশেষ দরকারী কাজ পিসিতে হয় তাহলে এই গেমে অংশ নেবেন না।
পজেটিভ রেসপন্স সেইভ থাকেঃ MaxCacheTtl কি ভ্যালুতে
নেগেটিভ ” ” থাকেঃ MaxNegativeCacheTtl কি ভ্যালুতে
যদি রান থেকে regedit লিখে এই লোকেশানে যান এবং
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
এখন দুইটি নতুন ভ্যালু সেট করতে হবে।
Parameters সিলেক্ট থাকা অবস্থায়-
On the Edit menu, point to New , click DWORD Value, and then add the following registry values:
Value name: MaxCacheTtl
Data type: REG_DWORD
Default value: 86400 seconds
Value data: If you lower the Maximum TTL value in the client’s DNS cache to 1 second, this gives the appearance that the client-side DNS cache has been disabled.
Value name: MaxNegativeCacheTtl
Data type: REG_DWORD
Default: 900 seconds
Value data: Set the value to 0 if you do not want negative responses to be cached.
উল্লেখ্য যে,
The default TTL for positive responses is 86,400 seconds (1 day).
এবং
The default TTL for negative responses is 900 seconds (15 minutes).
তাই যা যেভাবে সুবিধা হয় ভ্যালু সেট করে নেবেন।
বহিঃসংযোগঃ
মাইক্রসফট এর সাপোর্ট সাইট থেকে
কম্পিউটার এডুকেশন সাইট
এবং গুগল কাকু।
বানান ভুল ছাড়া টেকনিল্যাক কোন ভুল পেলে সুধরে দিতে ভুলবেন না।
ধন্যবাদ