একই বক্সে দুটি রুট 198.51.100.77-এর দিকে ইশারা করেও ভিন্ন প্রশ্নের উত্তর দিতে পারে। একটি বলে MAC ঠিকানা কোথায় পৌঁছানো যায় এবং ঐচ্ছিকভাবে কোন IP তার সঙ্গে বাঁধা। অন্যটি এমন একটি প্রিফিক্স বর্ণনা করে যা নেক্সট হপের মাধ্যমে সমাধান হয়, এমনকি সেই প্রিফিক্স একক হোস্ট হলেও। এগুলো গুলিয়ে ফেললে এমন একটি টিকিট তৈরি হয় যা রাউটিং বাগের মতো দেখায়, কিন্তু আসলে ভুলভাবে পড়া রুট টাইপ।

তাদের আলাদা করার দ্রুততম উপায় হলো NLRI যে কী-এর চারপাশে তৈরি তা পড়া, এর শেষের মাস্ক নয়।

রুটের কী বলে দেয় রুটটি কী দাবি করে

টাইপ 2 হলো RFC 7432-এর MAC/IP বিজ্ঞাপন রুট, এবং এর কী হলো NLRI-এর ভিতরের 48-বিট MAC ঠিকানা। সেই কী-এর পিছনে একটি IP ঠিকানা ফিল্ড আছে যার দৈর্ঘ্য ফিল্ড 0, 32 বা 128 বিট হতে পারে, তাই শুধু MAC-এর বিজ্ঞাপন একটি সম্পূর্ণ রুট, টুকরো অনুপস্থিত হোস্ট এন্ট্রি নয়। এর পরে আসা লেবেল স্ট্যাক সেই ব্রিজিং প্রসঙ্গের দিকে ইশারা করে যেখানে ওই MAC থাকে।

IP ফিল্ড ভরা হয়েছে কি না তা বদলায় রুট কী দাবি করে, রুটের ধরন নয়। 32-বিট বা 128-বিট দৈর্ঘ্যে প্রেরক আরও দাবি করে যে এই IP একটি EVPN ইনস্ট্যান্সের ভিতরে ওই MAC-এর অন্তর্গত। শূন্য দৈর্ঘ্যে প্রেরক কোনো IP দাবিই করে না। কোনো সংস্করণই বলে না যে একটি প্রিফিক্স রাউটারের মাধ্যমে পৌঁছানো যায়।

টাইপ 5 হলো RFC 9136-এর IP প্রিফিক্স রুট, এবং এর কী হলো দৈর্ঘ্য এবং ততগুলো বিট হিসেবে লেখা একটি প্রিফিক্স। দৈর্ঘ্য IPv4-এর জন্য 0 থেকে 32 এবং IPv6-এর জন্য 0 থেকে 128 পর্যন্ত চলে।

সেই পরিসরের দুই প্রান্তই বৈধ, এবং কোনোটিই MAC বোঝায় না। শূন্য-দৈর্ঘ্যের প্রিফিক্স হোস্টের নাম না নিয়েই পৌঁছানোর দাবি করে, আর /32 ঠিক একটি ঠিকানার নাম নেয়। NLRI আরও একটি গেটওয়ে IP ঠিকানা বহন করে যা ইগ্রেস দিক overlay সূচক তৈরি করতে ব্যবহার করে, সঙ্গে ফরওয়ার্ডিং প্রসঙ্গের জন্য একটি লেবেল। কোমুত করার মতো কোনো MAC ফিল্ড নেই, তাই প্রাপক টাইপ 5-কে রাউটেড গন্তব্য হিসেবে গণ্য করে।

/32 প্রিফিক্স রুট কোনো পুনঃনামকৃত টাইপ 2 নয়

হোস্ট-আকারের প্রিফিক্স সাধারণ টাইপ 5 রুট। একই ঠিকানার জন্য /32 প্রিফিক্স রুট এবং একটি টাইপ 2 একই EVPN ইনস্ট্যান্সে একসঙ্গে থাকতে পারে, এবং তারা ভিন্ন ফরওয়ার্ডিং তথ্য বহন করে।

VNI 10100 ব্যবহার করা একটি EVPN ইনস্ট্যান্সে 198.51.100.77 নিন। একটি টাইপ 2 এটিকে MAC 02:00:00:00:00:77 এবং যে ব্রিজ ডোমেইনে ওই MAC শেখা হয়েছিল তা চিহ্নিত করা একটি লেবেলের সঙ্গে জোড়া দিতে পারে। একটি টাইপ 5 পুরো সাবনেটের জন্য 198.51.100.0/24, বা শুধু ওই ঠিকানার জন্য 198.51.100.77/32 বিজ্ঞাপন দিতে পারে, সঙ্গে ইগ্রেস VTEP-এর দিকে ইশারা করা একটি গেটওয়ে ঠিকানা। ঠিকানাগুলো ইচ্ছাকৃতভাবে ওভারল্যাপ করে কারণ রুটগুলো ভিন্ন প্রশ্নের উত্তর দিচ্ছে।

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

