Neutron调试指南
Neutron会在计算节点和网络节点维护两组“固定”结构的网桥,Neutron所有的功能都是针对这两组“网桥”完成的。
OpenvSwtich命令行工具
- Bridge: Bridge 代表一个以太网交换机(Switch),一个主机中可以创建一个或者多个Bridge 设备。
- Port: 端口与物理交换机的端口概念类似,每个 Port 都隶属于一个 Bridge。
- Interface: 连接到 Port 的网络接口设备。在通常情况下,Port 和 Interface 是一对一的关系, 只有在配置 Port 为 bond 模式后,Port 和 Interface
- Controller: OpenFlow 控制器。OVS 可以同时接受一个或者多个 OpenFlow 控制器的管理。
- datapath: 在 OVS 中,datapath 负责执行数据交换,也就是把从接收端口收到的数据包在流表中进行匹配,并执行匹配到的动作。
- Flow table: 每个 datapath 都和一个“flow table”关联,当 datapath 接收到数据之后, OVS 会在 flow table 中查找可以匹配的 flow,执行对应的操作, 例如转发数据到另外的端口。
ovs-vsctl是查询ovs−vswitchd配置信息的命令行工具,可以通过这个工具查看、新增、删除、编辑OVS网桥、端口。
#添加网桥
ovs-vsctl add-br br-int
#列出网桥
ovs-vsctl list-br
#给网桥添加端口
ovs-vsctl add-port br-int tap-xxx
#列出挂载某网络接口的所有网桥
ovs-vsctl port-to-br tap-xxx
#查看全部信息
ovs-vsctl show
#查看所有网桥
ovs-vsctl list bridge
#修改端口 p1 的 VLAN tag 为 101,使端口 p1 成为一个隶属于 VLAN 101 的端口
ovs-vsctl set Port p1 tag=101
ovs-ofctl是个查询Flow Table的命令行工具
#查看某个网桥上的Flow Table
ovs-ofctl dump-flows <br>
#查看某个网桥上的统计信息
ovs-ofctl dump-ports <br>
br-int, br-tun桥
br-tun在图中被写做br-eth1。这两个网桥是由OVS管理的,br-tun会把所有进入到本机的overlay(也有资料叫:encapsulated)数据包转换成vlan数据包(根据不同的SDN技术,收到的数据包可能是GRE、VxLAN);把所有从br-int收到的vlan数据包转换成overlay网络数据包。所有的数据包处理过程是通过它上面的Flow Table实现的。