RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

認識Open vSwitch的基礎(chǔ)與原理

汽車電子技術(shù) ? 來源:碼農(nóng)與軟件時代 ? 作者: 碼農(nóng)與軟件時代 ? 2023-02-14 14:44 ? 次閱讀

一、概況

隨著服務(wù)器虛擬化技術(shù)的發(fā)展,網(wǎng)絡(luò)虛擬化也需要解決從NIC到虛機的“最后一公里”問題,便產(chǎn)生了許多虛擬交換機開源方案:Open vSwitch、Snabb Switch 和 Lagopus,其中Open vSwitch的知名度最高。

Open vSwitch項目早在2009年,就已孵化誕生,于2012年7月30日發(fā)布第一個開源版本V1.7.0,內(nèi)核datapath已經(jīng)被納入Linux內(nèi)核作為發(fā)行版的一部分。

二、工作原理

1.組件

l ovsdb-server將配置信息保存在conf.db中,并通過db.sock提供服務(wù),ovs-vswitchd通過這個db.sock從這個進程讀取配置信息。

l ovs-vswitchd: OVS守護進程,實現(xiàn)基于流的交換(flow-based switching)。與controller通信使用OpenFlow協(xié)議,與ovsdb-server通信使用OVSDB協(xié)議,與內(nèi)核模塊使用netlink機制通信。

l ovsdb-server: OVS輕量級的數(shù)據(jù)庫服務(wù)器,用于保存整個OVS的配置信息。

l Forwarding Path(數(shù)據(jù)通路):Datapath把流的match和action結(jié)果緩存,避免后續(xù)同樣的流繼續(xù)upcall到用戶空間進行流表匹配。

圖片

2.工作流程

①OVS的datapath接收到從OVS連接的某個網(wǎng)絡(luò)設(shè)備發(fā)來的數(shù)據(jù)包,從數(shù)據(jù)包中提取源/目的IP、源/目的MAC、端口等信息。

②OVS在內(nèi)核狀態(tài)下查看流表結(jié)構(gòu)(通過Hash),觀察是否有緩存的信息可用于轉(zhuǎn)發(fā)這個數(shù)據(jù)包。

③假設(shè)數(shù)據(jù)包是這個網(wǎng)絡(luò)設(shè)備發(fā)來的第一個數(shù)據(jù)包,在OVS內(nèi)核中,將不會有相應(yīng)的流表緩存信息存在,那么內(nèi)核將不會知道如何處置這個數(shù)據(jù)包。所以內(nèi)核將發(fā)送upcall給用戶態(tài)。

④位于用戶態(tài)的ovs-vswitchd進程接收到upcall后,將檢查數(shù)據(jù)庫以查詢數(shù)據(jù)包的目的端口是哪里,然后告訴內(nèi)核應(yīng)該將數(shù)據(jù)包轉(zhuǎn)發(fā)到哪個端口,例如eth0。

⑤內(nèi)核執(zhí)行用戶此前設(shè)置的動作。即內(nèi)核將數(shù)據(jù)包轉(zhuǎn)發(fā)給端口eth0,進而數(shù)據(jù)被發(fā)送出去。

三、命令接口

1.Open vSwitch提供了ovs-vsctl、ovs-ofctl、ovs-dpctl等命令,詳情如下:

圖片

l ovs-vsctl:管理ovsdb-server的配置,提供OVSDB的配置方法,包括創(chuàng)建和刪除網(wǎng)橋、端口等;

l ovs-ofctl:提供ovs-vswitchd的流表配置方法;

l ovs-dpctl:配置OVS內(nèi)核模塊,提供緩存流表的操作方法;

l ovsdb-tool:創(chuàng)建和管理OVSDB。

  1. 命令示例

(1)網(wǎng)橋管理

命令 功能
ovs-vsctl show 顯示OVS信息
ovs-vsctl add-brbr-name 添加新的網(wǎng)橋br-name
ovs-vsctl del-brbr-name 刪除br-name
ovs-vsctl list-br 顯示網(wǎng)橋br-name信息
ovs-vsctl list-portsbr-name 顯示網(wǎng)橋br-name中所有port信息
ovs-vsctl add-portbr-name port-no br-name添加端口
ovs-vsctl del-portbr-name port-no 刪除br-name上的端口
ovs-vsctl get-controllerbr-name 獲取br-name連接控制器的信息
ovs-vsctl del-controllerbr-name 刪除br-name連接控制器的信息
ovs-vsctl set-controller *br-name *tcp: [ip] : [port] br-name網(wǎng)橋連接控制器controller

(2)流表管理

命令 功能
ovs-ofctl showbr-name 輸出OpenFlow信息。
ovs-ofctl add-flowbr-name flow 添加流表項。
ovs-ofctl add-flowsbr-name filename 以文件形式批量添加流表項。
ovs-ofctl del-flowsbr-name flow 刪除交換機的流表項。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 交換機
    +關(guān)注

    關(guān)注

    21

    文章

    2637

    瀏覽量

    99529
  • 服務(wù)器虛擬化
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    7711
  • NIC
    NIC
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    12416
  • 網(wǎng)絡(luò)虛擬化

    關(guān)注

    0

    文章

    11

    瀏覽量

    2942