এই পার্থক্যই ঠিক করে ট্রাফিক ব্যর্থ হলে আপনি প্রথমে কোথায় দেখবেন। যদি একটি একক হোস্টে পৌঁছানো না যায় অথচ তার সাবনেট রুট ঠিক দেখায়, তবে টাইপ 5 কখনোই ওই হোস্ট বহন করার কথা ছিল না; অনুপস্থিত টাইপ 2 খুঁজুন। যদি হোস্ট রুট থাকে কিন্তু পুরো সাবনেটে পৌঁছানো না যায়, তবে টাইপ 5 আদৌ উৎপন্ন হয়েছিল কি না দেখুন। ফিল্ডগুলো ক্রমে পড়া মাস্কের দৈর্ঘ্য থেকে অনুমান করার চেয়ে ভালো।

অনুমান না করে দুটি রুট পড়া

NX-OS-এ show bgp l2vpn evpn route type 2 এবং show bgp l2vpn evpn route type 5 ঠিক এই রেখা ধরে টেবিলটি ভাগ করে, আর show l2route evpn mac ip টাইপ 2 রুটের পিছনের স্থানীয় MAC-থেকে-IP বাইন্ডিং দেখায়। Junos-এ show evpn database শেখা MAC ও IP বাইন্ডিং তালিকাভুক্ত করে, আর show route table bgp.evpn.0 কী বিজ্ঞাপিত ও গৃহীত হয়েছে তা দেখায়।

সিদ্ধান্তে পৌঁছানোর আগে route distinguisher এবং Ethernet ট্যাগ দিয়ে ফিল্টার করুন। একই MAC বা প্রিফিক্স একাধিক EVPN ইনস্ট্যান্সে দেখা যেতে পারে, এবং একটি ইনস্ট্যান্সে ভুল দেখানো রুট অন্য একটিতে সঠিক হতে পারে।

তারপর NLRI ক্রমে পড়ুন: রুট টাইপ, কী, গেটওয়ে বা লেবেল ফিল্ড, তারপর অ্যাট্রিবিউটের route target-গুলো। অশূন্য ESI বহনকারী টাইপ 2 আপনাকে বলে MAC মাল্টি-হোমড, এবং সেই মানই বিভিন্ন PE রাউটার থেকে আসা বিজ্ঞাপনগুলোকে একসূত্রে বাঁধে। গেটওয়ে ঠিকানা বহনকারী টাইপ 5 আপনাকে বলে কোন ইগ্রেস VTEP ট্রাফিক পাবে।

যদি কোনো রুট অনুপস্থিত থাকে, এনকোডিংয়ের আগে উৎপত্তি যাচাই করুন। নিশ্চিত করুন যে উৎসের কাছে বাইন্ডিং বা প্রিফিক্স স্থানীয়ভাবে আছে, তারপর নিশ্চিত করুন যে এর সঙ্গে যুক্ত route target এই বক্সে ইমপোর্ট করা হয়েছে। ভাঙা টাইপ 5-এর বেশিরভাগ রিপোর্ট NLRI ফরম্যাটে নয়, ইমপোর্ট নীতিতে শেষ হয়।

শুধু রুট টাইপ নয়, প্রসঙ্গ লিখে রাখুন

রুট টাইপ, EVPN ইনস্ট্যান্স, route distinguisher, ইমপোর্ট ও এক্সপোর্ট করা route target এবং সমাধান করা নেক্সট হপ একসঙ্গে লিখুন। নিজের ইনস্ট্যান্স ছাড়া টাইপ 2 দ্ব্যর্থক, আর রুট ফ্যামিলি ছাড়া নেক্সট হপ ভুল সিদ্ধান্তে আমন্ত্রণ জানায়।

পেলোড IPv4 ঠিকানা হলেও দুটোই EVPN রুট। NLRI-এর ভিতরের ঠিকানা ফ্যামিলি এবং রুটের নিজের ঠিকানা ফ্যামিলি আলাদা বৈশিষ্ট্য, আর টাইপ 5 শুধু IPv4 প্রিফিক্স বহন করার কারণে IPv4-unicast বা VPN-IPv4 রুট হয়ে যায় না।

এই পার্থক্য EVPN কন্ট্রোল প্লেন আর IP-VRF-এর সীমান্তে প্রকাশ পায়। কোন VRF প্রিফিক্সটি ইমপোর্ট করবে তা route target ঠিক করে, আর গেটওয়ে ঠিকানা ও লেবেল ঠিক করে প্যাকেটটি ইগ্রেসের দিকে কীভাবে এনক্যাপসুলেট হবে। এগুলো একসঙ্গে পড়ুন, ফরওয়ার্ডিং সিদ্ধান্ত আর খেয়ালখুশি মনে হবে না।

পরের বার EVPN টেবিলে /32 দেখলে মাস্কের আগে কী পরীক্ষা করুন। ঐচ্ছিক IP সহ MAC কী হলো টাইপ 2 বাইন্ডিং; প্রিফিক্স কী হলো টাইপ 5 রুট, তার দৈর্ঘ্য যা-ই হোক। এর পাশে route target ও নেক্সট হপ লিখুন, পরের ইঞ্জিনিয়ারকে পুরো গল্প আবার উৎপন্ন করতে হবে না।

সম্পর্কিত নিবন্ধ