CN109495387A - 流表匹配方法、装置、系统及计算机可读存储介质 - Google Patents

流表匹配方法、装置、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN109495387A
CN109495387A CN201710821010.5A CN201710821010A CN109495387A CN 109495387 A CN109495387 A CN 109495387A CN 201710821010 A CN201710821010 A CN 201710821010A CN 109495387 A CN109495387 A CN 109495387A
Authority
CN
China
Prior art keywords
flow table
field
oxm
head
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710821010.5A
Other languages
English (en)
Inventor
杨剑
苏卉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201710821010.5A priority Critical patent/CN109495387A/zh
Publication of CN109495387A publication Critical patent/CN109495387A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流表匹配方法、装置、系统及计算机可读存储介质,属于软件定义网络技术领域,该方法包括:获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;对所述头部进行扩展,以获取匹配的起始位置;对所述报文体进行扩展,以获取匹配的偏移量和长度;根据所述起始位置、偏移量和长度对流表进行匹配,通过对OXM字段扩展来进行匹配,能非常灵活地定位到需要匹配的报文内任意位置,提高了匹配的准确度和匹配效率。

Description

流表匹配方法、装置、系统及计算机可读存储介质
技术领域
本发明涉及软件定义网络技术领域,尤其涉及一种流表匹配方法、装置、系统及计算机可读存储介质。
背景技术
软件定义网络SDN(Software Defined Network)技术是一种有广泛应用前景的通信网络技术,其具有如下特征:第一,业务转发、处理与控制分离;第二,逻辑集中化控制;第三,网络业务可编程;第四,开放接口。
SDN技术主要由ONF(Open Networking Foundation)标准组织进行规范和定义,其中,Openflow协议是ONF定义的重要南向接口协议,控制器通过Openflow协议与网络设备进行信息交换,进行网络的控制和管理。
网络设备通过Openflow协议中流表的操作实现对业务的转发,在操作时,首先,根据收到分组包的类型进行流表的查找和匹配。通常,该查找和匹配的依据是分组包的头部域,如以太网的源地址、IPv4的目的地址、入端口、metadata域等。
目前Openflow协议中,匹配操作是基于分组数据包头中所携带的协议信息进行的。这种匹配方式,使得未来出现新的协议时,Oxm_field需要增加对应新协议的定义。因此,设备也需根据新的定义进行升级,使得对未来新协议的支持不方便、不灵活。
发明内容
有鉴于此,本发明的目的在于提供一种流表匹配方法、装置、系统及计算机可读存储介质,通过对OXM字段扩展来进行匹配,能非常灵活地定位到需要匹配的报文内任意位置,提高了匹配的准确度和匹配效率。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一个方面,提供的一种流表匹配方法,包括:
获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXMTLV格式,所述流表匹配域包括头部和报文体;
对所述头部进行扩展,以获取匹配的起始位置;
对所述报文体进行扩展,以获取匹配的偏移量和长度;
根据所述起始位置、偏移量和长度对流表进行匹配。
可选地,对所述头部进行扩展,以获取匹配的起始位置包括:
所述头部包括oxm-class字段和oxm-field字段;
在所述oxm-class字段内增加位置匹配类型定义;
在所述oxm-field字段内增加位置匹配域定义;
所述起始位置包括但不限于以下位置:分组报文的第一个字节、分组报文的二层头部、分组报文的三层头部、分组报文的四层头部和分组报文标签协议栈底。
可选地,对所述报文体进行扩展,以获取匹配的偏移量和长度包括:
在报文体中增加偏移量和长度的字段;
所述偏移量是指从所述起始位置开始向左或向右移动的位置;
所述长度是指从起始位置加偏移量的位置再向左或右移动预设的长度。
可选地,所述头部还包括oxm-hasmask字段和oxm-length字段;所述报文体还包括oxm-value字段和Mask字段。
根据本发明的另一个方面,提供的一种流表匹配装置,包括:
获取模块,用于获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;
第一扩展模块,用于对所述头部进行扩展,以获取匹配的起始位置;
第二扩展模块,用于对所述报文体进行扩展,以获取匹配的偏移量和长度;
匹配模块,用于根据所述起始位置、偏移量和长度对流表进行匹配。
可选地,所述第一扩展模块包括:
所述头部包括oxm-class字段和oxm-field字段;
在所述oxm-class字段内增加位置匹配类型定义;
在所述oxm-field字段内增加位置匹配域定义;
所述起始位置包括但不限于以下位置:分组报文的第一个字节、分组报文的二层头部、分组报文的三层头部、分组报文的四层头部和分组报文标签协议栈底。
可选地,所述第二扩展模块包括:
在报文体中增加偏移量和长度的字段;
所述偏移量是指从所述起始位置开始向左或向右移动的位置;
所述长度是指从起始位置加偏移量的位置再向左或右移动预设的长度。
可选地,所述头部还包括oxm-hasmask字段和oxm-length字段;所述报文体还包括oxm-value字段和Mask字段。
根据本发明的再一个方面,提供的一种流表匹配系统,包括存储器、处理器和至少一个被存储在所述存储器中并被配置为由所述处理器执行的应用程
序,所述应用程序被配置为用于执行以上所述的流表匹配方法。
根据本发明的再一个方面,提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上所述的流表匹配方法。
本发明实施例的一种流表匹配方法、装置、系统及计算机可读存储介质,该方法包括:获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;对所述头部进行扩展,以获取匹配的起始位置;对所述报文体进行扩展,以获取匹配的偏移量和长度;根据所述起始位置、偏移量和长度对流表进行匹配,通过对OXM字段扩展来进行匹配,能非常灵活地定位到需要匹配的报文内任意位置,提高了匹配的准确度和匹配效率。
附图说明
图1为本发明实施例一提供的一种流表匹配方法流程图;
图2为本发明实施例一提供的流表匹配域的头部格式示意图;
图3为本发明实施例一提供的流表匹配域的头部格式中各字段的释义图;
图4为本发明实施例一提供的流表匹配域的报文体格式示意图;
图5为本发明实施例二提供的一种流表匹配装置示范性结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,在本实施例中,一种流表匹配方法,包括:
S10、获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXMTLV格式,所述流表匹配域包括头部和报文体;
S20、对所述头部进行扩展,以获取匹配的起始位置;
S30、对所述报文体进行扩展,以获取匹配的偏移量和长度;
S40、根据所述起始位置、偏移量和长度对流表进行匹配。
在本实施例中,通过对OXM字段扩展来进行匹配,能非常灵活地定位到需要匹配的报文内任意位置,提高了匹配的准确度和匹配效率。
在本实施例中,软件定义网络SDN是一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
在本实施例中,Openflow协议将原来由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的。
在本实施例中,流表由很多个流表项组成,每个流表项就是一个转发规则。进入交换机的数据包通过查询流表来获得转发的目的端口;其中,流表项由匹配域(也称为头域、包头域)、计数器和操作组成,所述匹配域是流表项的标识,用于对交换机接收到的数据包的包头内容进行匹配。
在本实施例中,Openflow协议中,使用OXM(OpenFlow Extensible Match)TLV(type-length-value)格式来描述流表匹配域;所述流表匹配域包括头部和报文体,所述头部的长度为4字节,所述头部包括oxm-class字段和oxm-field字段;还包括oxm-hasmask字段和oxm-length字段;其格式如图2所示,头部中四个字段的长度和用途如图3所示。
在本实施例中,oxm-class字段定义如下:
OFPXMC_NXM_0=0x0000,/*Backward compatibility with NXM*/
OFPXMC_NXM_1=0x0001,/*Backward compatibility with NXM*/
OFPXMC_OPENFLOW_BASIC=0x8000,/*Basic class for OpenFlow*/
OFPXMC_PACKET_REGS=0x8001,/*Packet registers(pipeline fields).*/
OFPXMC_EXPERIMENTER=0xFFFF,/*Exper imenter class*/。
目前,SDN南向设备(网元)主要使用的是基础类型OFPXMC_OPENFLOW_BASIC=0x8000。
在本实施例中,oxm_field字段定义了匹配的类型,比如可以是分组数据包的入端口、以太网源(目的)地址、以太网帧类型、VLAN ID、IP源(目的)地址、TCP源(目的)地址、UDP源(目的)地址等。oxm_field字段的具体定义如下:
OFPXMT_OFB_IN_PORT=0,/*Switch input port.*/
OFPXMT_OFB_IN_PHY_PORT=1,/*Switch physical input port.*/
OFPXMT_OFB_METADATA=2,/*Metadata passed between tables.*/
OFPXMT_OFB_ETH_DST=3,/*Ethernet destination address.*/
OFPXMT_OFB_ETH_SRC=4,/*Ethernet source address.*/
OFPXMT_OFB_ETH_TYPE=5,/*Ethernet frame type.*/
OFPXMT_OFB_VLAN_VID=6,/*VLAN id.*/
OFPXMT_OFB_VLAN_PCP=7,/*VLAN priority.*/
OFPXMT_OFB_IP_DSCP=8,/*IP DSCP(6 bits in ToS field).*/
OFPXMT_OFB_IP_ECN=9,/*IP ECN(2 bits in ToS field).*/
OFPXMT_OFB_IP_PROTO=10,/*IP protocol.*/
OFPXMT_OFB_IPV4_SRC=11,/*IPv4 source address.*/
OFPXMT_OFB_IPV4_DST=12,/*IPv4 destination address.*/
OFPXMT_OFB_TCP_SRC=13,/*TCP source port.*/
OFPXMT_OFB_TCP_DST=14,/*TCP destination port.*/
OFPXMT_OFB_UDP_SRC=15,/*UDP source port.*/
OFPXMT_OFB_UDP_DST=16,/*UDP destination port.*/
OFPXMT_OFB_SCTP_SRC=17,/*SCTP source port.*/
OFPXMT_OFB_SCTP_DST=18,/*SCTP destination port.*/
OFPXMT_OFB_ICMPV4_TYPE=19,/*ICMP type.*/
OFPXMT_OFB_ICMPV4_CODE=20,/*ICMP code.*/
OFPXMT_OFB_ARP_OP=21,/*ARP opcode.*/
OFPXMT_OFB_ARP_SPA=22,/*ARP source IPv4 address.*/
OFPXMT_OFB_ARP_TPA=23,/*ARP target IPv4 address.*/
OFPXMT_OFB_ARP_SHA=24,/*ARP source hardware address.*/
OFPXMT_OFB_ARP_THA=25,/*ARP target hardware address.*/
OFPXMT_OFB_IPV6_SRC=26,/*IPv6 source address.*/
OFPXMT_OFB_IPV6_DST=27,/*IPv6 destination address.*/
OFPXMT_OFB_IPV6_FLABEL=28,/*IPv6 Flow Label*/
OFPXMT_OFB_ICMPV6_TYPE=29,/*ICMPv6 type.*/
OFPXMT_OFB_ICMPV6_CODE=30,/*ICMPv6 code.*/
OFPXMT_OFB_IPV6_ND_TARGET=31,/*Target address for ND.*/
OFPXMT_OFB_IPV6_ND_SLL=32,/*Source link-layer for ND.*/
OFPXMT_OFB_IPV6_ND_TLL=33,/*Target link-layer for ND.*/
OFPXMT_OFB_MPLS_LABEL=34,/*MPLS label.*/
OFPXMT_OFB_MPLS_TC=35,/*MPLS TC.*/
OFPXMT_OFP_MPLS_BOS=36,/*MPLS BoS bit.*/
OFPXMT_OFB_PBB_ISID=37,/*PBB I-SID.*/
OFPXMT_OFB_TUNNEL_ID=38,/*Logical Port Metadata.*/
OFPXMT_OFB_IPV6_EXTHDR=39,/*IPv6 Extension Header pseudo-field */
OFPXMT_OFB_PBB_UCA=41,/*PBB UCA header field.*/
OFPXMT_OFB_TCP_FLAGS=42,/*TCP flags.*/
OFPXMT_OFB_ACTSET_OUTPUT=43,/*Output port from action setmetadata.*/
OFPXMT_OFB_PACKET_TYPE=44,/*Packet type value.*/。
在本实施例中,步骤S20包括:
在所述oxm-class字段内增加位置匹配类型定义;具体定义如下:
OFPXMC_OPENFLOW_position=0x8002,/*位置匹配类型*/。
在所述oxm-field字段内增加位置匹配域定义;具体定义如下:
OFPXMT_OFB_fist_byte=45,/*从分组报文的第一个字节为匹配起始位置*/
OFPXMT_OFB_Second layer_head=46/*从分组报文的二层头部为匹配起始位置,如以太网头部*/
OFPXMT_OFB_third layer_head=47/*从分组报文的三层头部为匹配起始位置,如IP头部*/
OFPXMT_OFB_fourth layer_head=48/*从分组报文的四层头部为匹配起始位置,如TCP,UDP头部*/
OFPXMT_OFB_lable stack_bottom=49/*从分组报文标签协议栈底为匹配起始位置,如LSP,PW标签栈底*/。
也即,所述起始位置包括:分组报文的第一个字节、分组报文的二层头部、分组报文的三层头部、分组报文的四层头部和分组报文标签协议栈底。
在本实施例中,步骤S30包括:
在报文体中增加偏移量和长度的字段;
所述偏移量是指从所述起始位置开始向左或向右移动的位置;
所述长度是指从起始位置加偏移量的位置再向左或右移动预设的长度。
在本实施例中,所述偏移量的字节长度为8bit,取值范围-128至127;匹配长度的字节长度也为8bit。
如图4所示,在本实施例中,所述报文体还包括oxm-value字段和Mask字段;这里oxm_value指具体的匹配值,mask指具体的掩码值。
在本实施例中,以匹配以太网报文的第两个字节为“0x 01-80-c2-00”为例,先填写oxm_TLV头部,则,oxm_class字段填0x8002(位置匹配),oxm_field字段填45(从分组报文的第一个字节为匹配起始位置),oxm_hasmask字段填0,oxm_length字段填“10字节”;
再填写oxm_TLV报文体,则“偏移量”取“0”,“匹配长度”取“4字节”,“oxm_value”取“01-80-c2-00”,“mask”取“0”。
作为另一种实施例,以匹配控制字为高位4个bit为“0000”为例,先填写oxm_TLV头部,则,oxm_class字段填0x8002(位置匹配),oxm_field字段填49(从PW标签结束位置为匹配起始位置),oxm_hasmask字段填1,oxm_length字段填“4字节”;
再填写oxm_TLV报文体,则,“偏移量”取“0”,“匹配长度”取“1字节”,“oxm_value”取“0x 00”,“mask”取“oxF0”。
实施例二
如图5所示,在本实施例中,一种流表匹配装置,包括:
获取模块10,用于获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;
第一扩展模块20,用于对所述头部进行扩展,以获取匹配的起始位置;
第二扩展模块30,用于对所述报文体进行扩展,以获取匹配的偏移量和长度;
匹配模块40,用于根据所述起始位置、偏移量和长度对流表进行匹配。
在本实施例中,通过对OXM字段扩展来进行匹配,能非常灵活地定位到需要匹配的报文内任意位置,提高了匹配的准确度和匹配效率。
在本实施例中,软件定义网络SDN是一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
在本实施例中,Openflow协议将原来由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的。
在本实施例中,流表由很多个流表项组成,每个流表项就是一个转发规则。进入交换机的数据包通过查询流表来获得转发的目的端口;其中,流表项由匹配域(也称为头域、包头域)、计数器和操作组成,所述匹配域是流表项的标识,用于对交换机接收到的数据包的包头内容进行匹配。
在本实施例中,Openflow协议中,使用OXM(OpenFlow Extensible Match)TLV(type-length-value)格式来描述流表匹配域;所述流表匹配域包括头部和报文体,所述头部的长度为4字节,所述头部包括oxm-class字段和oxm-field字段;还包括oxm-hasmask字段和oxm-length字段;其格式如图2所示,头部中四个字段的长度和用途如图3所示。
在本实施例中,所述第一扩展模块包括:
在所述oxm-class字段内增加位置匹配类型定义;具体定义如下:
OFPXMC_OPENFLOW_position=0x8002,/*位置匹配类型*/。
在所述oxm-field字段内增加位置匹配域定义;具体定义如下:
OFPXMT_OFB_fist_byte=45,/*从分组报文的第一个字节为匹配起始位置*/
OFPXMT_OFB_Second layer_head=46/*从分组报文的二层头部为匹配起始位置,如以太网头部*/
OFPXMT_OFB_third layer_head=47/*从分组报文的三层头部为匹配起始位置,如IP头部*/
OFPXMT_OFB_fourth layer_head=48/*从分组报文的四层头部为匹配起始位置,如TCP,UDP头部*/
OFPXMT_OFB_lablestack_bottom=49/*从分组报文标签协议栈底为匹配起始位置,如LSP,PW标签栈底*/。
所述起始位置包括但不限于以下位置:分组报文的第一个字节、分组报文的二层头部、分组报文的三层头部、分组报文的四层头部和分组报文标签协议栈底。
在本实施例中,所述第二扩展模块包括:
在报文体中增加偏移量和长度的字段;
所述偏移量是指从所述起始位置开始向左或向右移动的位置;
所述长度是指从起始位置加偏移量的位置再向左或右移动预设的长度。
在本实施例中,所述偏移量的字节为8bit,取值范围-128至127;匹配长度的字节也为8bit。
在本实施例中,所述报文体还包括oxm-value字段和Mask字段;这里oxm_value指具体的匹配值,mask指具体的掩码值。
在本实施例中,以匹配以太网报文的第两个字节为“0x 01-80-c2-00”为例,先填写oxm_TLV头部,则,oxm_class字段填0x8002(位置匹配),oxm_field字段填45(从分组报文的第一个字节为匹配起始位置),oxm_hasmask字段填0,oxm_length字段填“10字节”;
再填写oxm_TLV报文体,则“偏移量”取“0”,“匹配长度”取“4字节t”,“oxm_value”取“01-80-c2-00”,“mask”取“0”。
作为另一种实施例,以匹配控制字为高位4个bit为“0000”为例,先填写oxm_TLV头部,则,oxm_class字段填0x8002(位置匹配),oxm_field字段填49(从PW标签结束位置为匹配起始位置),oxm_hasmask字段填1,oxm_length字段填“4字节”;
再填写oxm_TLV报文体,则,“偏移量”取“0”,“匹配长度”取“1字节”,“oxm_value”取“0x 00”,“mask”取“oxF0”。
实施例三
在本实施例中,一种流表匹配系统,包括存储器、处理器和至少一个被存储在所述存储器中并被配置为由所述处理器执行的应用程序,所述应用程序被配置为用于执行实施例一所述的流表匹配方法。
实施例四
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述流表匹配方法实施例中任一所述的方法实施例。
需要说明的是,上述装置、系统实际上是和计算机可读存储介质实施例与方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。
本发明实施例的一种流表匹配方法、装置、系统及计算机可读存储介质,该方法包括:获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;对所述头部进行扩展,以获取匹配的起始位置;对所述报文体进行扩展,以获取匹配的偏移量和长度;根据所述起始位置、偏移量和长度对流表进行匹配,通过对OXM字段扩展来进行匹配,能非常灵活地定位到需要匹配的报文内任意位置,提高了匹配的准确度和匹配效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (10)

