سیشن قائم رہتے ہیں، IGP مستحکم ہے، اور پھر بھی چار میں سے دو پرووائیڈر کناروں پر کچھ L2VPN راستے کبھی ظاہر نہیں ہوتے۔ یہ نمونہ نقل و حمل کا نہیں بلکہ ریفلیکشن کا مسئلہ ہے، کیونکہ ٹوٹا ہوا سیشن مکمل طور پر ناکام ہوتا ہے جبکہ دوبارہ استعمال شدہ ریفلیکشن حد منتخب طور پر ناکام ہوتی ہے۔ طبعی حلقے کا اس سے کوئی تعلق نہیں؛ منطقی تقسیم گراف وہ جگہ ہے جہاں یہ راستے رکے۔ اس نقطے کو تلاش کرنے کے لیے کنٹرول طیارے کو دوبارہ بنانے کی ضرورت نہیں۔

نقصان منتخب ہے، جو تلاش کو محدود کرتا ہے

طبعی حلقے پر چار پرووائیڈر کناروں کو مکمل جال کے لیے چھ منطقی سیشن درکار ہیں، کیونکہ ہر راؤٹر باقی تین کے ساتھ جوڑا بناتا ہے۔ یہ سیشن روٹ شدہ نقل و حمل پر چلتے ہیں، اس لیے کیبلنگ یہ نہیں بتاتی کہ کتنے ہمسایہ تعلقات ہیں یا ان میں سے کون ریفلیکٹ کرتا ہے۔ جب دو کنارے ایک مخصوص سابقہ مجموعہ چھوڑ دیتے ہیں جبکہ باقی سب یکجا ہوتا ہے، تو کیبل مشکوک نہیں۔

منتخب نقصان لوپ روک تھام، پالیسی یا تعلق کی سمت کی طرف اشارہ کرتا ہے، جہاں کچھ راستے حد عبور کرتے ہیں اور دیگر راستے میں ہی پھینک دیے جاتے ہیں۔ مکمل نقصان سیشن یا پتہ خاندان کی طرف اشارہ کرتا ہے۔ یہ طے کرنا کہ آپ ان دونوں میں سے کون دیکھ رہے ہیں پہلا مفید قدم ہے، اور اس کے لیے صرف ایک کمانڈ درکار ہے۔

ریفلیکشن دراصل کیا بدلتا ہے

راستہ ریفلیکشن اس قاعدے کو نرم کرتا ہے کہ iBGP مقرر دوسرے iBGP مقرر سے سیکھا راستہ دوبارہ اعلان نہیں کر سکتا۔ RFC 4456 اس استثنا کو مقرر اور راستے کے ماخذ کے درمیان تعلق کے ذریعے بیان کرتا ہے، اور اس تعلق کی سمت بیشتر خلاصوں کے اشارے سے زیادہ اہم ہے۔ کلائنٹ سے سیکھا راستہ دوسرے کلائنٹس اور غیر کلائنٹس کی طرف ریفلیکٹ کیا جا سکتا ہے، جبکہ غیر کلائنٹ سے سیکھا راستہ صرف کلائنٹس کی طرف ریفلیکٹ کیا جا سکتا ہے۔ اس عدم توازن کو دو بار پڑھیں، کیونکہ یہ بتاتا ہے کہ کلائنٹ تعلق شامل کرنا ڈیزائن کی غلطی کیسے چھپا سکتا ہے: یہ ایسا راستہ کھولتا ہے جو ٹوپولوجی نے کبھی نہیں چاہا۔

CLUSTER_LIST خصوصیت ریفلیکشن کی تاریخ ریکارڈ کرتی ہے، اور جو ریفلیکٹر اس فہرست میں اپنا کلسٹر ID پائے اسے اعلان نظر انداز کرنا چاہیے۔ یہ لوپ روک تھام ہے، اور یہ وہ طریقہ کار بھی ہے جو شناخت کنندگان کے غلطی سے دوبارہ استعمال پر راستے مٹا دیتا ہے۔ ORIGINATOR_ID متعلقہ کردار ادا کرتا ہے اور اس راؤٹر کا نام لیتا ہے جس نے راستہ پہلی بار اعلان کیا۔

دوبارہ استعمال شدہ کلسٹر ID ہی راستوں کے غائب ہونے کا طریقہ ہیں

چھوٹا نیٹ ورک ایک شارٹ کٹ کی دعوت دیتا ہے: ہر راؤٹر کو اس کے loopback کے برابر کلسٹر ID دیں، بعد میں ایک اور ریفلیکٹر شامل کریں، اور ہاتھ میں آسانی سے دستیاب ہونے کی وجہ سے موجود loopback دوبارہ استعمال کریں۔ اگر وہ شناخت کنندہ اب دو آزاد ریفلیکشن مراحل میں ظاہر ہو، تو دوسرا مرحلہ CLUSTER_LIST میں اپنا ID دیکھ کر راستہ پھینک دیتا ہے۔ کوئی چیز غلطی ریکارڈ نہیں کرتی، کیونکہ پھینکنا لوپ کا درست جواب ہے۔

