Cisco IOS-Programmierung, Automatisierung und Informationen

11

Ich bin verwirrt über Cisco IOS und habe einige Fragen dazu.

Cisco IOS wird in Routern und anderen Geräten verwendet.

Ist es möglich, Code (wie PHP) dafür zu schreiben?

Welche Sprache kann ich verwenden, wenn es möglich ist?

Was mich verwirrt, ist nicht, wie man mit Cisco IOS arbeitet. Es geht darum, ob ich meinen Router oder andere Geräte entsprechend den Anforderungen für das Netzwerk entwickeln und ändern kann oder nicht.

Pooya Mahmoodi
quelle

Antworten:

18
  1. Fast jedes Note I Cisco IOS-System, auf dem mindestens IOS 12.2 ausgeführt wird, verfügt über eine integrierte Programmierbarkeit der tcl-Shell . Sie können tcl-Skripte in Flash speichern und ausführen.

  2. Cisco IOS verfügt auch über eine leichte native Programmierumgebung namens EEM (Embedded Event Manager). EEM-Ereignisse können durch eine Vielzahl von Eingaben ausgelöst werden, z. B. Pakete an einem bestimmten Port (über Netflow), Protokollnachrichten oder Schnittstellen nach oben / unten. Stellen Sie sich EEM als Teilmenge der tclsh-Funktionen in IOS vor. EEM ist weniger schlecht als das Programmieren in TCL, aber Sie erhalten auch eine fleckige Funktionsunterstützung, abhängig von dem IOS-Mix, mit dem Sie es zu tun haben. EEM kann nach einem Cron-Zeitplan ausgeführt werden, wenn dies Ihren Anforderungen entspricht. Am Ende dieser Antwort habe ich ein Beispiel-EEM-Skript eingefügt. Denken Sie daran, dass EEM am besten für eine kleine Anzahl von "if-this, do-that" -Anweisungen geeignet ist tclsh. Wenn Sie mit der Definition von Funktionen und dergleichen beginnen möchten, beißen Sie einfach in die Kugel und verwenden Sie sie .

  3. Neue Cisco-Produkte unterstützen einen speziellen Satz von SDN-APIs in Dosen, die breiter sind, als ich beim Tippen auf meinem Mobiltelefon erklären kann. Ein Beispiel aus dieser Familie ist Cisco APIC , aber das kratzt nur an der Oberfläche der verfügbaren Produkte.

  4. Ich würde mich sehr freuen, wenn ich nicht darauf hinweisen würde, dass die meisten Cisco - Skripte, die in den letzten 20 Jahren erstellt wurden, über Screen-Scraping , SNMP und (heutzutage) NETCONF erstellt wurden. Alles, was Sie über die CLI tun können, kann durch Screen-Scraping automatisiert werden. Ich habe einen großen Teil meiner Karriere damit verbracht, genau dies zu tun. Screen-Scraper hosten ihre Skripte normalerweise auf einem externen Linux-System und stellen mit der Waffe ihrer Wahl eine Verbindung zu einem Router her. Normalerweise ist dies eine dieser Sprachen:

  5. Schließlich verfügen die neueren Cisco Nexus-Produkte über eine Python-API (wie diese für das Nexus 9K). Python-APIs sind in der Regel einfacher zu handhaben als TCL-APIs. Derzeit sind Sie jedoch auf die Nexus-Familie beschränkt.


Hinweis 1 Die einzige mir bekannte Ausnahme ist der Cisco 3550, den es tclshin 12.2 nicht gibt .

Mike Pennington
quelle