现代的虚拟化技术使得开发和部署高级网络服务变得更加简单方便。基于虚拟化的网络服务,具有多样性,低成本,易集成,易管理,低持有成本等优点。而虚拟交换机已经成为了一个高度虚拟化环境不可缺少的一部分。OpenVSwitch是所有虚机交换机中的佼佼者,广泛被各种SDN方案采用。

OpenVSwitch kernel datapath

OpenVSwitch是一个实现了OpenFlow的虚拟交换机,它由多个模块组成。主要有位于用户空间的ovsdb-server和ovs-vswitchd进程,和位于内核空间的OVS datapath组成。在一个SDN架构中,Controller将各种网络拓扑,网络功能转换成OVS的数据和OpenFlow规则,分别下发给ovsdb-server和ovs-vswitchd进程,OpenFlow规则可以通过ovs-ofctl dump-flows查看。
网络数据的转发,都是由位于内核空间的OVS datapath完成。用户空间和内核空间的信息是怎么同步的?对于一个网络数据流,第一个数据包到达OVS datapath,这个时候的datapath没有转发信息,并不知道怎么完成转发。接下来OVS datapath会查询位于用户空间的ovs-vswitchd进程。ovs-vswitchd进程因为有OpenFlow信息,可以根据OpenFlow规则完成match-action操作,也就是从一堆OpenFlow规则里面匹配网络数据包对应的规则,根据这些规则里的action实现转发。
这样第一

本文探讨了OpenVSwitch在虚拟化技术中的重要角色,特别是在软件定义网络(SDN)中的应用。OpenVSwitch包括用户空间的ovsdb-server、ovs-vswitchd和内核空间的OVS datapath组件。数据包的转发首先依赖于用户空间的ovs-vswitchd根据OpenFlow规则进行匹配,然后同步到内核空间的datapath,实现高效转发。随着转发规则的建立,后续数据包能直接在datapath中处理,提高性能。
最低0.47元/天 解锁文章
1494

被折叠的 条评论
为什么被折叠?



