[go: up one dir, main page]

WO2015014187A1 - 一种支持多租户的数据转发方法和装置 - Google Patents

一种支持多租户的数据转发方法和装置 Download PDF

Info

Publication number
WO2015014187A1
WO2015014187A1 PCT/CN2014/080921 CN2014080921W WO2015014187A1 WO 2015014187 A1 WO2015014187 A1 WO 2015014187A1 CN 2014080921 W CN2014080921 W CN 2014080921W WO 2015014187 A1 WO2015014187 A1 WO 2015014187A1
Authority
WO
WIPO (PCT)
Prior art keywords
tenant
flow table
data packet
switch
forwarding
Prior art date
Application number
PCT/CN2014/080921
Other languages
English (en)
French (fr)
Inventor
王蛟
宋昆鹏
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015014187A1 publication Critical patent/WO2015014187A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data forwarding method and apparatus for supporting multi-tenancy.
  • BACKGROUND Multi-tenancy is a typical application scenario of a cloud network, and is also an important manifestation of network virtualization technology in a data center environment.
  • network virtualization mainly relies on methods such as virtual local area network (VLAN).
  • VLAN virtual local area network
  • the tenant's network is isolated by setting different VLANs.
  • a VLAN is a logical segment of a network user connected to a Layer 2 switch port. It is not restricted by the physical location of the network user. Network segmentation can be performed according to user requirements.
  • VLAN technology also has obvious drawbacks. For example: When a physical server or virtual server's network card, media access control (MAC, Media Access Control) address, Internet Protocol (IP, Internet Protocol) address, or physical location changes, it needs to be more in the entire network system. Related network devices are reconfigured. In medium-scale and above network environments, the application of virtual machine migration technology is becoming more and more popular. The configuration and maintenance cost of VLAN technology in this environment is huge, which cannot meet the needs of technology development.
  • MAC Media Access Control
  • IP Internet Protocol
  • SDN Software Defined Network
  • OpenFlow OpenFlow
  • Multi-stream table technology refers to the existence of multiple flow tables in OpenFlow switches, which are designed for the unused matching domains of switches and store different contents.
  • Flow rules For the received data packet, the flow rule is matched from the entry of the flow table (which can be TableO), and the subsequent flow table is queried according to the instruction set in the entry. The lookup order between the tables can only be jumped to the next flow table or the flow table with the next table number greater than the current table number. After the matching flow table is found, data conversion or discarding is performed according to the flow table.
  • the existing OpenFlow In the multi-flow table forwarding scheme of the switch, the forwarding service cannot be provided for each tenant network according to the requirements of different tenants. As a result, the tenant shared the flow table space in the multi-tenant environment, causing conflicts, and the forwarding performance is reduced. Each tenant cannot be flexible according to its own service.
  • the flow table program is customized.
  • a data forwarding method for supporting a multi-tenant includes: receiving a data packet, and performing tenant network identification on the received data packet;
  • the data packet is forwarded to the corresponding flow table group corresponding to the tenant for querying; wherein, the corresponding flow table group corresponding to the tenant includes: one or one upper flow table;
  • the data packet hit by the query is processed according to the corresponding flow table entry operation.
  • the performing the tenant network identification on the received data packet includes:
  • the matching field in the first flow table includes: a source media access control address and a virtual local area network identifier, or, in the first flow table, according to the second possible implementation manner
  • the matching fields include: source media access control address and tunnel identifier.
  • the method further includes: forwarding the data packet information of the query miss to the controller;
  • the data packet is forwarded to a flow table group that is specific to the tenant, and the flow table group corresponding to the tenant includes: one or more flows
  • the table specifically includes: When more than one flow table is included in the flow table group exclusive to the tenant, the data packets are sequentially queried according to the order of the flow table in the flow table group.
  • the method further includes: receiving, by the controller, a command for deleting a correspondence between the tenant and the tenant-specific flow table group;
  • the flow entry in each flow table in the tenant-specific flow table group is cleared according to the command to delete the corresponding relationship between the tenant and the tenant-specific flow table group.
  • the second aspect provides a data forwarding method for supporting a multi-tenant, including: obtaining, by using a user interface, a service-related flow table solution customized by a tenant;
  • the flow table solution is sent to the switch, so that the switch establishes the flow table group exclusive to the tenant according to the flow table solution, where the flow table group exclusive to the tenant includes: one or more flow tables.
  • the method further includes:
  • the method further includes:
  • a communication device including: a first receiving unit, an identifying unit, a querying unit, and a processing unit,
  • the first receiving unit is configured to receive a data packet
  • the identifying unit is configured to perform tenant network identification on the received data packet, and the querying unit is configured to forward the data packet to the corresponding according to the tenant network identification result
  • the query is performed by the tenant-specific flow table group.
  • the flow table group corresponding to the tenant includes: one or more flow tables;
  • the processing unit is configured to process the data packet hit by the query according to the corresponding flow entry operation.
  • the identifying unit is configured to perform, according to the matching field in the first flow table stored in the switch, a data packet, where, according to the first flow table, The matching domain determines the tenant network;
  • the identifying unit is specifically configured to determine, according to the tenant identifier included in the data packet, the tenant network to which the data packet belongs.
  • the matching field in the first flow table includes: a source media access control address and a virtual local area network identifier, or, in the first flow table, according to the first possible implementation manner.
  • the matching fields include: source media access control address and tunnel identifier.
  • the device further includes: a first sending unit, a second receiving unit, and a storage unit,
  • the first sending unit is configured to forward the data packet information of the query miss to the controller
  • the second receiving unit is configured to receive, by the controller, a forwarding policy corresponding to the tenant to which the data packet belongs;
  • the inquiry unit is configured for the flow table dedicated tenant group comprises more than one flow table, the data packet in accordance with The order of the flow tables in the flow table group is sequentially queried.
  • the device further includes: a third receiving unit, and a deleting unit,
  • the third receiving unit is configured to receive a command to delete the tenant flow table sent by the controller, where the deleting unit is configured to clear the tenant according to the command to delete the correspondence between the tenant and the tenant exclusive flow table group.
  • a communication device comprising: an acquisition unit, and a a sending unit,
  • the obtaining unit is configured to obtain, by using a user interface, a service-related flow table solution customized by the tenant;
  • the second sending unit is configured to send the flow table solution to the switch, so that the switch establishes the tenant-specific flow table group according to the flow table solution, where the flow table group exclusive to the tenant includes : One or more flow tables.
  • the device further includes: a fourth receiving unit, an acquiring policy unit, and a third sending unit,
  • the fourth receiving unit is configured to receive data packet information sent by the switch, where
  • the acquiring policy unit is configured to calculate forwarding path information of the data flow to which the data packet belongs according to the physical network topology and the virtual network topology of the tenant; and according to the flow table rule definition of the tenant to which the data packet belongs, Transmitting the forwarding path information into a forwarding policy conforming to the tenant flow table scheme;
  • the third sending unit is configured to send the forwarding policy to the switch, so that the forwarding policy is stored in a corresponding flow table of the tenant in the switch.
  • the acquiring a policy unit includes:
  • a routing module configured to carry a routing algorithm, perform path calculation on the flow to which the data packet belongs according to the physical network topology information included in the topology module, and the tenant virtual network topology information, and send the calculation result to the policy conversion module;
  • a topology module for storing a virtual network topology of a physical network topology and a tenant, and providing topology support for path calculation for the routing module;
  • the policy conversion module is configured to receive the path information from the routing module, and convert it into a forwarding policy conforming to the tenant flow table scheme according to the flow table rule definition of the tenant.
  • the apparatus further includes: a fourth sending unit ;
  • the fourth sending unit is configured to: when the tenant leaves, send a command to delete the correspondence between the tenant and the tenant-specific flow table group to the switch, so that the switch clears the flow entry in the tenant-specific flow table group.
  • the data packet is forwarded to the flow table in the corresponding tenant-specific flow table group for forwarding query according to the tenant network identification result, and the data packet hitting the query is processed according to the flow table entry in the flow table, because the tenant
  • the inter-forwarding rules are completely isolated by different flow tables, and the forwarding between tenants is not affected by different policy conflicts, and there is no interference between them.
  • FIG. 1 is a schematic flow chart of a data forwarding method for supporting multi-tenancy according to Embodiment 1 of the present invention
  • FIG. 2 is a schematic flowchart of a data forwarding method for supporting multi-tenancy according to Embodiment 2 of the present invention
  • Figure 3 is a flow table group with different tenants in the switch.
  • the switch stores the forwarding policy from the controller into the tenant-specific flow table group to process the schematic diagram.
  • Figure 4 is a schematic diagram of processing in the controller and the switch
  • FIG. 5 is a schematic diagram of processing of receiving data packet information sent by a switch in a controller
  • FIG. 6 is a schematic diagram of a communication device according to Embodiment 3 of the present invention.
  • FIG. 7 is a schematic diagram of a communication apparatus according to Embodiment 4 of the present invention.
  • FIG. 8 is a schematic diagram of a communication device according to Embodiment 5 of the present invention.
  • FIG. 9 is a schematic diagram of a communication apparatus according to Embodiment 6 of the present invention.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS Embodiments of the present invention provide a data forwarding method, apparatus, and system for supporting multi-tenancy.
  • the solution can be built on the controller and the switch in the SDN environment, and the multi-flow table technology of the OpenFlow switch is used to dynamically implement a customized forwarding policy for different tenants, which can solve the service offloading and network refinement scheduling of different tenants.
  • using multi-flow meter technology Customize the forwarding rules for each tenant network. As the virtual servers in the tenant network migrate as needed, the changes in service deployment and configuration at the switch level are relative to existing ones.
  • the solution Based on the characteristics of the multi-flow meter technology in the SDN environment and the requirements of the multi-tenant network, the solution customizes its flow table rules according to the tenant, or uses the network default multi-flow table rules to perform the tenant of multiple flow tables of the switch. Divide, divide multiple flow tables into different tenant groups. The flow is divided according to the TableO of the flow table entry or other related tenant network detection units, and the flows of different tenants are transferred to the corresponding tenant flow table group, and are forwarded according to the flow rules defined by the tenant.
  • the embodiment of the invention provides a data forwarding method for supporting multi-tenancy. As shown in FIG. 1, the method includes:
  • Step 101 Receive a data packet, and perform tenant network identification on the received data packet.
  • the tenant network may be identified according to the first flow table (which may be TableO) in the multi-flow table, and the tenant network may be distinguished according to a predefined tenant ID (Tenant-ID), where The pre-defined here is predefined in the tenant network and has a uniform tenant ID in the tenant network.
  • the matching domain included in the first flow table TableO may be a source MAC address (ie, Src MAC) and a virtual local area network identifier (VLAN_ID), or the matching domain may be a tunnel identifier (Tunnel_ID).
  • the tunnel identifier includes, but is not limited to, the MPLS (Multi-Protocol Label Switching Lable), the VXLAN (Virtual Extensible VLAN, ID), and the Generic Routing Encapsulation (GRE). ), as well as other existing or custom tunnel technology tags.
  • Step 102 Forward, according to the tenant network identification result, the data packet to the corresponding flow meter group corresponding to the tenant, where the flow table group corresponding to the tenant includes: one or more flow tables;
  • the flow table group corresponding to the tenant in the step 102 includes one or more flow tables. It can be understood that when the switch is configured, the flow table is divided into independent flow tables according to different tenants, and belongs to different tenant networks.
  • the flow table can be a flow table or a set of flow tables (that is, more than one flow table). Therefore, each tenant can customize the required flow table (or multi-flow table) to the controller according to its own business requirements.
  • the controller can make routing decisions according to the virtual network to which the tenant belongs, and formulate a flow table suitable for the forwarding rules of the tenant network.
  • the controller sends the formulated flow table to the switch, and the switch stores one or a group of flow tables belonging to different tenants (the said set of flow tables can be understood as more than one flow table).
  • Step 103 Process the data packet that is queried by the query according to the corresponding flow entry operation.
  • the specific processing can be to discard the data packet or directly forward to the physical port of the switch.
  • the data forwarding method for supporting multi-tenancy is provided by the foregoing embodiment of the present invention.
  • the method forwards the data packet to one or more flow tables exclusive to the tenant according to the tenant network identification result, and forwards the query, and the query is hit.
  • the data packet is sent to the corresponding physical port or the data packet is discarded. Since the inter-tenant forwarding rules are completely isolated by different flow tables, the forwarding between tenants is not affected by different policy conflicts, and there is no interference between them.
  • the tenant network is relatively simple, the number of forwarding entries in the flow table is small for each tenant network. After the switch completes the identification of the tenant network, the traffic forwarding rules in the flow table of the tenant network can be quickly located, so Improve the efficiency of data forwarding.
  • the method may further include:
  • Step 104 Forward the packet information of the query miss to the controller.
  • the data packet in which the query is missed can be understood as the tenant network to which the data packet belongs does not store the flow table in the switch, or the flow to which the data packet belongs is not recorded in the flow table exclusively belonging to the tenant network. Therefore, the switch sends the packet to the controller, and the controller processes the packet to generate a forwarding policy for the tenant or the flow to which the packet belongs, and delivers the forwarding policy to the switch.
  • the method may further include:
  • Step 105 Receive a forwarding policy corresponding to the tenant sent by the controller, and store the forwarding policy in a flow table group corresponding to the tenant, where the flow table group may be a flow table or more than one flow table.
  • step 105 may also be preceded by step 101.
  • the forwarding policy in each subscriber's flow table is generated by the controller. Therefore, the switch can receive control before performing the data forwarding service.
  • the forwarding policy corresponding to the tenant sent by the device, and stores the flow table in the flow table corresponding to the tenant.
  • the forwarding policy corresponding to the tenant is customized by the tenant through the user interface and sent by the controller to the switch.
  • the flow table corresponding to the tenant can be dynamically added in the switch, and the switch stores the forwarding policy sent by the controller into one or a set of flow tables of the tenant corresponding amount.
  • the embodiment of the present invention provides a data forwarding method for supporting a multi-tenant.
  • the method is the same as the method provided in the first embodiment. The difference is that more controllers and switches cooperate in this embodiment. Work forwards packets for tenants. As shown in Figure 2, the method includes:
  • Step 201 The tenant joins the network, and the controller allocates a tenant ID (ID) to the new tenant.
  • the controller obtains a service-related flow table scheme customized by the tenant through the user interface, or obtains a default flow table scheme by the tenant.
  • the service-related flow table solution customized by the tenant may be implemented by using a single flow table solution or a multi-flow table solution in the switch.
  • Step 202 The controller sends the customized service-related flow table solution of the tenant to the tenant to use the default flow table solution, and sends the solution to the switch.
  • the flow table solution may further include the tenant ID.
  • Step 203 The switch receives the flow table solution delivered by the controller, and stores the flow table plan belonging to the tenant in the flow table group exclusive to the tenant, where the tenant-specific flow table group includes one or one meaning flow. table.
  • the forwarding policy belonging to tenant 0001 is sent to one or a group of flow tables Set 1 of the tenant 0001. If the tenant ID is n, the forwarding policy of tenant n is sent to one or a set of flow tables Set n.
  • the tenant customized forwarding policy is issued in the controller.
  • the flow table that belongs to different tenants in the switch is independently divided into a flow table or a set of flow tables. After the packet hits the corresponding flow table, it processes it according to the flow table entry operation. If the tenant selects the default forwarding policy as the forwarding policy, the controller sends the default policy to the shared flow table in the switch as the basis for data forwarding in the tenant network.
  • the forwarding policy is not used.
  • the corresponding flow table of the tenant you can also In Table O, a matching domain for identifying the tenant is stored, so that after receiving the data packet in the switch, according to the matching domain in the Table0, the jump to the corresponding tenant flow table is performed for matching.
  • Step 204 The switch receives the data packet, and performs the tenant network identification on the received data packet.
  • the performing the tenant network identification on the received data packet in step 204 may confirm the tenant network to which the data packet belongs by using the tenant ID (Tenant_ID) included in the data packet.
  • the Tenant-ID can be a new tag added by the packet at its server.
  • the function of encapsulating the tenant ID for the data packet can be added to the virtual host or the physical host to distinguish the tenant network to which the different data flows belong.
  • the encapsulated tenant ID, Tenant-ID can be used to distinguish between data flows between different tenants.
  • the tenant network identification of the received data packet in step 204 can be performed by setting TableO in the multi-flow table (ie, the first flow table at the switch entry), and confirming the tenant network to which the data packet belongs according to the matching field of the data packet.
  • the matching domain included in TableO can be a combination of source Mac address and VLAN-ID.
  • VLAN Take a VLAN as an example.
  • each tenant performs isolation in the first step through a VLAN.
  • Each tenant is divided into its own virtual network.
  • the virtual host or physical host of the tenant network may have overlapping MAC addresses.
  • the combination of the source MAC address and the VLAN ID is a unique identifier of the entire network. You can locate a host or a tenant network to which a data stream belongs.
  • TableO's matching domain can be the source Mac address and
  • Tunnel The combination of IDs. When other technologies are used, they may be customized according to requirements and technical features, and should not be construed as limiting the embodiments of the present invention.
  • Step 205 If the switch fails to identify the tenant network to which the data packet belongs, forward the data packet information to the controller requesting the forwarding policy.
  • the data packet information may specifically be a packet header of the data packet or a data packet itself, but the application does not limit the form of other data packet information.
  • the switch may perform the forwarding policy matching by the switch through Table O. If there is no hit, the switch receives the data packet to which the flow belongs for the first time. Forward its packet information to the controller request policy.
  • the switch fails to identify the tenant network to which the data packet belongs in step 205.
  • the specific implementation may be that the switch identifies the tenant ID of the data packet encapsulation, and the corresponding flow table is not stored in the switch, indicating that the switch first receives the data packet to which the flow belongs.
  • Step 206 The controller receives the data packet information sent by the switch, obtains the path information of the data packet according to the physical network topology and the virtual network topology of the tenant, and converts the path information according to the flow table rule definition of the tenant. To comply with the forwarding strategy of the tenant flow table scheme;
  • the detailed operation process in step 206 may include: a core decision module in the controller, receiving data packet information sent by the switch end, and transmitting the forwarding policy to the switch end;
  • the routing module in the controller is used to carry the routing algorithm, and performs path calculation on the flow to which the data packet belongs according to the physical network topology information included in the topology module and the tenant virtual network topology information, and sends the calculation result to the policy conversion module. ;
  • the topology module in the controller includes the physical network topology and the virtual network topology of the tenant, and provides topology support for path calculation for the routing module;
  • the policy conversion module in the controller receives the path information from the routing module, and converts it into a forwarding policy conforming to the tenant flow table scheme according to the flow table rule of the tenant; the rule storage module in the controller is used to store each tenant. Custom flow table scheme and default flow table scheme.
  • Step 207 The controller sends the forwarding policy obtained by the conversion to the switch.
  • Step 208 The switch receives the forwarding policy sent by the controller, and stores the forwarding policy in the flow table corresponding to the tenant. If the tenant is a new tenant, the flow table is not stored in the switch, and the flow table resource is allocated to the new tenant. The forwarding policy of the new tenant is stored in the flow table corresponding to the tenant in the form of a flow entry. If the forwarding policy is a new flow belonging to the tenant, the flow entry of the flow is added to the source flow table to which the tenant belongs.
  • Step 209 If the switch identifies the tenant network in step 204, forward the data packet to the corresponding tenant exclusive flow table group for forwarding query.
  • the specific operation of the switch to identify the tenant network may be: after the TableO is matched, the tenant network to which the data packet belongs is confirmed, and the matching result is redirected to one or a group of flow tables exclusive to the tenant, if the tenant has a set of flows The table then jumps to the first flow table in the tenant-specific flow table group to perform forwarding policy matching.
  • Step 210 Process the data packet that is queried by the query according to the corresponding flow entry operation. The specific processing can be to discard the data packet or directly forward to the physical port of the switch.
  • Step 211 When the controller learns that the tenant leaves the network, send a command to delete the corresponding relationship between the tenant and the tenant exclusive flow table group to the switch;
  • Step 212 The switch receives a command sent by the controller to delete the corresponding relationship between the tenant and the tenant-specific flow table group.
  • the command clears the tenant-specific flow according to the command for deleting the corresponding relationship between the tenant and the tenant-specific flow table group.
  • the rules belonging to the tenant are deleted, and the content of the switch-end flow table group belonging to the tenant is cleared, and the set of flow table resources is reclaimed by the switch, and belongs to the idle flow table resource, and is used for Subsequent new tenants join the network and redistribute.
  • the data forwarding method for supporting multi-tenancy is provided by the foregoing embodiment 2 of the present invention.
  • the method forwards the data packet to one or more flow tables exclusive to the tenant according to the tenant network identification result, and forwards the query, and the query is hit.
  • the data packets are processed according to the flow entry operation. Since the inter-tenant forwarding rules are completely isolated by different flow tables, the forwarding between tenants is not affected by different policy conflicts, and there is no interference between them.
  • the tenant network is relatively simple, the number of forwarding entries in the flow table is small for each tenant network. After the switch completes the identification of the tenant network, the traffic forwarding rules in the flow table of the tenant network can be quickly located, so Improve the efficiency of data forwarding.
  • the advantages of the solution include: The number of flow tables that can be stored is fixed when the resources in the switch are fixed. The number of flow tables required by the tenant network can be dynamically adjusted according to the tenant service. Therefore, the number of tenants supported by the switch can be dynamic. Adjustment.
  • each tenant in the solution can use the user interface in the controller to customize the flow table rule in the tenant-specific flow table set according to the tenant service, and set the flow table with higher priority to the tenant's key service.
  • the embodiment of the invention provides a communication device.
  • the communication device may be an Openflow switch, but is not limited to the switch.
  • the communication device includes: a first receiving unit 601, an identifying unit 602, a query unit 603, and a processing unit 604.
  • a first receiving unit 601 configured to receive a data packet
  • the identifying unit 602 is configured to perform tenant network identification on the received data packet.
  • the tenant network may be identified according to the first flow table (which may be TableO) in the multi-flow table, and the tenant network may be distinguished according to a predefined tenant ID (Tenant-ID), where The pre-defined here is predefined in the tenant network and has a uniform tenant ID in the tenant network.
  • the matching domain included in the first flow table TableO may be the source MAC address (ie,
  • Src MAC and the virtual local area network identifier (VLAN_ID), or the matching domain can be a tunnel ID ( Tunnel_ID).
  • the query unit 603 is configured to forward the data packet to the flow table group corresponding to the tenant according to the tenant network identification result, where the corresponding flow table group corresponding to the tenant includes: one or more flow tables;
  • the flow table group corresponding to the tenant in the query unit 603 includes one or more flow tables. It can be understood that when the switch is configured, the flow table is divided into independent flow tables according to different tenants, belonging to different tenants.
  • the flow table of the network can be a flow table or a set of flow tables (that is, more than one flow table).
  • each tenant can customize the required flow table to the controller according to its own business needs.
  • the controller can make routing decisions according to the virtual network to which the tenant belongs, and formulate a flow table suitable for the forwarding rules of the tenant network.
  • the controller sends the prepared flow table to the switch, and the switch stores the different tenants.
  • One or a set of flow tables (the said set of flow tables can be understood as more than one flow table).
  • the processing unit 604 is configured to process the data packet of the query hit, and the corresponding flow entry operation.
  • the identification unit 602 of the communication device forwards the data packet to one or more flow tables exclusive to the tenant according to the tenant network identification result, and the query unit 603 Forwarding the query, sending the data packet of the query hit to the corresponding physical port or discarding the data packet. Since the inter-tenant forwarding rules are completely isolated by different flow tables, the forwarding between tenants is not affected by different policy conflicts. There is no interference between them.
  • the identifying unit 602 is specifically configured to match the data packet according to the matching field in the first flow table stored in the switch, where the tenant network is determined according to the matching i in the first flow table;
  • the identifying unit is specifically configured to determine, according to the tenant identifier included in the data packet.
  • the matching field in the first flow table includes: a source media access control address and a virtual local area network identifier
  • the matching field in the first flow table includes: a source media access control address and a tunnel identifier.
  • the device further includes:
  • a first transmitting unit 605, a second receiving unit 606, and a storage unit 607 a first transmitting unit 605, a second receiving unit 606, and a storage unit 607,
  • the first sending unit 605 is configured to forward the packet information of the query miss to the controller;
  • the second receiving unit 606 is configured to receive, by the controller, a forwarding policy corresponding to the tenant to which the data packet belongs;
  • the inquiry unit 602 is specifically configured for the flow table dedicated tenant group comprises more than one flow table, the data packet stream in accordance with the order table in the flow table group , and then query.
  • the device further includes:
  • the third receiving unit 608 is configured to receive a command to delete a tenant flow table sent by the controller, where the deleting unit 609 is configured to clear the command according to the corresponding relationship between the tenant and the tenant exclusive flow table group. A flow entry in each flow table in the tenant-specific flow table group.
  • the embodiment of the present invention provides a communication device, which can be a controller in an SDN network.
  • the device includes: an obtaining unit 701, and a first sending unit 702, and an acquiring unit 701, configured to pass the user.
  • Interface obtaining a service-related flow table solution customized by the tenant;
  • the second sending unit 702 is configured to send the flow table solution to the switch, so that the switch establishes the flow table group that is exclusive to the tenant according to the flow table solution, where the flow table group that belongs to the tenant includes: One or more flow tables.
  • a communication device provided by the above embodiment of the present invention, the device is connected by a user And obtaining, by the switch, a flow table solution that is customized by the tenant, and sending the flow table solution to the switch, so that the switch establishes the flow table group exclusive to the tenant according to the flow table solution, where the exclusive
  • the flow table group includes: one or more flow tables. Since the inter-tenant forwarding rules are completely isolated by different flow tables, the forwarding between tenants is not affected by different policy conflicts, and there is no interference between them.
  • the device further includes:
  • the third sending unit 705 is configured to send the forwarding policy to the switch, so that the forwarding policy is stored in a corresponding flow table of the tenant in the switch.
  • the acquiring policy unit 704 specifically includes:
  • a routing module configured to carry a routing algorithm, perform path calculation on the flow to which the data packet belongs according to the physical network topology information included in the topology module, and the tenant virtual network topology information, and send the calculation result to the policy conversion module;
  • a topology module for storing a virtual network topology of a physical network topology and a tenant, and providing topology support for path calculation for the routing module;
  • the policy conversion module is configured to receive the path information from the routing module, and convert it into a forwarding policy conforming to the tenant flow table scheme according to the flow table rule definition of the tenant.
  • the device further includes: a fourth sending unit 705;
  • the fourth sending unit 705 is configured to: when the tenant leaves, send a command to delete the correspondence between the tenant and the tenant-specific flow table group to the switch, so that the switch clears the flow entry in the tenant-specific flow table group.
  • FIG. 8 Another embodiment of the present invention provides a communication device.
  • the structure is as shown in FIG. 8.
  • the memory 40, the processor 41, the input device 43, and the output device 44 are respectively connected to the bus, where:
  • the memory 40 is used to store data input from the input device 43, and may also store information such as necessary files processed by the processor 41;
  • the input device 43 and the output device 44 are ports for communication devices to communicate with other devices, and may further include output devices externally connected to the data analysis device such as a display, a keyboard, a mouse, a printer, and the like.
  • the input device 43 may include a mouse and a keyboard.
  • the output device 44 includes a display or the like;
  • the processor 41 is configured to perform the tenant network identification on the received data packet.
  • the data packet is forwarded to the corresponding flow meter group corresponding to the tenant according to the tenant network identification result, where the corresponding flow table group corresponding to the tenant is used.
  • the method includes: one or more flow tables; the data packets that are hit by the query are processed according to the corresponding flow table entry operations.
  • the data packet is forwarded to one or more flow tables exclusive to the tenant for forwarding query, and the data packet of the query hit is sent to the corresponding physical port or discarded. Packets, because the inter-tenant forwarding rules are completely isolated by different flow tables, the forwarding between tenants is not affected by different policy conflicts, and there is no interference between them.
  • the tenant network is relatively simple, the number of forwarding entries in the flow table is small for each tenant network. After the switch completes the identification of the tenant network, the traffic forwarding rules in the flow table of the tenant network can be quickly located, so Improve the efficiency of data forwarding.
  • the processor performs the tenant network identification on the received data packet, and is specifically configured to match the data packet according to the matching field in the first flow table stored in the switch, where, according to the matching domain in the first flow table Identify the tenant network;
  • the identifying unit is specifically configured to determine, according to the tenant identifier included in the data packet, the tenant network to which the data packet belongs.
  • the matching field in the first flow table in the processor includes: a source media access control address and a virtual local area network identifier,
  • the matching field in the first flow table includes: a source media access control address and a tunnel identifier.
  • the output device is further configured to forward the packet information of the query miss to the controller;
  • the input device is further configured to receive, by the controller, a forwarding policy corresponding to the tenant to which the data packet belongs; i ' , ⁇
  • the processor forwards the data packet to the flow table group corresponding to the tenant according to the tenant network identification result, where the corresponding flow table group corresponding to the tenant includes: one or more flow tables Specifically, when the flow table group exclusive to the tenant includes more than one flow table, the data packets are sequentially queried according to the order of the flow table in the flow table group.
  • the input device is further configured to receive a command to delete the tenant flow table sent by the controller, where the processor is further configured to clear the tenant according to the command to delete the correspondence between the tenant and the tenant exclusive flow table group A flow entry in each flow table in a dedicated flow table group.
  • FIG. 9 A schematic structural diagram is shown in FIG. 9.
  • a memory 50, a processor 51, an input device 53, and an output device 54 respectively connected to the bus are included, where:
  • the memory 50 is used to store data input from the input device 53, and may also store information such as necessary files for processing the data by the processor 51;
  • the input device 53 and the output device 54 are ports for communication devices to communicate with other devices, and may further include output devices externally connected to the data analysis device such as a display, a keyboard, a mouse, a printer, and the like.
  • the input device 53 may include a mouse and a keyboard.
  • the output device 54 includes a display or the like;
  • the input device is configured to obtain, by using a user interface, a service-related flow table solution customized by a tenant;
  • the output device is configured to send the flow table solution to the switch, so that the switch establishes the flow table group exclusive to the tenant according to the flow table solution, where the flow table group exclusive to the tenant includes: Or more than one flow table.
  • the device obtains a service-related flow table solution customized by the tenant through the user interface, and sends the flow table solution to the exchange.
  • the flow table group that is exclusive to the tenant includes: one or more flow tables, because the inter-tenant forwarding rules pass different flow tables, according to the flow table scheme. For complete isolation, the inter-tenant forwarding is not affected by different policy conflicts and there is no interference between them.
  • the input device is further configured to receive data packet information sent by the switch, where the processor is configured to calculate forwarding of the data flow to which the data packet belongs according to the physical network topology and the virtual network topology of the tenant. Path information; and converting the forwarding path information into a forwarding policy conforming to the tenant flow table scheme according to the flow table rule definition of the tenant to which the data packet belongs;
  • the output device is further configured to send the forwarding policy to the switch, so that the forwarding policy is stored in a corresponding flow table of the tenant in the switch.
  • the processor specifically includes:
  • a routing module configured to carry a routing algorithm, perform path calculation on the flow to which the data packet belongs according to the physical network topology information included in the topology module, and the tenant virtual network topology information, and send the calculation result to the policy conversion module;
  • a topology module for storing a virtual network topology of a physical network topology and a tenant, and providing topology support for path calculation for the routing module;
  • the policy conversion module is configured to receive the path information from the routing module, and convert it into a forwarding policy conforming to the tenant flow table scheme according to the flow table rule definition of the tenant.
  • the output device is further configured to: when the tenant leaves, send a command to delete the correspondence between the tenant and the tenant-specific flow table group to the switch, so that the switch clears the flow table in the tenant-specific flow table group. item.
  • a person of ordinary skill in the art may understand that all or part of the steps of implementing the above embodiments may be performed by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, the above mentioned storage medium. It can be a read-only memory, a disk or a disc, and the like.

Landscapes

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

Abstract

本发明实施例公开了一种支持多租户的数据转发方法和装置,本发明实施例方法包括:接收数据包,对接收到的数据包进行租户网络识别;根据租户网络识别结果,将数据包转发至对应租户专属的流表组中进行查询;其中,所述对应租户专属的流表组中包括:一个或者一个以上流表;对查询命中的数据包,根据对应的流表项操作进行处理。本发明实施例提供的技术方案,根据租户网络识别结果,将数据包转发至对应租户专属的一个或者一个以上流表中进行转发查询,将查询命中的数据包按照流表项操作进行处理,由于租户间转发规则通过不同的流表进行完全隔离,租户间的转发不受到不同策略冲突的影响,相互之间没有干扰。

Description

一种支持多租户的数据转发方法和装置
技术领域
本发明涉及通信技术领域, 具体涉及一种支持多租户的数据转发方法 和装置。
背景技术 多租户是云网络的一个典型应用场景, 也是网络虚拟化技术在数据 中心环境下的重要表现形式。 目前的多租户虚拟化技术中, 网络虚拟化 主要依靠虚拟局域网 ( VLAN, Virtual Local Area Network )等方法来实 现。 通过设置不同的 VLAN , 对租户的网络进行隔离。 VLAN是对连接 到第二层交换机端口的网络用户的逻辑分段, 不受网络用户的物理位置 限制, 可以根据用户需求进行网络分段。
但是, VLAN技术也有明显的缺点。 例如: 当某一物理服务器或者 虚拟服务器的网卡、 媒体访问控制 (MAC , Media Access Control)地址、 互联网协议 (IP , Internet Protocol ) 地址, 或是物理位置发生变化时, 需要对整个网络系统中多个相关的网络设备进行重新配置。 在中等规模 以上的网络环境中, 虚拟机迁移技术的应用愈加普遍, VLAN技术在该 环境下的配置和维护开销巨大, 无法满足技术发展的需求。
软件定义的网络 ( SDN, Software Defined Network ) 技术的出现, 提供了一种灵活应用的网络虚拟化技术。 SDN 技术的一个实例, 即 OpenFlow技术, 在 OpenFlow技术中, 多流表技术被引入, 多流表技术 是指在 OpenFlow交换机中存在多张流表, 针对交换机的不用的匹配域 进行设计, 存储不同内容的流规则。 对于接收到的数据报文, 从流表的 入口处 (可以是 TableO ) 开始进行流规则的匹配, 根据表项中的指令集 度后续流表进行查询。 表间查找顺序只能是跳转至下一张流表或者下一 个表序号大于当前表序号的流表中。 在查找到匹配的流表后, 根据流表 进行数据转换或者丟弃等操作。
从上述对现有 OpenFlow技术的说明可以看出, 现有的 OpenFlow 交换机中多流表转发方案中, 不能根据不同租户的需求为各租户网络提 供转发服务, 造成多租户环境下的租户共享流表空间造成冲突, 并且转 发性能降低, 各租户无法根据自身业务进行灵活的流表方案定制。 发明内容 本发明实施例提供了一种支持多租户的数据转发方法和装置, 能够 根据不同租户的需求为各租户网络提供转发服务。
本发明实施例第一方面, 一种支持多租户的数据转发方法, 包括: 接收数据包, 对接收到的数据包进行租户网络识别;
根据租户网络识别结果, 将数据包转发至对应租户专属的流表组中 进行查询; 其中, 所述对应租户专属的流表组中包括: 一个或者一个以 上流表;
对查询命中的数据包, 根据对应的流表项操作进行处理。
在第一种可能的实现方式中, 根据第一方面, 所述对接收到的数据 包进行租户网络识别, 具体包括:
根据交换机中存储的第一张流表中的匹配域与数据包进行匹配, 其 中, 根据所述第一张流表中的匹配域用于确定租户网络;
或者, 根据数据包中包含的租户标识确定所述数据包所属的租户网 络。
在第二种可能的实现方式中, 根据第二种可能的实现方式, 所述第 一张流表中的匹配域包括: 源媒体接入控制地址和虚拟局域网标识, 或者, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和隧 道标识。
在第三种可能的实现方式中, 根据第一方面, 所述方法还包括: 将查询未命中的数据包信息转发至控制器;
接收控制器发送的所述数据包所属的租户对应的转发策略, 并将所述转发策略存储在所述租户专属的流表组中。
在第四种可能的实现方式中, 根据第一方面, 所述将数据包转发至 对应租户专属的流表组中进行查询, 其中, 所述对应租户专属的流表组 中包括: 一个以上流表, 具体包括: 对于租户专属的流表组中包括一个以上流表时, 将所述数据包依照 流表在所述流表组中的排列顺序, 依次进行查询。
在第五种可能的实现方式中, 根据第一方面, 所述方法还包括: 接收控制器发送的删除租户与所述租户专属流表组的对应关系的 命令;
根据所述删除租户与所述租户专属流表组的对应关系的命令, 清空 所述租户专属流表组中每个流表中的流表项。
第二方面, 提供了一种支持多租户的数据转发方法, 包括: 通过用户接口, 获取租户定制的业务相关的流表方案;
将所述流表方案下发给交换机, 使得交换机根据所述流表方案建立 所述租户专属的流表组, 其中, 所述专属于租户的流表组包括: 一个或 者一个以上流表。
在第一种可能的实现方式中, 根据第二方面, 所述将流表方案下发 给交换机之后, 所述方法还包括:
接收交换机发送的数据包信息,
根据物理网络拓朴和租户的虚拟网络拓朴, 计算所述数据包所属的 数据流的转发路径信息; 并根据所述数据包所属租户的流表规则定义, 将所述转发路径信息转换为符合租户流表方案的转发策略;
将所述转发策略发送给所述交换机, 使得所述转发策略存储于所述 租户在交换机中对应的流表中。
在第二种可能的实现方式中, 根据第二方面或者第一种可能的实现 方式, 所述方法还包括:
当租户离开, 发送删除所述租户与所述租户专属流表组的对应关系 的命令到交换机, 使得所述交换机清空所述租户专属流表组中每个流表 中的流表项。
第三方面, 提一种通信设备, 包括: 第一接收单元, 识别单元, 查 询单元, 和处理单元,
所述第一接收单元, 用于接收数据包,
所述识别单元, 用于对接收到的数据包进行租户网络识别; 所述查询单元, 用于根据租户网络识别结果, 将数据包转发至对应 租户专属的流表组中进行查询; 其中, 所述对应租户专属的流表组中包 括: 一个或者一个以上流表;
所述处理单元, 用于对查询命中的数据包, 根据对应的流表项操作 进行处理。
在第一种可能的实现方式中, 根据第三方面, 所述识别单元, 具体 用于根据交换机中存储的第一张流表中的匹配域与数据包进行匹配, 其 中, 根据所述第一张流表中的匹配域确定租户网络;
或者, 所述识别单元, 具体用于根据数据包中包含的租户标识确定 所述数据包所属的租户网络。
在第二种可能的实现方式中, 根据第一种可能的实现方式, 所述第 一张流表中的匹配域包括: 源媒体接入控制地址和虚拟局域网标识, 或者, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和隧 道标识。
在第三种可能的实现方式中, 根据第三方面, 所述装置还包括: 第一发送单元, 第二接收单元, 和存储单元,
所述第一发送单元, 用于将查询未命中的数据包信息转发至控制 器;
所述第二接收单元, 用于接收控制器发送的所述数据包所属的租户 对应的转发策略;
中。 i ' 、 Ϊ 、 、 在第四种可能的实现方式中, 根据第三方面, 所述查询单元, 具体 用于对于租户专属的流表组中包括一个以上流表时, 将所述数据包依照 流表在所述流表组中的排列顺序, 依次进行查询。
在第五种可能的实现方式中, 根据第三方面, 所述装置还包括: 第三接收单元, 和删除单元,
所述第三接收单元, 用于接收控制器发送的删除租户流表命令; 所述删除单元, 用于根据所述删除租户与所述租户专属流表组的对 应关系的命令, 清空所述租户专属流表组中每个流表中的流表项。
第四方面, 提供了一种通信装置, 所述装置包括: 获取单元, 和第 一发送单元,
所述获取单元, 用于通过用户接口, 获取租户定制的业务相关的流 表方案;
所述第二发送单元, 用于将所述流表方案下发给交换机, 使得交换 机根据所述流表方案建立所述租户专属的流表组, 其中, 所述专属于租 户的流表组包括: 一个或者一个以上流表。
在第一种可能的实现方式中, 根据第四方面, 所述装置还包括: 第四接收单元, 获取策略单元, 和第三发送单元,
所述第四接收单元, 用于接收交换机发送的数据包信息,
所述获取策略单元, 用于根据物理网络拓朴和租户的虚拟网络拓 朴, 计算所述数据包所属的数据流的转发路径信息; 并根据所述数据包 所属租户的流表规则定义, 将所述转发路径信息转换为符合租户流表方 案的转发策略;
所述第三发送单元, 用于将所述转发策略发送给所述交换机, 使得 所述转发策略存储于所述租户在交换机中对应的流表中。
在第二种可能的实现方式中, 根据第一种可能的实现方式, 所述获 取策略单元, 具体包括:
路由模块, 用于承载路由算法, 根据拓朴模块中包含的物理网络拓 朴信息和租户虚拟网络拓朴信息对该数据包所属的流进行路径计算, 并 将计算结果发送至策略转换模块;
拓朴模块, 用于存储物理网络拓朴和租户的虚拟网络拓朴, 为路由 模块提供路径计算的拓朴支持;
策略转换模块, 用于接收来自路由模块的路径信息, 并根据所属租 户的流表规则定义, 将其转换为符合租户流表方案的转发策略。
在第三种可能的实现方式中, 根据第四方面, 或者第一种可能的实 现方式, 或者第二种可能的实现方式任一项所述的方法, 所述装置还包 括: 第四发送单元;
第四发送单元, 用于当租户离开, 发送删除所述租户与所述租户专 属流表组的对应关系的命令到交换机, 使得所述交换机清空所述租户专 属流表组中流表项。 本发明实施例提供的技术方案, 根据租户网络识别结果, 将数据包 转发至对应租户专属流表组中流表进行转发查询, 将查询命中的数据包 按照流表中流表项操作进行处理, 由于租户间转发规则通过不同的流表 进行完全隔离, 租户间的转发不受不同策略冲突的影响, 相互之间没有 干扰。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将 对实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见 地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技 术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获 得其他的附图。
图 1是本发明实施例一提供种支持多租户的数据转发方法流程简图; 图 2是本发明实施例二提供一种支持多租户的数据转发方法流程简 图;
图 3是不同租户在交换机中具有专属的流表组, 交换机将来自控制 器的转发策略存储到租户专属的流表组中处理示意简图,
图 4是控制器与交换机中处理示意简图;
图 5是控制器中对接收到交换机发送的数据包信息的处理示意简图; 图 6是本发明实施例三提供一种通信设备示意简图;
图 7是本发明实施例四提供一种通信装置示意简图;
图 8是本发明实施例五提供一种通信装置示意简图;
图 9是本发明实施例六提供一种通信装置示意简图。 具体实施方式 本发明实施例提供了一种支持多租户的数据转发方法、 装置及系 统。 该方案可以是建立在 SDN 环境下的控制器和交换机之上, 利用 OpenFlow 交换机的多流表技术, 动态实现针对不同租户的定制转发策 略, 可以解决不同租户的业务分流及网络精细化调度, 并将不同租户网 络分配给相对于的租户网络控制设置进行处理。 另外, 利用多流表技术 为每个租户网络定制转发规则, 随着租户网络内的虚拟服务器因需要而 进行迁移时, 其业务部署和配置在交换机层面上的变化, 相对于现有
VLAN技术中虚拟机迁移技术中的变化非常少。
本方案基于 SDN环境下的多流表技术的特点和多租户网络的需求, 根据租户自定义其流表规则, 或者釆用网络默认多流表规则, 对交换机 的多个流表进行按租户的划分, 将多张流表分别划分为不同的租户组。 依据流表入口的 TableO或者其他相关的租户网络检测单元进行流划分, 将不同租户的流转至对应的租户流表组中, 并根据租户定义的流规则进 行转发。
实施例一
本发明实施例提供一种支持多租户的数据转发方法, 如图 1所示, 该方法包括:
步骤 101 , 接收数据包, 并对接收到的数据包进行租户网络识别。 其中, 对租户网络的识别可以是根据交换机中, 多流表中的第一张 流表(可以是 TableO ) 进行租户网络区分, 也可以根据预定义的租户标 识( Tenant— ID )进行租户网络区分, 其中此处所说的预定义是租户网络 中预定义, 在租户网络中拥有统一的租户标识。
其中, 第一种流表 TableO中包含的匹配域可以是源 MAC地址(即 Src MAC ) 和虚拟局域网标识 ( VLAN_ID ) , 或者匹配域可以是隧道标 识 (Tunnel— ID ) 。 其中, 隧道标识包括但不仅限于多协议标签交换标 签( MPLS , Multi-Protocol Label Switching Lable ) , 可扩展 VLAN标识 ( VXLAN, Virtual Extensible VLAN, ID ) , 通用路由封装隧道(GRE, Generic Routing Encapsulation, Tunnel), 以及其他现有或自定义的隧道 技术标签。
步骤 102 , 根据租户网络识别结果, 将数据包转发至对应租户专属 的流表组中进行查询; 其中, 所述对应租户专属的流表组中包括: 一个 或者一个以上流表;
其中, 步骤 102中所说的对应租户专属的流表组, 包括一个或者一 个以上流表, 可以理解为交换机在配置时, 流表被根据不同的租户划分 为独立的流表, 属于不同租户网络的流表可以是一张流表, 也可以是一 组流表 (即一个以上流表 ) 。 因此, 各租户可以根据自身的业务需求向控制器定制所需要的流表 (或者多流表) , 控制器可以根据租户所属的虚拟网络进行路由决策, 制定适合于租户网络的转发规则的流表, 控制器将制定的流表发送给交 换机中, 在交换机存储属于不同租户的一个或者一组流表(所述说的一 组流表可以理解为一个以上的流表) 。
步骤 103 , 对查询命中的数据包, 根据对应的流表项操作进行处理。 具体的处理可以是丟弃数据包, 或者直接转发至交换机的物理端口。
通过上述本发明实施例一提供的一种支持多租户的数据转发方法, 该方法根据租户网络识别结果, 将数据包转发至对应租户专属的一个或 者一个以上流表中进行转发查询, 将查询命中的数据包发送至对应物理 端口或者丟弃该数据包, 由于租户间转发规则通过不同的流表进行完全 隔离, 租户间的转发不受到不同策略冲突的影响, 相互之间没有干扰。
进一步, 由于租户网络相对单一, 对于每一个租户网络中流表中转 发表项数量较少, 当交换机完成了对租户网络识别后, 就可以快速定位 到租户网络的流表中的流转发规则, 因此大大提高了数据转发的效率。
优选的, 该方法还可以包括:
步骤 104 , 将查询未命中的数据包信息转发至控制器。
其中查询未命中的数据包, 可以理解为该数据包所属的租户网络在 交换机中并未存储流表, 或者该数据包所属的流在专属于租户网络的流 表中未记载。 因此, 交换机将该类数据包发送给控制器, 由控制器进行 处理, 为该类数据包所属的租户或者流制定转发策略, 并将转发策略下 发给交换机。
因此, 优选的, 该方法在不在 104之后, 还可以包括:
步骤 105 , 接收控制器发送的租户对应的转发策略, 并将该转发策 略存储在该租户对应的流表组中, 该流表组可以是一个流表或者一以上 流表。
还需要理解的是, 步骤 105也可以是在步骤 101之前, 可以理解为 每个租户的流表中的转发策略都是由控制器生成的, 因此, 交换机在执 行数据转发业务之前, 可以接收控制器发送的租户对应的转发策略, 并 将该流表存储在该租户对应的流表中。 其中, 租户对应的转发策略是由 租户通过用户接口在控制器中定制的, 由控制器下发给交换机。 通过上述增加的步骤 104和 105 , 可以使得交换机中动态增加租户 对应的流表, 交换机将接收到控制器发送的转发策略存储到该租户对应 额一个或者一组流表中。
实施例二
本发明实施例提供一种支持多租户的数据转发方法, 该方法与上述 实施例一提供的方法属于相同的发明构思, 不同之处在于, 本实施例中 将会说明更多控制器与交换机协同工作为租户转发数据包。如图 2所示, 该方法包括:
步骤 201 , 租户加入网络, 控制器为新租户分配租户标识 (ID ) , 控制器通过用户接口, 获取租户定制的业务相关的流表方案, 或者获取 到租户釆用默认的流表方案。 其中, 租户定制的业务相关的流表方案可 以是由釆用单流表方案, 或是多流表方案在交换机中体现。
步骤 202 , 控制器将租户的定制的业务相关的流表方案, 或者获取 到租户釆用默认的流表方案, 下发给交换机; 其中, 流表方案中还可以 包括租户 ID。
步骤 203 , 交换机接收到控制器下发的流表方案, 将隶属于该租户 的流表方案存储到该租户专属的流表组中, 其中, 租户专属的流表组中 包括一个或者一个意思流表。
如图 3中, 若租户 ID为 001 , 则将隶属于租户 0001的转发策略发 送租户 0001专属的一个或一组流表 Set 1 中。 租户 ID为 n, 则将租户 n 的转发策略发送至其专属的一个或一组流表 Set n中。
为了更清楚的理解各控制器中租户定制的转发策略, 与交换机中隶 属于租户的一个或者一组流表的对应关系, 如图 4所示, 在控制器中租 户定制的转发策略被下发到交换机, 在交换机中专属于不同租户的流表 被独立划分为一张流表或者一组流表。 数据包命中对应的流表后, 按照 流表项操作进行处理。 若租户选定默认转发策略作为转发策略, 则控制 器将默认策略下发到交换机中的共享流表中, 作为该租户网络中数据转 发的依据。
其中, 还需要理解的是, 若在交换机中存储有拥有租户识别的第一 张流表 (即 TableO ) 的情况下, 在步骤 203中交换机接收到控制器下发 的转发策略时, 不经将转发策略存储在对应租户专属的流表中, 还可以 在 TableO中, 存储用于识别该租户的匹配域, 使得当交换机中接收到数 据包后,根据该 TableO中的匹配域,跳转到对应的租户流表中进行匹配。
步骤 204 , 交换机接收到数据包, 对接收到的数据包进行租户网络 识别。
其中, 步骤 204中对接收到的数据包进行租户网络识别可以通过数 据包中包含的租户 ID ( Tenant— ID ) 确认数据包所属的租户网络。 该 Tenant— ID可以是数据包在其服务器出处增加的新标签。 在某些网络中, 对租户网络初始化之后, 可在虚拟主机或物理主机之上增加为数据包封 装租户 ID 的功能, 用以区分不同数据流所属的租户网络。 该封装的租 户 ID , 即 Tenant— ID , 可用于区分不同租户间的数据流。
或者, 步骤 204中对接收到的数据包进行租户网络识别可以通过设 置多流表中的 TableO (即交换机入口处的第一张流表) , 根据数据包的 匹配域确认数据包所属的租户网络。
在釆用 VLAN技术的情况下, TableO所包含的匹配域可以是源 Mac 地址与 VLAN— ID的组合。 以 VLAN为例, 在物理网络中, 各租户通过 VLAN做第一步的隔离, 各租户组成分属其自己的虚拟网络。 属于租户 网络的各虚拟主机或物理主机可能存在 MAC 地址重叠的情况, 但源 MAC地址和 VLAN ID的组合为全网唯一标识 , 可以定位一台主机或一 个数据流所属的租户网络。
在釆用隧道技术的情况下, TableO 的匹配域可以是源 Mac 地址与
Tunnel— ID 的组合。 在釆用其他技术时, 可以根据需求和技术特征进行 自定义, 此处不应该理解为对本发明实施例的限制。
步骤 205 , 若交换机若未能识别出该数据包所属的租户网络, 将该 数据包信息转发至控制器请求转发策略。 其中, 数据包信息具体可以是 数据包的包头, 也可以是数据包本身, 但本申请不限定其他数据包信息 的形式。
其中,步骤 205中若交换机若未能识别出该数据包所属的租户网络, 具体体现可以是交换机通过 TableO进行转发策略匹配, 如果没有命中, 则表明交换机首次接收到该流所属的数据包, 交换机将其该数据包信息 转发至控制器请求策略。
或者,步骤 205中若交换机若未能识别出该数据包所属的租户网络, 具体体现可以是交换机识别出数据包封装的租户 ID ,并未在交换机中存 储有对应的流表, 则表明交换机首次接收到该流所属的数据包。
步骤 206 , 控制器接收到交换机发送的数据包信息, 根据物理网络 拓朴和租户的虚拟网络拓朴, 获取该数据包的路径信息, 并根据所属租 户的流表规则定义, 将该路径信息转换为符合租户流表方案的转发策 略;
其中, 如图 5所示, 步骤 206中的详细操作过程可以包括: 控制器中核心决策模块, 接收交换机端发送的数据包信息并将转发 策略下发至交换机端;
控制器中路由模块用于承载路由算法, 根据拓朴模块中包含的物理 网络拓朴信息和租户虚拟网络拓朴信息对该数据包所属的流进行路径 计算, 并将计算结果发送至策略转换模块;
控制器中拓朴模块中包含物理网络拓朴和租户的虚拟网络拓朴, 为 路由模块提供路径计算的拓朴支持;
控制器中策略转换模块, 接收来自路由模块的路径信息, 并根据所 属租户的流表规则定义, 将其转换为符合租户流表方案的转发策略; 控制器中规则存储模块, 用于存储各个租户的自定义流表方案以及 默认的流表方案。
步骤 207 , 控制器将转换获得的转发策略下发给交换机,
步骤 208 , 交换机接收控制器下发的转发策略, 将该转发策略存储 在该租户对应的流表中。 若该租户是新租户在交换机中没有存储有流 表,则分配流表资源给该新租户,该新租户的转发策略以流表项的形式, 存储在该租户对应的流表中。 若该转发策略是属于租户的新流, 则在租 户隶属的源流表中增加该流的流表项。
步骤 209 , 若在步骤 204中交换机识别出该租户网络, 将数据包转 发至对应租户专属流表组中进行转发查询。
其中, 交换机识别该租户网络的具体操作可以是在 TableO匹配后, 确认该数据包所属的租户网络, 根据匹配结果跳转到该租户专属的一个 或者一组流表中, 若该租户有一组流表, 则跳转到该租户专属的流表组 中的第一张流表, 进行转发策略匹配。 步骤 210 , 对查询命中的数据包, 根据对应的流表项操作进行处理。 具体的处理可以是丟弃数据包, 或者直接转发至交换机的物理端口。
步骤 211 , 当控制器获知租户离开网络时, 发送删除所述租户与所 述租户专属流表组的对应关系的命令到交换机;
步骤 212 , 交换机接收控制器发送的删除租户与所述租户专属流表 组的对应关系的命令; 根据所述删除租户与所述租户专属流表组的对应 关系的命令, 清空所述租户专属流表组中每个流表中的流表项。
其中, 当租户离开网络时, 属于该租户的规则将被删除, 且属于该 租户的交换机端流表组中内容被清空, 该组流表资源将被交换机收回, 属于空闲流表资源, 用于后续另有新租户加入网络后进行重新分配。
通过上述本发明实施例二提供的一种支持多租户的数据转发方法, 该方法根据租户网络识别结果, 将数据包转发至对应租户专属的一个或 者一个以上流表中进行转发查询, 将查询命中的数据包按照流表项操作 进行处理, 由于租户间转发规则通过不同的流表进行完全隔离, 租户间 的转发不受到不同策略冲突的影响, 相互之间没有干扰。
进一步, 由于租户网络相对单一, 对于每一个租户网络中流表中转 发表项数量较少, 当交换机完成了对租户网络识别后, 就可以快速定位 到租户网络的流表中的流转发规则, 因此大大提高了数据转发的效率。
进一步, 本方案的优点包括: 在交换机中资源一定的情况下, 可以 存储的流表数量固定, 由于租户网络所需的流表数量可以根据租户业务 动态调整, 因此, 交换机支持的租户数量可以动态调节。
进一步, 本方案中每个租户可以通过控制器中用户接口,根据各租 户业务在该租户专属的流表集合中自定义流表规则, 对租户的关键业务 可以进行优先级较高的流表设置。
实施例三
本发明实施例提供一种通信设备, 如图 6所示, 该通信设备可以是 Openflow交换机, 但不限于此交换机。 该通信设备包括: 第一接收单元 601 , 识别单元 602 , 查询单元 603 , 和处理单元 604 ,
第一接收单元 601 , 用于接收数据包,
识别单元 602 , 用于对接收到的数据包进行租户网络识别; 其中, 对租户网络的识别可以是根据交换机中, 多流表中的第一张 流表(可以是 TableO ) 进行租户网络区分, 也可以根据预定义的租户标 识( Tenant— ID )进行租户网络区分, 其中此处所说的预定义是租户网络 中预定义, 在租户网络中拥有统一的租户标识。
其中, 第一种流表 TableO中包含的匹配域可以是源 MAC地址(即
Src MAC ) 和虚拟局域网标识 ( VLAN_ID ) , 或者匹配域可以是隧道标 识 ( Tunnel— ID ) 。
查询单元 603 , 用于根据租户网络识别结果, 将数据包转发至对应 租户专属的流表组中进行查询; 其中, 所述对应租户专属的流表组中包 括: 一个或者一个以上流表;
其中, 查询单元 603中所说的对应租户专属的流表组, 包括一个或 者一个以上流表, 可以理解为交换机在配置时, 流表被根据不同的租户 划分为独立的流表, 属于不同租户网络的流表可以是一张流表, 也可以 是一组流表 (即一个以上流表) 。
因此, 各租户可以根据自身的业务需求向控制器定制所需要的流表
(或者多流表) , 控制器可以根据租户所属的虚拟网络进行路由决策, 制定适合于租户网络的转发规则的流表, 控制器将制定的流表发送给交 换机中, 在交换机存储属于不同租户的一个或者一组流表(所述说的一 组流表可以理解为一个以上的流表) 。
处理单元 604 , 用于对查询命中的数据包, 居对应的流表项操作 进行处理。
通过上述本发明实施例三提供的一种通信设备的说明, 该通信设备 中识别单元 602根据租户网络识别结果, 将数据包转发至对应租户专属 的一个或者一个以上流表中, 由查询单元 603进行转发查询, 将查询命 中的数据包发送至对应物理端口或者丟弃该数据包, 由于租户间转发规 则通过不同的流表进行完全隔离, 租户间的转发不受到不同策略冲突的 影响, 相互之间没有干扰。
优选的, 所述识别单元 602 , 具体用于根据交换机中存储的第一张 流表中的匹配域与数据包进行匹配, 其中, 根据所述第一张流表中的匹 配 i或确定租户网络;
或者, 所述识别单元, 具体用于根据数据包中包含的租户标识确定 所述数据包所属的租户网络。
优选的, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和 虚拟局域网标识,
或者, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和隧 道标识。
优选的, 所述设备还包括:
第一发送单元 605 , 第二接收单元 606 , 和存储单元 607 ,
所述第一发送单元 605 , 用于将查询未命中的数据包信息转发至控 制器;
所述第二接收单元 606 , 用于接收控制器发送的所述数据包所属的 租户对应的转发策略;
表中。 ' 、 Ϊ 、 、 优选的, 所述查询单元 602 , 具体用于对于租户专属的流表组中包 括一个以上流表时, 将所述数据包依照流表在所述流表组中的排列顺 序, 依次进行查询。
优选的, 所述设备还包括:
第三接收单元 608 , 和删除单元 609 ,
所述第三接收单元 608 ,用于接收控制器发送的删除租户流表命令; 所述删除单元 609 , 用于根据所述删除租户与所述租户专属流表组 的对应关系的命令, 清空所述租户专属流表组中每个流表中的流表项。
实施例四
本发明实施例提供一种通信装置, 该通信装置可以 SDN 网络中的 控制器,如图 7所示,该装置包括: 获取单元 701 ,和第一发送单元 702 , 获取单元 701 , 用于通过用户接口, 获取租户定制的业务相关的流 表方案;
第二发送单元 702 , 用于将所述流表方案下发给交换机, 使得交换 机根据所述流表方案建立所述租户专属的流表组, 其中, 所述专属于租 户的流表组包括: 一个或者一个以上流表。
通过上述本发明实施例提供的一种通信装置, 该装置通过用户接 口, 获取租户定制的业务相关的流表方案, 将所述流表方案下发给交换 机, 使得交换机根据所述流表方案建立所述租户专属的流表组, 其中, 所述专属于租户的流表组包括: 一个或者一个以上流表, 由于租户间转 发规则通过不同的流表进行完全隔离, 租户间的转发不受到不同策略冲 突的影响, 相互之间没有干扰。
优选的, 所述装置还包括:
第四接收单元 703 , 获取策略单元 704 , 和第三发送单元 705 , 所述第四接收单元 703 , 用于接收交换机发送的数据包信息, 所述获取策略单元 704 , 用于根据物理网络拓朴和租户的虚拟网络 拓朴, 计算所述数据包所属的数据流的转发路径信息; 并根据所述数据 包所属租户的流表规则定义, 将所述转发路径信息转换为符合租户流表 方案的转发策略;
所述第三发送单元 705 , 用于将所述转发策略发送给所述交换机, 使得所述转发策略存储于所述租户在交换机中对应的流表中。
优选的, 所述获取策略单元 704 , 具体包括:
路由模块, 用于承载路由算法, 根据拓朴模块中包含的物理网络拓 朴信息和租户虚拟网络拓朴信息对该数据包所属的流进行路径计算, 并 将计算结果发送至策略转换模块;
拓朴模块, 用于存储物理网络拓朴和租户的虚拟网络拓朴, 为路由 模块提供路径计算的拓朴支持;
策略转换模块, 用于接收来自路由模块的路径信息, 并根据所属租 户的流表规则定义, 将其转换为符合租户流表方案的转发策略。
优选的, 所述装置还包括: 第四发送单元 705 ;
第四发送单元 705 , 用于当租户离开, 发送删除所述租户与所述租 户专属流表组的对应关系的命令到交换机, 使得所述交换机清空所述租 户专属流表组中流表项。
实施例五
本发明实施例还提供另一种通信设备, 结构示意图如图 8所示, 包 括分别连接到总线上的存储器 40、 处理器 41、 输入装置 43和输出装置 44 , 其中: 存储器 40中用来储存从输入装置 43输入的数据, 且还可以储存处 理器 41处理数据的必要文件等信息;
输入装置 43和输出装置 44是通信设备与其他设备通信的端口, 还 可以包括数据分析设备外接的输出设备比如显示器、 键盘、 鼠标和打印 机等, 在本实施例中输入装置 43 可以包括鼠标和键盘等, 而输出装置 44包括显示器等;
输入装置 43 , 用于接收数据包,
处理器 41 , 用于对接收到的数据包进行租户网络识别; 根据租户网 络识别结果,将数据包转发至对应租户专属的流表组中进行查询; 其中, 所述对应租户专属的流表组中包括: 一个或者一个以上流表; 对查询命 中的数据包, 根据对应的流表项操作进行处理。
通过上述本发明实提供的装置, 根据租户网络识别结果, 将数据包 转发至对应租户专属的一个或者一个以上流表中进行转发查询, 将查询 命中的数据包发送至对应物理端口或者丟弃该数据包, 由于租户间转发 规则通过不同的流表进行完全隔离, 租户间的转发不受到不同策略冲突 的影响, 相互之间没有干扰。
进一步, 由于租户网络相对单一, 对于每一个租户网络中流表中转 发表项数量较少, 当交换机完成了对租户网络识别后, 就可以快速定位 到租户网络的流表中的流转发规则, 因此大大提高了数据转发的效率。
优选的, 处理器中对接收到的数据包进行租户网络识别, 具体用于 根据交换机中存储的第一张流表中的匹配域与数据包进行匹配, 其中, 根据所述第一张流表中的匹配域确定租户网络;
或者, 所述识别单元, 具体用于根据数据包中包含的租户标识确定 所述数据包所属的租户网络。
优选的, 处理器中所述第一张流表中的匹配域包括: 源媒体接入控 制地址和虚拟局域网标识,
或者, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和隧 道标识。
优选的, 所述装置中:
输出装置, 还用于将查询未命中的数据包信息转发至控制器; 输入装置, 还用于接收控制器发送的所述数据包所属的租户对应的 转发策略; 中。 i ' 、 Ϊ
优选的, 所述处理器中根据租户网络识别结果, 将数据包转发至对 应租户专属的流表组中进行查询; 其中, 所述对应租户专属的流表组中 包括: 一个或者一个以上流表, 具体用于对于租户专属的流表组中包括 一个以上流表时, 将所述数据包依照流表在所述流表组中的排列顺序, 依次进行查询。
优选的, 所述装置中,
所述输入装置, 还用于接收控制器发送的删除租户流表命令; 所述处理器, 还用于根据所述删除租户与所述租户专属流表组的对 应关系的命令, 清空所述租户专属流表组中每个流表中的流表项。
实施例六
本发明实施例还提供另一种通信设备, 结构示意图如图 9所示, 包 括分别连接到总线上的存储器 50、 处理器 51、 输入装置 53和输出装置 54 , 其中:
存储器 50中用来储存从输入装置 53输入的数据, 且还可以储存处 理器 51处理数据的必要文件等信息;
输入装置 53和输出装置 54是通信设备与其他设备通信的端口, 还 可以包括数据分析设备外接的输出设备比如显示器、 键盘、 鼠标和打印 机等, 在本实施例中输入装置 53 可以包括鼠标和键盘等, 而输出装置 54包括显示器等;
所述输入装置, 用于通过用户接口, 获取租户定制的业务相关的流 表方案;
所述输出装置, 用于将所述流表方案下发给交换机, 使得交换机根 据所述流表方案建立所述租户专属的流表组, 其中, 所述专属于租户的 流表组包括: 一个或者一个以上流表。
通过上述本发明实施例提供的一种通信装置, 该装置通过用户接 口, 获取租户定制的业务相关的流表方案, 将所述流表方案下发给交换 机, 使得交换机根据所述流表方案建立所述租户专属的流表组, 其中, 所述专属于租户的流表组包括: 一个或者一个以上流表, 由于租户间转 发规则通过不同的流表进行完全隔离, 租户间的转发不受到不同策略冲 突的影响, 相互之间没有干扰。
优选的, 所述输入装置, 还用于接收交换机发送的数据包信息, 所述处理器, 用于根据物理网络拓朴和租户的虚拟网络拓朴, 计算 所述数据包所属的数据流的转发路径信息; 并根据所述数据包所属租户 的流表规则定义, 将所述转发路径信息转换为符合租户流表方案的转发 策略;
所述输出装置, 还用于将所述转发策略发送给所述交换机, 使得所 述转发策略存储于所述租户在交换机中对应的流表中。
优选的, 所述处理器, 具体包括:
路由模块, 用于承载路由算法, 根据拓朴模块中包含的物理网络拓 朴信息和租户虚拟网络拓朴信息对该数据包所属的流进行路径计算, 并 将计算结果发送至策略转换模块;
拓朴模块, 用于存储物理网络拓朴和租户的虚拟网络拓朴, 为路由 模块提供路径计算的拓朴支持;
策略转换模块, 用于接收来自路由模块的路径信息, 并根据所属租 户的流表规则定义, 将其转换为符合租户流表方案的转发策略。
优选的, 所述输出装置, 还用于当租户离开, 发送删除所述租户与 所述租户专属流表组的对应关系的命令到交换机, 使得所述交换机清空 所述租户专属流表组中流表项。
领域普通技术人员可以理解实现上述实施例方法中的全部或部分 步骤是可以通过程序来指令相关的硬件完成, 所述的程序可以存储于一 种计算机可读存储介质中, 上述提到的存储介质可以是只读存储器, 磁 盘或光盘等。
以上对本发明所提供的一种支持多租户的数据转发方法和装置进 行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书内 容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种支持多租户的数据转发方法, 其特征在于, 包括: 接收数据包, 对接收到的数据包进行租户网络识别;
根据租户网络识别结果, 将数据包转发至对应租户专属的流表组中 进行查询; 其中, 所述对应租户专属的流表组中包括: 一个或者一个以 上流表;
对查询命中的数据包, 根据对应的流表项操作进行处理。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述对接收到的数 据包进行租户网络识别, 具体包括:
根据交换机中存储的第一张流表中的匹配域与数据包进行匹配, 其 中, 根据所述第一张流表中的匹配域用于确定租户网络;
或者, 根据数据包中包含的租户标识确定所述数据包所属的租户网 络。
3、 根据权利要求 2所述的方法, 其特征在于,
所述第一张流表中的匹配域包括: 源媒体接入控制地址和虚拟局域 网标识,
或者, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和隧 道标识。
4、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 将查询未命中的数据包信息转发至控制器;
接收控制器发送的所述数据包所属的租户对应的转发策略, 并将所述转发策略存储在所述租户专属的流表组中。
5、 根据权利要求 1 所述的方法, 其特征在于, 所述将数据包转发 至对应租户专属的流表组中进行查询 , 其中, 所述对应租户专属的流表 组中包括: 一个以上流表, 具体包括:
对于租户专属的流表组中包括一个以上流表时, 将所述数据包依照 流表在所述流表组中的排列顺序, 依次进行查询。
6、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 接收控制器发送的删除租户与所述租户专属流表组的对应关系的 命令;
根据所述删除租户与所述租户专属流表组的对应关系的命令, 清空 所述租户专属流表组中每个流表中的流表项。
7、 一种支持多租户的数据转发方法, 其特征在于, 包括:
通过用户接口, 获取租户定制的业务相关的流表方案;
将所述流表方案下发给交换机, 使得交换机根据所述流表方案建立 所述租户专属的流表组, 其中, 所述专属于租户的流表组包括: 一个或 者一个以上流表。
8、 根据权利要求 7 所述的方法, 其特征在于, 所述将流表方案下 发给交换机之后, 所述方法还包括:
接收交换机发送的数据包信息,
根据物理网络拓朴和租户的虚拟网络拓朴, 计算所述数据包所属的 数据流的转发路径信息; 并根据所述数据包所属租户的流表规则定义, 将所述转发路径信息转换为符合租户流表方案的转发策略;
将所述转发策略发送给所述交换机, 使得所述转发策略存储于所述 租户在交换机中对应的流表中。
9、 根据权利要求 7或者 8任一项所述的方法, 其特征在于, 所述 方法还包括:
当租户离开, 发送删除所述租户与所述租户专属流表组的对应关系 的命令到交换机, 使得所述交换机清空所述租户专属流表组中每个流表 中的流表项。
1 0、 一种通信设备, 其特征在于, 包括: 第一接收单元, 识别单元, 查询单元, 和处理单元,
所述第一接收单元, 用于接收数据包,
所述识别单元, 用于对接收到的数据包进行租户网络识别; 所述查询单元, 用于根据租户网络识别结果, 将数据包转发至对应 租户专属的流表组中进行查询; 其中, 所述对应租户专属的流表组中包 括: 一个或者一个以上流表;
所述处理单元, 用于对查询命中的数据包, 根据对应的流表项操作 进行处理。
1 1、 根据权利要求 1 0 所述的装置, 其特征在于, 所述识别单元, 具体用于根据交换机中存储的第一张流表中的匹配域与数据包进行匹 配, 其中, 根据所述第一张流表中的匹配域确定租户网络;
或者, 所述识别单元, 具体用于根据数据包中包含的租户标识确定 所述数据包所属的租户网络。
1 2、 根据权利要求 1 1 所述的装置, 其特征在于, 所述第一张流表 中的匹配域包括: 源媒体接入控制地址和虚拟局域网标识,
或者, 所述第一张流表中的匹配域包括: 源媒体接入控制地址和隧 道标识。
1 3、 根据权利要求 1 0所述的装置, 其特征在于, 所述装置还包括: 第一发送单元, 第二接收单元, 和存储单元,
所述第一发送单元, 用于将查询未命中的数据包信息转发至控制 器;
所述第二接收单元, 用于接收控制器发送的所述数据包所属的租户 对应的转发策略; 中。 i ' 、 Ϊ
14、 根据权利要求 1 0 所述的装置, 其特征在于, 所述查询单元, 具体用于对于租户专属的流表组中包括一个以上流表时, 将所述数据包 依照流表在所述流表组中的排列顺序, 依次进行查询。
1 5、 根据权利要求 1 0所述的装置, 其特征在于, 所述装置还包括: 第三接收单元, 和删除单元,
所述第三接收单元, 用于接收控制器发送的删除租户流表命令; 所述删除单元, 用于根据所述删除租户与所述租户专属流表组的对 应关系的命令, 清空所述租户专属流表组中每个流表中的流表项。
1 6、 一种通信装置, 其特征在于, 所述装置包括: 获取单元, 和第 一发送单元,
所述获取单元, 用于通过用户接口, 获取租户定制的业务相关的流 表方案;
所述第二发送单元, 用于将所述流表方案下发给交换机, 使得交换 机根据所述流表方案建立所述租户专属的流表组, 其中, 所述专属于租 户的流表组包括: 一个或者一个以上流表。
1 7、 根据权利要求 1 6所述的装置, 其特征在于, 所述装置还包括: 第四接收单元, 获取策略单元, 和第三发送单元,
所述第四接收单元, 用于接收交换机发送的数据包信息,
所述获取策略单元, 用于根据物理网络拓朴和租户的虚拟网络拓 朴, 计算所述数据包所属的数据流的转发路径信息; 并根据所述数据包 所属租户的流表规则定义, 将所述转发路径信息转换为符合租户流表方 案的转发策略;
所述第三发送单元, 用于将所述转发策略发送给所述交换机, 使得 所述转发策略存储于所述租户在交换机中对应的流表中。
1 8、 根据权利要求 1 7 所述的装置, 其特征在于, 所述获取策略单 元, 具体包括:
路由模块, 用于承载路由算法, 根据拓朴模块中包含的物理网络拓 朴信息和租户虚拟网络拓朴信息对该数据包所属的流进行路径计算, 并 将计算结果发送至策略转换模块;
拓朴模块, 用于存储物理网络拓朴和租户的虚拟网络拓朴, 为路由 模块提供路径计算的拓朴支持;
策略转换模块, 用于接收来自路由模块的路径信息, 并根据所属租 户的流表规则定义, 将其转换为符合租户流表方案的转发策略。
1 9、 根据权利要求 1 6至 1 8任一项所述的方法, 其特征在于, 所述 装置还包括: 第四发送单元;
第四发送单元, 用于当租户离开, 发送删除所述租户与所述租户专 属流表组的对应关系的命令到交换机, 使得所述交换机清空所述租户专 属流表组中流表项。
PCT/CN2014/080921 2013-07-31 2014-06-27 一种支持多租户的数据转发方法和装置 WO2015014187A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310328933.9 2013-07-31
CN201310328933.9A CN104348724B (zh) 2013-07-31 2013-07-31 一种支持多租户的数据转发方法和装置

Publications (1)

Publication Number Publication Date
WO2015014187A1 true WO2015014187A1 (zh) 2015-02-05

Family

ID=52430960

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/080921 WO2015014187A1 (zh) 2013-07-31 2014-06-27 一种支持多租户的数据转发方法和装置

Country Status (2)

Country Link
CN (1) CN104348724B (zh)
WO (1) WO2015014187A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016137491A1 (en) * 2015-02-27 2016-09-01 Hewlett Packard Enterprise Development Lp Software defined network controller for implementing tenant specific policy
CN107592270A (zh) * 2016-07-07 2018-01-16 华为技术有限公司 FlowSpec消息的处理方法和装置以及系统
US10841375B2 (en) 2013-11-01 2020-11-17 Hewlett Packard Enterprise Development Lp Protocol agnostic storage access in a software defined network topology
CN113542128A (zh) * 2018-10-12 2021-10-22 华为技术有限公司 一种发送路由信息的方法和装置
CN114553762A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852923A (zh) * 2015-05-26 2015-08-19 汉柏科技有限公司 一种基于用户的路由隔离方法及系统
CN106330709B (zh) * 2015-06-30 2019-10-18 华为技术有限公司 流表项生成及接收方法、控制器以及交换机
CN106572021B (zh) * 2015-10-09 2021-07-06 中兴通讯股份有限公司 一种实现网络虚拟化叠加的方法与网络虚拟化边缘节点
CN106878178B (zh) * 2015-12-11 2019-11-01 中国电信股份有限公司 流表下发方法、系统及控制器
CN105577675A (zh) * 2015-12-31 2016-05-11 深圳前海微众银行股份有限公司 多租户资源管理的方法及装置
US20190044755A1 (en) * 2016-03-02 2019-02-07 Nec Corporation Network system, control apparatus, method and program for building virtual network function
CN107592208B (zh) * 2016-07-08 2022-07-29 中兴通讯股份有限公司 流量管理方法及装置
CN107733765B (zh) * 2016-08-12 2020-09-08 中国电信股份有限公司 映射方法、系统和相关设备
US10146953B1 (en) * 2017-07-14 2018-12-04 EMC IP Holding Company LLC System and method for physical data packets isolation for different tenants in a multi-tenant protection storage environment
CN110826307A (zh) * 2019-10-31 2020-02-21 北京字节跳动网络技术有限公司 业务对象的创建方法及设备
CN111736982B (zh) * 2020-05-12 2023-12-08 深圳震有科技股份有限公司 一种5g数据转发平面的数据转发处理方法和服务器
CN114675971A (zh) * 2022-03-31 2022-06-28 深信服科技股份有限公司 一种数据配置方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120075991A1 (en) * 2009-12-15 2012-03-29 Nec Corporation Network system, control method thereof and controller
WO2012170016A1 (en) * 2011-06-07 2012-12-13 Hewlett-Packard Development Company, L.P. A scalable multi-tenant network architecture for virtualized datacenters
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103095701A (zh) * 2013-01-11 2013-05-08 中兴通讯股份有限公司 开放流表安全增强方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120075991A1 (en) * 2009-12-15 2012-03-29 Nec Corporation Network system, control method thereof and controller
WO2012170016A1 (en) * 2011-06-07 2012-12-13 Hewlett-Packard Development Company, L.P. A scalable multi-tenant network architecture for virtualized datacenters
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103095701A (zh) * 2013-01-11 2013-05-08 中兴通讯股份有限公司 开放流表安全增强方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841375B2 (en) 2013-11-01 2020-11-17 Hewlett Packard Enterprise Development Lp Protocol agnostic storage access in a software defined network topology
WO2016137491A1 (en) * 2015-02-27 2016-09-01 Hewlett Packard Enterprise Development Lp Software defined network controller for implementing tenant specific policy
CN107592270A (zh) * 2016-07-07 2018-01-16 华为技术有限公司 FlowSpec消息的处理方法和装置以及系统
CN107592270B (zh) * 2016-07-07 2021-10-15 华为技术有限公司 FlowSpec消息的处理方法和装置以及系统
US11290386B2 (en) 2016-07-07 2022-03-29 Huawei Technologies Co., Ltd. FlowSpec message processing method and system, and apparatus
US12010030B2 (en) 2016-07-07 2024-06-11 Huawei Technologies Co., Ltd. FlowSpec message processing method and system, and apparatus
CN113542128A (zh) * 2018-10-12 2021-10-22 华为技术有限公司 一种发送路由信息的方法和装置
US11374860B2 (en) 2018-10-12 2022-06-28 Huawei Technologies Co., Ltd. Method and apparatus for sending routing information for network nodes
US11863438B2 (en) 2018-10-12 2024-01-02 Huawei Technologies Co., Ltd. Method and apparatus for sending routing information for network nodes
CN114553762A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置
CN114553762B (zh) * 2022-01-30 2023-12-26 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置

Also Published As

Publication number Publication date
CN104348724B (zh) 2019-04-26
CN104348724A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
WO2015014187A1 (zh) 一种支持多租户的数据转发方法和装置
US11895154B2 (en) Method and system for virtual machine aware policy management
KR101623416B1 (ko) 통신 방법 및 시스템
CN103152361B (zh) 访问控制方法及设备、系统
US9871720B1 (en) Using packet duplication with encapsulation in a packet-switched network to increase reliability
CN110896371B (zh) 一种虚拟网络设备及相关方法
JP6043879B2 (ja) OpenFlow有効化クラウドコンピューティングにおいてMPLSを用いる場合のテナント固有データの分離のための装置及び方法
CN105591916B (zh) 一种报文传输方法及装置
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
AU2014399458A1 (en) Flow Entry Configuration Method, Apparatus, and System
WO2014057403A1 (en) Ip multicast service leave process for mpls-based virtual private cloud networking
WO2014057402A1 (en) Ip multicast service join process for mpls-based virtual private cloud networking
CN104022953A (zh) 基于开放流Openflow的报文转发方法和装置
EP2491684A2 (en) Method and apparatus for transparent cloud computing with a virtualized network infrastructure
WO2015149253A1 (zh) 数据中心的虚拟网络管理方法及数据中心系统
CN106936715A (zh) 虚拟机报文控制方法及装置
WO2017133647A1 (zh) 一种报文处理方法、流分类器和业务功能实例
US11012412B2 (en) Method and system for network traffic steering towards a service device
WO2017107814A1 (zh) 一种传播QoS策略的方法、装置及系统
EP2548346B1 (en) Packet node for applying service path routing at the mac layer
JP2018515052A (ja) マルチキャストデータパケット転送
US11523443B2 (en) Extraction, conversion, and transmission of user packet from encapsulated packet
US20150263954A1 (en) Communication system, virtual machine server, virtual network management apparatus, network control method, and program
CN107135118A (zh) 一种单播通信方法、网关以及vxlan接入设备
US9853885B1 (en) Using packet duplication in a packet-switched network to increase reliability

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14832095

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14832095

Country of ref document: EP

Kind code of ref document: A1