6g下載網
當前位置: 主頁 > 軟件教程 > 云計算 >

OpenvSwitch系統架構介紹

時間: 2017-01-17 14:35 來源: 本站整理

分享到:

今天小編整理一篇OpenvSwitch系統架構介紹的文章和大家分享,希望能給大家提供幫助。

OpenvSwitch系統架構

OVS的架構分為內核空間、用戶空間、配置管理層3個部分,如下圖所示。內核空間包含了流表(Flow Table)和一個或多個Datapath模塊,其中Datapath模塊類似于網橋,主要負責對數據分組進行操作,另外內核空間中維護的流表規定了針對數據分組應該進行的操作,Datapath通過關聯流表與其協同完成分組處理過程。用戶空間中運行著OVS的守護進程(OpenvSwitch Daemon,vswitchd)和數據庫(Open vSwitch Database,ovsdb),它們是OVS的核心功能模塊,vswitchd類似于OVS的心臟,它維持著OVS的生命周期,而ovsdb就像OVS的大腦,它存儲著OVS的配置信息和數據流信息,vswitchd和ovsdb協調工作確保OVS健康的運行狀態。配置管理層包括ovs-dpctl、ovs-ofctl、ovs-appctl、ovs-vsctl和ovsdb-tool等,主要用于和vswitchd、ovsdb之間進行交互操作以及OVS的安裝配置和部署。

OpenvSwitch系統架構介紹

OpenvSwitch的組成

(1)OVS內核空間(包含Datapath和流表)

· Datapath:主要負責實際的數據分組處理,把從接收端口收到的數據包在流表中進行匹配,并執行匹配到的動作。它同時與vswitchd和流表保持關聯,使OVS上層可以對數據分組處理進行控制。

· 流表:流表中存儲著分組處理的依據--流表項,每個Datapath 都和一個流表關聯,當Datapath接收到數據之后,OVS會在流表中查找可以匹配的flow(流表項),執行對應的操作,例如轉發數據到另外的端口。同時還與vswitchd進程上下關聯,是OVS上層對底層分組處理過程進行管理的接口。

(2)OVS用戶空間(vswitchd和ovsdb)

· vswitchd:守護程序,實現交換功能,和Linux內核模塊一起,實現基于流的交換flow-based switching,負責檢索和更新數據庫信息,并根據數據庫中的配置信息維護和管理OVS。Vswitchd可以配置一些列特性:基于MAC地址學習的二層交換、支持IEEE 802.1Q VLAN 、端口鏡像、sFlow監測、連接OpenFlow控制器等。Vswitchd也可以通過Netlink協議與內核模塊Datapath直接通信。

· ovsdb-server:輕量級的數據庫服務,主要保存了整個OVS的配置信息和數據流信息,ovsdb-server直接管理ovsdb,與ovsdb通信進行數據庫的增刪改查操作。Vswitchd可以通過socket與ovsdb-server進行通信,用于查詢和更新數據庫信息,或者在檢索數據庫信息后做出首個數據包的轉發策略。

(3)OVS管理工具

· ovs-dpctl:管理OVS Datapath的實用工具,用來配置交換機內核模塊,控制數據包的轉發規則。可以創建、修改和刪除Datapath。

· ovs-vsctl:查詢和配置OVS數據庫的實用工具,用于查詢或修改vswitchd的配置信息,該工具會直接更新ovsdb數據庫。

· ovs-appctl:主要是向OVS守護進程發送命令的工具,一般用不上。

· ovs-ofctl:用來控制OVS作為OpenFlow交換機工作時的各種參數,它是OVS提供的命令行工具。在沒有配置 OpenFlow控制器的模式下,用戶可以使用 ovs-ofctl命令通過 OpenFlow協議去連接 OVS,創建、修改或刪除 OVS中的流表項,并對 OVS的運行狀況進行動態監控。

· ovs-pki:OpenFlow交換機創建和管理公鑰框架。

· ovs-tcpundump:tcpdump的補丁,解析 OpenFlow的消息。

OpenvSwitch系統架構介紹的文章和大家分享結束,感謝閱讀!

(責任編輯:大衛)

分享到:

------分隔線----------------------------
? 35选7福利彩票