โปรแกรมวาด Network Topology แบบอัตโนมัติด้วยการ Crawl บน Network
ไล่วาด Network Topology ด้วยโปรแกรมของผม
— — — — — — — — — — — — — — —
สารบัญเนื้อหาทั้งหมด (My Contents)
— — — — — — — — — — — — — — —
— — — — — — — — — — — — — — — — — — — — — — — -
ฝากคอร์ส Python for Network Automation ผมด้วยครับ
— — — — — — — — — — — — — — — — — — — — — — — -
โปรแกรมนี้อาจมีประโยชน์จริง ๆ สำหรับบางกรณีเท่านั้น ทว่าเหตุผลที่ผมเขียนโปรแกรมนี้ขึ้นมาก็เพื่อ “ฝึกทักษะด้าน programming” เป็นหลักครับ
โปรแกรมทำงานยังไง? ลองดูเหตุการณ์สมมุตินี้
สมมุติว่าคุณสามารถ SSH เข้าไปยัง R2 ได้แค่ตัวเดียวผ่านทาง MGMT network ถ้าหากคุณอยากรู้ว่า network topology ทั้งหมดหน้าตาเป็นยังไงคุณจะทำอย่างไรครับ?
แน่นอนว่าคุณก็อาจจะต้องใช้ show command ใน CLI เพื่อดูว่าใน R2 นั้นมี interface อะไรบ้าง จากนั้นก็ไล่ telnet/SSH จาก R2 ไปยัง router ตัวอื่น ๆ บน network
ถ้า network นี้มี router สัก 20 ตัวคุณคงต้องนั่งมือหงิก telnet/SSH ไล่ไปทีละ hop เพื่อวาด network diagram ออกมา อ๋อ…ยังไม่ได้พูดถึง human error ที่อาจจะเกิดขึ้นอีกนะ
ทั้งหมดทั้งมวลนี้โปรแกรม Network Spider ของผมทำได้อย่างง่ายดาย ลองไปดูได้ในวิดีโอด้านล่างนี้เลยครับ
Development tools
- Python
- HTML
- Javascript
Algorithm ที่ผมใช้
DFS หรือ Depth-First Search นั้นคือการ traverse ไปตามกราฟในแนวลึก ถ้าใครสนใจลองศึกษาเพิ่มเติมได้ครับ เริ่มจากลิงค์ด้านล่างนี้ก่อนเลยก็ได้
วิดีโอตัวอย่างการทำงานของโปรแกรม
ป.ล. โปรแกรมนี้ไม่ได้ใช้ NETCONF หรือ RESTCONF นะครับ ยังคง interface กับอุปกรณ์ผ่าน CLI เช่นเดิม
— — — — — — — — — — — — — — —
สารบัญเนื้อหาทั้งหมด (My Contents)
— — — — — — — — — — — — — — —