OpenFlow1.3.3 學習記錄(持續更新) 正在學習OpenFlow1.3,該篇筆記將日常更新,主要內容大致為官方文檔的總結與翻譯。 交換機組件 按照優先順序順序進行包匹配,如果匹配到流表項,則執行流表項中綁定的Instructions;如果沒有匹配到流表項,將根據table miss的配置進行 ...
OpenFlow1.3.3 學習記錄(持續更新)
正在學習OpenFlow1.3,該篇筆記將日常更新,主要內容大致為官方文檔的總結與翻譯。
交換機組件
按照優先順序順序進行包匹配,如果匹配到流表項,則執行流表項中綁定的Instructions;如果沒有匹配到流表項,將根據table-miss的配置進行操作,轉發到controller,drop,next flow table。Instruction包括:actions或者修改流水線配置。
OpenFlow Ports
- Standard Ports
- Physical Ports
- Reserved Ports
- ALL
- 除了輸入埠和設置OFPPC_NO_FWD埠
- 只能作為out_port
- CONTROLLER
- out_port時:被封裝packet-in
- TABLE
- 僅在作為packet_out中的output action中有效
- IN_PORT
- only: out_port
- ANY
- 沒有指定埠時代表特殊含義;
- 不能作為in_port, out_port
- NORMAL
FLOOD
埠改變
Packet轉發到不存在的埠,將執行drop操作;對於組表同樣,但組表的表現可能會受liveness checking影響。
- ALL
當埠狀態改變時,最好刪除相關的流表項。
OpenFlow流表
Pipeline Processing
交換機分兩類:
- OpenFlow-only
- OpenFlow-hybrid 支持傳統交換機和OpenFlow交換機操作
流表至少有一個,從0開始,流水線從第一個流表開始處理。當匹配到流表項,則開始執行instruction設置的操作。流表項可以將一個包指向到另外一個流表項(GotoTable),但只能向前不能回退。最後一個流表項,不能被指向到其他流表項。
如果沒有匹配到流表項,根據table-miss流表項進行操作。如果沒有table-miss設置,預設drop。
Flow Table
Match Fields | Piority | Counters | Instructions | Timeouts | Cookie | Flags |
---|
- couters: 當匹配到包進行更新
未完,待續