CN105634986A - 一种交换机实现方法与系统 - Google Patents
一种交换机实现方法与系统 Download PDFInfo
- Publication number
- CN105634986A CN105634986A CN201410714491.6A CN201410714491A CN105634986A CN 105634986 A CN105634986 A CN 105634986A CN 201410714491 A CN201410714491 A CN 201410714491A CN 105634986 A CN105634986 A CN 105634986A
- Authority
- CN
- China
- Prior art keywords
- priority
- configuration
- switch
- packet
- data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
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
本发明公开了一种交换机实现方法与系统。本发明方法包括:优先级方式配置阶段,交换机接收用户的优先级配置语句,并对配置语句进行解析;配置存储接阶段,将解析完成的所述配置信息存储到交换机数据库中;数据优先级转发阶段,交换机根据所述配置信息和流表,将接收到的数据包放入对应的优先级队列进行转发。本发明系统包括配置模块、配置信息存储模块和优先级转发模块。通过本发明的方法和系统,使Openvswitch交换机能够支持802.1p协议,实现优先级转发功能,解决Openvswitch网络缺少优先级转发方式的缺陷,并可以使Openvswitch网络能够支持profinet等依赖802.1p协议的数据的传输。
Description
技术领域
本发明涉及网络技术领域,涉及一种交换机实现方法与系统,更具体的说是一种支持802.1p的Openvswitch交换机实现方法与系统。
背景技术
软件定义网络(SDN)是目前一种新型网络创新架构,由于传统的网络设备(交换机、路由器)的固件是由设备制造商锁定和管理,所以SDN希望将网络管理与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。这样用户便可以像升级、安装软件一样对网络架构进行修改,满足企业对整个网站架构进行调整、扩容或升级。而底层的数据层设备,如交换机、路由器等硬件则无需替换,节省大量的成本的同时,网络架构迭代周期将大大缩短,为核心网络及应用的创新提供了良好的平台。
Openvswitch,是一个开放的虚拟交换机(openvirtualswitch),基于openflow协议,完全支持SDN架构,是业界公认的SDN最主流的虚拟交换机实现。它是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。Openvswitch较物理交换机而言有着更低的成本和更高的工作效率;一个虚拟交换机可以有几十个端口来连接虚拟机,而Openvswitch本身占用的资源也非常小;可以根据自己的选择灵活的配置,可以对数据包进行接收分析处理;
Openvswitch交换机提供了流量控制功能,但是目前仅支持htb方式和hfsc两种方式。对于有实时性数据传输要求的场合,目前支持的两种流量控制方式很难满足需求。如目前广泛使用的profinet标准,就要求所连接的交换机支持802.1p协议,即根据数据包MAC层中pcp字节携带信息对数据包进行优先级转发。因此,为了增强Openvswitch交换机的流量控制功能,使Openvswitch交换机能够应用于更多的场合(如工业网络中),需要添加其流量控制的优先级转发方式,从而支持802.1p协议,以提高Openvswitch交换机的转发实时性。
发明内容
有鉴于此,本发明提供一种交换机实现方法与系统,通过增加优先级转发的流量控制方式,能够支持802.1p协议,提高Openvswitch交换机的转发实时性能,扩展openflow网络的应用场合。
本发明为实现上述目的所采用的技术方案是:一种交换机实现方法,包括以下步骤:
优先级方式配置阶段,交换机接收用户的优先级配置语句,并对优先级配置语句进行解析,得到配置信息;
配置存储接阶段,将所述配置信息存储到交换机数据库中;
数据优先级转发阶段,交换机根据所述配置信息和流表,将接收到的数据包放入对应的优先级队列进行转发。
所述优先级配置语句为:
配置语句格式为:命令+对象+属性=值;
配置方法为:
设置端口qos名称;
建立所述qos名称的qos方式和子队列名称;
建立所述子队列。
所述配置信息包括:
ID、Type、Other-config、Queues;
所述ID为qos名称。
所述数据优先级转发阶段包括以下步骤:
当交换机启动后,读取所述交换机数据库中的配置信息配置交换机端口流量控制模块qos方式为优先级方式并设置优先级队列;
当接收到数据时,交换机解析所述数据,提取出所述数据帧各层的关键信息,与流表项进行匹配,如果匹配成功,则放入流表中action指定的队列;
交换机的流量控制模块按照所述队列的优先级发送数据:高优先级队列数据先发送,待高优先级队列中所有数据发送完成后再发送低优先级队列的数据。
一种交换机系统,包括:
配置模块,用于接收用户对Openvswitch交换机流量控制方式及参数的配置语句,对所述配置语句进行解析,并将解析出的关键信息存储到配置信息存储模块中以供数据优先级转发模块调用;
配置信息存储模块,用于存储用户对Openvswitch交换机流量的配置信息;
数据优先级转发模块,用于对接收到的数据包进行解析和关键信息提取,并用提取出的关键信息与流表的头域进行匹配,当匹配成功时,按照流表动作执行,将数据包放入指定的输出队列,调度单元再对所述输出队列进行基于优先级方式的转发。
所述配置模块,包括:
配置接口单元,用于用户与Openvswitch交换机的交互:一方面接收用户的配置命令,并也用于用户查询命令的信息返回;
配置解析单元,用于对用户输入的配置命令进行解析和提取;
配置存储单元,用于存储所述配置解析单元解析和提取出的用户配置信息。
所述数据优先级转发模块,包括:
配置读取单元,用于从所述配置存储模块中读取相关的配置信息;
流控设置单元,用于根据所述配置读取单元读取的所述配置信息对流控调度单元进行调度方式和参数的设置;
流表存储单元,用于存储流表项;
数据包解析单元,用于对Openvswitch交换机接收到的数据包进行解析,提取出所述数据包的关键信息;
流表匹配单元,用于将所述数据包解析单元提取的数据包的关键信息与所述流表存储单元中的所有流表的头域进行匹配,如果有匹配流表项,则由流表执行单元进行处理;如果没有,则按照openflow协议发送给openflow控制器;
流表执行单元,用于按照流表的指定动作对数据包进行操作,将数据包放入指定的优先级队列中等待调度单元的调度;
流控调度单元,用于对所述优先级队列中的数据包按照优先级的高低排列发送顺序,高优先级队列中的数据包先发送,低优先级队列中的数据包等高优先级队列数据包发送完成后再发送;
优先级队列单元,用于缓存各个优先级的数据包,不同优先级队列代表不同的优先级别,同一个优先级队列中数据包按照先入先出顺序排列;
发送单元,用于按照所述调度单元调度完成后的数据包的发送顺序将数据包从交换机端口发送出去。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种交换机实现方法与系统,优先级方式配置阶段,交换机接收用户的优先级配置语句,并对配置语句进行解析;配置存储接阶段,将解析完成的所述配置信息存储到交换机数据库中;数据优先级转发阶段,交换机根据配置信息和流表,将接收到的数据包放入对应的优先级队列,进行优先级转发。该方法添加Openvswitch交换机的优先级转发流量控制功能,使Openvswitch交换机能够支持802.1p协议,提高Openvswitch交换机的转发实时性能,扩展openflow网络的应用场合,解决当前Openflow网络不能在如Profinet等工业网络中应用的问题。
附图说明
图1为本发明Openvswitch交换机在Profinet工业网络部署的一个实施例的示意图;
图2a为本发明802.1p协议帧格式的一个示意图;
图2b为本发明支持802.1p协议的交换机转发原理的一个示意图;
图3为本发明一种支持802.1p的Openvswitch交换机实现方法的一个实施例的流程示意图;
图4为本发明一种支持802.1p的Openvswitch交换机优先级转发接口调用流程示意图;
图5为本发明一种支持802.1p的Openvswitch交换机实现方法的一个实施例示意图;
图6为本发明一种支持802.1p的Openvswitch交换机系统的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的使用范围为基于linux内核的所有软件Openflow交换机,不仅仅局限于Openvswitch。考虑到Openvswitch在软件Openflow交换机中的主导地位,这里按照在Openvswitch实现进行具体说明,但是本发明方法对于其他linux内核的软件Openflow交换机也同样适用。
参见图1,示出了本发明Openvswitch交换机在Profinet工业网络部署的一个实施例的示意图,整体网络系统分为两个层面,管理层和数据层。管理层由一个或多个分布式的管理器组成,负责管理域内的数据层设备的管理和流表的制定;数据层由多个Openvswitch交换机和终端设备组成,其中Openvswitch交换机接收管理器的流表,根据流表对数据进行操作。终端设备可以为普通的终端,如PC机,传输数据为标准的TCP/IP数据;也可以是工业控制设备,如Profinet设备和Profinet控制器,实时数据为带有802.1p的以太网数据,需要交换机支持802.1p转发。
参见图2a,示出了802.1p协议帧格式的一个示意图,IEEE802.1P是IEEE802.1Q(VLAN标签技术)标准的扩充协定,它们一起运作,使第二层网络交换器能够提供流量优先级服务。
802.1Q定义了一个新的以太网帧字段,这个字段添加在以太网帧的源MAC之后,长度/类型字段之前。802.1Q封装共4个字节,包含2个部分:TPID(Etype),TagControlInfo;
●TPID:长度为2个字节,固定为0x8100,标识报文的封装类型为以太网的802.1Q封装;
●TCI:包含三个部分:用户优先级、CFI、VLAN-ID;
用户优先级(PCP):这3位指明帧的优先级。一共有8种优先级,取值范围为0~7,主要用于当交换机出端口发生拥塞时,交换机通过识别该优先级,优先发送优先级高的数据包。
CFI:以太网交换机中,规范格式指示器总被设置为0。由于兼容特性,CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有CFI,那么设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。
VID:VLANID是对VLAN的识别字段,在标准802.1Q中常被使用。该字段为12位。支持4096(2^12)VLAN的识别。在4096可能的VID中,VID=0用于识别帧优先级,4095(FFF)作为预留值,所以VLAN配置的最大可能值为4094。
这样在IEEE802.1p的支持下,用户终端主机能请求所提交流量的优先等级,在帧头上PCP位设置相应的标记,赋予实时应用更高的优先级(如Profinet实时数据的PCP为6),赋予普通的应用较低的优先级(如背景通讯数据的PCP为1或2),以支持以太网上各类业务的QoS。
参见图2b,示出了支持802.1p协议的交换机转发原理的一个示意图,支持802.1p的普通交换机为每个端口设置了不同的堆栈(队列),802.1p支持的优先级别为8个,但实际上交换机的堆栈个数由支持的优先级级别而定,图2b中所支持4个优先级,因此交换机的堆栈是4个。当交换机接收到数据后,会对数据进行解析,然后进行两步分类:第一步,通过源目的地址查找MAC地址表和路由表,确定数据的输出端口;第二步,通过802.1p的PCP位确定数据包的优先级,根据优先级将数据包放入输出端口(在第一步中确定的)的对应堆栈中。在发送时,流量控制的优先级调度器会先发送高优先级队列中的数据,等高优先级队列中数据发送完毕在依次发送低优先级队列中数据。
Openvswitch交换机支持openflow协议,因此,数据包输出端口和对应队列(堆栈)的确定是通过查找流表一次完成的。由于Openvswitch交换机并不支持优先级队列和调度,即使能够识别802.1p协议的PCP优先级,也无法按照PCP优先级进行优先级转发。因此本发明为Openvswitch交换机添加优先级转发功能,使其能够支持802.1p协议。
参见图3,示出了本发明一种支持802.1p的Openvswitch交换机实现方法的一个实施例的流程示意图,该方法包括:
步骤301:优先级方式配置阶段,交换机接收用户的优先级配置语句,并对配置语句进行解析。
其中,Openvswitch的用户配置通常使用ovs-vsctl配置工具,该工具可以配置交换机流量控制htb和hfsc方式在内的交换机的各种功能参数。使用ovs-vsctl工具配置的一般配置语句格式如下:
ovs-vsctl[options]--[options]command[args][--[options]command[args]]...
由于Openvswitch本身并不支持优先级流量控制方式,如增加流控方式的配置,需要修改ovs-vsctl配置工具,支持对优先级流控方式配置语句的识别和解析,本发明设计的优先级配置语句格式和方法如下:
优先级配置语句格式为:
命令+对象+属性=值
配置方法为:
设置端口qos名称;
建立所述qos名称的qos方式和子队列名称;
建立所述子队列;
例如,一种典型的配置如下:
#ovs-vsctlsetporteth1qos=newqos\
----id=newqoscreateqostype=linux-prioqueues=0=q0,1=q1,2=q2\
----id=q0createqueue\
----id=q1createqueue\
----id=q2createqueue\
解析配置语句,提取配置信息,配置信息包括:ID(qos名称)、Type、Other-config、Queues。并按照ovs-vsctl工具中的qos参数的结构体格式存储,如下:
步骤302:配置存储接阶段,将解析完成的配置信息存储到交换机数据库中。
配置存储的流程采用Openvswitch本身的数据库存储流程,无需做特别修改。此部分内容不是本发明的主要工作,因此这里不做详细说明,详细过程参见Openvswitch数据库部分。
步骤303:数据优先级转发阶段,交换机根据所述配置信息和流表,将接收到的数据包放入对应的优先级队列进行转发。
其中,当交换机启动后,需要读取所述数据库中的配置信息配置交换机端口流量控制模块qos方式为优先级方式并设置优先级队列。由于Openvswitch交换机本身并不支持优先级方式,所以需要添加优先级方式的配置接口函数,以便将之前用户配置到数据库中的配置信息设置到流量控制模块中,按照优先级方式对数据进行转发。
具体的,本发明设计的流量控制模块的优先级接口数据结构和接口函数如下:
为了说明配置接口函数的调用过程,这里以接口函数其中一个典型的prio_tc_install的流程为例,说明该接口函数的调用过程,如图4所示。Openvswitch交换机启动后,通过调用netdev层的qos设置函数netdev_set_qos对网络设备(也就是交换机端口)的qos进行设置。在netdev_set_qos中,调用netdev与linux层接口函数Netdev_linux_set_qos。在Netdev_linux_set_qos中,会根据流控方式查找对应的接口函数,这里设置为优先级方式,所以会调用优先级方式的接口函数,即prio_tc_install进行设置。
在流量控制方式和参数设置完成后,当接收到数据时,交换机解析接收到的数据,提取出所述数据帧各层的关键信息,与流表项进行匹配,如果匹配成功,则放入流表中action指定的队列。
其中,需要说明的是,Openflow协议的流表表项包括三个域,包头域(headerfield),计数器(counters),行动(actions)。Openflow1.0版本中规定,包头域包括数据入端口、MAC源地址、MAC目的地址、以太网帧类型、VlanID、PCP、IP源地址、IP目的地址、IP协议类型、IPTos、TCP/UDP源端口、TCP/UDP目的端口等12个元组。这些元组包含了数据包各层的特征,是对数据包进行识别的关键值(key)。计数器用来进行数据统计。行动指明了与包头域匹配的数据所要进行的操作。
数据帧各层的关键信息包括数据入端口、MAC源地址、MAC目的地址、以太网帧类型、VlanID、PCP、IP源地址、IP目的地址、IP协议类型、IPTos、TCP/UDP源端口、TCP/UDP目的端口等,与流表包头域的元组相同。交换机将数据帧各层提取出的关键信息与交换机中所有流表的包头项进行比较,如果完全相同,则匹配成功,交换机会按照与之匹配的流表项的action内容进行操作,如果是转发操作,交换机会将数据包发送到指定端口的指定队列中,然后等待流量控制模块的调度;如果没有任何一个流表项与数据包的关键信息相同,则认为匹配失败,交换机会将数据包发送给openflow管理器处理。
执行流表action将数据包放入对应的优先级队列后,交换机的流量控制调度单元按照队列的优先级发送数据:高优先级队列数据先发送,待高优先级队列中所有数据发送完成后再发送低优先级队列的数据。
为了清楚的介绍本发明支持802.1p的优先级转发的配置、转发方法和过程,下面以一个具体的应用场景进行详细的介绍,参见图5,一种支持802.1p的Openvswitch交换机实现方法的一个实施例示意图。
在本实施例示意图场景中,用户使用ovs-vsctl工具输入配置语句对Openvswitch交换机的eth1端口进行qos配置:
#ovs-vsctlsetporteth1qos=newqos\
----id=newqoscreateqostype=linux-prioqueues=0=q0,1=q1,2=q2\
----id=q0createqueue\
----id=q1createqueue\
----id=q2createqueue\
配置语句设置端口(port)eth1的qos名称为newqos,然后设置newqos即eth1的qos方式(type)为linux-prio,这里linux-prio表示的就是优先级方式,包括了0号(队列名q0)、1号(队列名q1)、2号(队列名q2)共3个优先级队列。
然后,配置解析单元会对输入的配置语句进行解析,解析成Openvswitch识别的结构体structovsrec_qos,后存入到ovs的数据库中。
交换机启动后,会自动读取ovs数据库中的qos配置,并重新整理成structovsrec_qos形式。流控设置单元根据structovsrec_qos中信息优先级队列,这里为3个,分别是q0、q1、q2,设置调度器的调度方式为prio优先级方式。
当有数据进入交换机后,数据包解析单元会对数据包进行解析,提取出数据包的输入port、MAC层源地址、MAC层目的地址、PCP、VLAN等信息与流表中存储的各个表项的头域进行匹配。
找到与之匹配的流表项后,按照流表的action内容执行。这里action的内容是Enqueue:1:0,表示输出到端口是1,队列号是0的队列中,即q0队列。交换机将该数据报放入q0队列缓存中,等待调度器的调度。
调度器在进行调度时,首先读取优先级高的队列中数据报,即q0队列中的数据包进行发送,当所有q0中数据包都发送完成后再一次读取q1、q2中的数据包发送,完成优先级流量控制方式的功能。
对应本发明的方法,参见图6,示出了本发明一种支持802.1p的Openvswitch交换机系统的一个实施例的结构示意图,该系统包括:配置模块601、配置信息存储模块602和数据优先级转发模块603。
在该实施例中配置模块601,用于接收用户对Openvswitch交换机流量控制方式及参数的配置语句,对所述配置语句进行解析,并将解析出的关键信息存储到配置信息存储模块中以供优先级转发模块调用,具体包括:
配置接口单元610,用于用户与Openvswitch交换机的交互:一方面接收用户的配置命令,并也用于用户查询命令的信息返回;
配置解析单元611,用于对用户输入的配置命令进行解析和提取。
配置存储单元612,用于将解析和提取出的用户配置信息存储到配置信息存储模块中。
对应的,在该实施例中配置信息存储模块602,用于存储用户对Openvswitch交换机流量的配置信息。
对应的,在该实施例中数据优先级转发模块603,用于对接收到的数据包进行解析和关键信息提取,并用提取出的关键信息与流表的头域进行匹配,当匹配成功时,按照流表动作执行,将数据包放入指定的输出队列,调度单元再对所述输出队列进行基于优先级方式的转发,具体包括:
配置读取单元631,用于从所述配置信息存储模块中读取相关的配置信息。具体的,包括所设置的端口号,端口的流量控制方式,端口参数,队列个数,队列名称,队列参数等。并将数据库中存放的此类信息转换成Openvswitch识别的结构体,输入给流控设置单元。
流控设置单元632,用于根据配置读取单元读取的配置信息对流控调度单元进行调度方式和优先级队列单元的参数的设置。此时优先级队列单元生成与配置队列个数相对应的优先级队列,调度单元也设置为优先级调度方式,为数据的优先级转发做好准备。
流表存储单元633,用于存储流表项。流表存储单元内容属于openflow协议规范的技术范畴,不作为本发明的发明点进行描述。
数据包解析单元634,用于对Openvswitch交换机接收到的数据包进行解析,提取出所述数据包的关键信息,此部分内容属于openflow协议规范的技术范畴,不作为本发明的发明点进行描述。
流表匹配单元635,用于将所述数据包解析单元提取的数据包的关键信息与所述流表存储单元中的所有流表的头域进行匹配,如果有匹配流表项,则由了流表执行单元进行处理;如果没有,则按照openflow协议发送给openflow控制器。此部分内容属于openflow协议规范的技术范畴,不作为本发明的发明点进行描述。
流表执行单元636,用于按照流表的action指定动作对数据包进行操作,将数据包放入action指定端口的指定优先级队列中等待调度单元的调度。
调度单元637,用于对所述优先级队列中的数据包按照优先级的高低排列发送顺序,高优先级队列中的数据包先发送,低优先级队列中的数据包等高优先级队列数据包发送完成后再发送。
优先级队列单元638,用于缓存各个优先级的数据包,不同优先级队列代表不同的优先级别,同一个优先级队列中数据包按照先入先出顺序排列。
具体的,优先级队列单元中优先级队列的个数由用户在进行优先级参数配置时指定,最少支持2个优先级队列,最多可以支持16个优先级队列。在完全支持802.1p协议时,优先级队列数为8个。
发送单元639,用于按照所述调度单元调度完成后的数据包的发送顺序将数据包从交换机端口发送出去。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种交换机实现方法,其特征在于,包括以下步骤:
优先级方式配置阶段,交换机接收用户的优先级配置语句,并对优先级配置语句进行解析,得到配置信息;
配置存储接阶段,将所述配置信息存储到交换机数据库中;
数据优先级转发阶段,交换机根据所述配置信息和流表,将接收到的数据包放入对应的优先级队列进行转发。
2.根据权利要求1所述的方法,其特征在于,所述优先级配置语句为:
配置语句格式为:命令+对象+属性=值;
配置方法为:
设置端口qos名称;
建立所述qos名称的qos方式和子队列名称;
建立所述子队列。
3.根据权利要求1所述的方法,其特征在于,所述配置信息包括:
ID、Type、Other-config、Queues;
所述ID为qos名称。
4.根据权利要求1所述的方法,其特征在于,所述数据优先级转发阶段包括以下步骤:
当交换机启动后,读取所述交换机数据库中的配置信息配置交换机端口流量控制模块qos方式为优先级方式并设置优先级队列;
当接收到数据时,交换机解析所述数据,提取出所述数据帧各层的关键信息,与流表项进行匹配,如果匹配成功,则放入流表中action指定的队列;
交换机的流量控制模块按照所述队列的优先级发送数据:高优先级队列数据先发送,待高优先级队列中所有数据发送完成后再发送低优先级队列的数据。
5.一种交换机系统,其特征在于,包括:
配置模块,用于接收用户对Openvswitch交换机流量控制方式及参数的配置语句,对所述配置语句进行解析,并将解析出的关键信息存储到配置信息存储模块中以供数据优先级转发模块调用;
配置信息存储模块,用于存储用户对Openvswitch交换机流量的配置信息;
数据优先级转发模块,用于对接收到的数据包进行解析和关键信息提取,并用提取出的关键信息与流表的头域进行匹配,当匹配成功时,按照流表动作执行,将数据包放入指定的输出队列,调度单元再对所述输出队列进行基于优先级方式的转发。
6.根据权利要求5所述的系统,其特征在于,所述配置模块,包括:
配置接口单元,用于用户与Openvswitch交换机的交互:一方面接收用户的配置命令,并也用于用户查询命令的信息返回;
配置解析单元,用于对用户输入的配置命令进行解析和提取;
配置存储单元,用于存储所述配置解析单元解析和提取出的用户配置信息。
7.根据权利要求5所述的系统,其特征在于,所述数据优先级转发模块,包括:
配置读取单元,用于从所述配置存储模块中读取相关的配置信息;
流控设置单元,用于根据所述配置读取单元读取的所述配置信息对流控调度单元进行调度方式和参数的设置;
流表存储单元,用于存储流表项;
数据包解析单元,用于对Openvswitch交换机接收到的数据包进行解析,提取出所述数据包的关键信息;
流表匹配单元,用于将所述数据包解析单元提取的数据包的关键信息与所述流表存储单元中的所有流表的头域进行匹配,如果有匹配流表项,则由流表执行单元进行处理;如果没有,则按照openflow协议发送给openflow控制器;
流表执行单元,用于按照流表的指定动作对数据包进行操作,将数据包放入指定的优先级队列中等待调度单元的调度;
流控调度单元,用于对所述优先级队列中的数据包按照优先级的高低排列发送顺序,高优先级队列中的数据包先发送,低优先级队列中的数据包等高优先级队列数据包发送完成后再发送;
优先级队列单元,用于缓存各个优先级的数据包,不同优先级队列代表不同的优先级别,同一个优先级队列中数据包按照先入先出顺序排列;
发送单元,用于按照所述调度单元调度完成后的数据包的发送顺序将数据包从交换机端口发送出去。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410714491.6A CN105634986B (zh) | 2014-11-30 | 2014-11-30 | 一种交换机实现方法与系统 |
PCT/CN2014/095563 WO2016082282A1 (zh) | 2014-11-30 | 2014-12-30 | 一种支持802.1p的Openvswitch交换机实现方法与系统 |
EP14896275.6A EP3048764B1 (en) | 2014-11-30 | 2014-12-30 | Method and system for implementing 802.1p-supporting openvswitch switch |
US14/902,459 US10110517B2 (en) | 2014-11-30 | 2014-12-30 | System and method for open vSwitch virtual switch that supports IEEE 802.1p |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410714491.6A CN105634986B (zh) | 2014-11-30 | 2014-11-30 | 一种交换机实现方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105634986A true CN105634986A (zh) | 2016-06-01 |
CN105634986B CN105634986B (zh) | 2019-04-23 |
Family
ID=56049500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410714491.6A Active CN105634986B (zh) | 2014-11-30 | 2014-11-30 | 一种交换机实现方法与系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10110517B2 (zh) |
EP (1) | EP3048764B1 (zh) |
CN (1) | CN105634986B (zh) |
WO (1) | WO2016082282A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897936A (zh) * | 2016-06-23 | 2016-08-24 | 北京东土科技股份有限公司 | 基于工业互联网的控制配置信息的处理方法、装置及系统 |
CN106375109A (zh) * | 2016-08-22 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种交换机配置模拟下发的方法、系统及计算机 |
CN107423128A (zh) * | 2017-07-31 | 2017-12-01 | 北京京东尚科信息技术有限公司 | 信息处理方法及其系统 |
CN109995674A (zh) * | 2017-12-29 | 2019-07-09 | 中国科学院沈阳自动化研究所 | 一种可编程sdn交换机系统 |
CN111427282A (zh) * | 2020-03-24 | 2020-07-17 | 珠海格力电器股份有限公司 | 端口模式配置方法、装置、存储介质及楼宇控制系统 |
CN111786897A (zh) * | 2020-06-16 | 2020-10-16 | 北京交通大学 | 一种周期性流表的基于小根堆的时间有序访问控制方法 |
CN112202574A (zh) * | 2020-10-13 | 2021-01-08 | 中车大连电力牵引研发中心有限公司 | 一种多端口硬实时以太网交换装置及方法 |
CN112751788A (zh) * | 2020-12-30 | 2021-05-04 | 西安云维智联科技有限公司 | 一种支持多类型帧混合传输的双平面交换方法 |
CN112995038A (zh) * | 2019-12-16 | 2021-06-18 | 中国科学院沈阳自动化研究所 | Profinet协议在工业sdn中的接入方法 |
CN113271268A (zh) * | 2021-05-31 | 2021-08-17 | 深圳华云信息系统有限公司 | 一层交换机的数据传输方法、装置和系统 |
CN115021955A (zh) * | 2022-04-19 | 2022-09-06 | 上德(深圳)数据科技有限公司 | 自动调整交换机数据处理优先级的数据传输稳定度的方法 |
CN116886364A (zh) * | 2023-07-17 | 2023-10-13 | 武汉恒信永合电子技术有限公司 | 一种sdn交换机运行方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3273641A1 (de) * | 2016-07-22 | 2018-01-24 | Siemens Aktiengesellschaft | Übermittlung von applikationsspezifischen paketen |
CN106899514B (zh) * | 2017-02-24 | 2020-04-14 | 西安电子科技大学 | 保障多媒体业务服务质量的队列调度方法 |
CN109150752B (zh) | 2017-06-16 | 2023-02-10 | 华为技术有限公司 | 缓存控制方法、网元及控制器 |
JP6981367B2 (ja) * | 2018-06-04 | 2021-12-15 | 日本電信電話株式会社 | ネットワークシステムおよびネットワーク帯域制御管理方法 |
KR102532047B1 (ko) * | 2018-07-03 | 2023-05-12 | 삼성전자주식회사 | 네트워크 파라미터를 조정하기 위한 장치 및 방법 |
JP7494494B2 (ja) * | 2020-03-09 | 2024-06-04 | オムロン株式会社 | 通信制御機器および通信制御機器の制御方法 |
US11516133B2 (en) | 2020-07-06 | 2022-11-29 | Nokia Solutions And Networks Oy | Flow cache management |
CN113179228B (zh) * | 2021-04-15 | 2022-12-23 | 浪潮思科网络科技有限公司 | 一种提高交换机堆叠可靠性的方法、装置、设备及介质 |
CN114356418B (zh) * | 2022-03-10 | 2022-08-05 | 之江实验室 | 一种智能表项控制器及控制方法 |
CN115002028B (zh) * | 2022-04-30 | 2024-02-13 | 济南浪潮数据技术有限公司 | 一种报文处理方法、装置及介质 |
US11909656B1 (en) | 2023-01-17 | 2024-02-20 | Nokia Solutions And Networks Oy | In-network decision for end-server-based network function acceleration |
CN117061439B (zh) * | 2023-10-10 | 2023-12-12 | 长沙先度科技有限公司 | 一种tsn实时以太网交换机的数据处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010036158A1 (en) * | 1999-07-14 | 2001-11-01 | Magnus Hallenstal | Combining narrowband applications with broadband transport |
US20040081093A1 (en) * | 1998-02-03 | 2004-04-29 | Haddock Stephen R. | Policy based quality of service |
CN101094099A (zh) * | 2007-06-19 | 2007-12-26 | 中兴通讯股份有限公司 | 一种多交换机的配置系统及其配置方法 |
CN101252483A (zh) * | 2008-04-10 | 2008-08-27 | 北京星网锐捷网络技术有限公司 | 一种交换机的测试系统及方法 |
CN102347894A (zh) * | 2011-06-09 | 2012-02-08 | 国网电力科学研究院 | 用于工业以太网交换机的goose报文优先转发方法 |
CN102862645A (zh) * | 2012-09-13 | 2013-01-09 | 江门市大长江集团有限公司 | 一种摩托车发动机 |
CN103825823A (zh) * | 2014-02-21 | 2014-05-28 | 中国科学技术大学苏州研究院 | 基于不同优先级的软件定义网络中数据转发方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287262A1 (en) * | 2009-05-08 | 2010-11-11 | Uri Elzur | Method and system for guaranteed end-to-end data flows in a local networking domain |
US8761187B2 (en) * | 2011-06-14 | 2014-06-24 | Futurewei Technologies, Inc. | System and method for an in-server virtual switch |
CN102868645A (zh) | 2012-09-26 | 2013-01-09 | 盛科网络(苏州)有限公司 | Openflow交换机系统及其报文处理方法 |
US9417922B2 (en) * | 2012-12-03 | 2016-08-16 | Cutting Edge Consulting Associates, Inc. | Systems and methods for protecting an identity in network communications |
US9417901B2 (en) * | 2013-01-11 | 2016-08-16 | Electronics And Telecommunications Research Institute | Switch and method for guaranteeing quality of service of multi-tenant cloud service and system having the same switch |
-
2014
- 2014-11-30 CN CN201410714491.6A patent/CN105634986B/zh active Active
- 2014-12-30 EP EP14896275.6A patent/EP3048764B1/en not_active Not-in-force
- 2014-12-30 WO PCT/CN2014/095563 patent/WO2016082282A1/zh active Application Filing
- 2014-12-30 US US14/902,459 patent/US10110517B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040081093A1 (en) * | 1998-02-03 | 2004-04-29 | Haddock Stephen R. | Policy based quality of service |
US20010036158A1 (en) * | 1999-07-14 | 2001-11-01 | Magnus Hallenstal | Combining narrowband applications with broadband transport |
CN101094099A (zh) * | 2007-06-19 | 2007-12-26 | 中兴通讯股份有限公司 | 一种多交换机的配置系统及其配置方法 |
CN101252483A (zh) * | 2008-04-10 | 2008-08-27 | 北京星网锐捷网络技术有限公司 | 一种交换机的测试系统及方法 |
CN102347894A (zh) * | 2011-06-09 | 2012-02-08 | 国网电力科学研究院 | 用于工业以太网交换机的goose报文优先转发方法 |
CN102862645A (zh) * | 2012-09-13 | 2013-01-09 | 江门市大长江集团有限公司 | 一种摩托车发动机 |
CN103825823A (zh) * | 2014-02-21 | 2014-05-28 | 中国科学技术大学苏州研究院 | 基于不同优先级的软件定义网络中数据转发方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897936A (zh) * | 2016-06-23 | 2016-08-24 | 北京东土科技股份有限公司 | 基于工业互联网的控制配置信息的处理方法、装置及系统 |
CN105897936B (zh) * | 2016-06-23 | 2019-04-26 | 北京东土科技股份有限公司 | 基于工业互联网的控制配置信息的处理方法、装置及系统 |
CN106375109B (zh) * | 2016-08-22 | 2019-09-24 | 浪潮(北京)电子信息产业有限公司 | 一种交换机配置模拟下发的方法、系统及计算机 |
CN106375109A (zh) * | 2016-08-22 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种交换机配置模拟下发的方法、系统及计算机 |
CN107423128B (zh) * | 2017-07-31 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 信息处理方法及其系统 |
CN107423128A (zh) * | 2017-07-31 | 2017-12-01 | 北京京东尚科信息技术有限公司 | 信息处理方法及其系统 |
CN109995674A (zh) * | 2017-12-29 | 2019-07-09 | 中国科学院沈阳自动化研究所 | 一种可编程sdn交换机系统 |
CN109995674B (zh) * | 2017-12-29 | 2021-06-29 | 中国科学院沈阳自动化研究所 | 一种可编程sdn交换机系统 |
CN112995038B (zh) * | 2019-12-16 | 2022-03-15 | 中国科学院沈阳自动化研究所 | Profinet协议在工业sdn中的接入方法 |
CN112995038A (zh) * | 2019-12-16 | 2021-06-18 | 中国科学院沈阳自动化研究所 | Profinet协议在工业sdn中的接入方法 |
WO2021120285A1 (zh) * | 2019-12-16 | 2021-06-24 | 中国科学院沈阳自动化研究所 | Profinet协议在工业sdn中的接入方法 |
CN111427282A (zh) * | 2020-03-24 | 2020-07-17 | 珠海格力电器股份有限公司 | 端口模式配置方法、装置、存储介质及楼宇控制系统 |
CN111427282B (zh) * | 2020-03-24 | 2021-05-25 | 珠海格力电器股份有限公司 | 端口模式配置方法、装置、存储介质及楼宇控制系统 |
CN111786897A (zh) * | 2020-06-16 | 2020-10-16 | 北京交通大学 | 一种周期性流表的基于小根堆的时间有序访问控制方法 |
CN112202574A (zh) * | 2020-10-13 | 2021-01-08 | 中车大连电力牵引研发中心有限公司 | 一种多端口硬实时以太网交换装置及方法 |
CN112751788A (zh) * | 2020-12-30 | 2021-05-04 | 西安云维智联科技有限公司 | 一种支持多类型帧混合传输的双平面交换方法 |
CN112751788B (zh) * | 2020-12-30 | 2023-11-14 | 西安云维智联科技有限公司 | 一种支持多类型帧混合传输的双平面交换方法 |
CN113271268B (zh) * | 2021-05-31 | 2022-01-11 | 深圳华云信息系统有限公司 | 一层交换机的数据传输方法、装置和系统 |
CN113271268A (zh) * | 2021-05-31 | 2021-08-17 | 深圳华云信息系统有限公司 | 一层交换机的数据传输方法、装置和系统 |
CN115021955A (zh) * | 2022-04-19 | 2022-09-06 | 上德(深圳)数据科技有限公司 | 自动调整交换机数据处理优先级的数据传输稳定度的方法 |
CN116886364A (zh) * | 2023-07-17 | 2023-10-13 | 武汉恒信永合电子技术有限公司 | 一种sdn交换机运行方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3048764A1 (en) | 2016-07-27 |
EP3048764B1 (en) | 2019-02-13 |
US20160301631A1 (en) | 2016-10-13 |
US10110517B2 (en) | 2018-10-23 |
EP3048764A4 (en) | 2017-04-26 |
WO2016082282A1 (zh) | 2016-06-02 |
CN105634986B (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105634986A (zh) | 一种交换机实现方法与系统 | |
US10659342B2 (en) | Flow entry configuration method, apparatus, and system | |
CN107733799B (zh) | 一种报文传输方法和装置 | |
US8599850B2 (en) | Provisioning single or multistage networks using ethernet service instances (ESIs) | |
US7420979B2 (en) | VLAN server | |
CN101409685B (zh) | 基于虚拟局域网映射的转发方法及接入设备 | |
US20160301603A1 (en) | Integrated routing method based on software-defined network and system thereof | |
CN104168170B (zh) | 封包交换装置及方法 | |
CN102263774B (zh) | 一种处理源角色信息的方法和装置 | |
US20140307548A1 (en) | Information Handling System Data Center Bridging Features with Defined Application Environments | |
CN107566237B (zh) | 一种数据报文处理方法及装置 | |
CN110290092B (zh) | 一种基于可编程交换机的sdn网络配置管理方法 | |
US11165716B2 (en) | Data flow processing method and device | |
WO2018149338A1 (zh) | 基于sdn的远端流镜像控制方法、实现方法及相关设备 | |
JP5993817B2 (ja) | キャリア網における経路制御システム及び方法 | |
CN102857428A (zh) | 一种基于访问控制列表的报文转发方法和设备 | |
CN106533943A (zh) | 基于网络交换芯片的微码和流表的实现方法 | |
WO2016150020A1 (zh) | 基于调度流标识的报文调度方法和装置 | |
CN102377645B (zh) | 交换芯片及其实现方法 | |
CN103905285A (zh) | 一种实现同一mac地址用户划分到多个不同vlan的方法 | |
CN103986714B (zh) | 将总线控制网络接入avb网络的代理实现方法及装置 | |
CN105471738B (zh) | 一种业务流量的传输方法及系统 | |
CN105515850B (zh) | 利用OpenFlow控制器和配置点实现对ForCES转发件的控制管理方法 | |
CN106330783A (zh) | 一种OpenFlow交换机能力上报的方法及装置 | |
CN109995674A (zh) | 一种可编程sdn交换机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |