计算机网络:ovn数据通信都是用了哪些协议?

在OVN(Open Virtual Network)架构中,中央节点(主要包括ovn-northdOVN Southbound DBOVN Northbound DB )与数据节点(主要是运行ovn-controller的计算节点)之间的通信,主要依赖以下两种核心协议:

1. OVSDB协议(Open vSwitch Database Protocol)

  • 作用 :用于中央节点的数据库(南北向数据库)与数据节点的ovn-controller之间的配置同步
    • 中央节点的ovn-northd会将北向数据库(定义逻辑网络)的配置翻译为南向数据库(具体流表规则),数据节点的ovn-controller通过OVSDB协议监听南向数据库的变化,获取本地需要执行的网络规则。
  • 特点
    • 基于JSON-RPC,运行在TCP之上,默认端口为6642 (南向数据库通信)和6643(北向数据库通信,较少直接用于数据节点)。
    • 采用"发布-订阅"模式,数据节点会主动订阅数据库的变更,实现配置的实时同步。

2. Geneve协议(Generic Network Virtualization Encapsulation)

  • 作用 :用于数据节点之间(以及数据节点与网关节点)的隧道通信 ,承载虚拟网络流量。
    • 虽然Geneve主要用于数据平面的流量转发,但中央节点通过OVSDB配置的隧道规则(如端点IP、VNI等),最终依赖Geneve实现跨节点的虚拟网络包封装/解封装。
  • 特点
    • 一种通用的网络虚拟化封装协议,基于UDP,默认端口为6081
    • 支持灵活的元数据携带,适合多租户场景。

总结

  • 控制平面(配置同步):OVSDB协议(TCP 6642/6643)。
  • 数据平面(流量转发):Geneve协议(UDP 6081)。

这两种协议共同支撑了OVN从中央节点到数据节点的完整通信链路。