CN104468384B - A kind of system and method for realizing multi-priority services - Google Patents
A kind of system and method for realizing multi-priority services Download PDFInfo
- Publication number
- CN104468384B CN104468384B CN201410807954.3A CN201410807954A CN104468384B CN 104468384 B CN104468384 B CN 104468384B CN 201410807954 A CN201410807954 A CN 201410807954A CN 104468384 B CN104468384 B CN 104468384B
- Authority
- CN
- China
- Prior art keywords
- vlan
- vxlan
- packet
- data
- module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 116
- 238000004891 communication Methods 0.000 claims abstract description 33
- 238000005538 encapsulation Methods 0.000 claims abstract description 18
- 238000007726 management method Methods 0.000 claims description 113
- 238000011144 upstream manufacturing Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 25
- 238000005111 flow chemistry technique Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种实现多业务优先级的系统及方法,涉及计算机通讯技术领域,该系统包括SDN控制器、至少一台VxLAN网关及至少两台VLAN交换机,所述SDN控制器包括北向接口处理模块、IP处理模块、ARP处理模块、拓扑管理模块、互通域管理模块、SDN OpenFlow接口模块;每台VxLAN网关包括配置管理模块、VxLAN OpenFlow接口模块、流表管理模块、隧道封装处理模块、隧道解封装处理模块、应用层业务识别处理模块、VxLAN收发包模块;每台VLAN交换机包括VLAN收发包模块、VLANID模块。本发明对硬件性能没有要求,无需运用专用的通讯处理器,降低了设备成本。
A system and method for realizing multi-service priority, relating to the technical field of computer communication, the system includes an SDN controller, at least one VxLAN gateway and at least two VLAN switches, the SDN controller includes a northbound interface processing module, an IP processing Module, ARP processing module, topology management module, intercommunication domain management module, SDN OpenFlow interface module; each VxLAN gateway includes configuration management module, VxLAN OpenFlow interface module, flow table management module, tunnel encapsulation processing module, tunnel decapsulation processing module, Application layer service identification processing module, VxLAN packet sending and receiving module; each VLAN switch includes VLAN sending and receiving packet module, VLANID module. The present invention has no requirements on hardware performance, does not need to use a dedicated communication processor, and reduces equipment cost.
Description
技术领域technical field
本发明涉及计算机通讯技术领域,具体来讲是一种实现多业务优先级的系统及方法。The invention relates to the technical field of computer communication, specifically a system and method for realizing multi-service priority.
背景技术Background technique
SDN(software defined networking,软件定义网络)是当前网络通信领域的热门话题,因其隔离交换机控制和转发功能得到各大网络设备厂商的大力追捧。近年来,随着网络技术和应用的迅速发展和网络接入形式的多样化,网络变得越来越复杂,同时,用户服务也越来越复杂。SDN (software defined networking, software defined network) is a hot topic in the current network communication field, and it is strongly sought after by major network equipment manufacturers because of its isolated switch control and forwarding functions. In recent years, with the rapid development of network technology and applications and the diversification of network access forms, the network has become more and more complex, and at the same time, user services have become more and more complex.
根据对我国互联网业务流量的统计,目前在各种业务中P2P业务占用了大量的宽带。网络上出现大量P2P业务造成网络的极度拥塞,给运营商和企业用户带来损失。对于运营商,由于宽带用户在线时间和流量的不断增加,需要对网络进行扩容,导致其网络成本和维护成本增加;对于企业用户,其大量宽带被P2P业务所占用,造成网络繁忙,从而可能无法保证企业用户的关键业务质量。因此,为了保证有限的宽带更好的服务于关键业务和应用。需要识别不同业务,对不同业务采用不同处理顺序进行处理。According to the statistics of my country's Internet business traffic, P2P services currently occupy a large amount of broadband in various services. The emergence of a large number of P2P services on the network causes extreme network congestion and brings losses to operators and enterprise users. For operators, due to the continuous increase of online time and traffic of broadband users, the network needs to be expanded, resulting in increased network costs and maintenance costs; Ensure the key business quality of enterprise users. Therefore, in order to ensure that the limited broadband can better serve key businesses and applications. Different services need to be identified, and different processing sequences are used for different services.
现有技术中出现了增加基于专用通讯处理器的硬件加速构架的专用硬件的网络设备。P2P流量控制处理,QoS处理等任务都是采用专用硬件处理,通过额外的硬件处理上述任务,虽然没有影响到网络设备的业务处理性能,但是这些专用的通讯处理器一般成本比较高,不适合用在中低端设备上。In the prior art, a network device with dedicated hardware added based on a hardware acceleration framework of a dedicated communication processor has appeared. P2P flow control processing, QoS processing and other tasks are all processed by dedicated hardware. Although the above tasks are processed by additional hardware, although the business processing performance of network equipment is not affected, these dedicated communication processors generally have a relatively high cost and are not suitable for use. On low-end and mid-end devices.
发明内容Contents of the invention
针对现有技术中存在的缺陷,本发明的目的在于提供一种实现多业务优先级的系统及方法,本发明对硬件性能没有要求,无需运用专用的通讯处理器,降低了设备成本。Aiming at the defects in the prior art, the object of the present invention is to provide a system and method for realizing multi-service priority. The present invention has no requirements on hardware performance, and does not need to use a dedicated communication processor, which reduces equipment costs.
为达到以上目的,本发明采取的技术方案是:一种实现多业务优先级的系统,包括SDN控制器、至少一台VxLAN网关及至少两台VLAN交换机,每台VxLAN网关包括:流表管理模块,保存SDN控制器对VxLAN网关上报数据流的处理流程;隧道封装处理模块,用于获取当前上行数据流的处理流程,根据处理流程为当前上行数据流添加VxLAN隧道并添加优先级,形成封装数据包,按照优先级转发上行数据流到三层网络中;使用VxLAN Header头部保留字段存放优先级值;隧道解封装处理模块,用于获取当前下行数据流的处理流程,根据处理流程为当前下行数据流去除VxLAN隧道、并修改VLAN ID,形成解封装数据包,以使得当前下行数据流能够在二层网络中通讯;应用层业务识别处理模块,用于解析VxLAN网关接收到的上行数据包/下行数据包,并识别其业务类型,将其转换为上行数据流/下行数据流,并转发至流表管理模块;所述SDN控制器包括:IP处理模块,用于除ARP数据类型外的其它数据类型的处理;ARP处理模块,用于为SDN控制器代理请求/回复ARP消息,为控制器获得目的用户的拓扑信息;拓扑管理模块,用于为SDN控制器获取全局网络拓扑信息;互通域管理模块,用于接收并读取SDN控制器与所有VxLAN网关之间的通讯配置,转发通讯配置至拓扑管理模块;SDNOpenFlow接口模块,用于接收并处理VxLAN网关上报至SDN控制器的OpenFlow消息;下发SDN控制器的处理数据包至VxLAN网关。In order to achieve the above object, the technical solution adopted by the present invention is: a system for realizing multi-service priority, including an SDN controller, at least one VxLAN gateway and at least two VLAN switches, and each VxLAN gateway includes: a flow table management module , save the processing flow of the data flow reported by the SDN controller to the VxLAN gateway; the tunnel encapsulation processing module is used to obtain the processing flow of the current upstream data flow, add a VxLAN tunnel and add priority to the current upstream data flow according to the processing flow, and form encapsulated data Packets, forward the upstream data flow to the three-layer network according to the priority; use the reserved field of the VxLAN Header to store the priority value; the tunnel decapsulation processing module is used to obtain the processing flow of the current downstream data flow, according to the processing flow The data flow removes the VxLAN tunnel, and modifies the VLAN ID to form a decapsulated data packet, so that the current downlink data flow can communicate in the two-layer network; the application layer service identification processing module is used to analyze the uplink data packet received by the VxLAN gateway/ Downlink data packet, and identify its business type, convert it into uplink data flow/downlink data flow, and forward to the flow table management module; the SDN controller includes: IP processing module, used for other than ARP data type Data type processing; ARP processing module, used to request/reply ARP messages for the SDN controller agent, and obtain the topology information of the destination user for the controller; topology management module, used to obtain global network topology information for the SDN controller; interworking domain The management module is used to receive and read the communication configuration between the SDN controller and all VxLAN gateways, and forward the communication configuration to the topology management module; the SDN OpenFlow interface module is used to receive and process the OpenFlow message reported by the VxLAN gateway to the SDN controller; Send the processing data packet of the SDN controller to the VxLAN gateway.
在上述技术方案的基础上,每台VxLAN网关还包括:配置管理模块,用于读取VxLAN网关程序运行后的参数信息,通过参数获取VxLAN网关需要连接的SDN控制器IP地址和OpenFlow端口;VxLAN OpenFlow接口模块,用于在VxLAN网关和SDN控制器之间建立连接;上报VxLAN网关在流表管理模块中未找到的数据流至SDN控制器;接收并处理SDN控制器下发的处理流程;VxLAN收发包模块,用于接收VxLAN网关的每一个网口的数据包;用于将隧道封装后的数据包和解封装后的数据包,按照SDN控制器要求的网口转发;所述SDN控制器还包括北向接口处理模块,用于为SDN控制器接收应用界面下发的不同业务的优先级策略。On the basis of the above technical solution, each VxLAN gateway also includes: a configuration management module, which is used to read the parameter information after the VxLAN gateway program runs, and obtain the SDN controller IP address and OpenFlow port that the VxLAN gateway needs to connect to through the parameters; VxLAN The OpenFlow interface module is used to establish a connection between the VxLAN gateway and the SDN controller; report the data flow not found by the VxLAN gateway in the flow table management module to the SDN controller; receive and process the processing flow issued by the SDN controller; VxLAN The sending and receiving packet module is used to receive the data packet of each network port of the VxLAN gateway; it is used to forward the data packet after tunnel encapsulation and the data packet after decapsulation according to the network port required by the SDN controller; the SDN controller also It includes a northbound interface processing module, which is used for receiving the priority policies of different services issued by the application interface for the SDN controller.
在上述技术方案的基础上,所述VxLAN收发包模块包括VxLAN收包子模块和VxLAN发包子模块;所述VxLAN收包子模块,用于接收VxLAN网关的每一个网口的数据包;所述VxLAN发包子模块,用于将隧道封装后的数据包和解封装后的数据包,按照SDN控制器要求的网口转发,隧道封装后的数据包通过VxLAN网关的WAN口转发,解封装后的数据包通过VxLAN网关的LAN口转发;按照优先级进行转发。On the basis of the above technical solution, the VxLAN transceiver module includes a VxLAN packet receiving submodule and a VxLAN packet sending submodule; the VxLAN packet receiving submodule is used to receive the data packets of each network port of the VxLAN gateway; the VxLAN packet sending module The packet sub-module is used to forward the tunnel-encapsulated data packets and decapsulated data packets according to the network port required by the SDN controller. The tunnel-encapsulated data packets are forwarded through the WAN port of the VxLAN gateway, and the decapsulated data packets are passed through Forwarding by the LAN port of the VxLAN gateway; forwarding according to priority.
在上述技术方案的基础上,每台VLAN交换机包括:VLAN收发包模块,用于接收VLAN的每一个网口的数据包;用于将接收的上行数据包发送至VxLAN网关;将接收的下行数据包发送至所属VLAN的用户;VLANID模块,用于为VLAN交换机接收的上行数据包添加VLAN头部、下行数据包去除VLAN头部。On the basis of the above-mentioned technical scheme, each VLAN switch includes: a VLAN transceiver module for receiving data packets of each network port of the VLAN; for sending the received uplink data packets to the VxLAN gateway; for receiving the downlink data packets The packet is sent to the user belonging to the VLAN; the VLANID module is used to add a VLAN header to the upstream data packet received by the VLAN switch, and remove the VLAN header to the downstream data packet.
在上述技术方案的基础上,所述VLAN收发包模块包括VLAN收包子模块和VLAN发包子模块;所述VLAN收包子模块,用于接收VLAN的每一个网口的数据包;所述VLAN发包子模块,用于将接收的上行数据包发送至VxLAN网关;将接收的下行数据包发送至所属于VLAN的用户;所述VLAN ID模块包括VLAN ID添加子模块和VLAN ID删除子模块;所述VLAN ID添加子模块,用于为VLAN交换机接收的上行数据包添加VLAN头部,VLAN头部包括VLAN ID信息;VLAN ID删除子模块,用于为VLAN交换机接收的下行数据包去除VLAN头部。On the basis of the above-mentioned technical scheme, the VLAN sending and receiving packet module includes a VLAN receiving submodule and a VLAN sending submodule; the VLAN receiving submodule is used to receive the data packets of each network port of the VLAN; the VLAN sending submodule Module for sending the received uplink data packet to the VxLAN gateway; the received downlink data packet is sent to the user belonging to the VLAN; the VLAN ID module includes a VLAN ID adding submodule and a VLAN ID deleting submodule; the VLAN The ID adding submodule is used to add a VLAN header to the uplink data packet received by the VLAN switch, and the VLAN header includes VLAN ID information; the VLAN ID deletion submodule is used to remove the VLAN header from the downlink data packet received by the VLAN switch.
在上述技术方案的基础上,所述拓扑管理模块包括VxLAN网关管理子模块、VLAN交换机管理子模块和用户管理子模块;所述VxLAN网关管理子模块,用于根据通讯配置保存所有VxLAN网关的VxLAN通信信息;所述VLAN交换机管理子模块,用于保存所有VLAN交换机的VLAN通信信息,VLAN通信信息包括VLAN交换机的VLAN ID、互通域VNI值、以及VLAN交换机所属的VxLAN网关的WAN口IP地址;所述用户管理子模块,用于保存所有VLAN交换机下的用户信息,用户信息包括:用户的IP地址、MAC地址、用户所属VxLAN网关的WAN口IP地址。On the basis of the above technical solution, the topology management module includes a VxLAN gateway management submodule, a VLAN switch management submodule and a user management submodule; the VxLAN gateway management submodule is used to save the VxLAN of all VxLAN gateways according to the communication configuration Communication information; the VLAN switch management submodule is used to store the VLAN communication information of all VLAN switches, and the VLAN communication information includes the VLAN ID of the VLAN switch, the VNI value of the intercommunication domain, and the WAN port IP address of the VxLAN gateway to which the VLAN switch belongs; The user management sub-module is used to save user information under all VLAN switches, and the user information includes: the user's IP address, MAC address, and the WAN port IP address of the VxLAN gateway to which the user belongs.
本发明还提供一种基于上述系统的实现多业务优先级的方法,包括源用户、源用户使用的第一VLAN交换机及第一VxLAN网关;目的用户、目的用户使用的第二VLAN交换机及第二VxLAN网关;该方法包括以下步骤:步骤S1.在SDN控制器的互通域管理模块预设所有VxLAN网关的互通域配置,VxLAN网关WAN口和下一跳路由都设置好IP地址;在北向接口处理模块预设所有的应用层业务优先级;步骤S2.源用户向目的用户发起请求,通过第一VLAN交换机发送数据包至第一VxLAN网关,同时第一VLAN交换机为该数据包添加VLAN头部;步骤S3.第一VxLAN网关的应用层业务识别处理模块解析数据包的应用层业务类型,将其设为APP ID值;通过数据包的五元组和APP ID值组成一条数据流;步骤S4.第一VxLAN网关的流表管理模块查看该数据流是否存在,若否,则将数据包及APP ID值上报至SDN控制器的SDNOpenFlow接口模块,转到步骤S5;若是,则按照该流表中的处理流程进行处理,转到步骤S7;步骤S5.SDN OpenFlow接口模块判断数据包是否属于ARP类型,若是,则转发至ARP处理模块,转到步骤S9,若否,则转到步骤S6;步骤S6.进行IP流程处理,转到步骤S7;步骤S7.第二VxLAN网关中的应用层业务识别处理模块解析接收到的数据包的优先级值,优先处理优先级高的下行数据包,在第二VxLAN网关的流表管理模块中进行查询,若查找失败,将数据包上报至SDN控制器,转到步骤S8;若查找成功,则按照该流表中的处理流程进行处理,转到步骤S10;步骤S8.SDN控制器通过OpenFlow消息告知第二VxLAN网关解封装VxLAN头部并修改数据包中的VLAN ID值为第二VLAN交换机的VLAN ID;SDN控制器通过OpenFlow消息告知第二VxLAN网关新建该数据流;第二VxLAN网关的流表管理模块将该数据流添加到流表中,第二VxLAN网关的隧道解封装处理模块解析所述数据流中的数据包,去掉数据包VxLAN头部并修改VLAN ID值,并将修改后的数据包从LAN口转发至第二VLAN交换机,转到步骤S10;步骤S9.进行ARP流程处理,转到步骤S10;步骤S10.第二VLAN交换机删除数据包的VLAN ID头部,并将其转发至目的用户;步骤S11.目的用户对不同类型数据包进行不同的回复。The present invention also provides a method for realizing multi-service priority based on the above system, including the source user, the first VLAN switch used by the source user and the first VxLAN gateway; the destination user, the second VLAN switch used by the destination user, and the second VxLAN gateway; the method comprises the following steps: Step S1. Preset the intercommunication domain configuration of all VxLAN gateways in the intercommunication domain management module of the SDN controller, and the VxLAN gateway WAN port and the next hop route are all set with IP addresses; processed at the northbound interface The module presets all application layer business priorities; Step S2. The source user initiates a request to the destination user, and sends the data packet to the first VxLAN gateway through the first VLAN switch, and the first VLAN switch adds a VLAN header to the data packet at the same time; Step S3. The application layer service identification processing module of the first VxLAN gateway analyzes the application layer service type of the data packet, and sets it as the APP ID value; forms a data flow by the five-tuple and the APP ID value of the data packet; step S4. The flow table management module of the first VxLAN gateway checks whether the data flow exists, if not, then report the data packet and the APP ID value to the SDN OpenFlow interface module of the SDN controller, and go to step S5; The processing flow of processing, go to step S7; Step S5.SDN OpenFlow interface module judges whether data packet belongs to ARP type, if so, then forward to ARP processing module, go to step S9, if not, then go to step S6; S6. carry out IP process processing, go to step S7; Step S7. the application layer business identification processing module in the second VxLAN gateway parses the priority value of the data packet received, and prioritizes the high downlink data packet of priority processing, at 2. Perform a query in the flow table management module of the VxLAN gateway. If the search fails, report the data packet to the SDN controller and go to step S8; if the search is successful, perform processing according to the processing flow in the flow table and go to step S10 ; Step S8.SDN controller informs the second VxLAN gateway to decapsulate the VxLAN header by an OpenFlow message and revises the VLAN ID value in the data packet to be the VLAN ID of the second VLAN switch; the SDN controller informs the second VxLAN gateway by an OpenFlow message to create a new The data flow; the flow table management module of the second VxLAN gateway adds the data flow to the flow table, and the tunnel decapsulation processing module of the second VxLAN gateway resolves the data packets in the data flow, removes the data packet VxLAN header and Modify the VLAN ID value, and forward the modified data packet from the LAN port to the second VLAN switch, and go to step S10; step S9. carry out ARP process processing, and go to step S10; step S10. the second VLAN switch deletes the data packet VLAN ID header, and forward it to the destination user; Step S11. The destination user responds differently to different types of data packets.
在上述技术方案的基础上,还包括以下步骤:步骤S12.第二VLAN交换机接收目的用户回复的上行数据包,为该数据包添加VLAN头部,发送至第二VxLAN网关;步骤S13.第二VxLAN网关通过当前数据包的五元组组成一条数据流,第二VxLAN网关的流表管理模块查看数据流是否存在,若是,则按照该流处理进行处理,结束;若否,则转到步骤S14;步骤S14.第二VxLAN网关将当前数据包上报至SDN控制器的SDN OpenFlow接口模块,转到步骤S5。On the basis of the above technical solution, the following steps are also included: Step S12. The second VLAN switch receives the uplink data packet replied by the destination user, adds a VLAN header to the data packet, and sends it to the second VxLAN gateway; Step S13. The second The VxLAN gateway forms a data flow through the quintuple of the current data packet, and the flow table management module of the second VxLAN gateway checks whether the data flow exists, if so, then process according to the flow processing, and end; if not, then go to step S14 ; Step S14. The second VxLAN gateway reports the current data packet to the SDN OpenFlow interface module of the SDN controller, and goes to step S5.
在上述技术方案的基础上,步骤S6中,所述进行IP流程处理的具体步骤为:步骤S601.判断数据包是否属于IP数据包,若否,则将数据包丢弃;若是,则将转发至IP处理模块,转到步骤S602;步骤S602.SDN控制器将获取的数据包中的APP ID值与北向接口处理模块中相关业务的APP ID值进行比较,若相等,则确定该数据包的优先级值,若不相等,则继续比较其他业务的APP ID值;SDN控制器的拓扑管理模块查询源用户的地址是否存在,若是,转到步骤S604,若否,则转到步骤S603;步骤S603.拓扑管理模块通过数据包确定源用户所属的第一VxLAN网关、第一VLAN交换机及VNI值,保存源用户的用户信息;步骤S604.SDN控制器的拓扑管理模块查询目的用户的地址是否存在,否则转发步骤S9;若是,转到步骤S605;步骤S605.SDN控制器通过第一VxLAN网关的配置信息,获取封装VxLAN头部的值以及该数据出去端口的值;SDN OpenFlow接口模块通过OpenFlow消息把封装VxLAN头部的值、出去端口的值、优先级值告知第一VxLAN网关并新建该数据流,第一VxLAN网关的流表管理模块将该数据流添加到流表中,第一VxLAN网关的隧道封装处理模块解析所述数据流中的数据包,给该数据包封装VxLAN头部,并将封装后的数据包从WAN口转发至第二VxLAN网关,转到步骤S10。On the basis of the above-mentioned technical solution, in step S6, the specific steps of carrying out the IP flow process are: step S601. judge whether the data packet belongs to the IP data packet, if not, then the data packet is discarded; if so, then will be forwarded to IP processing module, go to step S602; Step S602.SDN controller compares the APP ID value in the data packet obtained with the APP ID value of relevant business in the northbound interface processing module, if equal, then determine the priority of this data packet If not equal, then continue to compare the APP ID values of other services; the topology management module of the SDN controller inquires whether the address of the source user exists, if so, go to step S604, if not, then go to step S603; step S603 The topology management module determines the first VxLAN gateway, the first VLAN switch and the VNI value that the source user belongs to through the data packet, and saves the user information of the source user; step S604.Whether the address of the topology management module of the SDN controller queries the destination user exists, Otherwise, step S9 is forwarded; if so, go to step S605; step S605.SDN controller obtains the value of encapsulating the VxLAN header and the value of the data output port through the configuration information of the first VxLAN gateway; the SDN OpenFlow interface module passes the OpenFlow message to Encapsulate the value of the VxLAN header, the value of the outgoing port, and the priority value to inform the first VxLAN gateway and create a new data flow. The flow table management module of the first VxLAN gateway adds the data flow to the flow table. The first VxLAN gateway The tunnel encapsulation processing module parses the data packets in the data flow, encapsulates the VxLAN headers for the data packets, and forwards the encapsulated data packets from the WAN port to the second VxLAN gateway, and turns to step S10.
在上述技术方案的基础上,步骤S9中,所述进行ARP流程处理的具体步骤为:步骤S901.ARP处理模块判断数据包的ARP数据类型,如果是ARP请求数据包,则转到步骤S903;如果是ARP回复数据包,则转到步骤S902;步骤S902.SDN控制器的拓扑管理模块查询源用户的地址是否存在,若否,则拓扑管理模块通过ARP回复数据包确定目的用户所属的第二VxLAN网关、第二VLAN交换机及VNI值,保存目的用户的用户信息并结束;若是,则结束;步骤S903.SDN控制器的拓扑管理模块查询源用户的地址是否存在,若否,则拓扑管理模块通过ARP请求数据包确定源用户所属的第一VxLAN网关、第一VLAN交换机及VNI值,保存源用户的用户信息,转到步骤S904;若是,则直接转到步骤S904;步骤S904.SDN控制器的拓扑管理模块查询目的用户的地址是否存在,若是,则转到步骤S905;若否,则转到步骤S906;步骤S905.SDN控制器直接代理目的用户,对数据包进行回复并结束;步骤S906.SDN控制器中的ARP处理模块将该ARP请求数据包转换为ARP代理请求数据包,并发送至与第一VxLAN网关在同一个互通域下的所有VxLAN网关,所有VxLAN网关将该ARP代理请求数据包通过LAN口转发至VLAN交换机,转到步骤S10。On the basis of the above-mentioned technical solution, in step S9, the specific steps of the described ARP flow processing are: step S901.ARP processing module judges the ARP data type of the packet, if it is an ARP request packet, then go to step S903; If it is an ARP reply packet, then go to step S902; step S902. Whether the address of the source user is inquired by the topology management module of the SDN controller, if not, then the topology management module determines the second address to which the destination user belongs by the ARP reply packet. The VxLAN gateway, the second VLAN switch and the VNI value save the user information of the destination user and end; if so, end; the topology management module of step S903.SDN controller checks whether the address of the source user exists, if not, then the topology management module Determine the first VxLAN gateway, the first VLAN switch and the VNI value that the source user belongs to through the ARP request packet, save the user information of the source user, and go to step S904; if so, then go directly to step S904; step S904.SDN controller The topology management module inquires whether the address of the destination user exists, and if so, then proceeds to step S905; if not, then proceeds to step S906; step S905.SDN controller directly acts on behalf of the destination user, replies the data packet and ends; step S906 .The ARP processing module in the SDN controller converts the ARP request packet into an ARP proxy request packet, and sends it to all VxLAN gateways in the same intercommunication domain as the first VxLAN gateway, and all VxLAN gateways send the ARP proxy request The data packet is forwarded to the VLAN switch through the LAN port, and then go to step S10.
本发明的有益效果在于:The beneficial effects of the present invention are:
1、本发明中,VxLAN(Virtual extensible LAN,虚拟可扩展局域网)网关接收数据包后通过应用层业务识别处理模块对数据包进行业务识别处理,该模块具有不同业务数据包的格式识别功能,可以快速识别业务数据包类型,不需要专门的硬件来识别业务类型,因此对硬件性能没有要求,无需运用专用的通讯处理器,降低了设备成本。1. In the present invention, after the VxLAN (Virtual extensible LAN, virtual extensible local area network) gateway receives the data packet, the data packet is carried out to the business identification process by the application layer business identification processing module. This module has the format recognition function of different business data packets, and can Quickly identify the type of business data packets, does not require special hardware to identify the type of business, so there is no requirement for hardware performance, no need to use a dedicated communication processor, reducing equipment costs.
2、本发明中通过WEB界面配置优先级策略,因此具有实时操作的灵活性,随时保证关键业务服务质量。2. In the present invention, the priority strategy is configured through the WEB interface, so it has the flexibility of real-time operation and ensures the service quality of key business at any time.
3、本发明中,将优先级策略值设置在VxLAN Header保留位中,该保留位有4个字节,因此具有可扩展性。3. In the present invention, the priority policy value is set in the VxLAN Header reserved bit, and the reserved bit has 4 bytes, so it has scalability.
附图说明Description of drawings
图1为本发明实施例中实现多业务优先级系统的结构框图;Fig. 1 is the structural block diagram that realizes multi-service priority system in the embodiment of the present invention;
图2为本发明实施例中SDN控制器的结构框图;Fig. 2 is the structural block diagram of SDN controller in the embodiment of the present invention;
图3为本发明实施例中VxLAN网关的结构框图;Fig. 3 is the structural block diagram of VxLAN gateway in the embodiment of the present invention;
图4为本发明实施例中VLAN交换机的结构框图;Fig. 4 is the structural block diagram of VLAN switch in the embodiment of the present invention;
图5为本发明实施例中VxLAN Header的结构框图;Fig. 5 is the structural block diagram of VxLAN Header in the embodiment of the present invention;
图6为本发明实施例中实现多业务优先级方法的流程图;FIG. 6 is a flowchart of a method for implementing multiple service priorities in an embodiment of the present invention;
图7为本发明实施例中实现多业务优先级方法中IP处理流程;FIG. 7 is an IP processing flow in a method for realizing multi-service priority in an embodiment of the present invention;
图8为本发明实施例中实现多业务优先级方法中ARP处理流程。FIG. 8 is an ARP processing flow in the method for implementing multiple service priorities in the embodiment of the present invention.
具体实施方式detailed description
以下结合附图及实施例对本发明作进一步详细说明。The present invention will be described in further detail below in conjunction with the accompanying drawings and embodiments.
参见图1所示,一种实现多业务优先级的系统,包括SDN控制器、至少一台VxLANGateway(VxLAN网关)及至少两台VLAN(Virtual Local Area Network,虚拟局域网)交换机,所述SDN控制器通过OpenFlow协议与每一台VxLAN网关相连,且每一台VxLAN网关分别与至少两台VLAN交换机相连;所述SDN控制器包括北向接口处理模块、IP处理模块、ARP处理模块、拓扑管理模块、互通域管理模块、SDN OpenFlow接口模块;每台VxLAN网关包括配置管理模块、VxLANOpenFlow接口模块、流表管理模块、隧道封装处理模块、隧道解封装处理模块、应用层业务识别处理模块、VxLAN收发包模块;每台VLAN交换机包括VLAN收发包模块、VLANID模块。Referring to shown in Fig. 1, a kind of system that realizes multi-service priority includes SDN controller, at least one VxLANGateway (VxLAN gateway) and at least two VLAN (Virtual Local Area Network, virtual local area network) switches, described SDN controller It is connected to each VxLAN gateway through the OpenFlow protocol, and each VxLAN gateway is connected to at least two VLAN switches; the SDN controller includes a northbound interface processing module, an IP processing module, an ARP processing module, a topology management module, and an interworking Domain management module, SDN OpenFlow interface module; each VxLAN gateway includes configuration management module, VxLANOpenFlow interface module, flow table management module, tunnel encapsulation processing module, tunnel decapsulation processing module, application layer business identification processing module, VxLAN sending and receiving packet module; Each VLAN switch includes a VLAN sending and receiving packet module and a VLANID module.
参见图2所示,所述SDN控制器包括IP处理模块,用于除ARP数据类型外的其它数据类型的处理;SDN控制器通过VxLAN网关上报OpenFlow消息,获取该OpenFlow消息的应用层业务类型(将应用层业务识别类型设置为APP ID值),SDN控制器根据北向接口处理模块获取该业务类型的优先级,给上报的数据包下发优先级;同时,为该上行数据包封装VxLAN隧道,为下行数据包去掉隧道的封装以及VLAN ID的修改。根据通讯配置获取所有VxLan网关上报的ARP数据类型之外其它数据类型的处理流程,处理流程包括优先级值(Priority)下发,参见图5所示,VxLAN Header具有8个字节,其中第1个字节和第5,6,7字节已经被使用,第2,3,4,8字节被保留,这里使用第8个字节存放优先级值,将优先级值定义为Priority(1~255);如果不够,在扩用第2,3,4字节。VLAN ID的修改、隧道的封装和隧道的解封装。VxLAN头部包含VxLAN隧道封装的所有数据,包含以太网头、IP头、UDP头及VxLAN Header。Referring to shown in Fig. 2, described SDN controller comprises IP processing module, is used for the processing of other data types except ARP data type; SDN controller reports OpenFlow message through VxLAN gateway, obtains the application layer business type of this OpenFlow message ( The application layer service identification type is set to the APP ID value), the SDN controller obtains the priority of the service type according to the northbound interface processing module, and sends the priority to the reported data packet; at the same time, encapsulates the VxLAN tunnel for the uplink data packet, Remove tunnel encapsulation and modify VLAN ID for downlink data packets. According to the communication configuration, the processing flow of other data types other than the ARP data type reported by the VxLan gateway is obtained. The processing flow includes the delivery of the priority value (Priority), as shown in Figure 5. The VxLAN Header has 8 bytes, of which the first The first byte and the 5th, 6th, and 7th bytes have been used, and the 2nd, 3rd, 4th, and 8th bytes are reserved. Here, the 8th byte is used to store the priority value, and the priority value is defined as Priority(1 ~255); if not enough, expand the 2nd, 3rd, 4th bytes. VLAN ID modification, tunnel encapsulation and tunnel decapsulation. The VxLAN header contains all data encapsulated by the VxLAN tunnel, including the Ethernet header, IP header, UDP header, and VxLAN Header.
ARP处理模块,用于为SDN控制器代理请求/回复ARP消息(在第一VxLAN网关的LAN口重新广播代理查询),为控制器获得目的用户的拓扑信息;具体的,所述ARP处理模块为SDN控制器接收VxLAN网关上报的数据包,在用户拓扑结构中未找到目的用户的时候,SDN控制器给在同一个互通域下的所有VxLAN网关发送请求目的用户MAC地址的广播数据,根据目的用户的回复数据来获取该用户信息。The ARP processing module is used to request/reply the ARP message for the SDN controller agent (re-broadcasting the agent query at the LAN port of the first VxLAN gateway), and to obtain the topology information of the destination user for the controller; specifically, the ARP processing module is The SDN controller receives the data packet reported by the VxLAN gateway. When the destination user is not found in the user topology, the SDN controller sends broadcast data requesting the MAC address of the destination user to all VxLAN gateways in the same intercommunication domain. Reply data to get the user information.
拓扑管理模块,用于为SDN控制器获取全局网络拓扑信息;拓扑管理模块包括VxLAN网关管理子模块、VLAN交换机管理子模块和用户管理子模块;VxLAN网关管理子模块、VLAN交换机管理子模块和用户管理子模块通过一个链表相互关联(VxLAN网关结构体下有VLAN交换机结构体,VLAN交换机结构体下有用户结构体),VxLAN网关管理子模块、VLAN交换机管理子模块和用户管理子模块能够通过链表互相查找。所述VxLAN网关管理子模块,用于根据通讯配置保存所有VxLAN网关的VxLAN通信信息;所述VLAN交换机管理子模块,用于保存所有VLAN交换机的VLAN通信信息,VLAN通信信息包括VLAN交换机的VLAN ID、互通域VNI(VxLANNetwork Identifier,VxLAN网络标识)值、以及VLAN交换机所属的VxLAN网关的WAN口IP地址;所述用户管理子模块,用于保存所有VLAN交换机下的用户信息,用户信息包括:用户的IP地址、MAC地址、用户所属VxLAN网关的WAN口IP地址。The topology management module is used to obtain global network topology information for the SDN controller; the topology management module includes a VxLAN gateway management submodule, a VLAN switch management submodule and a user management submodule; a VxLAN gateway management submodule, a VLAN switch management submodule and a user management module The management submodules are related to each other through a linked list (there is a VLAN switch structure under the VxLAN gateway structure, and there is a user structure under the VLAN switch structure), and the VxLAN gateway management submodule, VLAN switch management submodule and user management submodule can pass through the linked list look up each other. The VxLAN gateway management submodule is used to save the VxLAN communication information of all VxLAN gateways according to the communication configuration; the VLAN switch management submodule is used to save the VLAN communication information of all VLAN switches, and the VLAN communication information includes the VLAN ID of the VLAN switch , intercommunication domain VNI (VxLANNetwork Identifier, VxLAN network identifier) value, and the WAN port IP address of the VxLAN gateway to which the VLAN switch belongs; the user management submodule is used to store user information under all VLAN switches, and the user information includes: user IP address, MAC address, and IP address of the WAN port of the VxLAN gateway to which the user belongs.
互通域管理模块,用于接收并读取SDN控制器与所有VxLAN网关之间的通讯配置,转发通讯配置至拓扑管理模块;具体的,所述互通域管理模块中的通讯配置通过web界面配置或配置文件配置,通讯配置可通过web界面配置,也可以从配置文件配置。通讯配置包括VxLAN网关的IP地址、LAN(Local Area Network,局域网)口值、LAN口的MAC地址、WAN(WideArea Network,广域网)口值、WAN口的MAC地址、WAN口IP地址、WAN口下一跳路由IP地址和下一跳路由MAC地址。通过配置VxLAN网关的WAN口IP地址和下一跳路由IP地址能够实现指定VxLAN网关之间的互通。The intercommunication domain management module is used to receive and read the communication configuration between the SDN controller and all VxLAN gateways, and forward the communication configuration to the topology management module; specifically, the communication configuration in the intercommunication domain management module is configured through the web interface or Configuration file configuration, communication configuration can be configured through the web interface, and can also be configured from the configuration file. Communication configuration includes IP address of VxLAN gateway, LAN (Local Area Network, local area network) port value, MAC address of LAN port, WAN (WideArea Network, wide area network) port value, MAC address of WAN port, WAN port IP address, WAN port One-hop routing IP address and next-hop routing MAC address. Intercommunication between specified VxLAN gateways can be achieved by configuring the WAN port IP address and next-hop routing IP address of the VxLAN gateway.
SDN OpenFlow接口模块,用于接收并处理VxLANOpenFlow接口模块上报至SDN控制器的OpenFlow消息;下发SDN控制器的处理数据包至VxLANOpenFlow接口模块。The SDN OpenFlow interface module is used to receive and process the OpenFlow message reported by the VxLANOpenFlow interface module to the SDN controller; send the processing data packet of the SDN controller to the VxLANOpenFlow interface module.
北向接口处理模块,用于为SDN控制器接收应用界面下发的不同业务的优先级策略。可以是XML(Extensible Markup Language,可扩展性标记语言),也可以是JSON(JavaScript Object Notation,JavaScript对象表示法)等数据格式。具体的,所述北向接口处理模块中的通讯配置通过web界面配置,用户通过应用层业务划分优先级。应用层业务可以大致分为视频会议、在线音频、即时通讯、财务软件、邮件收发等。The northbound interface processing module is used for receiving the priority policies of different services issued by the application interface for the SDN controller. It may be XML (Extensible Markup Language, Extensible Markup Language), and may also be a data format such as JSON (JavaScript Object Notation, JavaScript Object Notation). Specifically, the communication configuration in the northbound interface processing module is configured through a web interface, and the user assigns priorities through application layer services. Application layer services can be roughly divided into video conferencing, online audio, instant messaging, financial software, mail sending and receiving, etc.
参见图3所示,每台VxLAN网关包括流表管理模块,保存SDN控制器对VxLAN网关上报数据流的处理流程;具体的,所述VxLAN网关的流表管理模块保存SDN控制器对VxLAN网关上报流的处理流程时,VxLAN网关接收到上行数据流或下行数据流后,流表管理模块查找当前上行数据流或下行数据流是否存在,若是,确定当前上行数据流或下行数据流不是首次发送,按照当前上行数据流或下行数据流处理流程处理并发送当前上行数据流或下行数据流;否则确定当前上行数据流或下行数据流为首次发送,将当前上行数据流或下行数据流通过VxLANOpenFlow接口模块发送至SDN控制器OpenFlow接口模块。Referring to Fig. 3, each VxLAN gateway includes a flow table management module, which saves the processing flow of the data flow reported by the SDN controller to the VxLAN gateway; specifically, the flow table management module of the VxLAN gateway saves the SDN controller's report to the VxLAN gateway. During the processing flow of the flow, after the VxLAN gateway receives the upstream data flow or the downstream data flow, the flow table management module checks whether the current upstream data flow or the downstream data flow exists, and if so, determines that the current upstream data flow or the downstream data flow is not sent for the first time, Process and send the current upstream or downstream data flow according to the current upstream data flow or downstream data flow processing flow; otherwise, determine that the current upstream data flow or downstream data flow is the first transmission, and pass the current upstream data flow or downstream data flow through the VxLANOpenFlow interface module Send to the SDN controller OpenFlow interface module.
隧道封装处理模块,用于VxLAN网关接收到上行数据流后,通过流表管理模块获取当前上行数据流的处理流程,根据处理流程为当前上行数据流添加VxLAN隧道并添加优先级,形成封装数据包,按照优先级转发上行数据流到三层网络中;使用VxLAN Header头部保留字段(最后1个字节)存放优先级值,将优先级值定义为Priority(1~255)。The tunnel encapsulation processing module is used to obtain the processing flow of the current upstream data flow through the flow table management module after the VxLAN gateway receives the upstream data flow, and add a VxLAN tunnel and add priority to the current upstream data flow according to the processing flow to form an encapsulated data packet , forward the upstream data flow to the three-layer network according to the priority; use the VxLAN Header header reserved field (the last 1 byte) to store the priority value, and define the priority value as Priority (1~255).
隧道解封装处理模块,用于VxLAN网关接收到下行数据流后,VxLAN网关通过流表管理模块获取当前下行数据流的处理流程,根据处理流程为当前下行数据流去除VxLAN隧道、并修改VLAN ID,形成解封数据包,以使得当前下行数据流能够在二层网络中通讯。The tunnel decapsulation processing module is used for after the VxLAN gateway receives the downlink data flow, the VxLAN gateway obtains the processing flow of the current downlink data flow through the flow table management module, removes the VxLAN tunnel for the current downlink data flow according to the processing flow, and modifies the VLAN ID, Form a decapsulated data packet so that the current downlink data flow can communicate in the Layer 2 network.
应用层业务识别处理模块,用于解析VxLAN网关接收到的上行数据包/下行数据包,并识别其业务类型,将其转换为上行数据流/下行数据流,并转发至流表管理模块;具体的,VxLAN网关接收到上行数据包后,解析该数据包应用层业务类型(获取APP ID值),并结合五元组原则和APP ID值形成一条上行数据流,转发给流表管理模块;VxLAN网关接收下行数据包后,解析该数据包中应用层业务优先级值(获取Priority值),结合五元组原则和Priority值形成一条下行数据流,按照优先级高的先处理原则,转发优先级高的数据流给流表管理模块。The application layer service identification processing module is used to analyze the upstream data packet/downlink data packet received by the VxLAN gateway, identify its service type, convert it into upstream data flow/downstream data flow, and forward it to the flow table management module; specifically Yes, after the VxLAN gateway receives the upstream data packet, it analyzes the application layer service type of the data packet (acquires the APP ID value), and forms an upstream data flow in combination with the five-tuple principle and the APP ID value, and forwards it to the flow table management module; VxLAN After the gateway receives the downlink data packet, it parses the application layer business priority value in the data packet (obtains the Priority value), forms a downlink data flow by combining the quintuple principle and the Priority value, and forwards the priority according to the principle of higher priority first. The high data flow is sent to the flow table management module.
配置管理模块,用于读取VxLAN网关程序运行后的参数信息,通过参数获取VxLAN网关需要连接的SDN控制器IP地址和OpenFlow端口。The configuration management module is used to read the parameter information after the VxLAN gateway program runs, and obtain the SDN controller IP address and OpenFlow port that the VxLAN gateway needs to connect to through the parameters.
VxLANOpenFlow接口模块采用OpenFlow协议标准,用于在VxLAN网关和SDN控制器之间建立连接;上报VxLAN网关在流表管理模块中未找到的数据流至SDN控制器;接收并处理SDN控制器下发的处理流程。The VxLANOpenFlow interface module adopts the OpenFlow protocol standard, which is used to establish a connection between the VxLAN gateway and the SDN controller; report the data flow that the VxLAN gateway does not find in the flow table management module to the SDN controller; receive and process the data sent by the SDN controller processing flow.
VxLAN收发包模块,用于接收VxLAN网关的每一个网口的数据包;用于将隧道封装后的数据包和解封装后的数据包,按照SDN控制器要求的网口转发;所述VxLAN收发包模块包括VxLAN收包子模块和VxLAN发包子模块;所述VxLAN收包子模块,用于接收VxLAN网关的每一个网口的数据包;所述VxLAN发包子模块,用于将隧道封装后的数据包和解封装后的数据包,按照SDN控制器要求的网口转发,隧道封装后的数据包通过VxLAN网关的WAN口转发,解封装后的数据包通过VxLAN网关的LAN口转发;按照优先级进行转发。The VxLAN transceiver module is used to receive the data packet of each network port of the VxLAN gateway; it is used to forward the tunnel encapsulated data packet and the decapsulated data packet according to the network port required by the SDN controller; the VxLAN transceiver packet The module includes a VxLAN packet receiving submodule and a VxLAN packet sending submodule; the VxLAN packet receiving submodule is used to receive the data packets of each network port of the VxLAN gateway; the VxLAN packet sending submodule is used to reconcile the tunnel encapsulated data packets The encapsulated data packet is forwarded according to the network port required by the SDN controller, the tunnel encapsulated data packet is forwarded through the WAN port of the VxLAN gateway, and the decapsulated data packet is forwarded through the LAN port of the VxLAN gateway; it is forwarded according to the priority.
参见图4所示,每台VLAN交换机包括VLAN收发包模块,用于接收VLAN的每一个网口的数据包;用于将接收的上行数据包发送至VxLAN网关;将接收的下行数据包发送至所属VLAN的用户;VLANID模块,用于为VLAN交换机接收的上行数据包添加VLAN头部、下行数据包去除VLAN头部。优选的,所述VLAN收发包模块包括VLAN收包子模块和VLAN发包子模块;所述VLAN收包子模块,用于接收VLAN的每一个网口的数据包;所述VLAN发包子模块,用于将接收的上行数据包发送至VxLAN网关;将接收的下行数据包发送至所属于VLAN的用户;所述VLANID模块包括VLAN ID添加子模块和VLAN ID删除子模块;所述VLAN ID添加子模块,用于为VLAN交换机接收的上行数据包添加VLAN头部,VLAN头部包括VLAN ID信息;VLAN ID删除子模块,用于为VLAN交换机接收的下行数据包去除VLAN头部。As shown in Figure 4, each VLAN switch includes a VLAN transceiver module for receiving packets of each network port of the VLAN; for sending the received uplink data packets to the VxLAN gateway; for sending the received downlink data packets to the VxLAN gateway; The user belonging to the VLAN; the VLANID module is used to add a VLAN header to the upstream data packet received by the VLAN switch, and remove the VLAN header to the downstream data packet. Preferably, the VLAN sending and receiving packet module includes a VLAN receiving submodule and a VLAN sending submodule; the VLAN receiving submodule is used to receive packets of each network port of the VLAN; the VLAN sending submodule is used to send The received uplink data packet is sent to the VxLAN gateway; the received downlink data packet is sent to the user belonging to the VLAN; the VLANID module includes a VLAN ID adding submodule and a VLAN ID deleting submodule; the VLAN ID adding submodule uses It is used to add a VLAN header to the upstream data packet received by the VLAN switch, and the VLAN header includes VLAN ID information; the VLAN ID deletion sub-module is used to remove the VLAN header from the downstream data packet received by the VLAN switch.
参见图6所示,基于上述系统的实现多业务优先级的方法,包括源用户、源用户使用的第一VLAN交换机及第一VxLAN网关;目的用户、目的用户使用的第二VLAN交换机及第二VxLAN网关。该方法包括以下步骤:Referring to Fig. 6, the method for realizing multi-service priority based on the above-mentioned system includes the source user, the first VLAN switch used by the source user and the first VxLAN gateway; the destination user, the second VLAN switch used by the destination user, and the second VxLAN gateway. The method includes the following steps:
步骤S1:在SDN控制器的互通域管理模块预设所有VxLAN网关的互通域配置,VxLAN网关WAN口和下一跳路由都设置好IP地址;在北向接口处理模块预设所有的应用层业务优先级;其中,在SDN控制器的北向接口处理模块预设所有的应用层业务优先级,视频会议优先级为1,视频会议优先级为2、在线音频优先级为3、即时通讯优先级为4、财务软件优先级为5、邮件收发优先级为6。Step S1: Preset the intercommunication domain configuration of all VxLAN gateways in the intercommunication domain management module of the SDN controller, and set the IP address for the WAN port of the VxLAN gateway and the next-hop route; preset all application layer services in the northbound interface processing module Among them, all application layer business priorities are preset in the northbound interface processing module of the SDN controller, the video conference priority is 1, the video conference priority is 2, the online audio priority is 3, and the instant messaging priority is 4 , The priority of financial software is 5, and the priority of sending and receiving emails is 6.
步骤S2:源用户向目的用户发起请求时,通过第一VLAN交换机发送数据包至第一VxLAN网关,同时第一VLAN交换机为该数据包添加VLAN头部。Step S2: When the source user initiates a request to the destination user, the data packet is sent to the first VxLAN gateway through the first VLAN switch, and at the same time, the first VLAN switch adds a VLAN header to the data packet.
步骤S3:第一VxLAN网关的应用层业务识别处理模块解析数据包的应用层业务类型,将其设为APP ID值;通过数据包的五元组和APP ID值组成一条数据流;所述五元组包括当前视频会议数据包的源IP地址、目的IP地址、源MAC地址、目的MAC地址和数据类型。Step S3: the application layer service identification processing module of the first VxLAN gateway parses the application layer service type of the data packet, and sets it as the APP ID value; forms a data flow through the five-tuple and the APP ID value of the data packet; the five The tuple includes the source IP address, destination IP address, source MAC address, destination MAC address and data type of the current video conference data packet.
步骤S4:第一VxLAN网关的流表管理模块查看该数据流是否存在,若否,则将数据包及APP ID值上报至SDN控制器的SDN OpenFlow接口模块,转到步骤S5;若是,则按照该流表中的处理流程进行处理,转到步骤S7。Step S4: The flow table management module of the first VxLAN gateway checks whether the data flow exists, and if not, reports the data packet and the APP ID value to the SDN OpenFlow interface module of the SDN controller, and turns to step S5; The processing flow in the flow table is processed, and then goes to step S7.
步骤S5:SDN OpenFlow接口模块判断数据包是否属于ARP类型,若是,则转发至ARP处理模块,转到步骤S9,若否,则转到步骤S6。Step S5: The SDN OpenFlow interface module judges whether the data packet belongs to the ARP type, and if so, forwards it to the ARP processing module, and turns to step S9, and if not, turns to step S6.
步骤S6:进行IP流程处理,转到步骤S7。Step S6: Perform IP flow processing, go to step S7.
步骤S7:第二VxLAN网关中的应用层业务识别处理模块解析接收到的数据包的优先级值,优先处理优先级高的下行数据包(Priority值越小越优先),在第二VxLAN网关的流表管理模块中进行查询,若查找失败,将数据包上报至SDN控制器,转到步骤S8;若查找成功,则按照该流表中的处理流程进行处理,转到步骤S10。Step S7: the application layer service identification processing module in the second VxLAN gateway parses the priority value of the received data packet, and prioritizes the downlink data packets with high priority (the smaller the Priority value, the more priority), in the second VxLAN gateway Query in the flow table management module, if the search fails, report the data packet to the SDN controller, and go to step S8; if the search is successful, process according to the processing flow in the flow table, and go to step S10.
步骤S8:第二VxLAN网关中的OpenFlow接口模块把数据流上报给SDN控制器,SDN控制器通过上报数据包中的VNI的值,在拓扑管理模块中查找到第二VxLAN网关下的第二VLAN交换机在该VNI下。SDN控制器通过OFPT_PACKET_OUT告知第二VxLAN网关解封装VxLAN头部并修改数据包中的VLAN ID值为第二VLAN交换机的VLAN ID;SDN控制器通过OFPT_FLOW_MOD告知第二VxLAN网关新建该数据流;第二VxLAN网关的OpenFlow接口模块接收OFPT_FLOW_MOD消息后,第二VxLAN网关的流表管理模块将该数据流添加到流表中,第二VxLAN网关的隧道解封装处理模块解析所述数据流中的数据包,去掉数据包VxLAN头部并修改VLAN ID值,并将修改后的数据包从LAN口转发至第二VLAN交换机,转到步骤S10。Step S8: The OpenFlow interface module in the second VxLAN gateway reports the data flow to the SDN controller, and the SDN controller finds the second VLAN under the second VxLAN gateway in the topology management module by reporting the value of the VNI in the data packet The switch is under this VNI. The SDN controller informs the second VxLAN gateway to decapsulate the VxLAN header through OFPT_PACKET_OUT and modifies the VLAN ID value in the data packet to be the VLAN ID of the second VLAN switch; the SDN controller informs the second VxLAN gateway to create the data flow through OFPT_FLOW_MOD; the second After the OpenFlow interface module of the VxLAN gateway receives the OFPT_FLOW_MOD message, the flow table management module of the second VxLAN gateway adds the data flow to the flow table, and the tunnel decapsulation processing module of the second VxLAN gateway parses the data packets in the data flow, Remove the VxLAN header of the data packet and modify the VLAN ID value, and forward the modified data packet from the LAN port to the second VLAN switch, and go to step S10.
步骤S9:进行ARP流程处理,转到步骤S10。Step S9: Perform ARP flow processing, go to step S10.
步骤S10:第二VLAN交换机删除数据包的VLAN ID头部,并将其转发至目的用户;具体的,第二VLAN交换机的收包模块接收到下行数据包后,转给VLAN ID删除子模块,该模块删除数据包VLAN ID,第二VLAN交换机的发包模块把该去掉VLAN ID后的数据包发送给目的用户。Step S10: the second VLAN switch deletes the VLAN ID header of the data packet, and forwards it to the destination user; specifically, after the receiving module of the second VLAN switch receives the downlink data packet, it forwards it to the VLAN ID deletion submodule, This module deletes the VLAN ID of the data packet, and the packet sending module of the second VLAN switch sends the data packet with the VLAN ID removed to the destination user.
步骤S11:目的用户对不同类型数据包进行不同的回复。Step S11: The destination user responds differently to different types of data packets.
步骤S12:第二VLAN交换机接收目的用户回复的上行数据包,为该数据包添加VLAN头部,发送至第二VxLAN网关;具体的,第二VLAN交换机的收包模块接收该上行数据包后,转发给VLAN ID添加子模块,该模块给数据包添加VLAN头部,VLAN发包子模块将数据包发送至第二VxLAN网关。Step S12: the second VLAN switch receives the uplink data packet replied by the destination user, adds a VLAN header to the data packet, and sends it to the second VxLAN gateway; specifically, after the receiving module of the second VLAN switch receives the uplink data packet, Forwarding to the VLAN ID adding submodule, the module adds a VLAN header to the data packet, and the VLAN packet sending submodule sends the data packet to the second VxLAN gateway.
步骤S13:第二VxLAN网关通过当前数据包的五元组组成一条数据流,第二VxLAN网关的流表管理模块查看数据流是否存在,若是,则按照该流处理进行处理,结束;若否,则转到步骤S14。Step S13: the second VxLAN gateway forms a data stream through the quintuple of the current data packet, and the flow table management module of the second VxLAN gateway checks whether the data stream exists, if so, process according to the stream processing, and end; if not, Then go to step S14.
步骤S14:第二VxLAN网关将当前数据包上报至SDN控制器的SDN OpenFlow接口模块,转到步骤S5。Step S14: The second VxLAN gateway reports the current data packet to the SDN OpenFlow interface module of the SDN controller, and goes to step S5.
参见图7所示,所述进行IP流程处理的具体步骤为:Referring to Fig. 7, the specific steps for performing IP flow processing are:
步骤S601.判断数据包是否属于IP数据包,若否,则将数据包丢弃;若是,则将转发至IP处理模块,转到步骤S602。Step S601. Determine whether the data packet belongs to an IP data packet, if not, discard the data packet; if yes, forward the data packet to the IP processing module, and go to step S602.
步骤S602.SDN控制器将获取的数据包中的APP ID值与北向接口处理模块中相关业务的APP ID值进行比较,若相等,则确定该数据包的优先级值,若不相等,则继续比较其他业务的APP ID值;具体的,对当前非ARP类型的IP数据包进行处理,SDN控制器中北向接口处理模块获取视频会议等级为1,把上报的数据包中的APP ID值和北向接口处理模块中的视频会议APP ID(控制器和交换机之间的应用层业务识别APP ID值保持一致)值比较,相等说明该业务为视频会议,确定该数据包优先等级为1,即Priority值为1。不相等继续比较其他业务APP ID,以至所有的业务比较结束,如果还是未找到,确定该APP ID值为默认值0;根据优先等级值越小,越优先处理的原则,SDN控制器首先处理视频会议数据包,SDN控制器的拓扑管理模块查询源用户的地址是否存在,若是,转到步骤S604,若否,则转到步骤S603。Step S602. The SDN controller compares the APP ID value in the obtained data packet with the APP ID value of the relevant service in the northbound interface processing module, and if they are equal, then determine the priority value of the data packet, and if not, continue Compare the APP ID values of other services; specifically, to process the current non-ARP type IP data packets, the northbound interface processing module in the SDN controller obtains the video conference level as 1, and compares the APP ID value in the reported data packets with the northbound interface The value comparison of the video conference APP ID in the interface processing module (the application layer service identification APP ID value between the controller and the switch is consistent) values are equal, indicating that the service is a video conference, and the priority level of the data packet is determined to be 1, that is, the Priority value is 1. If it is not equal, continue to compare other business APP IDs until all business comparisons are over. If it is still not found, determine that the APP ID value is the default value 0; according to the principle that the smaller the priority value, the higher the priority, the SDN controller processes the video first. For the conference data packet, the topology management module of the SDN controller inquires whether the address of the source user exists, if yes, go to step S604, if not, go to step S603.
步骤S603.拓扑管理模块通过数据包确定源用户所属的第一VxLAN网关、第一VLAN交换机及VNI值,保存源用户的用户信息。Step S603. The topology management module determines the first VxLAN gateway, the first VLAN switch and the VNI value to which the source user belongs through the data packet, and saves the user information of the source user.
步骤S604.SDN控制器的拓扑管理模块查询目的用户的地址是否存在,否则转发步骤S9;若是,转到步骤S605。Step S604. The topology management module of the SDN controller inquires whether the address of the destination user exists, otherwise forward to step S9; if yes, go to step S605.
步骤S605.SDN控制器通过第一VxLAN网关的配置信息,获取封装VxLAN头部的值以及该数据出去端口的值;SDN OpenFlow接口模块通过OFPT_PACKET_OUT把封装VxLAN头部的值、出去端口的值、优先级值告知第一VxLAN网关,通过OFPT_FLOW_MOD告知第一VxLAN网关新建该数据流,第一VxLAN网关的OpenFlow接口模块接收该OFPT_FLOW_MOD消息后,第一VxLAN网关的流表管理模块将该数据流添加到流表中。接收到OFPT_PACKET_OUT消息后,第一VxLAN网关的隧道封装处理模块解析所述数据流中的数据包,给该数据包封装VxLAN头部,VxLAN Header中的最后一个字节不再是保存值0,而是Priority值1,并将封装后的数据包从WAN口转发至第二VxLAN网关,转到步骤S10。其中,所述获取封装VxLAN头部的值包括以及该数据出去端口的值;其中,VxLAN头部源MAC地址为第一VxLAN网关WAN口MAC地址,目的MAC地址为下一跳路由MAC地址,以太网承载的数据类型为IPv4,IPv4头部源IPv4地址为第一VxLAN网关WAN口IPv4地址,目的IPv4地址为下一跳路由IPv4地址,IPv4承载的数据类型为UDP,UDP源端口和目的端口都为4789,UDP头部后添加8个字节的VxLAN Header,VxLANHeader中的VNI值为第一VLAN交换机所属的VNI值,VxLAN Header中的优先级值为SDN控制器从北向接口处理模块获取的值,数据出去端口的值为第一VxLAN网关WAN口值。Step S605. The SDN controller obtains the value of the encapsulated VxLAN header and the value of the outgoing port of the data through the configuration information of the first VxLAN gateway; the SDN OpenFlow interface module encapsulates the value of the VxLAN header, the value of the outgoing port, and the value of the priority port through OFPT_PACKET_OUT Level value informs the first VxLAN gateway, informs the first VxLAN gateway to create the data flow through OFPT_FLOW_MOD, after the OpenFlow interface module of the first VxLAN gateway receives the OFPT_FLOW_MOD message, the flow table management module of the first VxLAN gateway adds the data flow to the flow table. After receiving the OFPT_PACKET_OUT message, the tunnel encapsulation processing module of the first VxLAN gateway parses the data packet in the data flow, and encapsulates the VxLAN header to the data packet, and the last byte in the VxLAN Header is no longer a value of 0, and is the Priority value of 1, forward the encapsulated data packet from the WAN port to the second VxLAN gateway, and go to step S10. Wherein, the value of said acquisition encapsulation VxLAN header includes and the value of the data outbound port; wherein, the source MAC address of the VxLAN header is the MAC address of the first VxLAN gateway WAN port, the destination MAC address is the next-hop routing MAC address, and the Ethernet The data type carried by the network is IPv4, the source IPv4 address of the IPv4 header is the IPv4 address of the WAN port of the first VxLAN gateway, the destination IPv4 address is the IPv4 address of the next hop route, the data type carried by IPv4 is UDP, and the UDP source port and destination port are both 4789, add 8 bytes of VxLAN Header after the UDP header, the VNI value in the VxLAN Header is the VNI value to which the first VLAN switch belongs, and the priority value in the VxLAN Header is the value obtained by the SDN controller from the northbound interface processing module , the value of the data outgoing port is the value of the WAN port of the first VxLAN gateway.
参见图8所示,所述进行ARP流程处理的具体步骤为:Referring to Fig. 8, the specific steps for performing ARP process processing are:
步骤S901.ARP处理模块判断数据包的ARP数据类型,如果是ARP请求数据包,则转到步骤S903;如果是ARP回复数据包,则转到步骤S902。Step S901. The ARP processing module judges the ARP data type of the data packet, if it is an ARP request data packet, then go to step S903; if it is an ARP reply data packet, then go to step S902.
步骤S902.SDN控制器的拓扑管理模块查询源用户的地址是否存在,若否,则拓扑管理模块通过ARP回复数据包确定目的用户所属的第二VxLAN网关、第二VLAN交换机及VNI值,保存目的用户的用户信息并结束;若是,则结束;具体的,用户管理子模块通过当前ARP回复数据包中的VxLAN网关IP地址确定目的用户所属的第二VxLAN网关;通过当前ARP回复数据包VLAN头部中的VLAN ID确定目的用户的VLAN和VNI值,保存目的用户的用户信息,结束。Step S902. Whether the topology management module of the SDN controller inquires whether the address of the source user exists, if not, the topology management module determines the second VxLAN gateway, the second VLAN switch and the VNI value to which the destination user belongs through the ARP reply packet, and saves the destination User information of the user and end; if so, end; specifically, the user management submodule determines the second VxLAN gateway to which the destination user belongs through the VxLAN gateway IP address in the current ARP reply packet; through the current ARP reply packet VLAN header The VLAN ID in determines the VLAN and VNI values of the destination user, saves the user information of the destination user, and ends.
步骤S903.SDN控制器的拓扑管理模块查询源用户的地址是否存在,若否,则拓扑管理模块通过ARP请求数据包确定源用户所属的第一VxLAN网关、第一VLAN交换机及VNI值,保存源用户的用户信息,转到步骤S904;若是,则直接转到步骤S904;具体的,用户管理子模块通过数据包中的第一VxLAN网关地址确定源用户所属的第一VxLAN网关;通过视频会议数据包VLAN头部中的VLAN ID确定源用户的VLAN和VNI值,保存源用户的用户信息。Step S903. Whether the topology management module of the SDN controller inquires whether the address of the source user exists, if not, the topology management module determines the first VxLAN gateway, the first VLAN switch and the VNI value to which the source user belongs through the ARP request packet, and saves the source For the user information of the user, go to step S904; if so, go directly to step S904; specifically, the user management submodule determines the first VxLAN gateway to which the source user belongs through the first VxLAN gateway address in the data packet; The VLAN ID in the packet VLAN header determines the VLAN and VNI values of the source user, and stores the user information of the source user.
步骤S904.SDN控制器的拓扑管理模块查询目的用户的地址是否存在,若是,则转到步骤S905;若否,则转到步骤S906。Step S904. The topology management module of the SDN controller inquires whether the address of the destination user exists, if yes, go to step S905; if not, go to step S906.
步骤S905.SDN控制器直接代理目的用户,对数据包进行回复并结束。Step S905. The SDN controller directly acts on behalf of the destination user, replies to the data packet and ends.
步骤S906.SDN控制器中的ARP处理模块将该ARP请求数据包转换为ARP代理请求数据包,具体的,将该ARP请求数据包修改成源IP为0.0.0.0,源MAC为VxLAN网关LAN口MAC,目的IP不变的ARP代理请求数据包。将ARP代理请求数据包发送至与第一VxLAN网关在同一个互通域下的所有VxLAN网关,所有VxLAN网关将该ARP代理请求数据包通过LAN口转发至VLAN交换机,转到步骤S10。Step S906. The ARP processing module in the SDN controller converts the ARP request packet into an ARP proxy request packet. Specifically, modify the ARP request packet so that the source IP is 0.0.0.0, and the source MAC is the VxLAN gateway LAN port MAC, the ARP proxy request packet with the same destination IP. Send the ARP proxy request packet to all VxLAN gateways in the same intercommunication domain as the first VxLAN gateway, and all VxLAN gateways forward the ARP proxy request packet to the VLAN switch through the LAN port, and go to step S10.
本发明实际使用时的工作方法包括以下步骤:The working method when the present invention actually uses comprises the following steps:
A、准备五台操作系统为linux的硬件设备(例如电脑、虚拟机等),五台设备中一台为SDN控制器,两台为VxLAN网关,两台为VLAN交换机。分别为五台设备设置相应的IP地址,VxLAN网关的WAN口IP地址和下一跳路由IP地址需要配置好,让VxLAN网关WAN数据包可以发送到三层网络中。A. Prepare five hardware devices (such as computers, virtual machines, etc.) whose operating system is Linux. One of the five devices is an SDN controller, two are VxLAN gateways, and two are VLAN switches. Set the corresponding IP addresses for the five devices respectively. The IP address of the WAN port of the VxLAN gateway and the IP address of the next hop route need to be configured so that the WAN data packets of the VxLAN gateway can be sent to the layer-3 network.
B、编写VxLAN网关的配置管理模块,编写配置管理模块主要是为VxLAN网关中的VxLANOpenFlow接口模块服务,VxLAN网关通过OpenFlow协议连接到SDN控制器,VxLAN网关需要知道SDN控制器的IP地址以及OpenFlow端口。在现实中为了增加项目灵活性,连接的SDN控制器IP地址不能在程序中写死,可以通过程序运行后的参数进行配置,配置管理模块能够参数,获取SDN控制器IP地址和OpenFlow端口。B. Write the configuration management module of the VxLAN gateway. The configuration management module is mainly used to serve the VxLAN OpenFlow interface module in the VxLAN gateway. The VxLAN gateway is connected to the SDN controller through the OpenFlow protocol. The VxLAN gateway needs to know the IP address of the SDN controller and the OpenFlow port . In reality, in order to increase the flexibility of the project, the IP address of the connected SDN controller cannot be hard-coded in the program. It can be configured through the parameters after the program is running. Configure the parameters of the management module to obtain the IP address of the SDN controller and the OpenFlow port.
C、编写SDN控制器的SDN OpenFlow接口模块和VxLAN网关的VxLANOpenFlow接口模块,OpenFlow接口能够分离交换机处理数据和转发数据的能力,实现SDN环境。C. Write the SDN OpenFlow interface module of the SDN controller and the VxLAN OpenFlow interface module of the VxLAN gateway. The OpenFlow interface can separate the ability of the switch to process data and forward data, and realize the SDN environment.
D、编写SDN控制器的互通域管理模块,因为一台VLAN交换机下的VLAN ID有4096个值,在现实中需要实现一个VxLAN网关和另一个VxLAN网关通讯,为了隔离每一组的通讯,需要用VNI来区别,用户需要配置互通域。D. Write the intercommunication domain management module of the SDN controller, because the VLAN ID under a VLAN switch has 4096 values, in reality, it is necessary to realize the communication between a VxLAN gateway and another VxLAN gateway. In order to isolate the communication of each group, it is necessary To use VNI to distinguish, users need to configure intercommunication domains.
互通域的配置能够通过应用层的界面配置互通域,然后把该配置写入SDN控制器的数据库或者通过应用层接口发送互通域配置信息给SDN控制器或者在SDN控制器上创建互通域配置文件。The configuration of the interworking domain can configure the interworking domain through the interface of the application layer, and then write the configuration into the database of the SDN controller or send the configuration information of the interworking domain to the SDN controller through the interface of the application layer or create an interworking domain configuration file on the SDN controller .
E、编写SDN控制器的拓扑管理模块,拓扑管理模块实现SDN控制器具有全局的拓扑信息,拓扑管理模块是通过Hash链表的方式保存拓扑信息。E. Write the topology management module of the SDN controller. The topology management module realizes that the SDN controller has global topology information. The topology management module saves the topology information in the form of a Hash linked list.
F、编写SDN控制器的ARP处理模块,ARP处理模块主要实现获取目的IPv4用户的基本信息。F. Write the ARP processing module of the SDN controller. The ARP processing module mainly realizes the basic information of the destination IPv4 user.
G、编写SDN控制器的IP处理模块,IP处理模块主要实现除去ARP类型的其他IP类型数据的处理,主要是告知VxLAN网关如何给IP数据包封装VxLAN头部、确定数据包的优先级、去除VxLAN头部和VLAN ID值的修改。G. Write the IP processing module of the SDN controller. The IP processing module mainly implements the processing of other IP types of data except the ARP type. It mainly tells the VxLAN gateway how to encapsulate the VxLAN header for the IP data packet, determine the priority of the data packet, and remove Modification of VxLAN header and VLAN ID value.
H、编写SDN控制器的北向接口处理模块,北向接口处理模块主要实现获取用户设置的不同业务的优先级策略;用户设置接口数据格式可以是多样式,可以是XML,也可以是JSON等。H. Write the northbound interface processing module of the SDN controller. The northbound interface processing module mainly realizes the priority strategy of different services set by the user; the interface data format set by the user can be multi-style, which can be XML or JSON.
I、编写VxLAN网关中的VxLAN网关流表管理模块。用户的上行数据流量通过5元组和APPID来确定流是否存在;用户的下行数据流通过5元组和Priority来确定流是否存在。可以根据实际的情况自己定,例如OpenFlow协议1.0版本是11元组。I. Write the VxLAN gateway flow table management module in the VxLAN gateway. The user's upstream data flow uses the 5-tuple and APPID to determine whether the flow exists; the user's downstream data flow uses the 5-tuple and Priority to determine whether the flow exists. It can be determined according to the actual situation. For example, version 1.0 of the OpenFlow protocol is an 11-tuple.
J、编写VxLAN网关中的隧道封装处理模块和隧道解封装处理模块主要实现将二层网络(IPv4二层网络或者IPv6二层网络)数据包发送到三层网络(IPv4三层网络或者IPv6三层网络)中,再逆向把三层网络发送到二层网络中。J. Writing the tunnel encapsulation processing module and the tunnel decapsulation processing module in the VxLAN gateway mainly realizes sending the data packets of the layer-2 network (IPv4 layer-2 network or IPv6 layer-2 network) to the layer-3 network (IPv4 layer-3 network or IPv6 layer-3 network) network), and then reversely send the layer-3 network to the layer-2 network.
K、编写VxLAN网关中的应用层业务识别模块。用户上行数据包需要解析APP ID值;用户下行数据包需要解析Priority值,通过该值确定业务处理顺序。K. Write the application layer service identification module in the VxLAN gateway. User uplink data packets need to parse the APP ID value; user downlink data packets need to parse the Priority value, and use this value to determine the business processing order.
L、编写VxLAN网关中的收发包模块,收发包模块主要实现可以抓取用户的上行和下行数据包,转交数据包给其他模块进行处理。L. Write the sending and receiving packet module in the VxLAN gateway. The sending and receiving packet module mainly realizes that it can capture the user's uplink and downlink data packets, and transfer the data packets to other modules for processing.
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。The present invention is not limited to the above-mentioned embodiments. For those of ordinary skill in the art, without departing from the principle of the present invention, some improvements and modifications can also be made, and these improvements and modifications are also considered protection of the present invention. within range. The content not described in detail in this specification belongs to the prior art known to those skilled in the art.
Claims (8)
- A kind of 1. system for realizing multi-priority services, it is characterised in that including SDN controllers, an at least VxLAN gateway and At least two VLAN interchangers,Every VxLAN gateway includes:Flow table management module, preserve handling process of the SDN controllers to VxLAN gateway reported data streams;Tunnel encapsulation processing module, it is current up according to handling process for obtaining the handling process of current upstream Data flow adds VxLAN tunnels and adds priority, forms encapsulated data packet, three layers are flowed to according to priority forwarding uplink data In network;Priority value is deposited using VxLAN Header heads reserved field;Tunnel decapsulation processing module, it is when front lower according to handling process for obtaining the handling process of current downlink data flow Row data diffluence is except VxLAN tunnels and changes VLAN ID, decapsulation packet is formed, so that proper preceding downstream data flow can Communicated in double layer network;Using layer service recognition processing module, the upstream data bag/downlink data packet received for parsing VxLAN gateways, and Its type of service is identified, is converted into upstream/downstream data flow, and is forwarded to flow table management module;The SDN controllers include:IP Process Module, the processing for other data types in addition to ARP data types;ARP processing modules, for for SDN controllers proxy requests/reply ARP message, opening up for purpose user to be obtained for controller Flutter information;Topology Management module, for obtaining global network topology information for SDN controllers;Intercommunication area management module, for receiving and reading the configuration of the communication between SDN controllers and all VxLAN gateways, forwarding Communication is configured to Topology Management module;SDN OpenFlow interface modules, the OpenFlow that SDN controllers are reported to for receiving and handling VxLAN gateways disappear Breath;The processing data bags of SDN controllers is issued to VxLAN gateways;Every VxLAN gateway also includes:Configuration management module, for reading the postrun parameter information of VxLAN gateway programs, pass through parameter acquiring VxLAN gateways Need SDN controllers IP address and the OpenFlow ports connected;VxLAN OpenFlow interface modules, for establishing connection between VxLAN gateways and SDN controllers;Report VxLAN nets Close the data not found in flow table management module and flow to SDN controllers;Receive and handle the processing stream that SDN controllers issue Journey;VxLAN send and receive packets modules, the packet of each network interface for receiving VxLAN gateways;For by after tunnel encapsulation Packet after packet and decapsulation, forwarded according to the network interface of SDN controllers requirement;The SDN controllers also include northbound interface processing module, for the difference issued for SDN controllers reception application interface The priority policy of business;Every VLAN interchanger includes:VLAN send and receive packets modules, the packet of each network interface for receiving VLAN;For the upstream data bag of reception to be sent out Deliver to VxLAN gateways;The downlink data packet of reception is sent to affiliated VLAN user;VLANID modules, the upstream data bag for being received for VLAN interchangers adds VLAN heads, downlink data packet removes VLAN heads.
- 2. the system as claimed in claim 1 for realizing multi-priority services, it is characterised in that:The VxLAN send and receive packets module Give out a contract for a project submodule including VxLAN packet receivings submodule and VxLAN;The VxLAN packet receivings submodule, the packet of each network interface for receiving VxLAN gateways;The VxLAN gives out a contract for a project submodule, for by the packet after tunnel encapsulation and the packet after decapsulation, being controlled according to SDN The network interface of device requirement processed is forwarded, and the packet after tunnel encapsulation is forwarded by the WAN mouths of VxLAN gateways, the data after decapsulation Bag is forwarded by the LAN mouths of VxLAN gateways;Forwarded according to priority.
- 3. the system as claimed in claim 1 for realizing multi-priority services, it is characterised in that:The VLAN send and receive packets module bag Include VLAN packet receivings submodule and VLAN gives out a contract for a project submodule;The VLAN packet receivings submodule, the packet of each network interface for receiving VLAN;The VLAN gives out a contract for a project submodule, for the upstream data bag of reception to be sent to VxLAN gateways;By the downlink data of reception Bag is sent to belonging VLAN user;The VLAN ID modules include VLAN ID addition submodules and VLAN ID delete submodule;The VLAN ID add submodule, for the upstream data bag addition VLAN heads received for VLAN interchangers, VLAN heads Portion includes VLAN id informations;VLAN ID delete submodule, and the downlink data packet for being received for VLAN interchangers removes VLAN heads.
- 4. the system as claimed in claim 1 for realizing multi-priority services, it is characterised in that:The Topology Management module includes VxLAN gateway managements submodule, VLAN switch managements submodule and user management Module;The VxLAN gateway managements submodule, for preserving the VxLAN communication informations of all VxLAN gateways according to communication configuration;The VLAN switch managements submodule, for preserving the vlan communication information of all VLAN interchangers, vlan communication letter Breath includes the WAN mouths IP of the VxLAN gateways belonging to VLAN ID, intercommunication area VNI values and the VLAN interchangers of VLAN interchangers Address;The user management submodule, for preserving the user profile under all VLAN interchangers, user profile includes:User's IP address, MAC Address, the WAN mouth IP address of the affiliated VxLAN gateways of user.
- 5. the method for realizing multi-priority services based on system described in claim 1, it is characterised in that including source user, source The first VLAN interchangers and the first VxLAN gateways that user uses;The 2nd VLAN interchangers that purpose user, purpose user use And the 2nd VxLAN gateways;This method comprises the following steps:Step S1. presets the intercommunication configuration of territory of all VxLAN gateways, VxLAN gateways in the intercommunication area management module of SDN controllers WAN mouths and next-hop route all set IP address;All application layer service priority are preset in northbound interface processing module;Step S2. source users are initiated to ask to purpose user, and packet is sent to the first VxLAN nets by the first VLAN interchangers Close, while the first VLAN interchangers are that the packet adds VLAN heads;The application layer type of service that packet is parsed using layer service recognition processing module of the VxLAN gateways of step S3. the first, will It is set to APP ID values;A data stream is formed by the five-tuple and APP ID values of packet;The flow table management module of the VxLAN gateways of step S4. the first checks that the data flow whether there is, if it is not, then by packet and APP ID values report to the SDN OpenFlow interface modules of SDN controllers, go to step S5;If so, then according in the flow table Handling process handled, go to step S7;Step S5.SDN OpenFlow interface modules judge whether packet belongs to ARP types, if so, being then forwarded to ARP processing Module, step S9 is gone to, if it is not, then going to step S6;Step S6. carries out IP flow processings, goes to step S7;The priority of the packet received using the parsing of layer service recognition processing module in the VxLAN gateways of step S7. the 2nd Value, the high downlink data packet of priority treatment priority, is inquired about, if looking into the flow table management module of the 2nd VxLAN gateways Look for unsuccessfully, packet is reported into SDN controllers, goes to step S8;If search successfully, according to the handling process in the flow table Handled, go to step S10;Step S8.SDN controllers inform the 2nd VxLAN gateways decapsulation VxLAN heads by OpenFlow message and change number According to the VLAN ID that the VLAN ID values in bag are the 2nd VLAN interchangers;SDN controllers inform second by OpenFlow message The newly-built data flow of VxLAN gateways;The data flow is added in flow table by the flow table management module of the 2nd VxLAN gateways, and second The tunnel decapsulation processing module of VxLAN gateways parses the packet in the data flow, removes packet VxLAN heads and repaiies Change VLAN ID values, and amended packet is forwarded to the 2nd VLAN interchangers from LAN mouths, go to step S10;Step S9. carries out ARP flow processings, goes to step S10;The VLAN interchangers of step S10. the 2nd delete the VLAN ID heads of packet, and forward it to purpose user;The user of step S11. mesh carries out different replies to different types of data bag.
- 6. the method as claimed in claim 5 for realizing multi-priority services, it is characterised in that further comprising the steps of:The VLAN interchangers of step S12. the 2nd receive the upstream data bag that purpose user replys, and VLAN heads are added for the packet Portion, send to the 2nd VxLAN gateways;The VxLAN gateways of step S13. the 2nd form a data stream by the five-tuple of current data packet, the 2nd VxLAN gateways Flow table management module checks that data flow whether there is, if so, then being handled according to the stream process, terminates;If it is not, then go to step Rapid S14;The VxLAN gateways of step S14. the 2nd report to current data packet the SDN OpenFlow interface modules of SDN controllers, turn To step S5.
- 7. the method as claimed in claim 5 for realizing multi-priority services, it is characterised in that in step S6, the carry out IP Flow processing concretely comprises the following steps:Step S601. judges whether packet belongs to IP packets, if it is not, then by data packet discarding;If so, it will then be forwarded to IP Processing module, go to step S602;Step S602.SDN controllers are by related service in the APP ID values in the packet of acquisition and northbound interface processing module APP ID values be compared, if equal, it is determined that the priority value of the packet, if unequal, continue to compare other industry The APP ID values of business;The address of the Topology Management module polls source user of SDN controllers whether there is, if so, going to step S604, if it is not, then going to step S603;Step S603. Topology Managements module determines that the first VxLAN gateways, the first VLAN belonging to source user exchange by packet Machine and VNI values, preserve the user profile of source user;The address of the Topology Management module polls purpose user of step S604.SDN controllers whether there is, and otherwise forward step S9;If so, go to step S605;Step S605.SDN controllers are obtained the value on packaging V xLAN heads and are somebody's turn to do by the configuration information of the first VxLAN gateways Data are gone out the value of port;SDN OpenFlow interface modules by OpenFlow message the value on packaging V xLAN heads, go out The value of port, priority value inform the first VxLAN gateways and the newly-built data flow, the flow table management module of the first VxLAN gateways The data flow is added in flow table, the tunnel encapsulation processing module of the first VxLAN gateways parses the data in the data flow Bag, gives packet encapsulation VxLAN heads, and the packet after encapsulation is forwarded into the 2nd VxLAN gateways from WAN mouths, goes to Step S10.
- 8. the method as claimed in claim 5 for realizing multi-priority services, it is characterised in that in step S9, the carry out ARP Flow processing concretely comprises the following steps:Step S901.ARP processing modules judge the ARP data types of packet, if ARP request packet, then go to step Rapid S903;If ARP replys packet, then step S902 is gone to;The address of the Topology Management module polls source user of step S902.SDN controllers whether there is, if it is not, then Topology Management Module determines the 2nd VxLAN gateways, the 2nd VLAN interchangers and the VNI values belonging to purpose user by ARP reply packets, protects Deposit the user profile of purpose user and end;If so, then terminate;The address of the Topology Management module polls source user of step S903.SDN controllers whether there is, if it is not, then Topology Management Module determines the first VxLAN gateways, the first VLAN interchangers and the VNI values belonging to source user by ARP request packet, preserves The user profile of source user, go to step S904;If so, then pass directly to step S904;The address of the Topology Management module polls purpose user of step S904.SDN controllers whether there is, if so, then going to step Rapid S905;If it is not, then go to step S906;Step S905.SDN controllers directly act on behalf of purpose user, and packet is replied and terminated;The ARP request packet is converted to ARP proxy request data by the ARP processing modules in step S906.SDN controllers Bag, and send to all VxLAN gateways with the first VxLAN gateways under same intercommunication area, all VxLAN gateways should ARP proxy request data package is forwarded to VLAN interchangers by LAN mouths, goes to step S10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410807954.3A CN104468384B (en) | 2014-12-22 | 2014-12-22 | A kind of system and method for realizing multi-priority services |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410807954.3A CN104468384B (en) | 2014-12-22 | 2014-12-22 | A kind of system and method for realizing multi-priority services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468384A CN104468384A (en) | 2015-03-25 |
CN104468384B true CN104468384B (en) | 2018-01-30 |
Family
ID=52913780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410807954.3A Active CN104468384B (en) | 2014-12-22 | 2014-12-22 | A kind of system and method for realizing multi-priority services |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468384B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI819892B (en) * | 2022-11-11 | 2023-10-21 | 瑞昱半導體股份有限公司 | Method for accelerating generation of vxlan packet with hardware and method for accelerating modification to vxlan packet with hardware |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486246B (en) * | 2014-12-23 | 2018-05-01 | 上海斐讯数据通信技术有限公司 | A kind of QoS mechanism implementation methods of VXLAN based on SDN frameworks |
CN104954226A (en) * | 2015-07-28 | 2015-09-30 | 上海斐讯数据通信技术有限公司 | SDN-based QoS-supported communication tunnel establishment method and system |
CN105591971B (en) * | 2015-10-28 | 2019-06-07 | 新华三技术有限公司 | A kind of implementation method and device of QoS |
CN105429870B (en) * | 2015-11-30 | 2018-10-02 | 北京瑞和云图科技有限公司 | VXLAN security gateway devices under SDN environment and its application process |
CN107204866A (en) * | 2016-03-18 | 2017-09-26 | 上海有云信息技术有限公司 | The implementation method of multi-tenant service chaining transmission is solved based on VXLAN technologies |
CN105897611B (en) * | 2016-06-24 | 2019-03-29 | 武汉绿色网络信息服务有限责任公司 | A kind of system and method that business identification and flow scheduling is realized using DPI technology based on SDN |
CN107733799B (en) * | 2016-08-11 | 2021-09-21 | 新华三技术有限公司 | Message transmission method and device |
CN106130867B (en) * | 2016-08-30 | 2019-06-14 | 锐捷网络股份有限公司 | Virtual machine communication method and device across data center |
CN106789541B (en) * | 2017-02-28 | 2019-11-15 | 江苏省未来网络创新研究院 | A kind of across data center communication means and network system based on SDN |
CN110768884B (en) * | 2018-07-25 | 2021-10-15 | 华为技术有限公司 | VXLAN packet encapsulation and policy execution method, device, and system |
CN110868357B (en) * | 2018-08-27 | 2024-09-13 | 南京中兴新软件有限责任公司 | Network flow control method, VTEP device and storage medium |
CN110166518B (en) * | 2018-11-14 | 2021-11-19 | 腾讯科技(深圳)有限公司 | Session information transmission method, device, storage medium and electronic device |
CN110391997A (en) * | 2019-07-26 | 2019-10-29 | 新华三技术有限公司合肥分公司 | A kind of message forwarding method and device |
CN112929192B (en) * | 2019-12-06 | 2023-11-14 | 西安诺瓦星云科技股份有限公司 | Broadcasting method of module controller, topological relation identification method and display control system |
CN112436990B (en) * | 2020-10-12 | 2022-06-07 | 网络通信与安全紫金山实验室 | Data forwarding method, data forwarding equipment and computer-readable storage medium |
CN112738165A (en) * | 2020-12-18 | 2021-04-30 | 北京中电普华信息技术有限公司 | OVS-DPDK framework based on OVS modification and data packet processing method |
CN112910959B (en) * | 2021-01-15 | 2023-06-02 | 北京开物数智科技有限公司 | SDN-based network interconnection method for multiple Kubernetes clusters |
CN114095308B (en) * | 2021-11-30 | 2023-05-30 | 新华三大数据技术有限公司 | Method, device, equipment and storage medium for enhancing multimedia conference quality |
TWI835707B (en) * | 2022-11-11 | 2024-03-11 | 瑞昱半導體股份有限公司 | Method for accelerating removal of vxlan header with hardware |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924702A (en) * | 2010-08-26 | 2010-12-22 | 华为技术有限公司 | Method and device for business data transmission |
CN103905283A (en) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | Communication method and apparatus based on expandable virtual local area network |
CN104115453A (en) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | Method and device for achieving virtual machine communication |
CN104202266A (en) * | 2014-08-04 | 2014-12-10 | 福建星网锐捷网络有限公司 | Communication method, switch, controller and communication system |
-
2014
- 2014-12-22 CN CN201410807954.3A patent/CN104468384B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924702A (en) * | 2010-08-26 | 2010-12-22 | 华为技术有限公司 | Method and device for business data transmission |
CN103905283A (en) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | Communication method and apparatus based on expandable virtual local area network |
CN104115453A (en) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | Method and device for achieving virtual machine communication |
CN104202266A (en) * | 2014-08-04 | 2014-12-10 | 福建星网锐捷网络有限公司 | Communication method, switch, controller and communication system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI819892B (en) * | 2022-11-11 | 2023-10-21 | 瑞昱半導體股份有限公司 | Method for accelerating generation of vxlan packet with hardware and method for accelerating modification to vxlan packet with hardware |
Also Published As
Publication number | Publication date |
---|---|
CN104468384A (en) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468384B (en) | A kind of system and method for realizing multi-priority services | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
US12095664B2 (en) | Application wire | |
US9215093B2 (en) | Encoding packets for transport over SDN networks | |
US7650637B2 (en) | System for ensuring quality of service in a virtual private network and method thereof | |
US6772267B2 (en) | Multi-portal bridge for providing network connectivity | |
WO2020182086A1 (en) | Bier packet sending method and apparatus | |
US7995477B2 (en) | Collecting network traffic information | |
US20200119991A1 (en) | Stateless multicast in ip networks | |
US9197568B2 (en) | Method for providing quality of service in software-defined networking based network and apparatus using the same | |
CN103685009B (en) | Data packet processing method and system as well as controller | |
CN104320267B (en) | VxLAN ARP broadcast suppression systems and method is realized based on SDN frameworks | |
WO2012106869A1 (en) | Message processing method and related device thereof | |
WO2021196967A1 (en) | Message interaction method and apparatus, and device and storage medium | |
CN109218111B (en) | A method and forwarder for processing messages | |
CN104486227B (en) | The system and method for IPv6 flexible deployments is realized by VxLAN technologies | |
CN112637237B (en) | Service encryption method, system, equipment and storage medium based on SRoU | |
CN107135118B (en) | A unicast communication method, gateway and VXLAN access device | |
CN102088417B (en) | Method and apparatus for achieving IP (Internet Protocol) message loopback | |
WO2024001701A1 (en) | Data processing method, apparatus and system | |
CN107147577A (en) | A data forwarding method and system based on software-defined network SDN | |
CN120151138A (en) | VXLAN-based data transmission method, device, equipment and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A system and method for realizing multi service priority Effective date of registration: 20220307 Granted publication date: 20180130 Pledgee: Industrial Bank Limited by Share Ltd. Wuhan branch Pledgor: WUHAN GREENET INFORMATION SERVICE Co.,Ltd. Registration number: Y2022420000052 |
|
PC01 | Cancellation of the registration of the contract for pledge of patent right | ||
PC01 | Cancellation of the registration of the contract for pledge of patent right |
Date of cancellation: 20230717 Granted publication date: 20180130 Pledgee: Industrial Bank Limited by Share Ltd. Wuhan branch Pledgor: WUHAN GREENET INFORMATION SERVICE Co.,Ltd. Registration number: Y2022420000052 |
|
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 430000 rooms 01, 01, 01, 6 / F, building 2, Guanggu Software Park, phase 6, No. 4, Middle Road, Donghu New Technology Development Zone, Wuhan, Hubei Province Patentee after: Wuhan Green Network Co.,Ltd. Country or region after: China Address before: 430223 East Lake High tech Zone, Wuhan City, Hubei Province, Guanggu Software Park Middle Road E1-701 Patentee before: WUHAN GREENET INFORMATION SERVICE Co.,Ltd. Country or region before: China |