প্রকল্প সম্পর্কে
প্যাকেজ bgp, RFC 4271 এবং সংশ্লিষ্ট RFC-গুলোতে বর্ণিত বর্ডার গেটওয়ে প্রোটোকল সংস্করণ ৪ (BGP-4) বাস্তবায়ন করে, যা ওয়্যার ফরম্যাট, ফাইনাইট স্টেট মেশিন এবং পিয়ারিং লাইফসাইকেল কভার করে। এটি MIT লাইসেন্সপ্রাপ্ত এবং Go-তে লেখা।
লাইব্রেরিটি স্তরে স্তরে সংগঠিত, প্রতিটি স্তর তার উপরের স্তর ছাড়াই ব্যবহারযোগ্য:
- Open, Update এবং Notification-এর মতো মেসেজ টাইপ, তাদের বাইনারি এনকোডিংসহ।
- Conn, যা একটি কানেকশনের উপর মেসেজ ফ্রেম করে।
- FSM, যা একটি Conn-এর উপর RFC 4271 ফাইনাইট স্টেট মেশিন চালায়: প্রতি Connect কলে একটি সেশন প্রচেষ্টা, হ্যান্ডলারদের কাছে জিরো-কপি ধার করা ভ্যালু সরবরাহ করে।
- Peer, যা একটি FSM-কে রিট্রাই লুপ এবং এমন হ্যান্ডলার দিয়ে মোড়ায় যাদের ভ্যালু সম্পূর্ণ মালিকানাধীন।
- Server, যা অনেক Peer সমন্বয় করে, শেয়ার্ড লিসেনারে কানেকশন গ্রহণ করে।
বেশিরভাগ কলারের 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। একটি প্রোডাকশন BGP স্পিকারের প্রয়োজনীয় TCP সকেট অপশন, যেমন TCP-MD5, GTSM এবং DSCP, শুধুমাত্র Linux-এ সমর্থিত; অন্যত্র এগুলো সেট করলে errors.ErrUnsupported মোড়ানো একটি ত্রুটি দিয়ে ব্যর্থ হয়।
পরীক্ষা বাস্তব ইন্টারনেট রাউটিং ডেটা এবং বাস্তব রাউটারের বিরুদ্ধে করা হয়: কর্পাস টেস্ট রুট কালেক্টর আর্কাইভের প্রতিটি মেসেজ এবং একটি সম্পূর্ণ ইন্টারনেট টেবিলের প্রতিটি রুট পার্স করে, যা বাইট-ফর-বাইট মার্শাল রাউন্ড ট্রিপ প্রয়োজন; ফাজ টার্গেট মেসেজ পার্সিং, অ্যাট্রিবিউট পার্সিং এবং কানেকশন ফ্রেমিং কভার করে, কর্পাস থেকে সিডেড; এবং একটি ইন্টারঅপ হার্নেস FRRouting-এর বিরুদ্ধে লাইভ সেশন চালায়, যা এস্টাব্লিশমেন্ট, ক্যাপাবিলিটি নেগোশিয়েশন, রুট এক্সচেঞ্জ, TCP-MD5 এবং GTSM কভার করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.