1.一种流表匹配方法,其特征在于,包括:
获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;
对所述头部进行扩展,以获取匹配的起始位置;
对所述报文体进行扩展,以获取匹配的偏移量和长度;
根据所述起始位置、偏移量和长度对流表进行匹配。
2.根据权利要求1所述的一种流表匹配方法,其特征在于,对所述头部进行扩展,以获取匹配的起始位置包括:
所述头部包括oxm-class字段和oxm-field字段;
在所述oxm-class字段内增加位置匹配类型定义;
在所述oxm-field字段内增加位置匹配域定义;
所述起始位置包括但不限于以下位置:分组报文的第一个字节、分组报文的二层头部、分组报文的三层头部、分组报文的四层头部和分组报文标签协议栈底。
3.根据权利要求2所述的一种流表匹配方法,其特征在于,对所述报文体进行扩展,以获取匹配的偏移量和长度包括:
在报文体中增加偏移量和长度的字段;
所述偏移量是指从所述起始位置开始向左或向右移动的位置;
所述长度是指从起始位置加偏移量的位置再向左或右移动预设的长度。
4.根据权利要求3所述的一种流表匹配方法,其特征在于,所述头部还包括oxm-hasmask字段和oxm-length字段;所述报文体还包括oxm-value字段和Mask字段。
5.一种流表匹配装置,其特征在于,包括:
获取模块,用于获取软件定义网络中Openflow协议的流表匹配域,所述流表匹配域为OXM TLV格式,所述流表匹配域包括头部和报文体;
第一扩展模块,用于对所述头部进行扩展,以获取匹配的起始位置;
第二扩展模块,用于对所述报文体进行扩展,以获取匹配的偏移量和长度;
匹配模块,用于根据所述起始位置、偏移量和长度对流表进行匹配。
6.根据权利要求5所述的一种流表匹配装置,其特征在于,所述第一扩展模块包括:
所述头部包括oxm-class字段和oxm-field字段;
在所述oxm-class字段内增加位置匹配类型定义;
在所述oxm-field字段内增加位置匹配域定义;
所述起始位置包括但不限于以下位置:分组报文的第一个字节、分组报文的二层头部、分组报文的三层头部、分组报文的四层头部和分组报文标签协议栈底。
7.根据权利要求6所述的一种流表匹配装置,其特征在于,所述第二扩展模块包括:
在报文体中增加偏移量和长度的字段;
所述偏移量是指从所述起始位置开始向左或向右移动的位置;
所述长度是指从起始位置加偏移量的位置再向左或右移动预设的长度。
8.根据权利要求7所述的一种流表匹配装置,其特征在于,所述头部还包括oxm-hasmask字段和oxm-length字段;所述报文体还包括oxm-value字段和Mask字段。
9.一种流表匹配系统,包括存储器、处理器和至少一个被存储在所述存储器中并被配置为由所述处理器执行的应用程序,其特征在于,所述应用程序被配置为用于执行权利要求1-4任一项所述的流表匹配方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至4中任一所述的流表匹配方法。
CN201710821010.5A 2017-09-13 2017-09-13 流表匹配方法、装置、系统及计算机可读存储介质 Withdrawn CN109495387A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710821010.5A CN109495387A (zh) 2017-09-13 2017-09-13 流表匹配方法、装置、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710821010.5A CN109495387A (zh) 2017-09-13 2017-09-13 流表匹配方法、装置、系统及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN109495387A true CN109495387A (zh) 2019-03-19

