OSPF DR ও BDR: নির্বাচনটি ইন্টারফেসের
একটি রাউটার তার LAN-এ মনোনীত আর টানেলে সাধারণ হতে পারে। প্রতি সেগমেন্টে ভূমিকা পড়ুন, তারপর দেখুন টানেলটি মডেলের যা প্রয়োজন তা পৌঁছে দিতে পারে কি না।
OSPF-এর ভূমিকা চেসিসে নয়, ইন্টারফেসে যুক্ত থাকে। একই ডিভাইস তার LAN সেগমেন্টে মনোনীত রাউটার আর টানেলে কিছুই বিশেষ নয় হতে পারে, এবং এই দুটি তথ্য পরস্পরবিরোধী নয়। ভুল ইন্টারফেস থেকে ভূমিকা পড়াই হলো সবচেয়ে সাধারণ কারণ যার জন্য একটি হাব ভুল কনফিগার করা মনে হয়, অথচ সেটি ঠিক যেমন ডিজাইন করা হয়েছে তেমনই কাজ করছে।
যে তুলনাটি গুরুত্বপূর্ণ তা হলো একই সেগমেন্টের ভূমিকা ও রাউটার জুড়ে ভূমিকার মধ্যে, এবং ব্যাকআপ কী করে আর কী করে না তার মধ্যে।
প্রতি সেগমেন্টে একটি নির্বাচন
RFC 2328 প্রতিটি ব্রডকাস্ট বা NBMA নেটওয়ার্কের জন্য একটি মনোনীত রাউটার ও একটি ব্যাকআপ মনোনীত রাউটার নির্বাচন করে, রাউটারের জন্য নয় এবং এরিয়ার জন্য নয়। এ ধরনের নেটওয়ার্কে অংশগ্রহণকারী প্রতিটি ইন্টারফেস নিজের প্রায়োরিটি ও নিজের প্রতিবেশী সেট নিয়ে নিজের নির্বাচন চালায়। তিনটি এমন ইন্টারফেসযুক্ত একটি চেসিস একসাথে তিনটি ভিন্ন ভূমিকা ধারণ করতে পারে, তাই সেগমেন্টের নাম না বলা পর্যন্ত হাবটিই DR বলা অসম্পূর্ণ। ভূমিকাটি ওই ইন্টারফেসের নিজের প্রতিবেশী আউটপুট থেকে পড়ুন।
একই এরিয়ার দুটি ইন্টারফেসও দুটি নির্বাচন। এরিয়া সদস্যপদ তাদের এক করে না।
ব্যাকআপ অপেক্ষা করার সময় কী করছে
ব্যাকআপ মনোনীত রাউটার তার সেগমেন্টের রাউটারগুলোর সাথে সম্পূর্ণ সংলগ্ন থাকে এবং নিজের ডেটাবেস সিঙ্ক্রোনাইজ রাখে যাতে নতুন সংলগ্নতা তৈরি না করেই দায়িত্ব নিতে পারে। ব্যাকআপ হিসেবে কাজ করার সময় এটি যা করে না তা হলো ওই নেটওয়ার্কের network-LSA তৈরি করা, কারণ সেটি মনোনীত রাউটারের অধীন। কিছু ধাপে এর ফ্লাডিং ভূমিকা মনোনীত রাউটারের চেয়ে সংকীর্ণ, যা নীরব বা নিষ্ক্রিয় থাকার সমান নয়। পদোন্নতির আগে পর্যন্ত ব্যাকআপকে কিছুই না করা রাউটার হিসেবে দেখা খুব আত্মবিশ্বাসী এবং খুব ভুল ব্যাখ্যা তৈরি করে।
উপকারী প্রশ্নটি ব্যাকআপ কী করা থেকে বিরত থাকে তা নয়, বরং সেগমেন্টটি মডেলের প্রয়োজনীয় OSPF প্যাকেট পৌঁছে দিতে পারে কি না। কোনো অংশগ্রহণকারী অন্যদের সাথে সেগুলো বিনিময় করতে না পারলে নির্বাচনের ফলাফল কারণ নয়, নাগালের উপসর্গ।
টানেল আসলে কোন মডেল ব্যবহার করে
ব্রডকাস্ট ও NBMA নেটওয়ার্ক নির্বাচন করে; পয়েন্ট-টু-পয়েন্ট ও পয়েন্ট-টু-মাল্টিপয়েন্ট নেটওয়ার্ক করে না, কারণ নির্বাচনের জন্য কোনো শেয়ার্ড সেগমেন্ট নেই। হাব-অ্যান্ড-স্পোক ওভারলেতে কার্যকর মডেল নির্ভর করে টানেল ইন্টারফেস কীভাবে কনফিগার করা হয়েছে তার উপর, তাই কোনো ভূমিকা ব্যাখ্যা করার আগে সেটি পড়ুন। ব্রডকাস্ট সেগমেন্টের মতো আচরণ করা টানেল আর পয়েন্ট-টু-পয়েন্ট লিংকের সেটের মতো আচরণ করা টানেল সম্পূর্ণ ভিন্ন প্রতিবেশী আচরণ তৈরি করে।
ডিজাইন যদি চায় হাবটিই মনোনীত ভূমিকা ধারণ করুক, তবে মডেল ও নাগালকে একসাথে সেটি সমর্থন করতে হবে। যে হাব প্রতিটি অংশগ্রহণকারীর সাথে প্রয়োজনীয় প্যাকেট বিনিময় করতে পারে না, সে কেবল প্রায়োরিটি বেশি বলে উপকারী মনোনীত রাউটার হয়ে উঠবে না। আগে প্রতিবেশী অবস্থা ও অন্তর্নিহিত ডেলিভারি যাচাই করুন, তারপর সিদ্ধান্ত নিন ভূমিকাটি ভুল, নাকি কেবল অপ্রত্যাশিত।
যোগ্যতা ইন্টারফেসভিত্তিক, আর প্রি-এমপশন স্বয়ংক্রিয় নয়
প্রায়োরিটি প্রতি ইন্টারফেসে সেট হয়, আর শূন্য প্রায়োরিটি ওই ইন্টারফেসকে দুই নির্বাচন থেকেই বাদ দেয়। যোগ্য অংশগ্রহণকারীদের মধ্যে বিজয়ী নির্ধারিত হয় প্রায়োরিটি দিয়ে এবং তারপর রাউটার ID দিয়ে, কিন্তু বেশি প্রায়োরিটিযুক্ত নতুন আগত রাউটার বিদ্যমান মনোনীত রাউটারকে সরিয়ে দেয় না। এই প্রি-এমপশনহীনতা ইচ্ছাকৃত, এবং যারা ভাবেন সর্বোচ্চ প্রায়োরিটি সঙ্গে সঙ্গে জিতবে তারা অবাক হন। নির্দিষ্ট কোনো রাউটারকে ভূমিকা ধারণ করতে হলে ঘটনার ক্রম পরিকল্পনা করুন, কনফিগারেশন পরিবর্তন নিজে থেকেই কার্যকর হবে ধরে নেবেন না।
অন্য কোনো যোগ্য অংশগ্রহণকারী না দিয়ে প্রতিটি স্পোক বাদ দিলে এও বোঝায় যে কোনো ব্যাকআপই নাও থাকতে পারে।
দুটি ব্যাখ্যা সৎভাবে তুলনা করুন: ভুল সেগমেন্ট থেকে পড়া ভূমিকা, নাকি এমন সেগমেন্ট যার সদস্যরা একে অপরকে নাগাল পায় না। প্রথমটি ডিজাইনের প্রশ্ন আর দ্বিতীয়টি ডেলিভারির প্রশ্ন, এবং প্রায়োরিটি সম্পাদনা করে এদের মধ্যে কেবল একটিই সারানো যায়।