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

一:流表

(一)流的概念

咱們把同一時間通過同一網絡中,具備某種共同特徵或屬性的數據,抽象爲一個流
好比:咱們將訪問同一個地址的數據視爲一個流
流通常是由網絡管理員定義的,能夠根據不一樣的流執行不一樣的策略,
在OpenFlow中,數據都是做爲流進行處理的。
因此流表就是針對特定流的策略表項的集合,負責數據包的查找和轉發
一張流表包含了一系列的流表項flow entries

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

(三)包頭域

(四)計數器 

 

 (五)動做表

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

動做分類

OpenFlow端口類型 

動做轉發,與交換機的端口直接相關。OpenFlow交換機的端口是交換機傳遞數據包的網絡接口。
交換機經過接口和其餘交換機創建邏輯鏈接

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

流表動做列表 

二:數據包

(一)數據包的處理流程

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

(二)包頭解析匹配流程

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

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

三:後續版本的變化

(一)流表項結構的變化

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

 

 

相關文章
相關標籤/搜索