Happy

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

Happy เป็นเครื่องมือสำหรับการจัดโครงสร้างเครือข่ายจำลองที่มีน้ำหนักเบา ใช้เพื่อทดสอบโปรโตคอลเครือข่ายและโปรแกรมดำเนินการแบบกระจายอื่นๆ บนเครื่องพัฒนา Linux เครื่องเดียวโดยไม่ต้องใช้ฮาร์ดแวร์อุปกรณ์ IoT

มันคืออะไร?

Happy จำลองโครงสร้างเครือข่ายที่ซับซ้อน บนเครื่อง Linux เครื่องเดียว Happy สามารถสร้างโหนดได้หลายโหนดด้วยสแต็กเครือข่ายที่แยกจากกัน โหนดบางตัวอาจเชื่อมต่อกับเครือข่ายเธรดจำลอง โหนดอื่นๆ อาจเชื่อมต่อกับ Wi-Fi จำลอง, WAN (อินเทอร์เน็ต) หรือเครือข่ายเซลลูลาร์

Happy กล่าวถึงกรณีการใช้งานต่อไปนี้:

  • การทดสอบโปรโตคอลเครือข่ายและโปรแกรมการดำเนินการแบบกระจายอื่นๆ บนเครื่องพัฒนา Linux เครื่องเดียวโดยไม่ต้องใช้ฮาร์ดแวร์
  • ทำการทดสอบการทำงานอัตโนมัติในเครือข่าย
  • ใช้งานเครือข่ายคู่ขนานหลายเครือข่ายพร้อมกันบนระบบเดียวกันเพื่อปรับปรุงปริมาณงานการทดสอบ

Happy แก้ปัญหาเหล่านี้ด้วยการสร้างนามธรรมโทโพโลยีเครือข่ายโดยมีค่าใช้จ่ายน้อยที่สุดสำหรับผู้ใช้ โทโพโลยีที่ซับซ้อนสามารถสร้างขึ้นได้ด้วยการเรียกคำสั่งเชลล์ครั้งเดียว Happy รองรับทั้งการใช้งานเชิงโต้ตอบและการเขียนสคริปต์อัตโนมัติ

ใช้คำสั่ง Happy shell เพื่อตั้งค่า ทดสอบ และดีบั๊กโค้ดระหว่างการพัฒนา การกำหนดค่าเครือข่ายเดียวกันและโปรแกรมทดสอบอาจถูกเขียนสคริปต์และใช้ในการทดสอบอัตโนมัติ

เริ่ม

วิธีที่เร็วและง่ายที่สุดในการเริ่มต้นใช้งาน Happy คือการดำเนินการผ่าน Codelab จะนำผู้ใช้ผ่านปัจจัยพื้นฐานแห่งความสุขทั้งหมด รวมถึง:

  • การสร้างและการลบทอพอโลยี
  • โหนดเครือข่ายเข้าด้วยกัน
  • การบันทึกและการกู้คืนโทโพโลยี
  • การเชื่อมต่อโทโพโลยีกับอินเทอร์เน็ต
  • สานพื้นฐาน

ลองเริ่มต้นใช้งาน Happy Codelab

ดู การติดตั้ง และ การใช้งาน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและการใช้มีความสุข

สถาปัตยกรรม

แฮปปี้โมเดลดังต่อไปนี้:

  • โหนด - namespace เครือข่ายลินุกซ์ กระบวนการที่ประกอบด้วยการรันโหนดภายในเนมสเปซเครือข่ายที่ระบุ
  • Link - อินเตอร์เฟซเครือข่ายลินุกซ์ มีความสุขใช้ veth อุปกรณ์เครือข่ายเพื่อสนับสนุน L3 (IP) การเชื่อมต่อและ tap อุปกรณ์เครือข่ายเพื่อสนับสนุน L2 เชื่อมต่อออกมาจากกล่อง
  • เครือข่าย - namespaces เครือข่าย Linux กับสะพาน Ethernet ทำงานภายในพวกเขา

การดำเนินการ

Happy คือชุดของโมดูล Python โมดูล Core Happy นำเสนอสิ่งที่เป็นนามธรรมสำหรับ:

  • การจัดการโหนดนามธรรม
    • การเพิ่ม แก้ไข และลบโหนด
    • เรียกใช้ชุดของกระบวนการภายในโหนด
  • การจัดการลิงก์
    • การเพิ่ม แก้ไข และลบลิงค์
    • การกำหนดลิงค์ไปยังโหนดและเครือข่าย
    • การกำหนดและแก้ไขการกำหนดที่อยู่
  • การจัดการเครือข่าย
    • การสร้าง แก้ไข และทำลายเครือข่าย
    • การเชื่อมต่อเครือข่าย
  • การจัดการสถานะโดยรวมของกรอบการทำงานอย่างเหนียวแน่น

นามธรรมส่วนใหญ่ที่นำมาใช้โดยโมดูล Happy จะจับคู่กับคำสั่งที่เรียกใช้เครื่องมือเครือข่าย Linux

มีความสุขนอกจากนี้ยังมีชุดของปลั๊กอินที่พบใน /plugins ปลั๊กอินจะรวมชุดการทำงานที่เกี่ยวข้องกับเทคโนโลยีเฉพาะ ยกตัวอย่างเช่น /plugins/weave มีผู้ช่วยเหลือที่ห่อต่างๆการใช้งานสานสำหรับการดำเนินการภายในมีความสุข

การดำเนินการ

ผู้ใช้สามารถสร้างโทโพโลยีจำลองได้สองวิธี:

  • คำสั่งเชลล์ - คำสั่งทั้งหมดที่อยู่ใน /bin
  • สคริปต์ Python — นำเข้าโมดูล Happy เพื่อเรียกใช้คำสั่ง Happy ในสคริปต์ Python ของคุณเอง โมดูลอยู่ใน /happy

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้โมดูลมีความสุขในสคริปต์หลามของคุณเองดู งูหลามสคริปต์