收藏 人收藏

    評論

    相關(guān)推薦

    怎樣在ls1046的板子上安裝Open vSwitch軟件呢

    我想在ls1046的板子上安裝Open vSwitch 軟件,要怎么做呢?用戶手冊上提到一個單獨編譯app的命令flex-builder -c apps -m ls1046ardb,但還是不懂怎么安裝第三方軟件
    發(fā)表于 01-13 09:36

    Open Universal Serial Bus Driv

    Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification This document specifies
    發(fā)表于 04-11 19:16 ?15次下載

    介紹OVN中的新功能

    本文檔主要是關(guān)于2017年8月底發(fā)布的Open vSwitch 2.8中添加的內(nèi)容,重點介紹OVN中的新功能。同時也涵蓋了即將在2018年2月發(fā)布的Open vSwitch和OVN 2
    發(fā)表于 03-06 10:05 ?2212次閱讀

    在單獨的Docker容器中運行TestPMD和PKTGEN

    In this video you'll build and launch two Docker containers that use Open vSwitch with DPDK support.
    的頭像 發(fā)表于 10-23 06:24 ?3141次閱讀

    用DPDK構(gòu)建開放式V交換機并準備啟動開放式交換機

    In this video you'll learn how to build DPDK, and then build Open vSwitch* with DPDK support. Then prepare the host system to run
    的頭像 發(fā)表于 10-18 03:03 ?3138次閱讀

    用DPDK打開虛擬交換機創(chuàng)建NFV的要求和步驟

    This video demonstrates the requirements and steps to run Open vSwitch with DPDK on the host
    的頭像 發(fā)表于 09-12 05:01 ?4087次閱讀

    用DPDK啟動VCwitter并配置端口

    In this video you'll learn to launch Open vSwitch* with DPDK support and then configure the bridge ports and flows.
    的頭像 發(fā)表于 09-11 05:51 ?3404次閱讀

    用DPDK支持構(gòu)建和啟動DOCKER容器

    In this video you'll build and launch two Docker containers that use Open vSwitch with DPDK support.
    的頭像 發(fā)表于 09-10 04:22 ?5026次閱讀

    使用DPDK打開VSwitch:架構(gòu)和性能

    使用DPDK打開VSwitch:架構(gòu)和性能
    的頭像 發(fā)表于 11-08 06:20 ?3476次閱讀

    Xilinx 宣布加入 Open RAN 政策聯(lián)盟

    2020年7月30日,中國北京 自適應(yīng)和智能計算的全球領(lǐng)先企業(yè)賽靈思公司(Xilinx, Inc.,(NASDAQ: XLNX))今日宣布加入 Open RAN 政策聯(lián)盟( Open RAN
    的頭像 發(fā)表于 07-30 11:49 ?2754次閱讀

    四家運營商攜手把open RAN作為未來通信網(wǎng)絡(luò)的首選技術(shù)部署

    雄心勃勃的合作,但是卻并未給出具體的open RAN部署時間表,由此可見,這四大運營商對于open RAN面臨的巨大技術(shù)挑戰(zhàn)有著非常清醒的認識?!袄茁暫艽蟆钡?b class='flag-5'>open RAN尚處于開發(fā)
    的頭像 發(fā)表于 01-29 10:48 ?1474次閱讀
    四家運營商攜手把<b class='flag-5'>open</b> RAN作為未來通信網(wǎng)絡(luò)的首選技術(shù)部署

    基于Linux的虛擬交換機Open vSwitch項目

      要點: Open vSwitch 是一個著名的基于 Linux 的虛擬交換機的開源項目。作為 Cisco 和 VMware 解決方案的替代方案,它是主要的創(chuàng)新平臺和公認的標準開放式交換機,可與 OpenFlow 一起使用。
    的頭像 發(fā)表于 06-22 14:31 ?2408次閱讀

    open函數(shù)-打開文件并返回文件對象

    open() 函數(shù)的作用open函數(shù)語法參考open()函數(shù)參數(shù)說明
    的頭像 發(fā)表于 02-23 10:06 ?9819次閱讀
    <b class='flag-5'>open</b>函數(shù)-打開文件并返回文件對象

    SDNLAB技術(shù)分享:Open vSwitch匹配處理流程和拓展性

    相比在ovs源碼中添加自定義action,自定義匹配域顯得關(guān)系更為復(fù)雜凌亂一些。為了讓和匹配域相關(guān)的模塊條理更加清楚明了,我盡量將要提到的相關(guān)模塊關(guān)系化,防止漏掉和匹配域相關(guān)的部分。這里先給出總體架構(gòu)圖:
    發(fā)表于 06-16 09:30 ?537次閱讀
    SDNLAB技術(shù)分享:<b class='flag-5'>Open</b> <b class='flag-5'>vSwitch</b>匹配處理流程和拓展性

    2195億!open RAN

    11月2日消息,一家市場調(diào)研公司counterpoint research預(yù)計,到2030年,電信網(wǎng)絡(luò)運營啥將在open RAN方面花費300億美元(約合人民幣2195.58億元)。2025年之后移動網(wǎng)絡(luò)運營商的open RAN投資將開始同比增長。
    的頭像 發(fā)表于 11-02 16:26 ?645次閱讀
    RM新时代网站-首页