The content of the invention
For defect present in prior art, realized it is an object of the invention to provide one kind by VxLAN technologies
The system and method for IPv6 flexible deployments, the present invention can dispose different network service respectively in same equipment, can not only
Enough ensure the continuity of business, relatively more flexible and relatively low to the performance requirement of equipment, delay is smaller, and configuration and maintenance are compared
Simply.
To achieve the above objectives, the present invention is provided:A kind of system that IPv6 flexible deployments are realized by VxLAN technologies,
Including SDN controllers, some expansible LAN gateway VxLAN Gateway and some VLAN interchangers;SDN controllers pass through
Network exchange OpenFlow agreements are connected with all VxLAN Gateway, and every VxLAN Gateway is exchanged with some VLAN
Machine is connected;
The SDN controllers include SDN OpenFlow interface modules, intercommunication area management module, Topology Management module,
Location analysis protocol/neighbor request/neighbours' bulletin ARP/NS/NA processing modules and IPV4/IPv6 processing modules;
The SDN OpenFlow interface modules are used for:Receive and handle VxLAN Gateway and report to SDN controllers
Stream;The processing data bags of SDN controllers is issued to VxLAN Gateway;
The intercommunication area management module is used for:Receive and read SDN controllers leading between all VxLAN Gateway
News configuration, forwarding communication configuration to Topology Management module;
The Topology Management module includes VxLAN Gateway management submodule, VLAN switch managements submodule and use
Family manages submodule;
The VxLAN Gateway management submodule is used for:Preserve all VxLAN Gateway's according to communication configuration
The VxLAN communication informations;
The VLAN switch managements submodule is used for:Preserve the vlan communication information of all VLAN interchangers;
The user management submodule is used for:Preserve the user profile under all VLAN interchangers;
The ARP/NS/NA processing modules include ARP and handle submodule and NS/NA processing submodules;
The ARP processing submodule is used for:For SDN controller proxy requests ARP message, by ARP request in source VxLAN
The Gateway salty new broadcast agent inquiries of LAN;For SDN controller proxy response ARP message;
The NS/NA processing submodule is used for:For SDN controller proxy requests NS message, by NS message in source VxLAN
The Gateway salty new broadcast agent inquiries of LAN;For SDN controller proxy response NA message;
The IPV4/IPv6 processing modules are used for:According to removing that all VxLan Gateway of communication configuration acquisition are reported
The handling process of IPv4 and IPv6 data type streams outside ARP data types, NS/NA types;
The VxLAN Gateway include configuration management module, VxLAN OpenFlow interface modules, flow table management mould
Block, IPv4/IPv6 tunnel encapsulations module, IPv4/IPv6 tunnel decapsulations module and VxLAN send and receive packets modules;
The configuration management module is used for:The postrun parameter information of VxLAN Gateway programs is read, is believed according to parameter
Breath obtains SDN controllers IP address and the SDN OpenFlow interface that VxLAN Gateway need to connect;
The VxLAN OpenFlow interface modules use OpenFlow consensus standards, and it is used for:In VxLAN Gateway
Connection is set up between SDN controllers;Report what VxLAN Gateway did not found in flow table management module to flow to SDN controls
Device;Receive and handle the processing data bag that SDN controllers are issued;
The flow table management module is used for:Preserve handling process of the SDN controllers to the VxLAN Gateway streams reported;
The IPv4/IPv6 tunnel encapsulations module is used for:After VxLAN Gateway receive upstream, pass through flow table
Management module obtains the handling process of current upstream, is that current upstream adds VxLAN tunnels according to the handling process of upstream
Road, forms encapsulated data packet;
The IPv4/IPv6 tunnel decapsulations module is used for:VxLAN Gateway are received after downstream, pass through flow table
Management module obtains the handling process of current downlink stream, is that current downlink diffluence removes VxLAN tunnels according to the handling process of downstream
VLAN ID are simultaneously changed in road, form deblocking packet;
The VxLAN send and receive packets module includes VxLAN packet receivings submodule and VxLAN and given out a contract for a project submodule;
The VxLAN packet receivings submodule is used for:Receive the packet of all network interfaces of VxLAN Gateway;
VxLAN submodules of giving out a contract for a project are used for:The net that encapsulated data packet and deblocking packet are required by SDN controllers
Mouth forwarding;
The VLAN interchangers include VLAN send and receive packets module and VLAN ID modules;
The VLAN send and receive packets module includes VLAN packet receivings submodule and VLAN and given out a contract for a project submodule;
The VLAN packet receivings submodule is used for:The packet of all network interfaces of VLAN interchangers is received, packet includes up
Packet and downlink data packet;
VLAN submodules of giving out a contract for a project are used for:The upstream data bag that VLAN packet receivings submodule is received is sent to VxLAN
Gateway;The downlink data packet that VLAN packet receivings submodule is received is sent to belonging VLAN user;
The VLAN ID modules include VLAN ID and add submodule and VLAN ID deletion submodules;
The VLAN ID additions submodule is used for:The upstream data bag addition VLAN heads received for VLAN interchangers,
VLAN heads include VLAN id informations;
The VLAN ID, which delete submodule, to be used for:VLAN heads are removed for the downlink data packet that VLAN interchangers are received.
On the basis of above-mentioned technical proposal, the communication configuration between the SDN controllers and all VxLAN Gateway
Configured by web interface or configuration file;Communication configuration includes VxLAN Gateway IP address, local network LAN mouthful value, LAN
Mouthful MAC Address, WAN mouthfuls of values of wide area network, WAN mouthfuls of MAC Address, WAN mouthfuls of IPv4 addresses, WAN mouthfuls of IPv6 addresses, under WAN mouthfuls
One jumps route IPv4 addresses, WAN mouthfuls of next-hop route IPv6 addresses and next-hop route MAC Address.
On the basis of above-mentioned technical proposal, the vlan communication information includes the VLAN ID of VLAN interchangers, intercommunication area
The WAN mouth IP address of VxLAN Gateway belonging to VNI values and VLAN interchangers;Use under all VLAN interchangers
Family information includes IP address, MAC Address, the affiliated VxLAN Gateway of the user WAN mouth IP address of user;The IPv4 and
The handling process of IPv6 data type streams includes VLAN ID modification, the encapsulation in tunnel and the decapsulation in tunnel;
The flow table management module preserves SDN controllers and the handling process of stream is reported to VxLAN Gateway including following
Step:When VxLAN Gateway receive upstream or downstream, flow table management module, which searches current upstream or downstream, is
It is no to exist, if so, determining that current upstream or downstream are not to send first, according to current upstream or downstream handling process
Handle and send current upstream or downstream;Otherwise current upstream or downstream are determined to send first, will be current up
Stream or downstream are sent to SDN controller OpenFlow interface modules by VxLAN OpenFlow interface modules.
The method that IPv6 flexible deployments are realized by VxLAN technologies based on said system that the present invention is provided, including with
Lower step:
S1:All VxLAN Gateway communication configuration is preset in the intercommunication area management module of SDN controllers, step is gone to
Rapid S2;
S2:It is request user HostA that definition, which sends the user of network Internet Control Message Protocol ICMP requests, what HostA was used
VLAN interchangers are that the VxLAN Gateway belonging to VLAN A, VLAN A are VxLAN Gateway A;It is different from HostA
VLAN and be HostA send icmp reply request bag user be purpose user HostB, the VLAN interchangers that HostB is used are
VLAN B, VLAN B VxLAN Gateway are VxLAN Gateway B;
HostA is to during HostB transmission ICMP requests, and HostA sends ICMP request bags to VLAN A packet receiving submodule,
VLAN A VLAN ID addition submodules are current ICMP request bags addition VLAN heads, go to step S3;
S3:VLAN A VLAN submodules of giving out a contract for a project send current ICMP request bags to VxLAN Gateway A VxLAN
Send and receive packets module, VxLAN send and receive packets module constitutes a stream by the five-tuple of current ICMP request bags;
VxLAN GatewayA flow table management module checks that current stream whether there is, if so, according to the processing currently flowed
Flow processing, terminates;Otherwise current ICMP request bags are reported into SDN by VxLAN OpenFlow interface modules
OpenFlow interface modules, go to step S4;
S4:SDN OpenFlow interface modules determine the type of current ICMP request bags:If the class of current ICMP request bags
Type is ARP or NS/NA types, and current ICMP request bags are forwarded into ARP/NS/NA processing submodules, step S5 is gone to;If
The type of current ICMP request bags is IPv4 or IPv6 types, and current ICMP request bags are forwarded into IPV4/IPv6 processing modules,
Go to step S6;
S5:ARP/NS/NA processing submodules are handled current ICMP request bags according to existing flow, are terminated;
S6:IPV4/IPv6 processing modules inform the user management submodule inquiry HostA of Topology Management module user's letter
Breath whether there is, if so, going to step S8, otherwise go to step S7;
S7:User management submodule obtains the topology pipe in HostA user profile, controller according to current ICMP request bags
The user profile that module preserves HostA is managed, step S8 is gone to;
S8:User management submodule inquiry HostB whether there is, if so, going to step S9;
Otherwise the access network that HostB is used is determined, if the access network that HostB is used is IPv4, SDN controllers build ARP
ARP request packet in type, current ARP request packet is gone as ICMP request bags to obtain Host party B-subscriber's information,
Go to step S5;If the access network that HostB is used is IPv6, SDN controllers build the NS request data packages in NS/NA types,
Acquisition Host party B-subscriber's information is gone to go to step S5 using current NS request data packages as ICMP request bags;
S9:The VxLAN Gateway A that the Topology Management module of SDN controllers obtains current ICMP request bags match somebody with somebody confidence
Breath, learns the value and the WAN mouth values for reporting ICMP data to go out on packaging V xLAN heads;SDN controllers issue OpenFlow
OFPT_FLOW_MOD information and OFPT_PACKET_OUT information in agreement go to step S10 to VxLAN GatewayA;
S10:VxLAN GatewayA VxLAN OpenFlow interface modules receive the OFPT_ that SDN controllers are issued
FLOW_MOD message and OFPT_PACKET_OUT message;VxLAN GatewayA flow table management module passes through OFPT_FLOW_
The stream and the stream process flow of the newly-built current ICMP request bags of MOD message;VxLAN GatewayA pass through OFPT_PACKET_OUT
Message is the stream packaging V xLAN heads of newly-built current ICMP request bags, forms encapsulated data packet;VxLAN GatewayA according to
OFPT_PACKET_OUT message sends current encapsulation packet to VxLAN GatewayB, goes to step S11;
S11:VxLAN GatewayB VxLAN packet receiving submodules are received after the encapsulated data packet in packaging V xLAN tunnels,
Search current encapsulation packet in flow table management module whether there is, if so, handling according to the flow table in flow table management module
Flow processing current encapsulation packet formation downlink data packet, goes to step S14;Otherwise VxLAN OpenFlow interface moulds are passed through
The OFPT_PACKET_IN message of OpenFlow agreements in block, SDN OpenFlow interface moulds are reported to by current encapsulation packet
Block, goes to step S12;
S12:SDN OpenFlow interface modules are parsed to current encapsulation packet, obtain current encapsulation packet
VNI values;The information that HostB is searched in the Topology Management module of SDN controllers whether there is, if it is not, abandoning current encapsulation number
According to bag, terminate;If so, SDN controllers inform VxLAN Gateway B modifications and newly-built current encapsulation according to HostB information
The stream and handling process of packet, form downlink data packet, go to step S13;
S13:Current downlink packet is forwarded to VLAN B by VxLAN Gateway B VxLAN submodules of giving out a contract for a project, and is gone to
Step S14;
S14:Current downlink packet is forwarded to VLAN ID and deletes submodule by VLAN B VLAN packet receivings submodule,
VLAN ID are deleted after the VLAN ID that submodule deletes current downlink packet, are sent by VLAN submodules of giving out a contract for a project to HostB,
Go to step S15;
S15:HostB is replied according to the request type of current downlink packet, is terminated.
On the basis of above-mentioned technical proposal, the user management submodule inquiry of Topology Management module described in step S6
HostA user profile whether there is, and specifically include following steps:MAC of the user management submodule inquiry with the presence or absence of HostA
Address and IP address, if so, HostA user profile is present, go to step S8, otherwise HostA user profile is not present, and turn
To step S7.
On the basis of above-mentioned technical proposal, user management submodule described in step S7 is obtained according to current ICMP request bags
HostA user profile is taken, following steps are specifically included:VxLAN of the user management submodule in current ICMP request bags
Gateway IP address, determines the VxLAN Gateway belonging to HostA;User management submodule is according to current ICMP request bags
VLAN ID in VLAN heads, determine the VNI values belonging to VLAN and the VLAN that HostA uses.
It is the stream encapsulation of newly-built current ICMP request bags on the basis of above-mentioned technical proposal, described in step S10
VxLAN heads specifically include following steps:For the source MAC on the stream packaging V xLAN heads of current ICMP request bags, purpose
MAC Address, ethernet type, source IP address, purpose IP address, IP layers of next type, VNI values and output integer are to hardware
OUTPORT ports;
The source MAC on packaging V xLAN heads, target MAC (Media Access Control) address, IP layers of next type, VNI values and OUTPORT ports
When, using the WAN mouth MAC Address of the VxLAN GatewayA in Topology Management module as packaging V xLAN heads source MAC
Location;The next-hop of VxLAN GatewayA in Topology Management module is route to MAC Address as the purpose on packaging V xLAN heads
MAC Address;IP layers of next type are UDP, and UDP source ports and destination interface are 4789;VNI values are the VLAN by VLAN A
VNI values under the VLAN interchangers that ID is searched;OUTPORT is WAN mouthfuls of values of VxLAN GatewayA;
When the ethernet type on packaging V xLAN heads, source IP address and purpose IP address:
If VxLAN GatewayA WAN port address is IPv6 types, ethernet type IP;Source IP address is VxLAN
GatewayA WAN mouth IPv6 addresses;Purpose IPv6 addresses route IPv6 addresses for VxLAN GatewayA next-hop;
If VxLAN GatewayA WAN port address is IPv4 types:Ethernet type is IP, and source IP address is VxLAN
GatewayA WAN mouth IP address, purpose IP address is VxLAN GatewayA next-hop routed ip address.
On the basis of above-mentioned technical proposal, the modifications of VxLAN Gateway B described in step S12 and newly-built current encapsulation
The stream and handling process of packet, specifically include following steps:VxLAN Gateway B are according to HostB acquisition of information VLAN
B VLAN ID;SDN controllers inform that VxLAN Gateway B remove current encapsulation packet according to OFPT_PACKET_OUT
VxLAN tunnels;The VLAN ID of current encapsulation packet are revised as the VLAN that value is VLAN B by VxLAN Gateway B
ID;The OUTPORT values of current encapsulation packet are revised as VxLAN Gateway B LAN mouth values by VxLAN Gateway B.
On the basis of above-mentioned technical proposal, communication configuration described in step S1 includes VxLAN Gateway WAN mouths ground
Location, WAN mouthfuls of next-hop routed ip address, the VxLAN Gateway information for belonging to same intercommunication area;
When VxLAN Gateway access network is IPv6, WAN port address and WAN mouthfuls of next-hop routed ip address are
IPv6 addresses;When VxLAN Gateway access network is IPv4, WAN port address and WAN mouthfuls of next-hop routed ip address are
IPv4 addresses;
In step S2 when HostA, HostB access network used are IPv4, ICMP request bags are asked for ICMP v4
Bag, icmp reply request bag is that ICMPv4 replys request bag;When HostA, HostB access network used are IPv6, ICMP
Request bag is ICMPv6 request bags, and icmp reply request bag is that ICMPv6 replys request bag;
Source IP address of the five-tuple of ICMP request bags described in step S3 including ICMP request bags, purpose IP address, source
MAC Address, target MAC (Media Access Control) address and data type;
The VxLAN Gateway A configuration informations of ICMP request bags described in step S9 are with including the source IP of ICMP request bags
Location, purpose IP address, source MAC, target MAC (Media Access Control) address and data type.
On the basis of above-mentioned technical proposal, step S15 specifically includes following steps:If current downlink packet is ARP
Request, HostB replys ARP Reply, terminates;If current downlink packet is asked for ICMP, HostB replys ICMP reply,
Terminate;If current downlink packet is asked for NS, HostB replys NA, terminates;If current downlink packet is asked for ICMPv6,
HostB replys ICMPv6reply, terminates.
Compared with prior art, the advantage of the invention is that:
(1) present invention realizes IPv6 flexible deployment according to VxLAN under SDN frameworks, and VxLAN is a kind of expansible void
Intend LAN, VxLAN is applied to inside data center, and VxLAN enables virtual machine to change IP address and MAC
Under conditions of (Media Access Control, media access control) address, migrated in the range of the three-layer network interconnected,
And then ensure the continuity of business.
Compared with fixing the different equipment of deployment according to environment in the prior art, intercommunication area management module of the invention has
(such as access port is IPv6 in use, user can be configured according to network design situation in practice for communication configuration, the present invention
During network, configuration VxLAN GatewayWAN port address is IPv6 types, when access port is IPv4 networks, configures VxLAN
Gateway WAN port address is IPv4 types).Therefore, the present invention can dispose heterogeneous networks industry respectively in same equipment
Business is relatively more flexible.
(2) compared with LAFT6 and DS_Lite technologies of the prior art, the present invention can be in the feelings without using NAT technologies
Realize that IPv4 user accesses IPv4 user through IPv6 access ports under condition.Therefore, the present invention not only to the performance requirement of equipment compared with
Low, delay is smaller, and configures and safeguard fairly simple.
Embodiment
The present invention is described in further detail below in conjunction with drawings and Examples.
Referring to shown in Fig. 1, Fig. 2, the system that IPv6 flexible deployments are realized by VxLAN technologies in the embodiment of the present invention,
Including software defined network SDN frameworks, SDN frameworks include SDN controllers, some VxLAN Gateway (expansible LAN nets
Close) and some VLAN interchangers.SDN controllers pass through OpenFlow (network exchange) agreements and all VxLAN Gateway phases
Even, every VxLAN Gateway is connected with some VLAN interchangers.
VxLAN Gateway in the present embodiment are 2:VxLAN GatewayA and VxLAN Gateway B.VxLAN
GatewayA is connected with 1 VLAN interchanger (VLAN switch As), and the user of VLAN switch As is HostA;VxLAN
GatewayB is connected with 1 VLAN interchanger (VLAN switch bs), and the user of VLAN switch bs is HostB.
Shown in Figure 3, SDN controllers include SDN OpenFlow interface modules, the intercommunication area management mould being sequentially connected
Block, Topology Management module, ARP/NS/NA processing modules (Address Resolution Protocol, address resolution protocol/
Neighbor Solicitation, neighbor request/Neighbor Advertisement, neighbours bulletin) and IPV4/IPv6 at
Manage module.
SDN OpenFlow interface modules are used for:Receive and handle the stream that VxLAN Gateway report to SDN controllers;
The processing data bags of SDN controllers is issued to VxLAN Gateway.
Intercommunication area management module is used for:The communication for receiving and reading SDN controllers between all VxLAN Gateway is matched somebody with somebody
Put, forwarding communication configuration to Topology Management module.
Communicating configuration can be configured by web interface or configuration file.Communication configuration is with including VxLAN Gateway IP
Location, LAN (Local Area Network, LAN) mouth value, LAN mouthfuls of MAC Address, WAN (Wide Area Network, extensively
Domain net) mouth value, WAN mouthfuls of MAC Address, WAN mouthfuls of IPv4 addresses, WAN mouthfuls of IPv6 addresses, WAN mouthfuls of next-hops route IPv4 addresses,
WAN mouthfuls of next-hop route IPv6 addresses and next-hop route MAC Address.By the WAN mouths IPv4 for configuring VxLAN Gateway
Location and next-hop route IPv4 addresses can realize the intercommunication between specified VxLAN Gateway.By configuring VxLAN
Gateway WAN mouth IPv6 addresses and next-hop route IPv6 addresses can be realized mutual between specified VxLAN Gateway
It is logical.
Topology Management module includes VxLAN Gateway management submodule, VLAN switch managements submodule and user's pipe
Manage submodule;VxLAN Gateway management submodule, VLAN switch managements submodule and user management submodule pass through one
Chained list (having under VxLAN Gateway structures under VLAN switch architecture bodies, VLAN switch architecture bodies has user's structure)
It is interrelated.VxLAN Gateway management submodule, VLAN switch managements submodule and user management submodule can pass through
Chained list is searched mutually.
VxLAN Gateway management submodules are used for:All VxLAN Gateway VxLAN is preserved according to communication configuration
The communication information.
VLAN switch management submodules are used for:Preserve the vlan communication information of all VLAN interchangers, vlan communication letter
VLAN ID, VNI (Vxlan Network Identifier, the intercommunication area) value and VLAN that breath includes VLAN interchangers are exchanged
The WAN mouth IP address of VxLAN Gateway belonging to machine.
User management submodule is used for:The user profile under all VLAN interchangers is preserved, user profile includes:User's
IP address, MAC Address, the affiliated VxLAN Gateway of user WAN mouth IP address.
ARP/NS/NA processing modules include ARP and handle submodule and NS/NA processing submodules.
ARP processing submodules are used for:For SDN controller proxy requests ARP message, by ARP request in source VxLAN
The Gateway salty new broadcast agent inquiries of LAN;For SDN controller proxy response ARP message.SDN controllers by ARP at
Reason submodule can obtain the topology information of IPv4 user.
NS/NA processing submodules are used for:For SDN controller proxy requests NS message, by NS message in source VxLAN
The Gateway salty new broadcast agent inquiries of LAN;For SDN controller proxy response NA message.SDN controllers by NS/NA at
Reason submodule results in the topology information of IPv6 user.
IPV4/IPv6 processing modules are used for:ARP numbers are removed according to what all VxLan Gateway of communication configuration acquisition were reported
According to the handling process of the IPv4 and IPv6 data type streams outside type, NS/NA types, handling process includes repairing for VLAN ID
Change, the encapsulation in tunnel and the decapsulation in tunnel.
Shown in Figure 4, configuration management module, the VxLAN OpenFlow that VxLAN Gateway include being sequentially connected connect
Mouth mold block, flow table management module, IPv4/IPv6 tunnel encapsulations module, IPv4/IPv6 tunnel decapsulations module and VxLAN transmitting-receivings
Bag module.
Configuration management module is used for:The postrun parameter information of VxLAN Gateway programs is read, is obtained according to parameter information
VxLAN Gateway are taken to need SDN controllers IP address and the SDN OpenFlow interface connected.
VxLAN OpenFlow interface modules use OpenFlow consensus standards, and it is used for:In VxLAN Gateway and
Connection is set up between SDN controllers;Report what VxLAN Gateway did not found in flow table management module to flow to SDN controllers;
Receive and handle the processing data bag that SDN controllers are issued.
Flow table management module is used for:Preserve handling process of the SDN controllers to the VxLAN Gateway streams reported.
Flow table management module preserves SDN controllers and reports the handling process of stream to comprise the following steps VxLAN Gateway:
When VxLAN Gateway receive upstream or downstream, flow table management module searches current upstream or whether downstream is deposited
If so, determining that current upstream or downstream are not to send first, handled according to current upstream or downstream handling process
And send current upstream or downstream;Otherwise current upstream or downstream is determined to send first, by current upstream or
Downstream is sent to SDN controller OpenFlow interface modules by VxLAN OpenFlow interface modules.
IPv4/IPv6 tunnel encapsulation modules are used for:After VxLAN Gateway receive upstream, managed by flow table
Module obtains the handling process of current upstream, is current upstream addition VxLAN tunnels, shape according to the handling process of upstream
Into encapsulated data packet, so that obtaining current upstream can communicate in three-layer network.
IPv4/IPv6 tunnel decapsulation modules are used for:VxLAN Gateway are received after downstream, are managed by flow table
Module obtains the handling process of current downlink stream, is current downlink diffluence except VxLAN tunnels, simultaneously according to the handling process of downstream
VLAN ID are changed, deblocking packet is formed, so that obtaining current downlink stream can communicate in double layer network.
VxLAN send and receive packets module includes VxLAN packet receivings submodule and VxLAN and given out a contract for a project submodule.
VxLAN packet receiving submodules are used for:Receive the packet of all network interfaces of VxLAN Gateway.
VxLAN submodules of giving out a contract for a project are used for:The network interface that encapsulated data packet and deblocking packet are required by SDN controllers turns
(encapsulated data packet is forwarded hair by VxLAN Gateway WAN mouths, unseals LAN mouth of the packet by VxLAN Gateway
Forwarding).
VLAN interchangers include VLAN send and receive packets module and VLAN ID modules.
VLAN send and receive packets module includes VLAN packet receivings submodule and VLAN and given out a contract for a project submodule.
VLAN packet receiving submodules are used for:The packet of all network interfaces of VLAN interchangers is received, packet includes upstream data
Bag and downlink data packet.
VLAN submodules of giving out a contract for a project are used for:The upstream data bag that VLAN packet receivings submodule is received is sent to VxLAN
Gateway;The downlink data packet that VLAN packet receivings submodule is received is sent to belonging VLAN user.
VLAN ID modules include VLAN ID and add submodule and VLAN ID deletion submodules.
VLAN ID addition submodules are used for:The upstream data bag addition VLAN heads received for VLAN interchangers, VLAN heads
Portion includes VLAN id informations.
VLAN ID, which delete submodule, to be used for:VLAN heads are removed for the downlink data packet that VLAN interchangers are received.
Shown in Figure 5, what the present invention was provided realizes IPv6 flexible deployments based on said system by VxLAN technologies
Method, comprises the following steps:
S1:All VxLAN Gateway communication configuration is preset in the intercommunication area management module of SDN controllers.Communication is matched somebody with somebody
Put the WAN port address including VxLAN Gateway, WAN mouthfuls of next-hop routed ip address, belong to the VxLAN of same intercommunication area
Gateway information (VxLAN GatewayA and VxLAN GatewayB are in same intercommunication area in this example), goes to step S2.
S2:Definition sends ICMP (Internet Control Message Protocol, network Internet Control Message Protocol) please
The user asked is request user HostA, and the VLAN interchangers that HostA is used are the VxLAN belonging to VLAN A, VLAN A
Gateway is VxLAN Gateway A;VLANs different from HostA and be HostA send icmp reply request bag user be
Purpose user HostB, the VxLAN Gateway that the VLAN interchangers that HostB is used are VLAN B, VLAN B are VxLAN
Gateway B。
HostA is to during HostB transmission ICMP requests, and HostA sends ICMP to VLAN A VLAN packet receivings submodule and asked
Bag, VLAN A VLAN ID addition submodules are current ICMP request bags addition VLAN heads, go to step S3.
S3:VLAN A VLAN submodules of giving out a contract for a project send current ICMP request bags to VxLAN Gateway A VxLAN
Send and receive packets module, VxLAN send and receive packets module passes through the five-tuples of the current ICMP request bags (source IP of current ICMP request bags
Location, purpose IP address, source MAC, target MAC (Media Access Control) address and data type) one stream of composition.
VxLAN GatewayA flow table management module checks that current stream whether there is, if so, according to the processing currently flowed
Flow processing, terminates;Otherwise current ICMP request bags are reported into SDN by VxLAN OpenFlow interface modules
OpenFlow interface modules, go to step S4.
S4:SDN OpenFlow interface modules determine the type of current ICMP request bags:If the class of current ICMP request bags
Type is ARP or NS/NA types, and current ICMP request bags are forwarded into ARP/NS/NA processing submodules, step S5 is gone to;If
The type of current ICMP request bags is IPv4 or IPv6 types, and current ICMP request bags are forwarded into IPV4/IPv6 processing modules,
Go to step S6.
S5:ARP/NS/NA processing submodules are handled current ICMP request bags according to existing flow, are terminated.
S6:IPV4/IPv6 processing modules inform the user management submodule inquiry HostA of Topology Management module user's letter
Breath whether there is, if so, going to step S8, otherwise go to step S7.
S7:User management submodule obtains the topology pipe in HostA user profile, controller according to current ICMP request bags
The user profile that module preserves HostA is managed, step S8 is gone to.
S8:User management submodule inquiry HostB whether there is, if so, going to step S9;
Otherwise the access network that HostB is used is determined, if the access network that HostB is used is IPv4, SDN controllers build ARP
ARP request packet in type, current ARP request packet is gone as ICMP request bags to obtain Host party B-subscriber's information,
Go to step S5.If the access network that HostB is used is IPv6, SDN controllers build the NS request data packages in NS/NA types,
Acquisition Host party B-subscriber's information is gone to go to step S5 using current NS request data packages as ICMP request bags.
S9:The VxLAN Gateway A that the Topology Management module of SDN controllers obtains current ICMP request bags match somebody with somebody confidence
Breath, learns the value and the port value (i.e. WAN mouthfuls of value) for reporting ICMP data to go out on packaging V xLAN heads.Under SDN controllers
The OFPT_FLOW_MOD information in OpenFlow agreements is sent out to VxLAN GatewayA, to inform VxLAN GatewayA stream
The stream and the stream process flow of the newly-built current ICMP request bags of table management module.SDN controllers are issued in OpenFlow agreements
OFPT_PACKET_OUT information is to VxLAN GatewayA, to inform the processing of the current ICMP packets of VxLAN GatewayA
Flow.Go to step S10.
S10:VxLAN GatewayA VxLAN OpenFlow interface modules receive the OFPT_ that SDN controllers are issued
FLOW_MOD message and OFPT_PACKET_OUT message.VxLAN GatewayA flow table management module passes through OFPT_FLOW_
The stream and the stream process flow of the newly-built current ICMP request bags of MOD message.VxLAN GatewayA pass through OFPT_PACKET_OUT
ACTION operations in message, are the stream packaging V xLAN heads of newly-built current ICMP request bags, form encapsulated data packet, root
According to the OUTPORT values in OFPT_PACKET_OUT message, current encapsulation packet is sent to VxLAN GatewayB, gone to
Step S11.
S11:VxLAN GatewayB VxLAN packet receiving submodules are received after the encapsulated data packet in packaging V xLAN tunnels,
Search current encapsulation packet in flow table management module whether there is, if so, handling according to the flow table in flow table management module
Flow processing current encapsulation packet formation downlink data packet, goes to step S14, otherwise passes through VxLAN OpenFlow interface moulds
OFPT_PACKET_IN message in block, reports to SDN OpenFlow interface modules by current encapsulation packet, goes to step
S12。
S12:SDN OpenFlow interface modules are parsed to current encapsulation packet, obtain current encapsulation packet
VNI values (i.e. current encapsulation data flow needs decapsulation).HostB information is searched in the Topology Management module of SDN controllers is
It is no to exist, if it is not, abandoning current encapsulation packet, terminate;If so, SDN controllers inform VxLAN according to HostB information
Gateway B modifications and the stream and handling process of newly-built current encapsulation packet, form downlink data packet, go to step S13.
S13:Current downlink packet is forwarded to VLAN B by VxLAN Gateway B VxLAN submodules of giving out a contract for a project, and is gone to
Step S14.
S14:Current downlink packet is forwarded to VLAN ID and deletes submodule by VLAN B VLAN packet receivings submodule,
VLAN ID are deleted after the VLAN ID that submodule deletes current downlink packet, are sent by VLAN submodules of giving out a contract for a project to HostB,
Go to step S15.
S15:HostB is replied according to the request type of current downlink packet, is terminated.
The part steps of the method to realizing IPv6 flexible deployments in the embodiment of the present invention by VxLAN technologies are carried out below
Illustrate.
In step S1 when VxLAN Gateway access network is IPv6, WAN port address and WAN mouthfuls of next-hop route IP
Address is IPv6 addresses;When VxLAN Gateway access network is IPv4, WAN port address and WAN mouthfuls of next-hops are with routeing IP
Location is IPv4 addresses.
In step S2 when HostA, HostB access network used are IPv4, ICMP request bags are asked for ICMP v4
Bag, icmp reply request bag is that ICMPv4 replys request bag;When HostA, HostB access network used are IPv6, ICMP
Request bag is ICMPv6 request bags, and icmp reply request bag is that ICMPv6 replys request bag.
The user management submodule inquiry HostA of Topology Management module in step S6 user profile whether there is, and have
Body comprises the following steps:MAC Address and IP address (IPv4 or IPv6 of the user management submodule inquiry with the presence or absence of HostA
Address), if so, HostA user profile is present, step S8 is gone to, otherwise HostA user profile is not present, and goes to step
S7。
In step S7 user management submodule according to current ICMP request bags obtain HostA user profile, specifically include with
Lower step:VxLAN Gateway IP address of the user management submodule in current ICMP request bags, is determined belonging to HostA
VxLAN Gateway;VLAN ID of the user management submodule in current ICMP request bags VLAN heads, determines HostA
VNI values belonging to the VLAN used the and VLAN.
The source IP address of VxLAN Gateway A configuration informations of ICMP request bags including ICMP request bags in step S9,
Purpose IP address, source MAC, target MAC (Media Access Control) address and data type.
It is that the stream packaging V xLAN heads of newly-built current ICMP request bags specifically include following steps in step S10:To work as
The source MAC on the stream packaging V xLAN heads of preceding ICMP request bags, target MAC (Media Access Control) address, ethernet type, source IP address, purpose
IP address, IP layers of next type, VNI values and OUTPORT (output integer to hardware) port.
In step S10 when the ethernet type on packaging V xLAN heads, source IP address and purpose IP address:
If VxLAN GatewayA WAN port address is IPv6 types, ethernet type IP (0x86dd);Source IP address is
VxLAN GatewayA WAN mouth IPv6 addresses;The next-hop route IPv6 that purpose IPv6 addresses are VxLAN GatewayA
Location.
If VxLAN GatewayA WAN port address is IPv4 types:Ethernet type is IP (0x0800), source IP address
For VxLAN GatewayA WAN mouth IP address, purpose IP address is VxLAN GatewayA next-hop routed ip address.
The source MAC on packaging V xLAN heads in step S10, target MAC (Media Access Control) address, IP layers of next type, VNI values and
During OUTPORT ports, the WAN mouth MAC Address of the VxLAN GatewayA in Topology Management module is regard as packaging V xLAN heads
Source MAC;It regard the next-hop route MAC Address of the VxLAN GatewayA in Topology Management module as packaging V xLAN
The target MAC (Media Access Control) address on head;IP layers of next type are UDP, and UDP source ports and destination interface are 4789;VNI values are to pass through VLAN
VNI values under the VLAN interchangers that A VLAN ID are searched;OUTPORT is WAN mouthfuls of values of VxLAN GatewayA.
The stream and handling process of VxLAN Gateway B modifications and newly-built current encapsulation packet in step S12, specific bag
Include following steps:VxLAN Gateway B are according to HostB acquisition of information VLAN B VLAN ID;SDN controllers according to
OFPT_PACKET_OUT informs that VxLAN Gateway B remove the VxLAN tunnels of current encapsulation packet;VxLAN Gateway
The VLAN ID of current encapsulation packet are revised as the VLAN ID that value is VLAN B by B;VxLAN Gateway B are by current encapsulation
The OUTPORT values of packet are revised as the LAN mouth values for VxLAN Gateway B.
Step S15 specifically includes following steps:If current downlink packet is ARP request, HostB replys ARP Reply,
Terminate;If current downlink packet is asked for ICMP, HostB replys ICMP reply, terminates;If current downlink packet is NS
Request, HostB replys NA, terminates;If current downlink packet is asked for ICMPv6, HostB replys ICMPv6reply, terminates.
Include following preparation process during actual use of the invention:
One in the hardware device (such as computer, virtual machine) that A, five operating systems of preparation are linux, five equipment
For SDN controllers, two are VxLAN Gateway, and two are VLAN interchangers.Respectively five equipment are with setting corresponding IP
Location, VxLAN Gateway WAN mouth IPv6 addresses and next-hop route IPv6 addresses need to configure, and allow VxLAN Gateway
WAN data bag can be sent in IPv6 public networks.
B, the configuration management module for writing VxLAN Gateway, it is mainly VxLAN to write configuration management module
VxLAN OpenFlow interface modules service in Gateway, VxLAN Gateway are connected to SDN by OpenFlow agreements
Controller, VxLAN Gateway need to know the IP address of SDN controllers and OpenFlow ports.In order to increase in reality
Plus item mesh flexibility, the SDN controllers IP address of connection can not be write extremely in a program, can be entered by the postrun parameter of program
Row configuration, configuration management module being capable of parameter, acquisition SDN controllers IP address and OpenFlow ports.
C, the SDN OpenFlow interface modules for writing SDN controllers and VxLAN Gateway VxLAN OpenFlow
Interface module, OpenFlow interfaces can separate the ability of switch processes data and forwarding data, realize SDN environment.
D, the intercommunication area management module for writing SDN controllers, because the VLAN ID under a VLAN interchanger have 4096
Value, needs to realize that a VxLAN Gateway and another VxLAN Gateway is communicated, in order to isolate each group in reality
Communication, it is necessary to distinguished with VNI, user needs to configure intercommunication area.
Then the configuration can be write SDN controllers by the configuration of intercommunication area by the interface configurations intercommunication area of application layer
Database or by Applied layer interface send intercommunication area communication be allocated to SDN controllers or on SDN controllers create
Intercommunication domain configuration file.
E, the Topology Management module for writing SDN controllers, Topology Management module realize that SDN controllers have global topology
Information, Topology Management module is to preserve topology information by way of Hash chained lists.
F, the ARP/NS/NA processing modules for writing SDN controllers, ARP/NS/NA processing modules include ARP and handle submodule
Submodule is handled with NS/NA.ARP processing submodules mainly realize the essential information for obtaining purpose IPv4 user, NS/NA processing
Module mainly realizes the essential information for obtaining purpose IPv6 user.
G, the IPV4/IPv6 processing modules for writing SDN controllers, IPV4/IPv6 processing modules are main to be configured according to communication
Obtain IPv4 the and IPv6 data type streams in addition to ARP data types, NS/NA types that all VxLan Gateway are reported
Handling process, handling process includes VLAN ID modification, the encapsulation in tunnel and the decapsulation in tunnel.
H, the VxLAN Gateway flow table management modules write in VxLAN Gateway.The uplink traffic of user passes through 5
Tuple determines that stream whether there is, and oneself can be determined according to the situation of oneself, for example the version of OpenFlow agreements 1.0 is 11 yuan
Group.
I, the IPv4/IPv6 tunnel encapsulation modules write in VxLAN Gateway, IPv4/IPv6 tunnel decapsulation modules
Double layer network (IPv4 double layer networks or IPv6 double layer networks) packet is sent to three-layer network (tri- layers of IPv4 by main realize
Network or IPv6 three-layer networks) in, another mistake is sent in double layer network to three-layer network.
J, the send and receive packets module write in VxLAN Gateway, send and receive packets module, which is mainly realized, can capture the upper of user
Row and downlink data packet, deliver packet and are handled to other modules.
The present invention is not limited to the above-described embodiments, for those skilled in the art, is not departing from
On the premise of the principle of the invention, some improvements and modifications can also be made, these improvements and modifications are also considered as the protection of the present invention
Within the scope of.The content not being described in detail in this specification belongs to prior art known to professional and technical personnel in the field.