ایک کلسٹر کی خدمت کرنے والے زائد ریفلیکٹر جائز استثنا ہیں: وہ جان بوجھ کر ایک ID شیئر کرتے ہیں تاکہ دونوں میں سے کوئی بھی انہی کلائنٹس کی خدمت کر سکے۔ شناخت کنندہ کو چیسس کے نام الگ کرنے کے بجائے ریفلیکشن ڈیزائن سے میل کھانا چاہیے۔

کسی بھی ترتیب کو چھونے سے پہلے مطلوبہ گراف بنائیں: سابقہ کون پیدا کرتا ہے، کون سا کلائنٹ تعلق پہلی ریفلیکشن کی اجازت دیتا ہے، کون سا ریفلیکٹر اسے اگلے مرحلے تک لے جاتا ہے، اور آخری کلائنٹ کہاں بیٹھتا ہے۔ اس گراف میں ہر چھلانگ وہ جگہ ہے جہاں دوبارہ استعمال شدہ شناخت کنندہ، غائب کلائنٹ تعلق یا پالیسی فلٹر راستہ روک سکتا ہے۔ گراف بن جانے کے بعد غائب راستے کے پاس معمہ کے بجائے ایک جگہ ہوتی ہے۔

ہر ہمسائے کو کلائنٹ بنانے کی تحریک کا مقابلہ کریں

غائب راستے کا فوری علاج یہ ہے کہ ہر ہمسائے کو ہر ریفلیکٹر کا کلائنٹ بنا دیا جائے۔ پھیلاؤ واپس آ جاتا ہے، اور ڈیزائن آپ کو کچھ بھی بتانا بند کر دیتا ہے: یہ ہر مقرر کے اٹھائے راستوں کو کئی گنا بڑھا دیتا ہے اور ساتھ ہی چھپا دیتا ہے کہ کون سا تعلق یہ کام کرنے والا تھا۔

چھوٹے نیٹ ورک کو عام طور پر دو شکلوں میں سے ایک درکار ہوتی ہے۔ مکمل iBGP جال چار راؤٹرز کے لیے چھ سیشن ہیں اور اس میں کوئی ریفلیکشن نہیں، اور باقی کناروں کی خدمت کرنے والا مقررہ ریفلیکٹر جوڑا دوسری شکل ہے۔ ہر راؤٹر تھوڑا تھوڑا ریفلیکٹ کرنے والے جزوی جال سے دونوں کے بارے میں سوچنا آسان ہے۔ شکل کا انتخاب پیمانے اور ناکامی کے رویے سے کریں، کیبلنگ نقشے سے نہیں۔

ریفلیکشن کو مورد الزام ٹھہرانے سے پہلے پتہ خاندان جانچیں

پورٹ 179 پر TCP سیشن ثابت کرتا ہے کہ دونوں مقرر بات کر سکتے ہیں، اور اس بارے میں کچھ نہیں کہتا کہ VPN پتہ خاندان نے ایک بھی راستہ بدلا یا نہیں۔ پہلے سیشن کی حالت، پھر خاندان، پھر انفرادی سابقہ طے کریں۔

vtysh -c "show bgp summary"
vtysh -c "show bgp l2vpn evpn summary"
vtysh -c "show bgp l2vpn evpn"

وہ تینوں آؤٹ پٹ ہمسایہ مسئلے کو تبادلے کے مسئلے اور غائب سابقے کے مسئلے سے الگ کرتے ہیں۔ اگر خاندان بالکل بھی سابقے نہ دکھائے، تو ریفلیکشن دیکھنے سے پہلے ہمسائے کی فعال حالت اور برآمد پالیسی جانچیں۔ اگر سابقے ایک کنارے پر نظر آئیں مگر دوسرے پر نہیں، تو وصول کرنے والی طرف کلسٹر فہرست اور ماخذ کا موازنہ کریں، پھر پچھلے حصے کا گراف چلیں۔

اگلی چھلانگ کی رسائی اور فارورڈنگ حالت کو اس جانچ سے باہر رکھیں۔ ناقابل رسائی اگلی چھلانگ والا ریفلیکٹ شدہ راستہ موجود ہے مگر بیکار ہے، جو اگلی چھلانگ کا کالم دیکھنے تک ریفلیکشن کی ناکامی جیسا لگتا ہے۔ اگلی چھلانگ حل کریں، فارورڈنگ اندراج کی تصدیق کریں، اور اس کے بعد ہی طے کریں کہ تقسیم گراف کو ایک اور ریفلیکٹر درکار ہے یا نہیں۔

متعلقہ مضامین