Openflow流表學習

2021-08-17 11:34:23 字數 1728 閱讀 4829

任務目的

1、 掌握openflow流表和流表項基礎知識。

2、 掌握openflow流表匹配規則。

3、 掌握基本的openflow流表操作方法。

任務環境

裝置名稱

軟體環境(映象)

硬體環境

控制器ryu4.7.0桌面版

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

交換機open vswitch 2.3.1命令列版

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

主機mininet2.2.0桌面版

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

注:root使用者的使用者名稱/密碼為root/root@openlab

openlab使用者的使用者名稱/密碼為openlab/user@openlab

任務內容

1、 學習openflow流表和流表項基礎知識。

2、 學習openflow流表匹配規則。

3、 學習基本的openflow流表操作方法。

實驗原理

實驗步驟

說明:當前有正在進行的實驗課程時,請單擊「結束」,結束課程。

第一條流表無匹配字段,動作為發往控制器的65535埠,實質上為table-miss流表項;第二條流表匹配欄位為:dl_dst:01:80:c2:00:00:0e(目的mac位址為01:80:c2:00:00:0e,該位址為mac組播位址),dl_type=0x88cc(mac幀攜帶的上層資料型別為0x88cc,該**表示lldp協議),動作為發往控制器的65535埠。該流表項表示將接收到的lldp組播資料報發往控制器,用於拓撲發現,後續實驗會有詳細介紹。

說明:如果控制器剛啟動就檢視流表,流表項可能少於6條。等待幾分鐘便可檢視到全部6條流表項。

說明:主機2的ip位址要根據實際情況替換。

交換機收到資料報後匹配當前的流表項,由於無匹配項,故將資料報**給控制器,觸發packet_in訊息。控制器傳送flow_mod訊息作為響應,並下發與該資料報相關的流表項,指導交換機進行**。

紅色標記處為兩條新增的流表。第一條含義為:從交換機埠1進入的流量將從埠2**出去。第二條含義為:從交換機埠2進入的流量將從埠1**出去。

說明:由實驗拓撲可知,此時交換機埠1連線主機1,交換機埠2連線主機2。所以上述流表項表示主機1與主機2之間的流量可以互通。

$ ovs-ofctl add-flow br-sw 『dl_type=0x0800,nw_src=10.0.0.7,nw_dst=10.0.0.11, priority=27,table=0,actions=drop』
該流表項的匹配字段包括:dl_type=0x0800(mac幀上一層為ip協議)、nw_src=10.0.0.7(源ip位址為10.0.0.7)、nw_dst=10.0.0.11(目的ip位址為10.0.0.11);優先順序priority設為27,高於其他流表,故優先執行;table id為0,即將該流表項下發到table 0中。該流表項表示:從主機10.0.0.7發往主機10.0.0.11的ip包將被拋棄。

實驗平台**:

軟體定義網路基礎 OpenFlow流表

我們把同一時間經過同一網路中,具有某種共同特徵或屬性的資料,抽象為乙個流 流一般是由網路管理員定義的,可以根據不同的流執行不同的策略,在openflow中,資料都是作為流進行處理的。所以流表就是針對特定流的策略表項的集合,負責資料報的查詢和 一張流表包含了一系列的流表項flow entries 動作...

OpenFlow交換機 之 流表

所謂流表,其實可被視作是openflow對網路裝置的資料 功能的一種抽象。在傳統網路裝置中,交換機和路由器的資料 需要依賴裝置中儲存的二層mac位址 表或者三層ip位址路由表,而openflow交換機中使用的流表也是如此,不過在它的表項中整合了網路中各個層次的網路配置資訊,從而在進行資料 時可以使用...

軟體定義網路的安全性與openflow流表

sdn將傳統封閉的網路體系解耦為資料平面 控制平面 和應用平面 為使用者提供了良好的網路可程式設計性,但同時也引入了眾多 單點失效 南 北向介面協議的 安全性難以控制等問題.新的一頁 本文的目的和原因 此外,sdn 動態 開放的可程式設計架構也間接地為攻擊 者提供了便捷 有效的攻擊手段和方式,使得他...