Facebook เปิดตัว Open/R ระบบ Open Source Routing ที่ Facebook ใช้ใน Backbone และ Data Center ของตนเอง

ทุกครั้งที่ Facebook ออกมาเปิดตัวโครงการ Open Source เกี่ยวกับระบบ Network ทีไร ก็มักเป็นประเด็นที่น่าสนใจเสมอ โดยในครั้งนี้ทาง Facebook ได้ออกมาเปิด Open Source ให้กับโครงการ Open/R ซึ่งเป็นเทคโนโลยีเสริมสำหรับการทำ Network Routing Platform สำหรับระบบ Software-Defined Networking ที่ทาง Facebook เองก็ได้ใช้งานจริงอยู่ภายใน Backbone และ Data Center ของตนเองแล้ว

Open/R นี้เดิมทีถูกออกแบบมาสำหรับใช้งานในโครงการ Terragraph ซึ่งเป็นระบบเครือข่าย Wireless Backhaul Network แต่เมื่อพัฒนาไปได้ระยะหนึ่งทาง Facebook ก็เห็นว่าเทคโนโลยีสามารถนำมาปรับใช้ในระบบเครือข่ายส่วนอื่นๆ ได้ ทำให้สุดท้ายแล้ว Facebook ก็ตัดสินใจพัฒนา Open/R ต่อจนสามารถรองรับได้ทั้ง WAN, Data Center Fabric และ Wireless Mesh อีกทั้งยังรองรับการทำงานบน Software ที่หลากหลาย ไม่ว่าจะเป็น FBOSS, Arista EOS, Juniper JunOS, Linux Routing และอื่นๆ ด้วยเหตุนี้ Open/R จึงสามารถถูกนำไปใช้งานได้บน Switch Hardware ได้อย่างกว้างขวาง

แนวคิดหลักๆ ของ Open/R นั้นคือการทำหน้าที่เป็นระบบสำหรับการกระจายค่า State ทางด้านระบบเครือข่ายไปยังอุปกรณ์เครือข่ายทั้งหมดที่เกี่ยวข้อง เพื่อให้ Application ใหม่ๆ สามารถถูกเพิ่มเข้าไปในระบบเครือข่ายและทำการเชื่อมต่อกันได้โดยง่าย โดยมี Northbound Interface สำหรับเชื่อมต่อการทำงานเข้ากับ Network Controller ภายนอกได้ และมีความสามารถอย่างเช่นการทำ Automatic IP Prefix Allocation, RTT-based Cost Metrics, Graceful Restart, Fast Convergence และยังสามารถทำ Drain/Undrain Operation ได้ รวมถึงยังมีฟีเจอร์ที่คล้ายคลึงกับ IS-IS และ OSPF โดยมีฟีเจอร์ที่น่าสนใจดังนี้

  • รองรับ IPv6 เป็น Default แต่สามารถปรับแต่งให้ทำงานด้วย IPv4 ได้
  • ทำ Prefix Allocation และ IP Configuration ได้หลาย Node พร้อมๆ กันจากการเลือก Prefix
  • ทำ Graceful Restart ได้ ทำให้สามารถอัปเดตระบบได้โดยไม่เกิด Downtime ในการส่งข้อมูลเครือข่ายเลย
  • ทำ Drain/Undrain สำหรับ Node และ Link ได้
  • ประเมินและควบคุมค่า Link RTT ได้แบบ Dynamic
  • กำหนดค่า Metric Value ที่ต้องการได้เอง ทั้งแบบ Static และ Dynamic
  • ตรวจสอบการทำงานของเครือข่ายได้
  • มี API สำหรับเชื่อมต่อไปยัง Centralized Controller ได้
  • มี Python Library สำหรับจัดการ Process สำคัญๆ ใน Open/R ได้

สำหรับสถาปัตยกรรมภายใน Open/R มีแบ่งส่วนย่อยต่างๆ ดังนี้

Credit: Facebook
  • KV-STORE เป็นระบบ Replicated Key-value Store เพื่อให้สามารถทำการสื่อสารได้แบบกระจายตัว และทำการสำเนาค่า State ของระบบเครือข่ายได้
  • Spark ทำการค้นหาอุปกรณ์ที่เชื่อมต่อระหว่างกันภายในระบบเครือข่ายด้วยการใช้ Link-Local Multicast
  • LinkMonitor ทำการตรวจสอบการทำงานของ System Interface ผ่านทาง Platform, ทำการบริหารจัดการ Spark Session และทำการกระจายข้อมูลของ Neighbor ที่ถูกค้นพบและถูกบันทึกอยู่ภายใน KV-STORE
  • PrefixManager ทำ Automatic Prefix Suballocation เพื่อให้สามารถทำการกำหนดค่าต่างๆ ได้แบบ Ad Hoc
  • Decision ประมวลผลข้อมูล Routing โดยอ้างอิงจากข้อมูล Topology ที่เรียนรู้มาจาก KV-STORE
  • FIB ทำหน้าที่เป็น Proxy สำหรับ Programming Computed Routes ผ่านทาง Platform และจัดการดูแลเรื่อง Forwarding State
  • Platform รองรับการทำ Route Programming และดูแล Interface Discovery Logic สำหรับ Hardware Platform เป้าหมาย

นอกจากนี้ Facebook ยังได้สร้าง Emulation Tool เอาไว้ที่ https://github.com/facebook/openr/tree/master/openr/docs/Emulator.md ซึ่งจะทำการสร้าง Linux Container จำนวนหลายพันชุดขึ้นมาจำลองระบบเครือข่ายเสมือนขนาดใหญ่ที่เชื่อมต่อกัน พร้อมให้ทดสอบการกำหนดค่าและใช้งานเครือข่ายขนาดใหญ่ได้ด้วยการใช้ Open/R ก่อนจะทำการ Deploy ลงระบบจริง

ผู้ที่สนใจสามารถศึกษารายละเอียดของโครงการ Open/R ได้ที่ https://github.com/facebook/openr ครับ

 

ที่มา: https://code.facebook.com/posts/291641674683314/open-r-open-routing-for-modern-networks/ 




About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

AWS ออก Lifecycle Management สำหรับ EBS Snapshot

AWS ออก Lifecycle Management สำหรับ EBS ซึ่งจะช่วยในการบริการจัดการ การสร้างและลบ Retention ของ Snapshot ได้อย่างอัตโนมัติ แทนที่แบบเดิมต้องทำเองหรือใช้เครื่องมือพิเศษต่างหาก

เชิญร่วมงานสัมมนา “Human Centric Innovation: Co-creation for Success” โดย Fujitsu และ Oracle

Fujitsu และ Oracle ร่วมกันจัดงานสัมมนา Human Centric Innovation: Co-creation for Success เพื่ออัปเดตเทคโนโลยีแพลตฟอร์ม Fujitsu SPARC M12 สำหรับการประมวลผลข้อมูลปริมาณมหาศาล …