EOS 位于 Arista 云网络解决方案的核心,专门构建为完全可编程且高度模块化。Arista EOS 提供丰富的 API 集,使用标准的和众所周知的管理协议。它在所有层上都可以编程-- Linux 内核、硬件转发表、交换机配置和 CLI、交换机控制平面以及管理层。EOS 的这种可编程性能够实现与众多第三方应用程序的快速集成,以进行虚拟化、管理、自动化、编排和网络服务。
标准、未经修改的 Linux 是 EOS 的底层操作系统,为客户提供对所有 Linux 操作系统工具的访问。EOS 可通过现成的 Linux 应用程序和越来越多的开源管理工具来扩展,以便满足网络工程和运营的需求。
可扩展性和可编程性
EOS 能够编写脚本和将应用程序直接加载到 Linux 操作系统上并将这些应用程序作为访客 VM 运行。EOS 可扩展性的特性包括:
- 无修改安装用于 Linux 的第三方软件
- 脚本编制和 Linux shell 级访问以进行自动化
- 在所有层上都可以编程:Linux 内核、硬件转发表、交换机配置和 CLI、交换机控制平面以及管理层。
- 支持直接在交换机上运行 Docker 容器
EOS 提供一套丰富的基于标准、众所周知的可编程接口,包括:
- Linux
- 使用 JSON 的 EOS 可扩展 API (eAPI)
- 基于开源 Go、Python 和 Ruby 的对象模型
- 盒脚本上的本机 Go 和 Python
- XMPP
- 高级事件管理器
- SQLite 数据库
- OpenFlow 和 DirectFlow
- EOS SDK
OpenFlow 和 DirectFlow
Arista EOS 支持由 OpenFlow 控制器控制的 OpenFlow 1.0 对流量进行过滤和重定向。Arista EOS 还支持无控制器模式,依靠 Arista DirectFlow 来引导流量通往 SDN 应用程序(例如 TAP 聚合程序)。
- DirectFlow 结合了可编程数据平面的灵活性和行之有效的路由与桥接技术的可靠性。
- 流程的可用匹配和操作包括 OpenFlow 1.0 规格中可用的匹配和操作,提供 SDN 社区所熟悉的标准匹配和操作策略。
- Arista DirectFlow 旨在为 OpenFlow 补充更大的灵活性和更广泛的生态系统集成。
使用 EOS 软件开发工具包 (SDK),客户能够以 C++、Python、Ruby 或 Go 开发其自己的自定义 EOS 应用程序 - EOS 以及其他 EOS 代理的一级成员应用程序。SDK 为 Arista EOS 中可用的软件抽象提供编程语言绑定,因此第三方代理可以访问交换机状态并对网络事件作出反应。例如,这些应用程序可以管理接口、IP 和 MPLS 路由,访问控制列表 (ACL),以及使用一组 API 在交换机和监视或网络控制器之间进行通信。