Family

ID=65687296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710821010.5A Withdrawn CN109495387A (zh) 2017-09-13 2017-09-13 流表匹配方法、装置、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109495387A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103718520A (zh) * 2012-08-02 2014-04-09 华为技术有限公司 处理数据报文的方法、装置及系统
CN103873464A (zh) * 2014-02-27 2014-06-18 华为技术有限公司 报文处理的方法及转发设备
CN104158745A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 一种实现数据包转发的方法及系统
CN105515975A (zh) * 2015-11-24 2016-04-20 武汉烽火网络有限责任公司 面向软件定义网络基于应用层转发的实现方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103718520A (zh) * 2012-08-02 2014-04-09 华为技术有限公司 处理数据报文的方法、装置及系统
CN104158745A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 一种实现数据包转发的方法及系统
CN103873464A (zh) * 2014-02-27 2014-06-18 华为技术有限公司 报文处理的方法及转发设备
CN105515975A (zh) * 2015-11-24 2016-04-20 武汉烽火网络有限责任公司 面向软件定义网络基于应用层转发的实现方法及系统

Similar Documents

Publication Publication Date Title
CN111400237B (zh) 为rdma提供多租赁支持的方法
US10200235B2 (en) Distributed database structure for logical and physical network data
EP3014819B1 (en) Method for packet tunneling through software defined network method of intelligently controlling flow of a packet through software defined network and system
CN103888386B (zh) 可扩展虚拟局域网报文的传输方法及装置、系统
CN103718520B (zh) 处理数据报文的方法、装置及系统
CN102238083B (zh) 用于适配分组处理流水线的系统和方法
CN107689931A (zh) 一种基于国产fpga的实现以太网交换功能系统及方法
CN104158745B (zh) 一种实现数据包转发的方法及系统
CN109962832A (zh) 报文处理的方法和装置
CN105337852B (zh) 更新业务流报文的处理方式的方法及装置
CN104243299B (zh) 一种隧道处理方法及系统、控制面设备、转发面设备
CN106209553A (zh) 报文处理方法、设备及系统
CN105634986A (zh) 一种交换机实现方法与系统
EP2903218A1 (en) Method and device for modifying and forwarding message in data communication network
CN105450525B (zh) 用于路由交换设备使用的方法和设备
CN108063718B (zh) 报文处理方法、装置及电子设备
CN113328915B (zh) 一种基于SRv6的随路网络测量方法
CN104125128A (zh) Linux软桥支持VLAN的方法
CN105429882A (zh) 基于传统交换芯片查找方式的报文编辑实现方法及装置
CN104796353A (zh) 报文转发方法、交换机
WO2015172675A1 (zh) 报文处理方法及装置
CN107948077A (zh) 一种数据报文的转发方法及装置
CN106506315A (zh) 一种报文转发的透明配置方法
CN105515995B (zh) 报文处理方法及装置
CN102263700B (zh) 一种报文收发方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190319