কেন একটি EVPN টেন্যান্ট একাধিক route distinguisher দেখাতে পারে
একই টেন্যান্টে দুটি RD কোনো দ্বন্দ্ব নয়। CLI আউটপুট থেকে রুটটি যে MAC-VRF বা IP-VRF তৈরি করেছে সেখানে যান, তারপর RT ইমপোর্ট ও VNI যাচাই করুন।
আপনি একটি টেন্যান্টের জন্য EVPN টেবিল ফিল্টার করছেন, আর রুটগুলো দুটি ভিন্ন route distinguisher বহন করছে। প্রথম প্রতিক্রিয়া হলো কনফিগারেশন দ্বন্দ্ব, এবং সেই প্রতিক্রিয়া সাধারণত ভুল। টেন্যান্টের নাম একটি ব্যবসায়িক লেবেল, একক কন্ট্রোল-প্লেন অবজেক্ট নয়, তাই এর ভেতরের ব্রিজিং কনটেক্সট ও রাউটিং কনটেক্সট আলাদা শনাক্তকারীর অধীনে বৈধভাবে ঘোষণা দিতে পারে। একবারে একটি রুট ধরে আউটপুট থেকে পিছিয়ে সেই লোকাল সার্ভিস অবজেক্ট পর্যন্ত যান যা এটি তৈরি করেছে, তাহলে দ্বিতীয় RD আর ভুলের মতো দেখাবে না।
যে আউটপুট আপনাকে বিভ্রান্ত করেছে সেখান থেকেই শুরু করুন
পুরো টেবিল নয়, একটি রুট বেছে নিন। এর রুট টাইপ, RD, এক্সপোর্ট করা route target এবং নেক্সট হপ লিখে রাখুন। এই চারটি ফিল্ডই যথেষ্ট — কোন লোকাল অবজেক্ট এটি ঘোষণা করেছে এবং কোন দূরবর্তী পলিসি এটি ইমপোর্ট করবে তা নির্ধারণ করতে।
NX-OS ধাঁচের ডিভাইসে বিস্তারিত ভিউ পাওয়া যায় show bgp l2vpn evpn route-type 2 detail অথবা show bgp l2vpn evpn route-type 5 detail দিয়ে। Junos-এ একই তথ্য থাকে show route table bgp.evpn.0 detail-এ। ভিন্ন সিনট্যাক্স, একই ফিল্ড।
প্রদর্শিত প্রতিটি সংখ্যা সমান করার কাজ দিয়ে শুরু করবেন না। RD সমান করাই সেই পরিবর্তন যা চালু fabric-এ ইমপোর্ট পলিসি ভেঙে দেয়।
প্রতিটি শনাক্তকারীকে তার কাজ দিন
| Identifier | Question it answers | Where it is used |
|---|---|---|
| Route distinguisher | Which distinct route context contributed this advertisement? | Makes otherwise identical prefixes unique in BGP |
| Route target | Which importing service policy should receive the route? | Extended community matched by import policy |
| VNI | Which VXLAN service context carries the traffic? | Data plane encapsulation and mapping |
MAC-VRF একটি ব্রিজিং সার্ভিসের জন্য MAC ফরওয়ার্ডিং তথ্য রাখে। IP-VRF একটি রাউটেড সার্ভিসের জন্য IP রাউটিং কনটেক্সট দেয়। একটি টেন্যান্ট দুইটিই অন্তর্ভুক্ত করতে পারে, তাই কোনো ভুল কনফিগারেশন ছাড়াই এক টেন্যান্ট একাধিক RD তৈরি করতে পারে।
RFC 7432 ঘোষণাকারী MAC-VRF-এর RD তার EVPN NLRI-তে নির্ধারণ করে এবং একই PE-তে MAC-VRF-গুলোর মধ্যে আলাদা RD দাবি করে। Route-target পদ্ধতি আলাদা: তারা এক বা একাধিক RT অ্যাট্রিবিউট অনুমোদন করে এবং সদস্যতার জন্য ইমপোর্ট পলিসির উপর নির্ভর করে। RD-এর সমতা শেয়ারড সদস্যতা তৈরি করে না, এবং সেভাবে ভাবাই এই বিভ্রান্তির মূল।
ঘোষণা থেকে ইমপোর্ট পর্যন্ত একটি রুট ধরে চলুন
এক দিক ধরে রুটটি অনুসরণ করুন। রুট টাইপ, উৎপন্নকারী সার্ভিস, RD, এক্সপোর্ট করা RT, তারপর গ্রহণকারী PE-তে ইমপোর্ট পলিসি নিশ্চিত করুন। প্রতিটি ধাপ ভিন্ন প্রশ্নের উত্তর দেয়, আর যেকোনো ধাপে ব্যর্থতা অপর প্রান্তে একই অনুপস্থিত প্রিফিক্সের মতো দেখায়।
রুটটি উপস্থিত হলে ইনস্টল করা ফরওয়ার্ডিং কনটেক্সট ও VNI ম্যাপিং পরীক্ষা করুন। দুই প্রান্তে VNI মিলে যাওয়া দেখায় যে ডেটা প্লেন সম্মত; এটি দেখায় না যে কন্ট্রোল প্লেন উদ্দিষ্ট পলিসির মধ্য দিয়ে রুটটি ইমপোর্ট করেছে।
রুটটি দূরবর্তী PE-তে দেখা গেলেও ট্রাফিক না চললে সমস্যা EVPN ছাড়িয়ে গেছে। আবার route target সম্পাদনার আগে VNI-to-VLAN বা VNI-to-VRF বাইন্ডিং এবং underlay পথ পরীক্ষা করুন। ম্যাপিং দিয়ে শুরু করুন, তারপর underlay, আর সবশেষে কন্ট্রোল প্লেন। ডেটা-প্লেন ত্রুটির পেছনে ছুটতে route-target পরিবর্তন ফিরিয়ে নেওয়া চালু ইমপোর্ট ভাঙার নির্ভরযোগ্য উপায়।
লেয়ার 3 প্রিফিক্সও এখনো EVPN রুট
EVPN টেবিলের IP প্রিফিক্স সাধারণ IPv4-unicast BGP নয়। EVPN IP Prefix রুটটি নিজস্ব রুট টাইপ, আর MAC/IP ও IP-প্রিফিক্স ঘোষণা EVPN অ্যাড্রেস ফ্যামিলিতে চলে, যা RFC 7432 AFI 25 ও SAFI 70 হিসেবে চিহ্নিত করে।
এই পার্থক্যটি গুরুত্বপূর্ণ যখন আপনি EVPN টেবিলের একটি রুটকে unicast টেবিলের রুটের সঙ্গে তুলনা করেন। তারা একই গন্তব্য বর্ণনা করতে পারে, তবু ভিন্ন পলিসিতে তৈরি, ফিল্টার ও ইমপোর্ট হতে পারে। একটিকে অন্যের প্রমাণ হিসেবে পড়াই মাইগ্রেশনের সময় সঠিক fabric-কে ভাঙা দেখায়।
সংখ্যা তুলনার আগে ভেন্ডরের ডেরিভেশন যাচাই করুন
RFC 9136 EVPN-কে IP Prefix রুট দিয়ে বাড়ায় এবং বলে প্রযোজ্য RD MAC-VRF না IP-VRF কনটেক্সট থেকে আসে। তাই একই আউটপুটে L2 সার্ভিস লেবেল ও রাউটেড সার্ভিস লেবেলকে যে অবজেক্টের অন্তর্গত তার সাপেক্ষে পড়া উচিত, টেন্যান্টপ্রতি এক RD-তে নামিয়ে আনা নয়।
স্বয়ংক্রিয় RD ও RT ডেরিভেশন ভেন্ডর-নির্দিষ্ট। ব্যবহৃত ফর্মুলার জন্য স্থাপিত ভেন্ডরের রেফারেন্স পড়ুন; একটি সুইচে দেখা স্বয়ংক্রিয়ভাবে তৈরি মান কোনো সর্বজনীন এনকোডিং নয়, এবং দুই ভেন্ডরের সংখ্যা তুলনা খুব কমই কিছু প্রমাণ করে।
আপনি যে রুট দিয়ে শুরু করেছিলেন তার জন্য লিখিত ট্রেস দিয়ে শেষ করুন: টাইপ, উৎপন্নকারী অবজেক্ট, RD, এক্সপোর্ট করা RT, ইমপোর্ট পলিসি, ইনস্টল করা VNI। ছয়টি ফিল্ড পরেরবার টিকিট পড়া যে কেউ বিজ্ঞাপনটি বুঝতে পারবে, আর এর কোনোটিই টেন্যান্টের সংখ্যা মিলিয়ে দিতে বলে না।