SDN |
您所在的位置:网站首页 › flow动作 › SDN |
目录 OpenFlow1.0代码 OpenFlow交换机流表 包头域 计数器 行动 流表匹配 OpenFlow消息 OpenFlow消息格式 对称消息 建立OpenFlow连接(OFPT_HELLO消息) 报告错误(OFPT_ERROR消息) 获取交换机特性信息(Features消息) 异步消息 交换机接收数据包(Packet-in消息) 控制器-交换机消息 控制器配置流表(Flow-Mod消息) 交换机转发数据包(Packet-Out消息) OpenFlow1.0代码文中所有数据结构请查看openflow1.0源代码 提取码:g3nq 在include->openflow->openflow.h中 白皮书openflow-spec-v1.0.0.pdf也在里面 OpenFlow交换机流表OpenFlow交换机中的转发表称为流表(Flow Table),列表中的每个条目称为表项,每个表项包括三个域,包头域(header field),计数器(counters),行动(actions)。 包头域数据包匹配特征: 一层:交换机入端口(Ingress Port)二层:源MAC地址(Ether source)、目的MAC地址(Ether dst)、以太网类型(Ether Type)、VLAN标签(VLAN id)、VLAN优先级(VLAN priority)三层:源IP(IP src)、目的IP(IP dst)、IP协议字段(IP proto)、IP服务类型(IPToS bits)四层:TCP/UDP源端口号(TCP/UDP src port)、TCP/UDP目的端口号(TCP/UDP dst port) 包头域/匹配字段 Ingress PortEther SourceEther stEther typeVLAN idVLAN priorityIP srcIP dstIP protoIP ToS bitsTCP/UDP src portTCP/UDP dst port对数据包匹配特征的描述 / *与流量匹配的字段* / struct ofp_match { uint32_t wildcards; / *通配符字段。 * / uint16_t in_port; / *输入开关端口。 * / uint8_t dl_src [OFP_ETH_ALEN]; / *以太网源地址。 * / uint8_t dl_dst [OFP_ETH_ALEN]; / *以太网目标地址。 * / uint16_t dl_vlan; / *输入VLAN ID。 * / uint8_t dl_vlan_pcp; / *输入VLAN优先级。 * / uint8_t pad1 [1]; / *对齐64位* / uint16_t dl_type; / *以太网帧类型。 * / uint8_t nw_tos; / * IP ToS(实际上是DSCP字段,6位)。 * / uint8_t nw_proto; / * IP协议或以下的低8位 * ARP操作码。 * / uint8_t pad2 [2]; / *对齐64位* / uint32_t nw_src; / * IP源地址。 * / uint32_t nw_dst; / * IP目标地址。 * / uint16_t tp_src; / * TCP / UDP源端口。 * / uint16_t tp_dst; / * TCP / UDP目标端口。 * / };相对于前面所说,多了三个字段,分别是wildcards、pad1[1]、pad2[2],作用如翻译所写。 wildcards字段 / *流通配符。 * / enum of_p_flow_wildcards{ OFPFW_IN_PORT = 1 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |