Open vSwitch流表管理

2021-09-24 08:15:20 字數 2147 閱讀 5672

任務目的

1、了解open vswitch流表的基本概念。

2、掌握流表的基本命令,學會新增、刪除、檢視流表,為後續實驗做準備。

任務環境

裝置名稱

軟體環境

硬體環境

交換機ubuntu 14.04命令列版

open vswitch 2.3.1

cpu:1核 記憶體:2g 磁碟:20g

注:系統預設的賬戶為root/root@openlab,openlab/user@openlab。

任務內容

1、學習open vswitch流表的基本概念。

2、學習常用的流表命令,進行流表的新增、刪除、檢視等操作。

實驗原理

openflow是用於管理交換機流表的協議,ovs-ofctl是open vswitch提供的命令列工具。在沒有配置openflow控制器的模式下,使用者可以使用ovs-ofctl命令通過openflow協議連線open vswitch來建立、修改或刪除open vswitch中的流表項,並對open vswitch的執行狀況進行動態監控。ovs-ofctl關於流表管理的常用命令如下表所示。

對於add-flow、add-flows和mod-flows這3個命令,還需要指定要執行的動作actions=[target],[target]…,乙個流規則中可能有多個動作,按照指定的先後順序執行。

常見的流表操作如下表所示。

在openflow***中,flow被定義為某個特定的網路流量。例如,乙個tcp連線就是乙個flow,或者從某個ip位址發出來的資料報,都可以被認為是乙個flow。支援openflow協議的交換機應該包括乙個或多個流表,流表中的條目包含:資料報頭的資訊、匹配成功後要執行的指令和統計資訊。當資料報進入ovs後,會將資料報和流表中的流表項進行匹配,如果發現了匹配的流表項,則執行該流表項中的指令集。相反,如果資料報在流表中沒有發現任何匹配,ovs會通過控制通道把資料報發到openflow控制器中。在ovs中,流表項作為ovs-ofctl的引數,採用如下的格式:字段=值,如果有多個字段,可以用逗號或空格分開,一些常用的字段列舉如下表所示。

實驗步驟

由上圖可知,可以檢視到交換機dpid、流表數量、效能引數、動作引數、mac位址等資訊。

# ovs-ofctl dump-flows br0
由上圖可知,輸出的結果中包含了各埠上收到的資料報數,位元組數,丟包數,錯誤資料報數等。

# ovs-ofctl add-flow br0 idle_timeout=1000,priority=17,in_port=3,actions=output:2
說明:這條流表項的作用是將埠3接收到的資料報從埠2輸出。

# ovs-ofctl dump-flows br0
# ovs-ofctl del-flows br0 in_port=3

# ovs-ofctl dump-flows br0

Open vSwitch流表應用實戰

本文參考 open vswitch流表應用實戰 乙個通過改變流表下發而實現的互相通訊實驗。原理 我們可以通過對流表操作來控制交換機的 行為。啟動odl cd 目錄 bin odl的bin目錄 karaf 等到終端a出現 listening on port 12001 bound on address...

Open vSwitch流表應用實戰

本文參考 open vswitch流表應用實戰 乙個通過改變流表下發而實現的互相通訊實驗。原理 我們可以通過對流表操作來控制交換機的 行為。啟動odl cd 目錄 bin odl的bin目錄 karaf 等到終端a出現 listening on port 12001 bound on address...

Openflow流表學習

任務目的 1 掌握openflow流表和流表項基礎知識。2 掌握openflow流表匹配規則。3 掌握基本的openflow流表操作方法。任務環境 裝置名稱 軟體環境 映象 硬體環境 控制器ryu4.7.0桌面版 cpu 2核 記憶體 4g 磁碟 20g 交換機open vswitch 2.3.1命...