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

پروتکل OpenFlow

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

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

ساختار پیام

هدر پروتکل OpenFlow

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

منابع

OpenFlow Switch Specification 1.0.0,صفحات ۱۵-۱۶

ساختار پیام

هدر پروتکل OpenFlow

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

منابع

OpenFlow Switch Specification 1.1.0, صفحات ۲۴-۲۵

ساختار پیام

هدر پروتکل OpenFlow

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

منابع

OpenFlow Switch Specification 1.2, صفحات ۲۷-۲۸

ساختار پیام

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

منابع

OpenFlow Switch Specification 1.3.0, صفحات ۳۴-۳۵

ساختار پیام

هدر پروتکل OpenFlow

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

منابع

OpenFlow Switch Specification 1.4, صفحات ۴۴-۴۶

ساختار پیام

هدر پروتکل OpenFlow

نام فیلد هدر تعداد بیت ترتیب نمایش محدوده
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

منبع

flowgrammable

پاسخ دهید

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