OpenvSwitch入门:Linux主机上配置与模块详解

需积分: 13 5 下载量 81 浏览量 更新于2024-07-24 收藏 453KB PDF 举报
OpenVSwitch (OVS) 是一款开源的虚拟交换机,它采用Apache2.0许可协议,由 Nicira Networks 开发,旨在提供高度灵活且可扩展的网络解决方案。OVS 主要由两个关键组件组成:ovs-vswitchd 和 ovsdb-server。 1. **ovs-vswitchd** 是核心模块,它作为守护进程运行,包含一个可移植的 Linux 内核模块,实现了一个流交换功能,负责在虚拟机之间转发流量,类似于传统的物理交换机。这个模块支持多种虚拟化技术,如 Xen, KVM 和 VirtualBox,允许在分布式环境中部署,如VMware的vNetwork分布式vswitch 或 Cisco Nexus 1000V。 2. **ovsdb-server** 是一个轻量级数据库服务器,用于存储和管理OVS的配置信息。它为ovs-vswitchd 提供配置数据,使得管理员能够远程监控和调整网络设置。 3. **ovs-brcompatd** 和 ovs-dpctl 是为了与Linux Bridge兼容,使得OVS能替换现有的桥接机制,同时提供必要的接口来控制和监控网络设备。 4. **安装辅助脚本** 如 ovsscripts 和 Citrix XenServer 上的默认switch,简化了在特定平台上的部署流程。 5. **管理和控制工具** 如 ovs-vsctl 用于查询和更新配置,ovs-appctl 发送命令给daemon,ovsdbmonitor 提供图形界面,方便远程监控数据库和OpenFlow流表。 6. **OpenFlow 支持** OVS 提供了 ovs-openflowd 作为简单的OpenFlow交换机,ovs-controller 作为控制器,ovs-ofctl 用于管理和操作这些OpenFlow组件。此外,ovs-pki 管理公钥框架,而 ovs-tcpundump 则是tcpdump的一个增强版本,专门解析OpenFlow消息。 7. **运行原理** OVS 的工作原理涉及多个数据路径(类似于网桥),每个数据路径拥有多个虚拟端口(vports),类似于桥接中的端口。数据路径内部维护一个流表,根据规则匹配和处理数据包,实现了基于软件的网络转发。 OpenVSwitch是一个强大的网络虚拟化工具,它不仅支持传统网络管理方式,还利用OpenFlow协议实现自动化网络配置和管理,适用于云计算和数据中心的灵活网络架构。通过理解和配置这些组件,管理员能够高效地构建和调整虚拟网络环境。