Lập trình, tự động hóa và thông tin của Cisco IOS


11

Tôi bối rối về Cisco IOS và tôi có một số câu hỏi về điều đó.

Cisco IOS được sử dụng trong các bộ định tuyến và các thiết bị khác.

Có thể viết mã (như PHP) cho điều đó?

Nếu có thể, tôi có thể sử dụng ngôn ngữ nào?

Điều khiến tôi bối rối không phải là cách làm việc với Cisco IOS; Đó là về việc tôi có thể phát triển và thay đổi bộ định tuyến hoặc các thiết bị khác theo những gì tôi cần cho mạng hay không?

Câu trả lời:


18
  1. Hầu như mọi Note 1 hệ thống Cisco IOS chạy ít nhất IOS 12.2 đều có khả năng lập trình vỏ tcl tích hợp . Bạn có thể lưu trữ các tập lệnh tcl trong flash và chạy chúng.

  2. Cisco IOS cũng có một môi trường lập trình gốc nhẹ gọi là EEM (Trình quản lý sự kiện nhúng). Các sự kiện EEM có thể được kích hoạt bởi nhiều loại đầu vào, chẳng hạn như các gói trên một cổng nhất định (thông qua Netflow), thông điệp tường trình hoặc giao diện lên / xuống. Hãy nghĩ về EEM như một tập hợp con của các khả năng tclsh trong iOS; EEM hút ít hơn so với lập trình trong TCL, nhưng bạn cũng nhận được hỗ trợ tính năng nổi bật tùy thuộc vào bản phối iOS mà bạn đang xử lý. EEM có thể được chạy theo lịch trình cron nếu phù hợp với nhu cầu của bạn. Ở dưới cùng của câu trả lời này , tôi đã bao gồm một tập lệnh EEM ví dụ; Hãy nhớ rằng EEM là tốt nhất cho các số lượng nhỏ của các câu lệnh "if-this, do-that" ... khi bạn muốn bắt đầu xác định các hàm và như vậy, chỉ cần cắn viên đạn và sử dụng tclsh.

  3. Các sản phẩm mới của Cisco hỗ trợ một bộ API SDN đóng hộp đặc biệt rộng hơn tôi có thể giải thích trong khi gõ trên điện thoại di động của mình; một ví dụ từ gia đình này bao gồm Cisco APIC , nhưng đó chỉ là bề mặt của những gì họ có sẵn.

  4. Tôi sẽ cảm thấy hối hận nếu tôi không chỉ ra rằng hầu hết các kịch bản của Cisco được thực hiện trong 20 năm qua là thông qua quét màn hình , snmp và (những ngày này) NETCONF. Bất cứ điều gì bạn có thể làm từ CLI, đều có thể được tự động hóa thông qua quét màn hình; Tôi đã dành một phần lớn sự nghiệp của mình để làm việc này. Những kẻ phá hoại màn hình thường lưu trữ các tập lệnh của chúng trên một hệ thống linux bên ngoài và kết nối với một bộ định tuyến bằng vũ khí do chính chúng lựa chọn ... thường là một trong những ngôn ngữ sau:

  5. Cuối cùng, các sản phẩm Cisco Nexus mới hơn có API Python (chẳng hạn như sản phẩm này cho Nexus 9K); API python thường dễ xử lý hơn API TCL, nhưng tại thời điểm này, bạn bị giới hạn trong gia đình Nexus.


Lưu ý 1 Ngoại lệ duy nhất tôi biết là Cisco 3550, không có tclshtrong 12.2 .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.