Open vSwitch 簡介

  1. 概述linux

    Open vSwitch 是一個高質量的、多層虛擬交換機,使用開源 Apache 2.0 許可協議,由
    Nicira Networks 開發,主要實現代碼爲可移植的 C 代碼。
    它的目的是讓大規模網絡自動化能夠經過編程擴展,同時仍然支持標準的管理接口和協
    議(例如 NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。此 外,它被設計位支持跨越多個物
    理服務器的分佈式環境,相似於 VMware 的 vNetwork 分佈式 vswitch 或 Cisco Nexus 1000 V。
    Open vSwitch 支持多種 linux 虛擬化技術,包括 Xen/XenServer, KVM,和 VirtualBox。
    數據庫

  2. 模塊介紹編程

    當前最新代碼包主要包括如下模塊和特性:
    ovs-vswitchd 主要模塊,實現 switch 的 daemon,包括一個支持流交換的 Linux 內核模塊;
    ovsdb-server 輕量級數據庫服務器,提供 ovs-vswitchd 獲取配置信息;
    ovs-brcompatd 讓 ovs-vswitch 替換 Linux bridge,包括獲取 bridge ioctls 的 Linux 內核模塊;
    ovs-dpctl 用來配置 switch 內核模塊;
    一些 Scripts and specs 輔助 OVS 安裝在 Citrix XenServer 上,做爲默認 switch;
    ovs-vsctl 查詢和更新 ovs-vswitchd 的配置;
    ovs-appctl 發送命令消息,運行相關 daemon;
    ovsdbmonitor GUI 工具,能夠遠程獲取 OVS 數據庫和 OpenFlow 的流表。
    此外, OVS 也提供了支持 OpenFlow 的特性實現,包括
    ovs-openflowd: 一個簡單的 OpenFlow 交換機;
    ovs-controller: 一個簡單的 OpenFlow 控制器;
    ovs-ofctl 查詢和控制 OpenFlow 交換機和控制器;
    ovs-pki : OpenFlow 交換機建立和管理公鑰框架;
    ovs-tcpundump: tcpdump 的補丁,解析 OpenFlow
    服務器

  3. 運行原理網絡

    內核模塊實現了多個「數據路徑」(相似於網橋),每一個均可以有多個「vports」(相似於橋內的app

    端口)。每一個數據路徑也經過關聯一下流表( flow table)來設置操做,而這些流表中的流都框架

    是用戶空間在報文頭和元數據的基礎上映射的關鍵信息,通常的操做都是將數據包轉發到另tcp

    一個 vport。 當一個數據包到達一個 vport,內核模塊所作的處理是提取其流的關鍵信息並在分佈式

    流表中查找這些關鍵信息。當有一個匹配的流時它執行對應的操做。若是沒有匹配,它會將工具

    數據包送到用戶空間的處理隊列中(做爲處理的一部分,用戶空間可能會設置一個流用於以

    碰到相同類型的數據包能夠在內核中執行操做)

相關文章
相關標籤/搜索