軟件定義網絡基礎---OpenFlow流表


一:流表

(一)流的概念

我們把同一時間經過同一網絡中,具有某種共同特征或屬性的數據,抽象為一個流
比如:我們將訪問同一個地址的數據視為一個流
流一般是由網絡管理員定義的,可以根據不同的流執行不同的策略,
在OpenFlow中,數據都是作為流進行處理的。
所以流表就是針對特定流的策略表項的集合,負責數據包的查找和轉發
一張流表包含了一系列的流表項flow entries

(二)流表項組成 (包頭域、計數器、動作表3個)

(三)包頭域

(四)計數器 

 

 (五)動作表

動作表用於指示交換機,在收到匹配的數據包后應該如何進行處理

動作分類

OpenFlow端口類型 

動作轉發,與交換機的端口直接相關。OpenFlow交換機的端口是交換機傳遞數據包的網絡接口。
交換機通過接口和其他交換機建立邏輯連接

物理端口、邏輯端口不做介紹

流表動作列表 

二:數據包

(一)數據包的處理流程

其中匹配表按照優先級進行排序,從高到低
如果匹配成功,對應計數器進行更新並去執行相應動作
如果表項沒有對應的動作執行,則數據包將會被丟棄
如果沒有找到匹配的表項,則封裝數據包轉發給控制器

(二)包頭解析匹配流程

包頭解析是為了得到數據分組的12元組(包頭域)

1.初始化包頭 2.根據以太網類型得到VLAN或三層IP的信息 3.根據IP分組頭中的協議類型,確定是TCP/UDP/ICMP協議 4.得到四層的TCP/UDP的源目的端口號或者ICMP類型和編碼

三:后續版本的變化

(一)流表項結構的變化

(二)1.3版本中的組表和計量表 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM