Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

มีความสุข

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

มันคืออะไร?

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

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

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

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

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

เริ่ม

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

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

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

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

สถาปัตยกรรม

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

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

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

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

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

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

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

การกระทำ

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

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

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