منصوبے کے بارے میں
پیکیج bgp بارڈر گیٹ وے پروٹوکول ورژن 4 (BGP-4) کو RFC 4271 اور متعلقہ RFCs کے مطابق نافذ کرتا ہے، جس میں وائر فارمیٹ، فائنائٹ اسٹیٹ مشین، اور پیئرنگ لائف سائیکل شامل ہیں۔ یہ MIT لائسنس یافتہ ہے اور Go میں لکھا گیا ہے۔
لائبریری تہوں میں منظم ہے، ہر تہہ اپنے اوپر کی تہوں کے بغیر بھی استعمال کی جا سکتی ہے:
- میسج اقسام جیسے Open، Update، اور Notification، ان کی بائنری انکوڈنگ کے ساتھ۔
- Conn، جو کنکشن پر میسجز کو فریم کرتا ہے۔
- FSM، جو Conn پر RFC 4271 کی فائنائٹ اسٹیٹ مشین چلاتا ہے: ہر Connect کال پر ایک سیشن کی کوشش، ہینڈلرز کو زیرو کاپی مستعار ویلیوز فراہم کرتا ہے۔
- Peer، جو FSM کو ریٹرائی لوپ اور ہینڈلرز کے ساتھ لپیٹتا ہے جن کی ویلیوز مکمل طور پر ملکیت میں ہوتی ہیں۔
- Server، جو کئی Peers کو مربوط کرتا ہے، مشترکہ لسنرز پر کنکشنز قبول کرتا ہے۔
زیادہ تر کالرز سے توقع ہے کہ وہ Peer یا Server استعمال کریں گے؛ FSM ان ماہر کالرز کے لیے تہہ ہے جنہیں زیرو کاپی ڈیلیوری یا حسب ضرورت ریٹرائی پالیسی درکار ہو۔
README ایک مثال اسپیکر دکھاتا ہے جو ایک پڑوسی کو ایک روٹ کا اعلان کرتا ہے اور موصول شدہ روٹس لاگ کرتا ہے۔ Run کنکشن لائف سائیکل کا مالک ہے: ڈائلنگ، OPEN کا تبادلہ، کیپ الائیوز، اور مردہ سیشنز کو دوبارہ کوشش کرنا جب تک کہ کانٹیکسٹ منسوخ نہ ہو جائے۔ کانٹیکسٹ منسوخ کرنے پر Cease / Administrative Shutdown بھیجا جاتا ہے۔ پیکیج کی مثالیں ملٹی پروٹوکول IPv6، ڈوئل اسٹیک، پیسیو پیئرز، اور ایک سخت انٹرنیٹ کے سامنے والی کنفیگریشن کا احاطہ کرتی ہیں۔
دائرہ کار جان بوجھ کر محدود ہے: کوئی روٹنگ ٹیبل اور کوئی پالیسی انجن نہیں، مستقل طور پر۔ ایک قائم شدہ سیشن موصول شدہ UPDATE میسجز کالر کو دیتا ہے، جس کے پاس تمام روٹنگ فیصلے ہوتے ہیں۔ ایک RIB Peer تہہ پر اس کے ہینڈلرز کے ذریعے پلگ ہوتا ہے، ہر PeerConfig میں میتھڈز وائر کرتا ہے اور اپنے Adj-RIB-Out کو سینڈ پاتھ کے ذریعے نکالتا ہے۔ ساتھی پروجیکٹس جیسے BMP (RFC 7854) مانیٹرنگ اور BFD (RFC 5880) لائیونیس انہی سیونز پر بنتے ہیں اور الگ ریپوزٹریز میں رہتے ہیں۔
پلیٹ فارم سپورٹ: میسج، Conn، FSM، Peer، اور Server تہیں پورٹیبل Go ہیں۔ TCP ساکٹ آپشنز جو ایک پروڈکشن BGP اسپیکر کو درکار ہوتے ہیں، جیسے TCP-MD5، GTSM، اور DSCP، صرف Linux پر سپورٹ ہیں؛ دوسری جگہوں پر انہیں سیٹ کرنا errors.ErrUnsupported کو لپیٹنے والی ایرر کے ساتھ ناکام ہوتا ہے۔
ٹیسٹنگ حقیقی انٹرنیٹ روٹنگ ڈیٹا اور حقیقی روٹرز کے خلاف کی جاتی ہے: کارپس ٹیسٹس روٹ کلیکٹر آرکائیوز کے ہر میسج اور مکمل انٹرنیٹ ٹیبل کے ہر روٹ کو پارس کرتے ہیں، جس کے لیے بائٹ بہ بائٹ مارشل راؤنڈ ٹرپ درکار ہوتا ہے؛ فز ٹارگٹس میسج پارسنگ، ایٹریبیوٹ پارسنگ، اور کنکشن فریمنگ کا احاطہ کرتے ہیں، جو کارپس سے سیڈ کیے جاتے ہیں؛ اور ایک انٹرآپ ہارنس FRRouting کے خلاف لائیو سیشنز چلاتا ہے، جس میں اسٹیبلشمنٹ، کیپیبلٹی نیگوشییشن، روٹ ایکسچینج، TCP-MD5، اور GTSM شامل ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.