概述
openvswitch,一种支持open flow协议的虚拟交换机,简称为ovs。类似于我们常说的交换机,只不过它通过远端的controller来进行管理(可以预先下发一些流表到ovs,或者根据首包被送到controller来下发新的流表),根据流表的匹配结果,来执行相应的action(丢弃、转发等)。
网络架构
各个组件间关系
datapath:内核模块,根据流表信息,对收到的数据包进行处理(根据流表的action进行操作)
vswitched:是ovs的核心模块,在用户态。用于和远端管理界面通信(openflow等),同时与datapath利用netlink进行通信(下发流表等)。所有的配置存储在ovsdb,与ovsdb-server利用socket进行通信。
ovsdb-server:用于对外提供配置修改和存储的server
ovsdb:配置保存在这里
ovsdb-tool:命令行的配置的增删改查
ovsdb-client:通过远端,对配置进行增删改查
ovs-vsctl:ovs配置的增删改查
ovs-appctl:与vswitched进行命令交互
ovs-fpctl:查看和控制openflow交换机的flow表
ovs-dpctl:可以直接配置datapath的工具