การเขียนโปรแกรม Cisco IOS ระบบอัตโนมัติและข้อมูล


11

ฉันสับสนเกี่ยวกับ Cisco IOS และฉันมีคำถามบางอย่างเกี่ยวกับเรื่องนี้

Cisco IOS ใช้ในเราเตอร์และอุปกรณ์อื่น ๆ

เป็นไปได้ไหมที่จะเขียนโค้ด (เช่น PHP)

หากเป็นไปได้ฉันสามารถใช้ภาษาใดได้บ้าง

สิ่งที่ทำให้ฉันสับสนไม่ใช่วิธีการทำงานกับ Cisco IOS; มันเกี่ยวกับว่าฉันสามารถพัฒนาและเปลี่ยนเราเตอร์หรืออุปกรณ์อื่น ๆ ตามสิ่งที่ฉันต้องการสำหรับเครือข่ายหรือไม่

คำตอบ:


18
  1. เกือบทุกระบบNote 1 Cisco IOS ทำงานอย่างน้อย IOS 12.2 มีความสามารถในการโปรแกรมเชลล์ tcl ในตัว คุณสามารถจัดเก็บสคริปต์ tcl ในแฟลชและเรียกใช้สคริปต์

  2. Cisco IOS ยังมีสภาพแวดล้อมการเขียนโปรแกรมแบบเนทีฟที่เรียกว่า EEM (Embedded Event Manager) เหตุการณ์ EEM สามารถถูกทริกเกอร์โดยอินพุตที่หลากหลายเช่นแพ็คเก็ตในพอร์ตที่แน่นอน (ผ่าน Netflow) ข้อความบันทึกหรืออินเตอร์เฟสขึ้น / ลง คิดว่า EEM เป็นส่วนหนึ่งของความสามารถ tclsh ใน IOS; EEM ดูดซับน้อยกว่าการเขียนโปรแกรมใน TCL แต่คุณยังได้รับการสนับสนุนคุณสมบัติที่ไม่แน่นอนขึ้นอยู่กับส่วนผสมของ IOS ที่คุณกำลังเผชิญอยู่ EEM สามารถทำงานได้ตามกำหนดเวลา cron หากเหมาะสมกับความต้องการของคุณ ที่ด้านล่างของคำตอบนี้ฉันรวมตัวอย่างสคริปต์ EEM เก็บไว้ในใจว่า EEM ที่ดีที่สุดสำหรับตัวเลขขนาดเล็ก-ish ของ "ถ้า-นี้ทำที่" งบ ... tclshเมื่อคุณต้องการที่จะเริ่มต้นการกำหนดหน้าที่และความดังกล่าวเพียงแค่กัดกระสุนและการใช้งาน

  3. ผลิตภัณฑ์ใหม่ของ Cisco สนับสนุนชุด SDN API กระป๋องพิเศษซึ่งกว้างกว่าที่ฉันสามารถอธิบายได้ขณะพิมพ์บนโทรศัพท์มือถือของฉัน ตัวอย่างหนึ่งจากตระกูลนี้รวมถึงCisco APICแต่นั่นเป็นเพียงรอยขีดข่วนพื้นผิวของสิ่งที่มีอยู่

  4. ฉันจะสะเพร่าถ้าฉันไม่ได้ชี้ให้เห็นว่าส่วนใหญ่ของการเขียนสคริปต์ของซิสโก้ในช่วง 20 ปีที่ผ่านมาผ่านการคัดลอกหน้าจอ snmp และ NETCONF (เหล่านี้ในวันนี้) ทุกสิ่งที่คุณสามารถทำได้จาก CLI นั้นสามารถทำได้โดยอัตโนมัติผ่านการขูดหน้าจอ ฉันใช้เวลาส่วนใหญ่ไปกับอาชีพการงานของฉันที่ทำสิ่งนี้ Screen-scrapers มักจะโฮสต์สคริปต์ของพวกเขาบนระบบ linux ภายนอกและเชื่อมต่อกับเราเตอร์ด้วยอาวุธที่พวกเขาเลือก ... โดยปกติแล้วจะเป็นหนึ่งในภาษาเหล่านี้:

  5. ในที่สุดผลิตภัณฑ์ Cisco Nexus รุ่นใหม่จะมี Python API (เช่นนี้สำหรับ Nexus 9K); โดยทั่วไปแล้ว python APIs จะจัดการได้ง่ายกว่า TCL APIs แต่ ณ จุดนี้คุณจะถูก จำกัด เฉพาะตระกูล Nexus


หมายเหตุ 1ยกเว้นเพียงฉันรู้ว่าเป็นของซิสโก้ 3550 ซึ่งไม่ได้มีtclshใน 12.2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.