جزییات پروتکل OpenFlow

هر پیام OpenFlow با ساختار هدر مشابهی آغار می‌شود. ساختار ثابت آن شامل سه قسمت اصلی می‌باشد که در همه ورژن‌های OpenFlow یکسان است. قسمت اول، فیلد version است که نشان‌دهنده ورژن OpenFlow مورد استفاده در این پیام می‌باشد. دوم، فیلد length است که نمایانگر محل اتمام پیام در byte stream می‌باشد (از اولین بایت هدر). سوم، xid یا شناسه تراکنش، که یک مقدار منحصر به فرد است که برای مشخص نمودن ارتباط بین درخواست‌ها و پاسخ‌ها استفاده می‌شود. فیلد type که نشان‌دهنده نوع پیام و چگونگی تفسیر پیلود است وابسته به ورژن می‌باشد.

ساختار پیام

هدر پروتکل OpenFlow

نام فیلد هدرتعداد بیتترتیب نمایشمحدوده
version۸= ۱
type۸۰ تا ۲۱
length۱۶MSBF≥ ۸
xid۳۲MSBFnone

 

منبع: OpenFlow Switch Specification 1.0.0,صفحات ۱۵-۱۶

ساختار پیام

هدر پروتکل OpenFlow

نام فیلد هدرتعداد بیتترتیب نمایشمحدوده
version۸= ۲
type۸۰ تا ۲۳
length۱۶MSBF≥ ۸
xid۳۲MSBFnone

 

منبع: OpenFlow Switch Specification 1.1.0, صفحات ۲۴-۲۵

ساختار پیام

هدر پروتکل OpenFlow

نام فیلد هدرتعداد بیتترتیب نمایشمحدوده
version۸= ۳
type۸۰ تا ۲۵
length۱۶MSBF≥ ۸
xid۳۲MSBFnone

 

منبع: OpenFlow Switch Specification 1.2, صفحات ۲۷-۲۸

ساختار پیام

هدر پروتکل OpenFlow
نام فیلد هدرتعداد بیتترتیب نمایشمحدوده
version۸= ۴
type۸۰ تا ۲۹
length۱۶MSBF≥ ۸
xid۳۲MSBFnone

 

منبع:  OpenFlow Switch Specification 1.3.0, صفحات ۳۴-۳۵

ساختار پیام

هدر پروتکل OpenFlow

نام فیلد هدرتعداد بیتترتیب نمایشمحدوده
version۸= ۵
type۸۰ تا ۲۱، ۲۴ تا ۳۴
length۱۶MSBF≥ ۸
xid۳۲MSBFnone

 

منبع: OpenFlow Switch Specification 1.4, صفحات ۴۴-۴۶

ساختار پیام

هدر پروتکل OpenFlow

نام فیلد هدرتعداد بیتترتیب نمایشمحدوده
version۸= ۵
type۸۰ تا ۲۱، ۲۴ تا ۳۵
length۱۶MSBF≥ ۸
xid۳۲MSBFnone

 

منبع: 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۱۲۳۴۵۶
۰HelloHelloHelloHelloHelloHello
۱ErrorErrorErrorErrorErrorError
۲EchoReqEchoReqEchoReqEchoReqEchoReqEchoReq
۳EchoResEchoResEchoResEchoResEchoResEchoRes
۴VendorExperimenterExperimenterExperimenterExperimenterExperimenter
۵FeatureReqFeatureReqFeatureReqFeatureReqFeatureReqFeatureReq
۶FeatureResFeatureResFeatureResFeatureResFeatureResFeatureRes
۷GetConfigReqGetConfigReqGetConfigReqGetConfigReqGetConfigReqGetConfigReq
۸GetConfigResGetConfigResGetConfigResGetConfigResGetConfigResGetConfigRes
۹SetConfigSetConfigSetConfigSetConfigSetConfigSetConfig
۱۰PacketInPacketInPacketInPacketInPacketInPacketIn
۱۱FlowRemovedFlowRemovedFlowRemovedFlowRemovedFlowRemovedFlowRemoved
۱۲PortStatusPortStatusPortStatusPortStatusPortStatusPortStatus
۱۳PacketOutPacketOutPacketOutPacketOutPacketOutPacketOut
۱۴FlowModFlowModFlowModFlowModFlowModFlowMod
۱۵PortModGroupModGroupModGroupModGroupModGroupMod
۱۶StatsReqPortModPortModPortModPortModPortMod
۱۷StatsResTableModTableModTableModTableModTableMod
۱۸BarrierReqStatsReqStatsReqMultipartReqMultipartReqMultipartReq
۱۹BarrierResStatsResStatsResMultipartResMultipartResMultipartRes
۲۰QueueGetConfigReqBarrierReqBarrierReqBarrierReqBarrierReqBarrierReq
۲۱QueueGetConfigResBarrierResBarrierResBarrierResBarrierResBarrierRes
۲۲QueueGetConfigReqQueueGetConfigReqQueueGetConfigReq
۲۳QueueGetConfigResQueueGetConfigResQueueGetConfigRes
۲۴RoleReqRoleReqRoleReqRoleReq
۲۵RoleResRoleResRoleResRoleRes
۲۶GetAsyncReqGetAsyncReqGetAsyncReq
۲۷GetAsyncResGetAsyncResGetAsyncRes
۲۸SetAsyncSetSyncSetAsync
۲۹MeterModMeterModMeterMod
۳۰RoleStatusRoleStatus
۳۱TableStatusTableStatus
۳۲RequestForwardRequestForward
۳۳BundleControlBundleControl
۳۴BundleAddMessageBundleAddMessage
۳۵ControllerStatus

منبع

flowgrammable

جزییات پروتکل OpenFlow
میانگین 5 امتیاز از 2 رای

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *