咱們把同一時間通過同一網絡中,具備某種共同特徵或屬性的數據,抽象爲一個流
好比:咱們將訪問同一個地址的數據視爲一個流
流通常是由網絡管理員定義的,能夠根據不一樣的流執行不一樣的策略,
在OpenFlow中,數據都是做爲流進行處理的。
因此流表就是針對特定流的策略表項的集合,負責數據包的查找和轉發
一張流表包含了一系列的流表項flow entries
動做表用於指示交換機,在收到匹配的數據包後應該如何進行處理
動做轉發,與交換機的端口直接相關。OpenFlow交換機的端口是交換機傳遞數據包的網絡接口。
交換機經過接口和其餘交換機創建邏輯鏈接
物理端口、邏輯端口不作介紹
其中匹配表按照優先級進行排序,從高到低
若是匹配成功,對應計數器進行更新並去執行相應動做
若是表項沒有對應的動做執行,則數據包將會被丟棄
若是沒有找到匹配的表項,則封裝數據包轉發給控制器
包頭解析是爲了獲得數據分組的12元組(包頭域)
1.初始化包頭 2.根據以太網類型獲得VLAN或三層IP的信息 3.根據IP分組頭中的協議類型,肯定是TCP/UDP/ICMP協議 4.獲得四層的TCP/UDP的源目的端口號或者ICMP類型和編碼