中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

openvswitch的原理和常用命令介紹

發布時間:2021-09-09 15:58:21 來源:億速云 閱讀:287 作者:chen 欄目:云計算

本篇內容介紹了“openvswitch的原理和常用命令介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一.Openvswitch工作原理

  openvSwitch是一個高質量的、多層虛擬交換機,使用開源Apache2.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。
  openvswitch是一個虛擬交換軟件,主要用于虛擬機VM環境,作為一個虛擬交換機,支持Xen/XenServer,KVM以及virtualBox多種虛擬化技術。在這種虛擬化的環境中,一個虛擬交換機主要有兩個作用:傳遞虛擬機之間的流量,以及實現虛擬機和外界網絡的通信。
  內核模塊實現了多個“數據路徑”(類似于網橋),每個都可以有多個“vports”(類似于橋內的端口)。每個數據路徑也通過關聯一下流表(flow table)來設置操作,而這些流表中的流都是用戶空間在報文頭和元數據的基礎上映射的關鍵信息,一般的操作都是將數據包轉發到另一個vport。當一個數據包到達一個vport,內核模塊所做的處理是提取其流的關鍵信息并在流表中查找這些關鍵信息。當有一個匹配的流時它執行對應的操作。如果沒有匹配,它會將數據包送到用戶空間的處理隊列中(作為處理的一部分,用戶空間可能會設置一個流用于以后碰到相同類型的數據包可以在內核中執行操作)。

1.OpenvSwitch的組成###

  • ovs-vswitchd:OVS守護進程是,OVS的核心部件,實現交換功能,和Linux內核兼容模塊一起,實現基于流的交換(flow-based switching)。它和上層 controller 通信遵從 OPENFLOW 協議,它與 ovsdb-server 通信使用 OVSDB 協議,它和內核模塊通過netlink通信,它支持多個獨立的 datapath(網橋),它通過更改flow table 實現了綁定和VLAN等功能。   

  • ovsdb-server:輕量級的數據庫服務,主要保存了整個OVS 的配置信息,包括接口啊,交換內容,VLAN啊等等。ovs-vswitchd 會根據數據庫中的配置信息工作。它于 manager 和 ovs-vswitchd 交換信息使用了OVSDB(JSON-RPC)的方式。

  • ovs-dpctl:一個工具,用來配置交換機內核模塊,可以控制轉發規則。  

  • ovs-vsctl:主要是獲取或者更改ovs-vswitchd 的配置信息,此工具操作的時候會更新ovsdb-server 中的數據庫。  

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

  • ovsdbmonitor:GUI 工具來顯示ovsdb-server 中數據信息。  

  • ovs-controller:一個簡單的OpenFlow 控制器  

  • ovs-ofctl:用來控制OVS 作為OpenFlow 交換機工作時候的流表內容。

2. OpenvSwitch的工作流程###

  1.VM實例 instance 產生一個數據包并發送至實例內的虛擬網絡接口 VNIC,圖中就是 instance 中的 eth0.
  2.這個數據包會傳送到物理機上的VNIC接口,如圖就是vnet接口.
  3.數據包從 vnet NIC 出來,到達橋(虛擬交換機) br100 上.
  4.數據包經過交換機的處理,從物理節點上的物理接口發出,如圖中物理機上的 eth0 .
  5.數據包從 eth0 出去的時候,是按照物理節點上的路由以及默認網關操作的,這個時候該數 據包其實已經不受你的控制了.
  注:一般 L2 switch 連接 eth0 的這個口是一個 trunk 口, 因為虛擬機對應的 VNET 往往會設置 VLAN TAG, 可以通過對虛擬機對應的 vnet 打 VALN TAG 來控制虛擬機的網絡廣播域. 如果跑多個虛擬機的話, 多個虛擬機對應的 vnet 可以設置不同的 vlan tag, 那么這些虛擬機的數據包從 eth0(4)出去的時候, 會帶上TAG標記. 這樣也就必須是 trunk 口才行。

3.OpenvSwitch簡單應用實例###

  通過以下命令即可實現:

root[@localhost](https://my.oschina.net/u/570656):~# ovs-vsctl add-br br0 
root[@localhost](https://my.oschina.net/u/570656):~# ovs-vsctl add-port br0 eth0 
root[@localhost](https://my.oschina.net/u/570656):~# ovs-vsctl add-port br0 eth2

4.Openvswitch常見操作

  添加網橋:

ovs-vsctl add-br br0

  列出所有網橋:

ovs-vsctl list-br

  判斷網橋是否存在:

ovs-vsctl br-exists br0

  將物理網卡掛載到網橋上:

ovs-vsctl add-port br0 eth0

  列出網橋中的所有端口:

ovs-vsctl list-ports br0

  列出所有掛載到網卡的網橋:

ovs-vsctl port-to-br eth0

  查看ovs的網絡狀態:

ovs-vsctl show

  刪除網橋上已經掛載的網口:

ovs-vsctl del-port br0 eth0

  刪除網橋:

ovs-vsctl del-br br0

  設置控制器:

ovs-vsctl set-controller br0 tcp:ip:6633

  刪除控制器:

ovs-vsctl del-controller br0

  設置支持OpenFlow Version 1.3:

ovs-vsctl set bridge br0 protocols=OpenFlow13

  刪除OpenFlow支持設置:

ovs-vsctl clear bridge br0 protocols

  設置vlan標簽:

ovs-vsctl add-port br0 vlan3 tag=3 -- set interface vlan3 type=internal

  刪除vlan標簽:

ovs-vsctl del-port br0 vlan3

  查詢 VLAN:

ovs-vsctl show 
ifconfig vlan3

  查看網橋上所有交換機端口的狀態:

ovs-ofctl dump-ports br0

  查看網橋上所有的流規則:

ovs-ofctl dump-flows br0

  查看ovs的版本:

ovs-ofctl -V

“openvswitch的原理和常用命令介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛教| 祁连县| 凉城县| 扶沟县| 景洪市| 华坪县| 云浮市| 依安县| 浮山县| 德昌县| 磐石市| 景洪市| 山西省| 新田县| 深泽县| 钟山县| 板桥市| 华安县| 新邵县| 天全县| 若尔盖县| 金华市| 色达县| 邯郸市| 香河县| 太谷县| 神木县| 大竹县| 舒城县| 苏尼特右旗| 星子县| 文安县| 延川县| 长沙县| 定远县| 右玉县| 襄城县| 北宁市| 宁明县| 房产| 陆川县|