OpenFlow协议1.0讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 2、asynchronous(异步)消息 • 3、 symmetric(对称)消息
其中每一类消息又有多个子消息类型。
三、OF协议:协议头数据结 构
OF 协议头部:
/* Header on all OpenFlow packets. */ struct ofp_header { uint8_t version; /* OFP_VERSION. */ uint8_t type; /* One of the OFPT_ constants. */ uint16_t length; /* Length including this ofp_header. */ uint32_t xid; /* Transaction id associated with this packet. Replies use the same id as was in the request
Openflow 1.0.0 报告
余显 2013年7月11日
YOUR LOGO
目录
1、SDN简介
2、openflow介绍
一、SDN简介
1、SDN是一种新型网络架构,核心思想: 1、数据与控制平面相结合; 2、统一的厂商无关控制和数据平面开放接口; 3、逻辑集中的控制平面; 4、顶层服务或网络控制应用通过物理资源的抽象构建逻辑的全网视图; 5、通过分片和虚拟化底层网络实现资源的优化利用和调度。 2、SDN结构:
1.3版本
结束
三、OF协议:控制器控制 流表修改的数据结构
• • • • • • • • • • • • • • • • • • • • • • • /* Flow setup and teardown (controller -> datapath). */ struct ofp_flow_mod { struct ofp_header header; struct ofp_match match; /* Fields to match */ uint64_t cookie; /* Opaque controller-issued identifier. */ /* Flow actions. */ uint16_t command; /* One of OFPFC_*. */ uint16_t idle_timeout; /* Idle time before discarding (seconds). */ uint16_t hard_timeout; /* Max time before discarding (seconds). */ uint16_t priority; /* Priority level of flow entry. */ uint32_t buffer_id; /* Buffered packet to apply to (or -1). Not meaningful for OFPFC_DELETE*. */ uint16_t out_port; /* For OFPFC_DELETE* commands, require matching entries to include this as an output port. A value of OFPP_NONE indicates no restriction. */ uint16_t flags; /* One of OFPFF_*. */ struct ofp_action_header actions[0]; /* The action length is inferred from the length field in the header. */ }; OFP_ASSERT(sizeof(struct ofp_flow_mod) == 72);
三、OF协议:端口数据结 构
端口结构: /* Description of a physical port */ struct ofp_phy_port { uint16_t port_no; uint8_t hw_addr[OFP_ETH_ALEN]; char name[OFP_MAX_PORT_NAME_LEN]; /* Null-terminated */ uint32_t config; /* Bitmap of OFPPC_* flags. */ uint32_t state; /* Bitmap of OFPPS_* flags. */ /* Bitmaps of OFPPF_* that describe features. All bits zeroed if * unsupported or unavailable. */ uint32_t curr; /* Current features. */ uint32_t advertised; /* Features being advertised by the port. */ uint32_t supported; /* Features supported by the port. */ uint32_t peer; /* Features advertised by peer. */ }; OFP_ASSERT(sizeof(struct ofp_phy_port) == 48);
三、OF协议:流匹配数据 结构
• • • • • • • • • • • • • • • • • • • struct ofp_match { uint32_t wildcards; /* Wildcard fields. */ uint16_t in_port; /* Input switch port. */ uint8_t dl_src[OFP_ETH_ALEN]; /* Ethernet source address. */ uint8_t dl_dst[OFP_ETH_ALEN]; /* Ethernet destination address. */ uint16_t dl_vlan; /* Input VLAN id. */ uint8_t dl_vlan_pcp; /* Input VLAN priority. */ uint8_t pad1[1]; /* Align to 64-bits */ uint16_t dl_type; /* Ethernet frame type. */ uint8_t nw_tos; /* IP ToS (actually DSCP field, 6 bits). */ uint8_t nw_proto; /* IP protocol or lower 8 bits of * ARP opcode. */ uint8_t pad2[2]; /* Align to 64-bits */ uint32_t nw_src; /* IP source address. */ uint32_t nw_dst; /* IP destination address. */ uint16_t tp_src; /* TCP/UDP source port. */ uint16_t tp_dst; /* TCP/UDP destination port. */ }; OFP_ASSERT(sizeof(struct ofp_match) == 40);
二、OpenFlow宏观介绍:OpenFlow网络结构图
Controller对网络进行集中控制, 实现控制层的功能
FlowVisor对网络进行虚拟化
OpenFlow交பைடு நூலகம்机进行数 据层的转发
二、OpenFlow宏观介绍:OF结构和组成
1、OpenFlow是SDN重要的实现方式,是SDN中的一部分 2、OpenFlow结构:OpenFlow协议和OpenFlow交换机
三、OF协议:控制器控制 流表修改的数据结构
• • • • • • • • • • • • • • • • 1、控制修改命令: enum ofp_flow_mod_command { OFPFC_ADD, /* New flow. */ OFPFC_MODIFY, /* Modify all matching flows. */ OFPFC_MODIFY_STRICT, /* Modify entry strictly matching wildcards */ OFPFC_DELETE, /* Delete all matching flows. */ OFPFC_DELETE_STRICT /* Strictly match wildcards and priority. */ }; 2、flags域的取值: enum ofp_flow_mod_flags { OFPFF_SEND_FLOW_REM = 1 << 0, /* Send flow removed message when flow * expires or is deleted. */ OFPFF_CHECK_OVERLAP = 1 << 1, /* Check for overlapping entries first. */ OFPFF_EMERG = 1 << 2 /* Remark this is for emergency. */ };
3、OpenFlow交换机组成:
二、OpenFlow宏观介绍:交换机流处理过程
1、OpenFlow交换机流处理过程:
二、OpenFlow宏观介绍: 数据流量的匹配过程
1、流的匹配过程:
二、OpenFlow宏观介绍: 包头解析的匹配流程
1、流的匹配过程:
三、OF协议:消息类 型
• 1、controller-to-switch 消息