天天看點

OpenFlow協定-整體結構和協定篇

OpenFlow

SDN結構的一個執行個體,一系列規範的集合,由 Open Networking Forum (ONF)維護。

這些規範的關鍵是一個抽象的包處理機定義,called switch.

switch使用一個資料包内容集合和交換機配置狀态來處理資料包。

protocol定義來管理switch的配置狀态以及接受switch事件。

最後,controller通過這個協定來管理許多switches的配置狀态,并對事件做出respond.

OpenFlow協定-整體結構和協定篇

Fig 1. OpenFlow Overview

Protocol decomposition

OpenFlow協定可以被分解為四個部分: message layer, state machine, system interface, and configuration. 

OpenFlow協定-整體結構和協定篇

Fig 2. Protocol decomposition

Message Layer:是協定棧的關鍵,為所有messages定義有效的結構和語義。典型的消息層支援construct,copy, compare, print and manipulate messages.

State Machine: 狀态機定義了協定的關鍵的底層行為。典型的,用來描述actions,例如:negotiation, capability discover, flow control. delivery等。

System Interface: 系統接口定義了協定如何與外部世界互動,典型的辨別了必要的和可選的接口以及它們的預期用途,比如TLS和TCP作為傳輸通道。

Configuration: 計劃協定的各方面都有配置或者初始值。配置可以覆寫所有,從預設buffer sizes and reply intervals to X.509 certificates.

Data Model: 另一種考慮OpenFlow協定的方法是了解它的底層資料模型。每個交換機維護一個關系資料模型,其中包含每個OpenFlow抽象的屬性。這些屬性可以描述抽象能力、配置狀态或一些目前統計資料。

http://flowgrammable.org/sdn/openflow/#tab_protocol