هر پیام OpenFlow با ساختار هدر مشابهی آغار میشود. ساختار ثابت آن شامل سه قسمت اصلی میباشد که در همه ورژنهای OpenFlow یکسان است. قسمت اول، فیلد version است که نشاندهنده ورژن OpenFlow مورد استفاده در این پیام میباشد. دوم، فیلد length است که نمایانگر محل اتمام پیام در byte stream میباشد (از اولین بایت هدر). سوم، xid یا شناسه تراکنش، که یک مقدار منحصر به فرد است که برای مشخص نمودن ارتباط بین درخواستها و پاسخها استفاده میشود. فیلد type که نشاندهنده نوع پیام و چگونگی تفسیر پیلود است وابسته به ورژن میباشد.
ساختار پیام
نام فیلد هدر | تعداد بیت | ترتیب نمایش | محدوده |
version | ۸ | – | = ۱ |
type | ۸ | – | ۰ تا ۲۱ |
length | ۱۶ | MSBF | ≥ ۸ |
xid | ۳۲ | MSBF | none |
منبع: OpenFlow Switch Specification 1.0.0,صفحات ۱۵-۱۶
ساختار پیام
نام فیلد هدر | تعداد بیت | ترتیب نمایش | محدوده |
version | ۸ | – | = ۲ |
type | ۸ | – | ۰ تا ۲۳ |
length | ۱۶ | MSBF | ≥ ۸ |
xid | ۳۲ | MSBF | none |
منبع: OpenFlow Switch Specification 1.1.0, صفحات ۲۴-۲۵
ساختار پیام
نام فیلد هدر | تعداد بیت | ترتیب نمایش | محدوده |
version | ۸ | – | = ۳ |
type | ۸ | – | ۰ تا ۲۵ |
length | ۱۶ | MSBF | ≥ ۸ |
xid | ۳۲ | MSBF | none |
منبع: OpenFlow Switch Specification 1.2, صفحات ۲۷-۲۸
ساختار پیام
نام فیلد هدر | تعداد بیت | ترتیب نمایش | محدوده |
version | ۸ | – | = ۴ |
type | ۸ | – | ۰ تا ۲۹ |
length | ۱۶ | MSBF | ≥ ۸ |
xid | ۳۲ | MSBF | none |
منبع: OpenFlow Switch Specification 1.3.0, صفحات ۳۴-۳۵
ساختار پیام
نام فیلد هدر | تعداد بیت | ترتیب نمایش | محدوده |
version | ۸ | – | = ۵ |
type | ۸ | – | ۰ تا ۲۱، ۲۴ تا ۳۴ |
length | ۱۶ | MSBF | ≥ ۸ |
xid | ۳۲ | MSBF | none |
منبع: OpenFlow Switch Specification 1.4, صفحات ۴۴-۴۶
ساختار پیام
نام فیلد هدر | تعداد بیت | ترتیب نمایش | محدوده |
version | ۸ | – | = ۵ |
type | ۸ | – | ۰ تا ۲۱، ۲۴ تا ۳۵ |
length | ۱۶ | MSBF | ≥ ۸ |
xid | ۳۲ | MSBF | none |
منبع: OpenFlow Switch Specification 1.5, صفحات ۶۰-۶۱
تکامل پیامهای OpenFlow در ورژنهای مختلف
OFP 1.0 |
OFP 1.1 |
OFP 1.2 |
OFP 1.3 |
OFP 1.4 |
OFP 1.5 |
|
فیلد type/فیلد Version | ۱ | ۲ | ۳ | ۴ | ۵ | ۶ |
۰ | Hello | Hello | Hello | Hello | Hello | Hello |
۱ | Error | Error | Error | Error | Error | Error |
۲ | EchoReq | EchoReq | EchoReq | EchoReq | EchoReq | EchoReq |
۳ | EchoRes | EchoRes | EchoRes | EchoRes | EchoRes | EchoRes |
۴ | Vendor | Experimenter | Experimenter | Experimenter | Experimenter | Experimenter |
۵ | FeatureReq | FeatureReq | FeatureReq | FeatureReq | FeatureReq | FeatureReq |
۶ | FeatureRes | FeatureRes | FeatureRes | FeatureRes | FeatureRes | FeatureRes |
۷ | GetConfigReq | GetConfigReq | GetConfigReq | GetConfigReq | GetConfigReq | GetConfigReq |
۸ | GetConfigRes | GetConfigRes | GetConfigRes | GetConfigRes | GetConfigRes | GetConfigRes |
۹ | SetConfig | SetConfig | SetConfig | SetConfig | SetConfig | SetConfig |
۱۰ | PacketIn | PacketIn | PacketIn | PacketIn | PacketIn | PacketIn |
۱۱ | FlowRemoved | FlowRemoved | FlowRemoved | FlowRemoved | FlowRemoved | FlowRemoved |
۱۲ | PortStatus | PortStatus | PortStatus | PortStatus | PortStatus | PortStatus |
۱۳ | PacketOut | PacketOut | PacketOut | PacketOut | PacketOut | PacketOut |
۱۴ | FlowMod | FlowMod | FlowMod | FlowMod | FlowMod | FlowMod |
۱۵ | PortMod | GroupMod | GroupMod | GroupMod | GroupMod | GroupMod |
۱۶ | StatsReq | PortMod | PortMod | PortMod | PortMod | PortMod |
۱۷ | StatsRes | TableMod | TableMod | TableMod | TableMod | TableMod |
۱۸ | BarrierReq | StatsReq | StatsReq | MultipartReq | MultipartReq | MultipartReq |
۱۹ | BarrierRes | StatsRes | StatsRes | MultipartRes | MultipartRes | MultipartRes |
۲۰ | QueueGetConfigReq | BarrierReq | BarrierReq | BarrierReq | BarrierReq | BarrierReq |
۲۱ | QueueGetConfigRes | BarrierRes | BarrierRes | BarrierRes | BarrierRes | BarrierRes |
۲۲ | – | QueueGetConfigReq | QueueGetConfigReq | QueueGetConfigReq | – | – |
۲۳ | – | QueueGetConfigRes | QueueGetConfigRes | QueueGetConfigRes | – | – |
۲۴ | – | – | RoleReq | RoleReq | RoleReq | RoleReq |
۲۵ | – | – | RoleRes | RoleRes | RoleRes | RoleRes |
۲۶ | – | – | – | GetAsyncReq | GetAsyncReq | GetAsyncReq |
۲۷ | – | – | – | GetAsyncRes | GetAsyncRes | GetAsyncRes |
۲۸ | – | – | – | SetAsync | SetSync | SetAsync |
۲۹ | – | – | – | MeterMod | MeterMod | MeterMod |
۳۰ | – | – | – | – | RoleStatus | RoleStatus |
۳۱ | – | – | – | – | TableStatus | TableStatus |
۳۲ | – | – | – | – | RequestForward | RequestForward |
۳۳ | – | – | – | – | BundleControl | BundleControl |
۳۴ | – | – | – | – | BundleAddMessage | BundleAddMessage |
۳۵ | – | – | – | – | – | ControllerStatus |
منبع

دیدگاهتان را بنویسید