WO2021135792A1 - 数据转发方法、转发器、系统、服务器和存储介质 - Google Patents

数据转发方法、转发器、系统、服务器和存储介质 Download PDF

Info

Publication number
WO2021135792A1
WO2021135792A1 PCT/CN2020/133149 CN2020133149W WO2021135792A1 WO 2021135792 A1 WO2021135792 A1 WO 2021135792A1 CN 2020133149 W CN2020133149 W CN 2020133149W WO 2021135792 A1 WO2021135792 A1 WO 2021135792A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
data
message data
execution end
network connection
Prior art date
Application number
PCT/CN2020/133149
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 中兴通讯股份有限公司
Priority to EP20910169.0A priority Critical patent/EP4087194A4/en
Publication of WO2021135792A1 publication Critical patent/WO2021135792A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/4666Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Definitions

  • the embodiments of the present disclosure relate to the field of communication technologies, and in particular to a data forwarding method, a repeater, a system, a server, and a storage medium.
  • Service Function Chain refers to the fact that network operators usually need to use a set of orderly service functions (Service Function, SF) when providing network access to end users, such as firewall, packet filtering, load balancing and transmission Agent etc.
  • An SFC service chain can be realized by selecting a service function path (SFP) formed by a specific service function on a specific network node.
  • SFP service function path
  • the embodiments of the present disclosure provide a data forwarding method, a repeater, a system, a server, and a storage medium, which can reduce the cost of data forwarding and improve data forwarding performance.
  • embodiments of the present disclosure provide a data forwarding method, including: determining the service execution end corresponding to each service function according to one or more service functions corresponding to the message data; establishing a network connection for each service execution end , Where the established network connection is used for data interaction with the corresponding service execution end, and the network connection established for each service execution end is a virtual network connection established through the same physical network card; based on a predetermined service function processing sequence, Through the network connection established for each service execution end, the message data is forwarded to each service execution end.
  • embodiments of the present disclosure provide a data transponder, including: an execution end determining module, configured to determine the service execution end corresponding to each service function according to one or more service functions corresponding to the message data; network connection The establishment module is used to establish a network connection for each service execution end, where the established network connection is used for data interaction with the corresponding service execution end, and the network connection established for each service execution end is through the same physical network card The established virtual network connection; the message data forwarding module is used to forward the message data to each service execution end through the network connection established for each service execution end based on the predetermined service function processing sequence.
  • embodiments of the present disclosure provide a data forwarding system, including: an ingress classifier for determining one or more service functions corresponding to message data, and adding to the message data for identifying the corresponding service function
  • the data transponder is used to receive the message data, execute the data forwarding method of the first aspect above, and obtain the message data after the execution of the last business function in the business function.
  • the message data after the execution of the last business function The message data carries label information used to identify the corresponding service function; the exit classifier is used to receive the message data after the last service function is executed, and delete the carried label information.
  • embodiments of the present disclosure provide a data forwarding server, including: a memory and a processor; the memory is used to store a program; and the processor is used to read executable program codes stored in the memory to execute the above data forwarding method.
  • embodiments of the present disclosure provide a computer-readable storage medium that stores instructions in the computer-readable storage medium, and when the instructions run on a computer, the computer executes the above-mentioned data forwarding method.
  • Fig. 1 shows a schematic diagram of a service chain forwarding architecture of an embodiment.
  • Figure 2 shows a schematic diagram of a data forwarding architecture of a network card using SR-IOV technology.
  • Fig. 3 is a flowchart showing a data forwarding method according to an embodiment of the present disclosure.
  • Fig. 4 shows a schematic diagram of a service chain forwarding architecture according to an embodiment of the present disclosure.
  • Fig. 5 shows a schematic diagram of a message data processing flow of an ingress service chain classifier according to an embodiment of the present disclosure.
  • Fig. 6 shows a schematic diagram of a processing flow of setting a virtual local area network for a virtual network card according to an embodiment of the present disclosure.
  • Fig. 7 shows a service chain orchestration and forwarding processing flow of an embodiment of the present disclosure.
  • FIG. 8 shows a schematic diagram of a data forwarding processing flow in an SR-IOV network card according to an embodiment of the present disclosure.
  • Fig. 9 is a schematic diagram of a message data forwarding process in an embodiment.
  • Fig. 10 is a schematic diagram of a message data forwarding process in another embodiment.
  • FIG. 11 is a schematic diagram of a processing flow of an export service chain classifier according to an embodiment of the present disclosure.
  • Fig. 12 shows a schematic structural diagram of a data transponder provided according to an embodiment of the present disclosure.
  • FIG. 13 shows a structural diagram of an exemplary hardware architecture of a computing device that can implement the data forwarding method and apparatus according to the embodiments of the present disclosure.
  • Fig. 1 shows a schematic diagram of a service chain forwarding architecture of an embodiment.
  • the SFC architecture includes: a first service function classifier 11, a service function forwarder (SFF) 12, a second service function classifier 13 and various SFs such as first A service function SF1, a second service function SF2, and a third service function SF3.
  • SFF service function forwarder
  • the SFC may add a service function path identifier (SFPID) for each service function path of the SFC.
  • SFPID service function path identifier
  • the first service function classifier 11 can classify user data messages according to service flow characteristics, and assign different SFCs to user data messages of different levels, that is, the service functions that the user data messages pass through can be determined by the SFC.
  • the user data message may be message data.
  • the service chain repeater 12 can forward the corresponding user data message according to the SFPID of the SFC, so as to implement different service chain processing for user data messages with different service flow characteristics to realize differentiated requirements.
  • the service chain forwarder 12 may add the tag header (SFC-header) of the subsequent service chain path to the user data message in each classification according to the classification result of the first service function classifier 11, so that each user data message The text enters the corresponding business chain.
  • SFC-header tag header
  • the service chain repeater 12 can send the user data message to the first service function SF1 in the service chain path according to the SFC-header carried in the user data message.
  • the first service function SF1 completes the service processing, Send the user data message to the first service function classifier 11; secondly, the first service function classifier 11 sends the user data message to the second service function SF2 in the service chain path according to the SFC-header.
  • the service function SF2 After the service function SF2 completes the service processing, it sends the user data message to the first service function classifier 11; again, the first service function classifier 11 sends the user data message to the service chain path according to the SFC-header
  • the third service function SF3 after completing the service processing, the third service function SF3 sends the user data message to the first service function classifier 11; then, the first service function classifier 11 sends the user data message to the first service function classifier 11 Two business chain classifier 13.
  • the second service chain classifier 13 may be used to delete the SFC-header of the user data message, obtain the user data message without adding the SFC-header, and complete the forwarding process of the service chain.
  • the way to implement SFC-header usually needs to extend the existing protocol, such as extending the reserved fields of the header in the existing network protocol; or redefining the header encapsulation format, such as designing a dedicated header encapsulation specifically for SFC format.
  • These two methods usually need to expand or change the header format of the existing protocol, which requires the support of the business function node manufacturer. If the existing protocol is extended or redefined, the entire industry chain needs to be promoted and supported by the industry. , The cost of resources consumed is huge.
  • the actual device responsible for the forwarding function of the business chain can be a physical or virtual switch.
  • the use of a physical switch for complex networking will increase networking costs.
  • Using a virtual switch the forwarding performance is often difficult to meet the requirements.
  • SR-IOV Single Root Input/Output Virtualization
  • the architecture may include a network card 20 using SR-IOV technology, a physical function (PF) component 21, a physical port 22, and multiple virtual function (VF) components, such as a VF component 231 And a VF component 232, a virtual machine (Virtual Machine, VM), such as a virtual machine 241 and a virtual machine 242.
  • PF physical function
  • VF virtual function
  • VM Virtual Machine
  • the PF component 21 can be used to configure and manage all VF components.
  • the PF component 21 includes all buses and interface standard (peripheral component interconnect express, PCIe) functional components.
  • the VF component is a lightweight PCIe functional component that lacks configuration resources. .
  • the corresponding PF component can be directly accessed through the PF driver, and the PF driver is a real device driver, such as a PCIe device driver.
  • a network card using SR-IOV technology (hereinafter may be referred to as SR-IOV network card for short) can create multiple VF components by one PF component 21, and each VF component can be independently assigned to a virtual machine.
  • the virtual machine 241 may be allocated to the VF component 231, and the virtual machine 242 may be allocated to the VF component 232.
  • each virtual machine can directly communicate with the corresponding VF component through the VF driver.
  • the SR-IOV network card as a network card that supports virtualization technology, can allocate different corresponding VF network cards for each virtual machine.
  • SR-IOV technology is to establish multiple virtual input and output channels on the physical network card, so that the multiple virtual input and output channels can directly correspond to the virtual network cards of multiple virtual machines to improve and multiply Data forwarding efficiency between virtual machines.
  • the SR-IOV network card in the embodiments of the present disclosure may have a built-in switch (Switch) function, and by setting a virtual local area network (Virtual Local Area Network, VLAN) of the VF component, message data can be sent and received between different local area networks.
  • Switch built-in switch
  • VLAN Virtual Local Area Network
  • the service chain orchestration can be implemented based on the SR-IOV network card.
  • the business chain orchestration can be understood as processing the business functions in the business chain according to the business processing order required by the user, so as to realize the business flow processing of the business function.
  • the business functions in the business chain may include, for example, virtual network functions such as firewall, packet filtering, load balancing, and transmission proxy.
  • Fig. 3 is a flowchart showing a data forwarding method according to an embodiment of the present disclosure. As shown in FIG. 3, the data forwarding method in the embodiment of the present disclosure may include the following steps.
  • S110 Determine the service execution end corresponding to each service function according to one or more service functions corresponding to the message data.
  • a network connection is established with each service execution end, and each network connection established may be based on the same physical network card
  • the established virtual network connection is based on the business function processing sequence, and the message data is sent to the corresponding service execution end through each established virtual network connection, so as to realize the corresponding service function.
  • the service execution end in the embodiment of the present disclosure may be a preset virtual machine, that is, the virtual machine may be used to realize the corresponding service function, and the virtual network card is allocated to each virtual machine. Internet connection.
  • the network connection established with each service execution end uses the virtual network created by the same physical network card.
  • the virtual network can be used to directly establish the input and output channels to the corresponding service execution end, so that the virtual network can be used to improve data
  • the forwarding efficiency is high, and the networking is simple, reducing the networking cost when using physical switches to send message data to each service execution end.
  • the message data in step S110 may be message data received from a network that does not support the SFC function through a physical port, and the message data may pass through the physical port after completing the corresponding service function. Forward to a network that does not support the SFC function.
  • the data forwarding method of the present disclosure can be coupled with the existing network that does not support the SFC function, and the service forwarding function of message data can be realized without changing the software used in the existing network or changing the existing network structure. . Therefore, the problem that the software cannot be smoothly upgraded due to the software upgrade of the existing network to support the SFC function can be solved, and the problem of service function deployment and application difficulties caused by directly replacing the equipment in the existing network can be solved.
  • the network connection established for each service execution end includes a first network connection and a second network connection.
  • the first network connection can be used to send data to the corresponding service execution end
  • the second network connection can be used to receive data from the corresponding service execution end, so that when data needs to be sent or received, there is no need to analyze it first.
  • the corresponding virtual network card is directly used for data interaction with the virtual machine, which further improves the efficiency of data forwarding.
  • the above step S130 may specifically include: S131, determining the current service function that the message data should perform, and sending the message data to the port of the first network connection of the service execution end corresponding to the current service function; S132, passing the current service function The second network connection port of the business execution end corresponding to the business function receives the message data of the current business function that has been executed; S133, the next business function obtained in the order of business function processing is used as the current business function that the message data should perform , Until the number of times the message data is sent is equal to the number of business functions.
  • step S131 may include the following steps.
  • S131-01 Set different label information for the two network connections of each service execution end, and set the second network connection of the service execution end corresponding to the current service function, and the first network connection of the service execution end corresponding to the next service function has The same label information.
  • S131-02 Determine the current service function that the message data should perform according to the label information carried in the message data, where the label information of the first network connection of the service execution end corresponding to the current service function is the same as the label information carried in the message data the same.
  • S131-03 Send the message data to the port of the first network connection of the service execution end corresponding to the current service function.
  • the tag information carried in the message data is a virtual local area network tag based on a specified virtual local area network protocol (hereinafter may be referred to as a VLAN tag for short).
  • the virtual local area network protocol can be a protocol that complies with the Institute of Electrical and Electronic Engineers (IEEE) 802.1Q standard (abbreviated as 802.1Q).
  • IEEE Institute of Electrical and Electronic Engineers
  • 802.1Q 802.1Q
  • the step of sending the message data to the port of the first network connection of the service execution end corresponding to the current service function it may further include: deleting the label information carried in the message data on the port of the first network connection ; Send the message data of the deleted label information to the service execution end corresponding to the current service function.
  • the original message is restored by deleting the label information carried in the message data on the port connected to the first network, and the original message is sent to the corresponding service execution end to realize the corresponding service function.
  • each network connection is provided with label information.
  • it may further include: using the port of the second network connection to add label information to the message data that has performed the current service function, where the added label
  • the label information of the first network connection of the service execution end corresponding to the next service function is the same.
  • the port of the second network connection receives the data message without label information sent by the service execution end after completing the corresponding service function, and adds label information to the data message.
  • the added label information can be used to determine The port of the next network connection for data forwarding.
  • the step of adding label information to the message data for which the current service function has been performed may specifically include: adding the label information to the specified position of the message header of the message data based on a specified virtual local area network protocol.
  • the message data can be sequentially forwarded to the service execution end corresponding to each service function corresponding to the data message.
  • the message data carrying the VLAN tag is sent to the designated physical port.
  • one or more service functions corresponding to the message data can be implemented as a service chain corresponding to the message data.
  • the following describes some exemplary data forwarding methods of the present disclosure with reference to FIGS. 4 to 11 .
  • Fig. 4 shows a schematic diagram of a service chain forwarding architecture according to an embodiment of the present disclosure.
  • the architecture may include: an ingress service chain classifier 210, an SR-IOV network card 220, an egress service chain classifier 230, and a virtual machine corresponding to each service function in the service chain, such as virtual machine VM1, Virtual machine VM2 and virtual machine VM3.
  • the virtual machine VM1, the virtual machine VM2, and the virtual machine VM3 are respectively used to implement the business function SF1, the business function SF2, and the business function SF3 in the business chain.
  • the SR-IOV network card 220 may include a switch 221 and multiple VFs.
  • the multiple VFs may include, for example, a virtual network card VF1, a virtual network card VF2, a virtual network card VF3, a virtual network card VF4, a virtual network card VF5, and a virtual network card VF6.
  • the SR-IOV is used as a virtual switch (Virtual Switch, vSwitch), and the virtual switch is used to implement the service chain forwarding function.
  • vSwitch Virtual Switch
  • the data forwarding method shown in conjunction with FIG. 4 may include the following steps.
  • the step of matching the user data message to the service chain may include: the ingress service chain classifier 210 receives the user data message, classifies the user data message based on the flow characteristics of the user data message, and performs the classification of each user data message.
  • the message data in each category matches the corresponding SFC service chain.
  • the ingress service chain classifier 210 may use user data packets as ingress traffic, and may use a common network in a non-SFC application scenario to receive user data packets.
  • the step of adding a VLAN tag may include: the ingress service chain classifier 210 adds a VLAN tag to the packet data in each classification.
  • the architecture may include multiple SR-IOV network cards connected in series, and each SR-IOV network card is used to implement a service chain forwarding function corresponding to a category of user message data.
  • the architecture can be implemented as multiple serial service chain repeaters.
  • the service chain forwarding process implemented by only one SR-IOV network card is described. It should be understood that the service chain forwarding process corresponding to each category of user message data is the same as or equivalent to the service chain forwarding process described in conjunction with FIG. 4, and will not be repeated in the embodiment of the present disclosure.
  • the forwarding of the service chain is realized based on the VLAN tag pair.
  • the business chain can be It is presented by using multiple VLAN tag pairs.
  • the business functions SF1, SF2, and SF3 in the business chain correspond to the virtual machine VM1, the virtual machine VM2, and the virtual machine VM3.
  • the VLAN tag pair including can be expressed as: [ ⁇ 'vlanX1':'vlanX2' ⁇ , ⁇ 'vlanX2':'vlanX3' ⁇ , ⁇ 'vlanX3':'vlanX4' ⁇ , ..., ⁇ 'vlanXi':' vlanXi+1' ⁇ , whil, ⁇ 'vlanXn-1':'vlanXn' ⁇ ].
  • Xi can be valued in 1-4094.
  • ⁇ 'vlanX1','vlanX2' ⁇ is used as a VLAN tag pair, where the first VLAN tag vlanX1 corresponds to a virtual network card of the virtual machine VM1 (corresponding to the entry port of the virtual local area network), and the second VLAN tag vlanX2, corresponding to another virtual network card of virtual machine VM1 (corresponding to the outgoing port of the virtual local area network).
  • the switch 221 built in the SR-IOV network card can be used to complete packet forwarding between different virtual local area networks.
  • the tag pairs used by each service function in the service chain form multiple VLAN tag pairs, and multiple tag pairs form a tag pair chain.
  • vlanX1 is the head of the entire tag pair chain
  • vlanX4 is the tag pair chain
  • the tail of each group of tag pairs can realize the forwarding of the corresponding service chain.
  • the SR-IOV virtual network card will carry the packet data of the VLAN tag vlanX1 and send it to the virtual network card VF1 corresponding to the VLAN tag vlanX1.
  • the virtual network card VF1 receives the message data carrying the VLAN tag vlanX1, deletes the VLAN tag vlanX1 used to mark the service chain, obtains the original message data, and sends the original message data to the virtual machine VM1.
  • the virtual machine VM1 After the virtual machine VM1 completes the corresponding service function SF1, it forwards the original message data to the virtual network card VF2, and the virtual network card VF2 adds a VLAN tag vlanX2 to the received original message data (the second tag in the tag pair corresponding to VF1) ).
  • the SR-IOV virtual network card will carry the packet data of the VLAN tag vlanX2, send it to the virtual network card VF3 corresponding to the VLAN tag vlanX2, and continue the above message data
  • the virtual network card VF6 adds a VLAN tag vlanX4 to the received original message data, and sends the data message carrying the VLAN tag vlanX4 to the egress service chain classifier 230.
  • the egress service chain classifier restores the data message and forwards the data.
  • the service chain classifier 230 after receiving the data message carrying the VLAN tag vlanX4 sent by the SR-IOV network card, deletes the VLAN tag vlanX4 indicating the service chain to obtain the original data message.
  • the service chain classifier 230 may continue to forward data, thereby completing the orchestration and forwarding of the service chain.
  • Fig. 5 shows a schematic diagram of a message data processing flow of an ingress service chain classifier according to an embodiment of the present disclosure.
  • the message data processing of the ingress service chain classifier may include the following steps.
  • the received user message data may be message data received from a network that has never provided the service chain function.
  • S302 Identify different types of service data messages in user message data according to message characteristics.
  • user message data can be classified into flows, that is, classified according to flow characteristics, to obtain different types of service data packets.
  • S303 Perform flow classification and add VLAN tags to each service data message.
  • service chain identifiers based on 802.1Q standard VLAN tags can be added to different service data messages.
  • each service message can be encapsulated with the service chain identifier of the VLAN tag.
  • S304 Send the service data message carrying the VLAN tag to the SR-IOV network card for service chain forwarding.
  • the ingress service chain classifier can use user data packets as ingress traffic data, receive data packets from non-SFC networks, and classify the packets based on the characteristics of the user data packets to match the corresponding SFC service chain .
  • FIG. 6 shows a schematic diagram of a processing flow of setting a virtual local area network for a virtual network card according to an embodiment of the present disclosure.
  • the process of setting up a virtual local area network for a virtual network card may include the following steps.
  • S401 In the SR-IOV network card, two virtual network cards are allocated to one VM virtual machine, and a correspondence relationship between the virtual machine and the virtual network card is established.
  • S402 In the SR-IOV network card, configure a VLAN corresponding to the virtual network card, and establish a correspondence between the virtual network card and the VLAN tag.
  • the virtual local area network of each virtual network card in the SR-IOV network card can be set, and the corresponding relationship between the VM virtual machine and the two allocated virtual network cards can be established, and the VLAN tag in each virtual network card and VLAN tag pair can be established The corresponding relationship is used in the subsequent business chain forwarding process.
  • Fig. 7 shows a service chain orchestration and forwarding processing flow of an embodiment of the present disclosure. As shown in Figure 7, the process of orchestrating and forwarding the service chain may include the following steps.
  • S501 Allocate two virtual network cards for each virtual machine.
  • VLAN tag pairs used by each service function to form multiple VLAN tag pairs
  • VLAN tag pair chain vlan-pair-chain group
  • S505 Use the VLAN tag to forward the service chain in the chain to realize the orchestration and forwarding of the SFC service chain.
  • a different VLAN TAG based on the 802.1Q standard can be set for each VF port to form a VLAN tag pair, and the service chain forwarding sequence is presented by using such a series of tag pairs.
  • FIG. 8 shows a schematic diagram of a data forwarding processing flow in an SR-IOV network card according to an embodiment of the present disclosure. As shown in FIG. 8, the data forwarding processing flow may include the following steps.
  • S601 Set the trunk working mode of the physical port in the SR-IOV network card.
  • Trunk mode allows the use of multiple VLANs to receive and send packet data.
  • S602 Receive packet data with a VLAN tag from the first physical port.
  • the SR-IOV network card can be connected to the incoming service chain classifier through the first physical port.
  • S603 According to the VLAN tag of the message, the switch in the SR-IOV network card is used to forward the message data. If the message data is an inbound data traffic message, execute S604. If the message is an outgoing data traffic message.
  • the incoming data traffic message indicates the message entering the SR-IOV network card
  • the outgoing data traffic message indicates the message forwarded from the SR-IOV network card.
  • S604 According to the carried VLAN tag, forward the inbound data traffic message to the VF network card with the same VLAN tag, and send the inbound data traffic to the VM virtual machine of the first service function through the virtual network card.
  • S605 Forward the packet with the VLAN tag sent from the virtual network card of the VM virtual machine of the last service function to the second physical port of the SR-IOV.
  • the SR-IOV network card can be connected to the outbound service chain classifier through the second physical port.
  • the actual device used to implement the service chain forwarding function may be a physical switch or a virtual switch.
  • the virtual switch may be, for example, a virtual switch (OpenvSwitch, OVS) based on the Open Virtual Switching standard.
  • OpenvSwitch OpenvSwitch
  • OVS Open Virtual Switching standard
  • the SR-IOV network card may include a switch based on the data link layer and multiple virtual network cards, each virtual network card can be set with a designated VLAN tag, and the VF network card corresponds to the set VLAN .
  • SR-IOV network cards can improve The message data forwarding efficiency reduces the transmission delay and resource consumption of the data message, and the forwarding performance is better.
  • Fig. 9 is a schematic diagram of a message data forwarding process in an embodiment. As shown in Figure 9, the message data forwarding process may include the following steps.
  • S701 Determine the correspondence between each virtual network card and the VLAN tag.
  • S702 Receive a data packet that does not carry a VLAN tag from a corresponding virtual machine.
  • S704 Send the data message carrying the second VLAN tag to the virtual network card corresponding to the same VLAN tag.
  • the switch in the SR-IOV network card can be used to make up and send the message data.
  • the forwarding of data packets from the virtual network card of one virtual machine to the virtual network card of another virtual machine is realized in the SR-IOV network card.
  • Fig. 10 is a schematic diagram of a message data forwarding process in another embodiment. As shown in Figure 10, the message data forwarding process may include the following steps.
  • S801 Determine the correspondence between each virtual network card and the VLAN tag.
  • the virtual network card receives the data packet forwarded by the switch and carrying the VLAN tag.
  • S803 Delete the carried VLAN tag to restore the original user data message, and forward the restored original user data message to the corresponding virtual machine.
  • FIG. 11 is a schematic diagram of a processing flow of an export service chain classifier according to an embodiment of the present disclosure. As shown in Figure 11, the message data processing process in the export service chain classifier includes the following steps.
  • S901 Receive packet data carrying a VLAN tag.
  • carrying a VLAN tag can be used to identify the corresponding service chain.
  • S903 Forward the packet data carrying the VLAN tag through the forwarding port in the egress service chain classifier to complete the arrangement and forwarding of the SFC service chain.
  • the SR-IOV network card forwards the packet carrying the VLAN tag to the outgoing service chain classifier, and the outgoing service chain classifier deletes the VLAN tag carried in the packet to obtain the original data packet, and according to the original Data messages are forwarded, so as to realize the orchestration and forwarding of the service chain.
  • the embodiment of the present disclosure provides a service chain orchestration method, which uses a virtual network card adopting SR-IOV technology to realize the forwarding function of the service chain, which can improve data forwarding efficiency while saving costs.
  • Fig. 12 shows a schematic structural diagram of a data transponder provided according to an embodiment of the present disclosure.
  • the headend may include the following modules.
  • the execution end determining module 1010 is configured to determine the service execution end corresponding to each service function according to one or more service functions corresponding to the message data.
  • the network connection establishment module 1020 is used to establish a network connection for each service execution end, where the established network connection is used for data interaction with the corresponding service execution end, and the network connection established for each service execution end is through the same A virtual network connection established by a physical network card.
  • the message data forwarding module 1030 is configured to forward the message data to each service execution end through a network connection established for each service execution end based on a predetermined service function processing sequence.
  • the network connection established for each service execution end includes a first network connection and a second network connection.
  • the message data forwarding module 1030 may specifically include: a data sending unit, configured to determine the current service function that the message data should perform, and send the message data to the first network of the service execution end corresponding to the current service function The connected port.
  • the data receiving unit is configured to receive the message data of the current service function that has been executed through the port of the second network connection of the service execution end corresponding to the current service function.
  • the business function acquiring unit is configured to use the next business function acquired according to the processing order of the business function as the current business function that the message data should perform until the number of times the message data is sent is equal to the number of business functions.
  • the data sending unit may specifically include: a label setting subunit, which is used to set different label information for the two network connections of each service execution end, and set the second service execution end corresponding to the current service function.
  • Network connection the first network connection of the service execution end corresponding to the next service function has the same label information
  • the current service function determination subunit is used to determine the current service that the message data should execute according to the label information carried in the message data Function, where the label information of the first network connection of the service execution end corresponding to the current service function is the same as the label information carried in the message data
  • the data sending unit is specifically used to send the message data to the service corresponding to the current service function The port of the first network connection on the execution side.
  • the message data carries tag information.
  • the data sending unit is specifically used to delete the label information carried in the message data on the port of the first network connection; send the message data of the deleted label information to the service execution end corresponding to the current service function .
  • each network connection is provided with tag information.
  • the data receiving unit is also used to add label information to the message data that has performed the current service function on the port connected to the second network, where the added label corresponds to the label of the first network connection of the service execution end corresponding to the next service function
  • the information is the same.
  • the data receiving unit when adding label information to the message data that has performed the current service function, is specifically configured to add the label information to the specified position of the message header of the message data based on the specified virtual local area network protocol. .
  • the virtualization technology is used to establish a virtual network connection with each of the multiple service execution ends, so that the input and output channels with the corresponding service execution ends can be directly established , Thereby improving the forwarding efficiency of virtual servers, simple networking, thereby reducing networking costs
  • FIG. 13 is a structural diagram showing an exemplary hardware architecture of a computing device capable of implementing the data forwarding method and apparatus according to the embodiments of the present disclosure.
  • the computing device 1100 includes an input device 1101, an input interface 1102, a central processing unit 1103, a memory 1104, an output interface 1105, and an output device 1106.
  • the input interface 1102, the central processing unit 1103, the memory 1104, and the output interface 1105 are connected to each other through the bus 1110.
  • the input device 1101 and the output device 1106 are respectively connected to the bus 1110 through the input interface 1102 and the output interface 1105, and then are connected to the computing device 1100.
  • the other components are connected.
  • the input device 1101 receives input information from the outside (for example, an entry sorter), and transmits the input information to the central processing unit 1103 through the input interface 1102; the central processing unit 1103 is based on the pair of computer executable instructions stored in the memory 1104
  • the input information is processed to generate output information, the output information is temporarily or permanently stored in the memory 1104, and then the output information is transmitted to the output device 1106 through the output interface 1105; the output device 1106 outputs the output information to the external supply of the computing device 1100 User use.
  • the computing device 1100 shown in FIG. 13 may be implemented as a data forwarding server, and the data forwarding server may include: a memory configured to store a program; a processor configured to run a data stored in the memory Program to execute the data forwarding method described in the above embodiment.
  • the embodiment of the present disclosure also provides a data forwarding system, including: an entry classifier, used to determine one or more business functions corresponding to the message data, and to add label information for identifying the corresponding business function to the message data ; Data transponder, used to receive message data, execute the data forwarding method described in the above embodiment, to obtain the message data after the execution of the last business function in the business function, among which, the message data after the execution of the last business function Carry label information used to identify the corresponding business function; the exit classifier is used to receive the message data after the last business function is executed, and delete the carried label information.
  • an entry classifier used to determine one or more business functions corresponding to the message data, and to add label information for identifying the corresponding business function to the message data
  • Data transponder used to receive message data, execute the data forwarding method described in the above embodiment, to obtain the message data after the execution of the last business function in the business function, among which, the message data after the execution of the last business function Carry label information used to identify the corresponding
  • the ingress classifier and the data transponder, and the data transponder and the egress classifier are respectively connected through designated physical ports.
  • the data forwarding system in the embodiment of the present disclosure is not limited to the specific configuration and processing described in the above embodiment and shown in the figure. For the convenience and conciseness of description, detailed descriptions of known methods are omitted here.
  • the ingress classifier, data transponder, and egress classifier in the data forwarding system are the same as the ingress service chain classifier, service chain transponder, and egress service in the data forwarding method described above with reference to FIGS. 2 to 11
  • the specific working process of the chain classifier remains the same. You can refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
  • an embodiment of the present disclosure includes a computer program product, which includes a computer program tangibly embodied on a machine-readable medium, and the computer program includes program code for executing the method shown in the flowchart.
  • the computer program may be downloaded and installed from the network, and/or installed from a removable storage medium.
  • one physical network card can be used to establish a virtual network connection with each of the multiple service execution ends through virtualization technology, thereby Directly establish the input and output channels with the corresponding service execution end, thereby improving the forwarding efficiency of the virtual server, and the networking is simple, and the networking cost is reduced.
  • Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transitory medium) and a communication medium (or a transitory medium).
  • the term computer storage medium includes volatile and non-volatile data implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Sexual, removable and non-removable media.
  • Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or Any other medium used to store desired information and that can be accessed by a computer.
  • communication media usually contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as carrier waves or other transmission mechanisms, and may include any information delivery media. .

Landscapes

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

Abstract

本公开实施例公开了一种数据转发方法、转发器、系统、服务器和存储介质。该方法包括:根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端;为每个业务执行端建立网络连接,其中,建立的网络连接用于与对应的业务执行端进行数据交互,且为每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接;基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,将报文数据转发到每个业务执行端。

Description

数据转发方法、转发器、系统、服务器和存储介质 技术领域
本公开实施例涉及通信技术领域,具体地涉及一种数据转发方法、转发器、系统、服务器和存储介质。
背景技术
业务链(Service Function Chain,SFC)是指网络运营商在向终端用户提供网络接入时通常需要使用一组有序的业务功能(Service Function,SF),例如防火墙、包过滤、负载均衡和传输代理等。一个SFC业务链,可以通过在特定网络结点上选择特定业务功能所形成的业务链路径(Service Function Path,SFP)来实现。
在SFC架构中,若使用物理交换机将报文数据发送到每个业务功能对应的执行端,将增加组网成本。
发明内容
本公开实施例提供一种数据转发方法、转发器、系统、服务器和存储介质,可以减少数据转发的成本问题,并提高数据转发性能。
第一方面,本公开实施例提供一种数据转发方法,包括:根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端;为每个业务执行端建立网络连接,其中,建立的网络连接用于与对应的业务执行端进行数据交互,且为每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接;基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,将报文数据转发到每个业务执行端。
第二方面,本公开实施例提供一种数据转发器,包括:执行端确定模块,用于根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端;网络连接建立模块,用于为每个业务执行端建立网络连接,其中,建立的网络连接用于与对应的业务执行端进行数据交互,且为 每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接;报文数据转发模块,用于基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,将报文数据转发到每个业务执行端。
第三方面,本公开实施例提供一种数据转发系统,包括:入口分类器,用于确定与报文数据对应的一个或多个业务功能,并为报文数据添加用于标识对应的业务功能的标签信息;数据转发器,用于接收报文数据,执行上述第一方面的数据转发方法,得到业务功能中最后一个业务功能执行后的报文数据,其中,最后一个业务功能执行后的报文数据携带用于标识对应的业务功能的标签信息;出口分类器,用于接收最后一个业务功能执行后的报文数据,并删除携带的标签信息。
第四方面,本公开实施例提供一种数据转发服务器,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述数据转发方法。
第五方面,本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述数据转发方法。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。
图1示出一个实施例的业务链转发架构示意图。
图2示出采用SR-IOV技术的网卡的数据转发架构示意图。
图3是示出根据本公开实施例的数据转发方法的流程图。
图4示出本公开一个实施例的业务链转发架构示意图。
图5示出本公开一个实施例的入口业务链分类器的报文数据处理流程示意图。
图6示出本公开一个实施例的为虚拟网卡设置虚拟局域网的处理流程 示意图。
图7示出本公开一个实施例的业务链的编排转发处理流程。
图8示出了本公开一个实施例的SR-IOV网卡中数据转发处理流程示意图。
图9是一个实施例中的报文数据的转发流程示意图。
图10是另一个实施例中的报文数据的转发流程示意图。
图11是本公开实施例的出口业务链分类器处理流程示意图。
图12示出了根据本公开一实施例提供的数据转发器的结构示意图。
图13示出可以实现根据本公开实施例的数据转发方法和装置的计算设备的示例性硬件架构的结构图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。对于本领域技术人员来说,本公开可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本公开的示例来提供对本公开更好的理解。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出一个实施例的业务链转发架构示意图。如图1所示,在一个实施例中,SFC架构包括:第一业务功能分类器11、业务链转发器(Service Function Forwarder,SFF)12、第二业务功能分类器13以及多种SF例如第一业务功能SF1、第二业务功能SF2和第三业务功能SF3。
在一个实施例中,SFC可以为每条SFC的业务功能路径,添加业务功能路径标识(Service Function Path Identifier,SFPID)。
第一业务功能分类器11,可以根据业务流量特征为用户数据报文分级,给不同级别的用户数据报文分配不同的SFC,即用户数据报文所要经过的业务功能可以由SFC决定。作为示例,该用户数据报文可以是报文数据。
业务链转发器12,可以依据SFC的SFPID对对应的用户数据报文进行转发,从而针对不同业务流量特征的用户数据报文,实施不同的业务链处理,实现差异化需求。
具体地,业务链转发器12可以根据第一业务功能分类器11的分类结果,为各个分类中的用户数据报文添加后续业务链路径的标签头(SFC-header),以使各用户数据报文进入对应的业务链。
作为示例,首先,业务链转发器12可以根据用户数据报文携带的SFC-header,将用户数据报文发送到业务链路径中的第一业务功能SF1,第一业务功能SF1完成业务处理后,将该用户数据报文发送到第一业务功能分类器11;其次,第一业务功能分类器11根据SFC-header,将用户数据报文发送到业务链路径中的第二业务功能SF2,第二业务功能SF2完成业务处理后,将该用户数据报文发送至第一业务功能分类器11;再次,第一业务功能分类器11根据SFC-header,将用户数据报文发送到业务链路径中的第三业务功能SF3,第三业务功能SF3完成业务处理后,将该用户数据报文发送至第一业务功能分类器11;然后,第一业务功能分类器11将该用户数据报文发送至第二业务链分类器13。
第二业务链分类器13,可以用于删除用户数据报文的SFC-header,得到该未添加SFC-header的用户数据报文,完成业务链的转发处理过程。
在一些应用场景中,实现SFC-header的方式通常需要对现有协议进行扩展,例如扩展现有网络协议中的报头的保留字段;或者重新定义报头封装格式,例如专门为SFC设计专用的报头封装格式。这两种方式通常需要对现有协议中的报头格式进行扩展或改变,这需要业务功能节点的厂商提 供支持,如果对现有协议进行扩展或重新定义则需要推动业界整个产业链进行认同和支持,消耗的资源成本巨大。
在一些应用场景中,在现有网络中加入SFC功能时,如果现有网络并不支持SFC功能,则需要在现有网络的物理交换机或虚拟交换机上通过软件升级增加对SFC的支持,或者直接替换设备,如果不能平滑升级,将导致SFC的部署和应用存在很大困难。
在一些应用场景中,负责业务链转发功能的实际设备可以是物理或虚拟交换机,使用物理交换机组网复杂会增加组网成本,使用虚拟交换机,转发性能往往又很难达到要求。
在本公开实施例中,单根虚拟化(Single Root Input/Output Virtualization,SR-IOV)技术可以用于实现虚拟化环境中的输入输出设备共享。图2示出采用SR-IOV技术的网卡的数据转发架构示意图。
如图2所示,该架构可以包括采用SR-IOV技术的网卡20、物理功能(Physical Function,PF)部件21、物理端口22、多个虚拟功能(Virtual Function,VF)部件,例如VF部件231和VF部件232、虚拟机(Virtual Machine,VM)例如虚拟机241和虚拟机242。
其中,PF部件21可以用于配置和管理所有VF部件,PF部件21包括全部总线和接口标准(peripheral component interconnect express,PCIe)功能部件,VF部件是轻量级的缺少配置资源功能的PCIe功能部件。通过PF驱动可以直接访问对应的PF部件,且PF驱动是真实的设备驱动,例如PCIe设备驱动。
继续参考图1,采用SR-IOV技术的网卡(如下可以简称为SR-IOV网卡)可由一个PF部件21创建多个VF部件,每个VF部件可独立分配给一个虚拟机。例如在图1中,可以为VF部件231分配虚拟机241,为VF部件232分配虚拟机242。
其中,每个虚拟机可以通过VF驱动直接与对应的VF部件进行数据 通信,SR-IOV网卡作为一种支持虚拟化技术的网卡,可以为每个虚拟机分配对应的不同VF网卡。也就是说,SR-IOV技术就是要在物理网卡上建立多个虚拟输入输出通道,使该多个虚拟输入输出通道能够直接一一对应到多个虚拟机的虚拟网卡上,用以提高与多个虚拟机之间的数据转发效率。
本公开实施例中的SR-IOV网卡可以内置交换机(Switch)功能,通过设置VF部件的虚拟局域网(Virtual Local Area Network,VLAN),在不同局域网之间可以进行报文数据的发送与接收。
由于SR-IOV网卡成本较低且转发性能较好,并且目前使用的普通网卡一般都支持SR-IOV技术,本公开实施例中可以基于SR-IOV网卡实现业务链编排。
在本公开实施例中,业务链编排可以理解为是根据用户要求的业务处理次序对业务链中的业务功能进行处理,以实现业务功能的业务流处理。作为示例,该业务链中的业务功能例如可以包括:防火墙、包过滤、负载均衡和传输代理等虚拟网络功能。
为了更好地理解本公开,下面将结合附图,详细描述根据本公开实施例的数据转发方法、转发器、系统、服务器和存储介质,应注意,这些实施例并不是用来限制本公开公开的范围。
图3是示出根据本公开实施例的数据转发方法的流程图。如图3所示,本公开实施例中的数据转发方法可以包括以下步骤。
S110,根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端。
S120,为每个业务执行端建立网络连接,其中,建立的网络连接用于与对应的业务执行端进行数据交互,且为每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接。
S130,基于预定的业务功能处理顺序,通过为每个业务执行端建立的 网络连接,将报文数据转发到每个业务执行端。
根据本公开实施例的数据转发方法,在确定每个业务功能对应的业务功能的业务执行端之后,与每个业务执行端建立网络连接,该建立的每个网络连接可以是基于同一个物理网卡建立的虚拟网络连接,基于业务功能处理顺序,通过建立的每个虚拟网络连接,将报文数据发送到对应的业务执行端,以实现对应的业务功能。
本公开实施例中的业务执行端可以是预设的虚拟机,即可以使用虚拟机来实现对应的业务功能,并通过为每个虚拟机分配虚拟网卡的方式建立与每个虚拟机分别建立虚拟网络连接。
在发明实施例中,与每个业务执行端建立的网络连接使用同一个物理网卡创建的虚拟网络,利用该虚拟网络可以直接建立到对应的业务执行端的输入输出通道,从而可以利用虚拟网络提高数据的转发效率,同时组网简单,减小使用物理交换机向每个业务执行端发送报文数据时的组网成本。
在一个实施例中,步骤S110中的报文数据可以是通过物理端口,从并不支持SFC功能的网络中接收的报文数据,并且报文数据在完成对应的业务功能之后,可以通过物理端口转发到并不支持SFC功能的网络。
根据本公开的数据转发方法,可以与不支持SFC功能的现有网络进行耦合,不需要改变现有网络中使用的软件,也不要改变现有网络结构,就可以实现报文数据的业务转发功能。因此,可以解决现有网络为支持SFC功能而进行软件升级带来的软件无法平滑升级的问题,以及可以解决直接替换现有网络中的设备导致的业务功能部署问题和应用困难的问题。
在一个实施例中,步骤S120中,为每个业务执行端建立的网络连接包括第一网络连接和第二网络连接。
在该实施例中,第一网络连接可以用于向对应的业务执行端发送数据,第二网络连接可以用于接收来自对应的业务执行端的数据,以使需要发送或接收数据时,无需先解析数据传输方向,而是直接使用对应的虚拟网卡与虚拟机进行数据交互,进一步提高数据转发效率。
在一个实施例中,上述步骤S130具体可以包括:S131,确定报文数据应执行的当前业务功能,发送报文数据至当前业务功能对应的业务执行端的第一网络连接的端口;S132,通过当前业务功能对应的业务执行端的第二网络连接的端口,接收已执行当前业务功能的报文数据;S133,将按照业务功能处理顺序获取的下一个业务功能,作为报文数据应执行的当前业务功能,直到发送报文数据的次数等于业务功能的数目。
在一个实施例中,报文数据携带标签信息。在该实施例中,步骤S131可以包括如下步骤。
S131-01,为每个业务执行端的两个网络连接设置不同的标签信息,并设置当前业务功能对应的业务执行端的第二网络连接,与下一个业务功能对应的业务执行端的第一网络连接具有相同的标签信息。
S131-02,根据报文数据携带的标签信息,确定报文数据应执行的当前业务功能,其中,当前业务功能对应的业务执行端的第一网络连接的标签信息,与报文数据携带的标签信息相同。
S131-03,发送报文数据至当前业务功能对应的业务执行端的第一网络连接的端口。
在一个实施例中,报文数据携带的标签信息为基于指定的虚拟局域网协议的虚拟局域网标签(如下可简称为VLAN标签)。
该虚拟局域网协议可以是符合电气与电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)802.1Q标准规范(简称802.1Q)的协议,为数据报文添加基于802.1Q标准规范的标签信息时,不需要在报文中增加任何特殊字段,也不需要重新定义报头格式,因此可以得到广泛应用,并节约大量资源和成本。
在一个实施例中,在上述发送报文数据至当前业务功能对应的业务执行端的第一网络连接的端口的步骤之后,还可以包括:在第一网络连接的端口删除报文数据携带的标签信息;将已删除标签信息的报文数据,发送至当前业务功能对应的业务执行端。
在该实施例中,在第一网络连接的端口通过删除报文数据携带的标签信息还原原始报文,并将原始报文发送至对应的业务执行端以实现对应的业务功能。
在一个实施例中,每个网络连接被设置有标签信息,上述S132之后还可以包括:利用第二网络连接的端口,为已执行当前业务功能的报文数据添加标签信息,其中,添加的标签与下一个业务功能对应的业务执行端的第一网络连接的标签信息相同。
在该实施例中,第二网络连接的端口接收业务执行端完成对应业务功能后发送的不含标签信息的数据报文,并为该数据报文添加标签信息,添加的标签信息可以用于确定数据转发的下一个网络连接的端口。
在一个实施例中,为已执行当前业务功能的报文数据添加标签信息的步骤,具体可以包括:基于指定的虚拟局域网协议,将标签信息添加至报文数据的报文首部指定位置。
通过上述实施例描述的数据转发方法,可以实现报文数据依次转发至数据报文对应的每个业务功能对应的业务执行端。
在该实施例中,将携带VLAN标签的报文数据发送至指定的物理端口。与该指定的物理端口接收到该报文数据后,删除该最后一个业务功能处理后的报文数据所携带的VLAN标签,得到不添加VLAN标签的原始的报文数据,从而完成整个报文数据对应的业务功能的编排过程。
在本公开实施例中,报文数据对应的一个或多个业务功能,可以实现为该报文数据对应的业务链,下面结合图4至图11,描述本公开一些示例性示例的数据转发方法。图4示出本公开一个实施例的业务链转发架构示意图。
如图4所示,该架构可以包括:入口业务链分类器210、SR-IOV网卡220、出口业务链分类器230、用于业务链中每个业务功能对应的虚拟机,例如虚拟机VM1、虚拟机VM2和虚拟机VM3。
其中,虚拟机VM1、虚拟机VM2和虚拟机VM3分别用于实现业务链中的业务功能SF1、业务功能SF2和业务功能SF3。
并且其中,SR-IOV网卡220中可以包括交换机221和多个VF。该多个VF例如可以包括虚拟网卡VF1、虚拟网卡VF2、虚拟网卡VF3、虚拟网卡VF4、虚拟网卡VF5、虚拟网卡VF6。
在本公开实施例的基于SR-IOV网卡的SFC转发架构中,使用SR-IOV作为虚拟交换机(Virtual Switch,vSwitch),利用该虚拟交换机实现业务链转发功能。
结合图4所示的数据转发方法可以包括如下步骤。
首先,为用户数据报文匹配业务链和添加VLAN标签。
在一个实施例中,用户数据报文匹配业务链的步骤可以包括:入口业务链分类器210接收用户数据报文,基于用户数据报文的流量特征,对用户数据报文进行分类,并对每个分类中的报文数据匹配对应的SFC业务链。
在一个实施例中,入口业务链分类器210可以将用户数据报文作为入口流量,并可以利用非SFC应用场景下的普通网络接收用户数据报文。
在一个实施例中,添加VLAN标签的步骤可以包括:入口业务链分类器210为每个分类中的报文数据添加VLAN标签。
在实际组网的应用场景中,该架构可以包括多个串联的SR-IOV网卡,每个SR-IOV网卡用于实现一个类别的用户报文数据对应的业务链转发功能。也就是说,该架构可以实现为多个串联的业务链转发器。为了便于描述,本文下述的一个或多个实施例中,仅以一个SR-IOV网卡实现的业务链转发过程进行描述。应理解,每个类别的用户报文数据对应的业务链转发过程,与结合图4描述的业务链转发过程相同或等同,本公开实施例不再赘述。
其次,基于VLAN标签对实现业务链的转发。
在该步骤中,可以设置SR-IOV网卡中每个虚拟网卡的虚拟局域网, 为每个虚拟机分配两个虚拟网卡,每个虚拟网卡的端口设置对应的VLAN标签形成VLAN标签对,业务链可以通过使用多个VLAN标签对来呈现。
如图4所示,业务链中的业务功能SF1、SF2和SF3,对应虚拟机VM1、虚拟机VM2和虚拟机VM3。
其中,VLAN标签对包括可以表示为:[{'vlanX1':'vlanX2'},{'vlanX2':'vlanX3'},{'vlanX3':'vlanX4'},……,{'vlanXi':'vlanXi+1'},……,{'vlanXn-1':'vlanXn'}]。其中,Xi可以在1-4094中进行取值。
示例性地,{'vlanX1','vlanX2'}作为一个VLAN标签对,其中,第一个VLAN标签vlanX1,对应虚拟机VM1的一个虚拟网卡(对应虚拟局域网的进入端口),第二个VLAN标签vlanX2,对应虚拟机VM1的另一个虚拟网卡(对应虚拟局域网的转出端口)。SR-IOV网卡内置的交换机221可以用于完成不同虚拟局域网之间的报文转发。
参考图4,业务链中每个业务功能使用的标签对,形成多个VLAN标签对,多个标签对形成一条标签对链,vlanX1为整条标签对链的头部,而vlanX4为标签对链的尾部,从而每组标签对链可以实现对应业务链的转发。
具体地,由于虚拟网卡VF1对应的标签对中的第一个标签等于vlanX1,SR-IOV的虚拟网卡将携带VLAN标签vlanX1的报文数据,发送至VLAN标签vlanX1对应的虚拟网卡VF1。
虚拟网卡VF1接收到携带VLAN标签vlanX1的报文数据,删除该用于标示业务链的VLAN标签vlanX1,得到原始报文数据,发送该原始报文数据至虚拟机VM1。
虚拟机VM1完成对应的业务功能SF1后,将该原始报文数据转发到虚拟网卡VF2,虚拟网卡VF2为收到的原始报文数据添加VLAN标签vlanX2(VF1对应的标签对中的第二个标签)。
由于虚拟网卡VF3对应的标签对中的第一个标签等于vlanX2,SR-IOV的虚拟网卡将携带VLAN标签vlanX2的报文数据,发送至VLAN标签vlanX2对应的虚拟网卡VF3,并继续上述报文数据转发过程,直到 虚拟网卡VF6为收到的原始报文数据添加VLAN标签vlanX4,并将携带VLAN标签vlanX4的数据报文发送至出口业务链分类器230。
然后,出口业务链分类器还原数据报文并进行数据转发。
在该步骤中,业务链分类器230,接收到SR-IOV网卡发送的携带VLAN标签vlanX4的数据报文后,删除标示业务链的VLAN标签vlanX4,得到原始数据报文。业务链分类器230可以继续进行数据转发,从而完成业务链的编排转发。
图5示出本公开一个实施例的入口业务链分类器的报文数据处理流程示意图。如图5所示,入口业务链分类器的报文数据处理可以包括如下步骤。
S301,接收用户报文数据。
在步骤中,接收的用户报文数据可以是从未提供业务链功能的网络中接收的报文数据。
S302,根据报文特征识别用户报文数据中不同类型的业务数据报文。
在该步骤中,可以对用户报文数据进行流分类,即根据流量特征进行分类,得到不同类型的业务数据报文。
S303,对每个业务数据报文进行流分类添加VLAN标签。
在该步骤中,可以为不同的业务数据报文添加基于802.1Q标准VLAN标签的业务链标识。作为示例,可以对每个业务报文封装该VLAN标签的业务链标识。
S304,将携带该VLAN标签的业务数据报文发送至SR-IOV网卡以进行业务链转发。
在该步骤中,入口业务链分类器可以将用户数据报文作为入口流量数据,从非SFC网络接收数据报文,并基于用户数据报文特征对报文进行流分类以匹配对应的SFC业务链。
图6示出本公开一个实施例的为虚拟网卡设置虚拟局域网的处理流程示意图。如图6所示,为虚拟网卡设置虚拟局域网的处理过程可以包括如下步骤。
S401,在SR-IOV网卡中,将两个虚拟网卡分配给一个VM虚拟机,建立虚拟机和虚拟网卡的对应关系。
S402,在SR-IOV网卡中,配置虚拟网卡对应的VLAN,建立虚拟网卡与VLAN标签的对应关系。
在该实施例中,可以设置SR-IOV网卡中每个虚拟网卡的虚拟局域网,并建立VM虚拟机和分配的两个虚拟网卡的对应关系,建立每个虚拟网卡与VLAN标签对中的VLAN标签的对应关系,以用于后续的业务链转发流程。
图7示出本公开一个实施例的业务链的编排转发处理流程。如图7所示,业务链的编排转发处理过程可以包括如下步骤。
S501,为每个虚拟机分配两个虚拟网卡。
S502,为每个虚拟网卡设置不同的VLAN标签。
S503,设置第一个业务功能使用的VLAN标签对的第二个VLAN标签和下一个业务功能使用的VLAN标签对的第一个VLAN标签vlan相同,并以此类推,直到最后一个业务功能使用的VLAN标签对设置完成。
S504,利用每个业务功能使用的VLAN标签对形成多个VLAN标签对,以及利用多个VLAN标签对形成VLAN标签对链(vlan-pair-chain组)。
S505,利用VLAN标签对链中的业务链转发,实现SFC业务链的编排转发。
在该实施例中,可以为每个VF端口设置基于802.1Q标准的不同的VLAN TAG,从而形成VLAN标签对,通过使用这样一连串标签对来呈现 业务链转发顺序。
图8示出了本公开一个实施例的SR-IOV网卡中数据转发处理流程示意图。如图8所示,该数据转发处理流程可以包括如下步骤。
S601,设置SR-IOV网卡中物理端口的Trunk工作模式。
在该步骤中,Trunk模式允许使用多个VLAN接收和发送报文数据。
S602,从第一物理端口接收到带有VLAN标签的报文数据。
在该步骤中,SR-IOV网卡可以通过第一物理端口与入向业务链分类器连接。
S603,根据报文的VLAN标签,利用SR-IOV网卡中的交换机进行报文数据的转发。如果报文数据是入向数据流量报文,执行S604。如果报文是出向数据流量报文。
在该步骤中,入向数据流量报文表示进入SR-IOV网卡的报文,出向数据流量报文表示从SR-IOV网卡中转发出的报文。
S604,根据携带的VLAN标签,将入向数据流量报文转发到相同VLAN标签的VF网卡,通过该虚拟网卡发送入向数据流量到第一个业务功能的VM虚拟机。
S605,将从最后一个业务功能的VM虚拟机的虚拟网卡发来的带有VLAN标签报文,转发至SR-IOV的第二物理端口。
在该步骤中,SR-IOV网卡可以通过第二物理端口与出向业务链分类器连接。
在一些应用场景中,用于实现业务链转发功能的实际设备可以是物理交换机或虚拟交换机。虚拟交换机例如可以是基于开放虚拟交换标准的虚拟交换机(OpenvSwitch,OVS)。直接使用物理交换机实现业务链转发时,会增加成本和组网复杂度,而使用虚拟交换机实现业务链转发时,转发性能往往很难达到要求。
在本公开实施例的业务链转发方案中,SR-IOV网卡可以包括基于数据链路层的交换机和多个虚拟网卡,每个虚拟网卡可以设置指定的VLAN标签,VF网卡与设置的VLAN相对应。利用SR-IOV网卡内置的交换机通过物理端口进行入向数据流量报文的数据转发和出向数据流量报文的数据转发、以及通过虚拟端口进行VF网卡之间的数据转发,SR-IOV网卡可以提高报文数据的转发效率,减少数据报文的传输延时和资源消耗,转发性能较好。
图9是一个实施例中的报文数据的转发流程示意图。如图9所示,该报文数据的转发过程可以包括如下步骤。
S701,确定每个虚拟网卡与VLAN标签的对应关系。
S702,接收到对应的虚拟机发送过来未携带VLAN标签的数据报文。
S703,将虚拟网卡对应的VLAN标签对中的第二个VLAN标签,添加到该数据报文中。
S704,将携带该第二个VLAN标签的数据报文,发送至相同VLAN标签对应的虚拟网卡。
在该步骤中,可以利用SR-IOV网卡中的交换机进行报文数据妆发。通过上述步骤S701至S703,在SR-IOV网卡中实现数据报文从一个虚拟机的虚拟网卡到另一个虚拟机的虚拟网卡的转发。
图10是另一个实施例中的报文数据的转发流程示意图。如图10所示,该报文数据的转发过程可以包括如下步骤。
S801,确定每个虚拟网卡与VLAN标签的对应关系。
S802,虚拟网卡接收到交换机转发过来携带VLAN标签的数据报文。
S803,删除携带的VLAN标签,以还原原始用户数据报文,将还原得到的原始用户数据报文转发给对应的虚拟机。
通过上述步骤S801至S802,在SR-IOV网卡中实现虚拟网卡到对应的虚拟机的数据转发。
图11是本公开实施例的出口业务链分类器处理流程示意图。如图11所示,出口业务链分类器中的报文数据处理过程包括如下步骤。
S901,接收到携带VLAN标签的报文数据。
在该步骤中,携带VLAN标签可用于标识对应的业务链。
S902,删除该VLAN标签,还原成原始报文数据。
S903,通过出口业务链分类器中的转发端口,转发该携带VLAN标签的报文数据,完成SFC业务链的编排转发。
在该实施例中,SR-IOV网卡将携带VLAN标签的报文转发至出向业务链分类器,出向业务链分类器删除该报文携带的VLAN标签,以得到原始数据报文,并根据该原始数据报文进行数据转发,从而实现业务链的编排转发。
本公开实施例提供一种业务链编排方法,利用采用SR-IOV技术的虚拟网卡实现业务链的转发功能,在节约成本的同时,可以提高数据转发效率。
下面结合附图,详细介绍根据本公开实施例的数据转发器。图12示出了根据本公开一实施例提供的数据转发器的结构示意图。如图12所示,数据转发器可以包括如下模块。
执行端确定模块1010,用于根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端。
网络连接建立模块1020,用于为每个业务执行端建立网络连接,其中,建立的网络连接用于与对应的业务执行端进行数据交互,且为每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接。
报文数据转发模块1030,用于基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,将报文数据转发到每个业务执行端。
在一个实施例中,为每个业务执行端建立的网络连接包括第一网络连接和第二网络连接。
在一个实施例中,报文数据转发模块1030,具体可以包括:数据发送单元,用于确定报文数据应执行的当前业务功能,发送报文数据至当前业务功能对应的业务执行端的第一网络连接的端口。
数据接收单元,用于通过当前业务功能对应的业务执行端的第二网络连接的端口,接收已执行当前业务功能的报文数据。
业务功能获取单元,用于将按照业务功能处理顺序获取的下一个业务功能,作为报文数据应执行的当前业务功能,直到发送报文数据的次数等于业务功能的数目。
在一个实施例中,数据发送单元,具体还可以包括:标签设置子单元,用于为每个业务执行端的两个网络连接设置不同的标签信息,并设置当前业务功能对应的业务执行端的第二网络连接,与下一个业务功能对应的业务执行端的第一网络连接具有相同的标签信息;当前业务功能确定子单元,用于根据报文数据携带的标签信息,确定报文数据应执行的当前业务功能,其中,当前业务功能对应的业务执行端的第一网络连接的标签信息,与报文数据携带的标签信息相同;该数据发送单元,具体还用于发送报文数据至当前业务功能对应的业务执行端的第一网络连接的端口。
在一个实施例中,报文数据携带标签信息。在该实施例中,数据发送单元,具体还用于在第一网络连接的端口删除报文数据携带的标签信息;将已删除标签信息的报文数据,发送至当前业务功能对应的业务执行端。
在一个实施例中,每个网络连接被设置有标签信息。数据接收单元,还用于在第二网络连接的端口,为已执行当前业务功能的报文数据添加标签信息,其中,添加的标签与下一个业务功能对应的业务执行端的第一网络连接的标签信息相同。
在一个实施例中,数据接收单元,在为已执行当前业务功能的报文数据添加标签信息时,具体用于基于指定的虚拟局域网协议,将标签信息添加至报文数据的报文首部指定位置。
根据本公开实施例的数据转发器,通过同一物理网卡,利用虚拟化技术与多个业务执行端中的每个业务执行端建立虚拟网络连接,从而可以直接建立与对应的业务执行端的输入输出通道,从而提高虚拟服务器的转发效率,组网简单,从而减小组网成本
需要明确的是,本公开并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图13是示出能够实现根据本公开实施例的数据转发方法和装置的计算设备的示例性硬件架构的结构图。
如图13所示,计算设备1100包括输入设备1101、输入接口1102、中央处理器1103、存储器1104、输出接口1105、以及输出设备1106。其中,输入接口1102、中央处理器1103、存储器1104、以及输出接口1105通过总线1110相互连接,输入设备1101和输出设备1106分别通过输入接口1102和输出接口1105与总线1110连接,进而与计算设备1100的其他组件连接。
具体地,输入设备1101接收来自外部(例如,入口分类器)的输入信息,并通过输入接口1102将输入信息传送到中央处理器1103;中央处理器1103基于存储器1104中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1104中,然后通过输出接口1105将输出信息传送到输出设备1106;输出设备1106将输出信息输出到计算设备1100的外部供用户使用。
在一个实施例中,图13所示的计算设备1100可以被实现为一种数据 转发服务器,该数据转发服务器可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的数据转发方法。
本公开实施例还提供一种数据转发系统,包括:入口分类器,用于确定与报文数据对应的一个或多个业务功能,并为报文数据添加用于标识对应的业务功能的标签信息;数据转发器,用于接收报文数据,执行上述实施例中描述的数据转发方法,得到业务功能中最后一个业务功能执行后的报文数据,其中,最后一个业务功能执行后的报文数据携带用于标识对应的业务功能的标签信息;出口分类器,用于接收最后一个业务功能执行后的报文数据,并删除携带的标签信息。
在一个实施例中,入口分类器与数据转发器之间,以及数据转发器与出口分类器之间,分别通过指定的物理端口连接。
需要明确的是,本公开实施例中的数据转发系统,并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述。在一些实施例中,数据转发系统中的入口分类器、数据转发器和出口分类器,与上述结合图2至11描述的数据转发方法中的入口业务链分类器、业务链转发器和出口业务链分类器的具体工作过程保持一致,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸存储介质被安装。
根据本公开实施例的数据转发方法、转发器、系统、服务器和存储介质,可以通过虚拟化技术,利用一个物理网卡与多个业务执行端中的每个业务执行端建立虚拟网络连接,从而可以直接建立与对应的业务执行端的 输入输出通道,从而提高虚拟服务器的转发效率,并且组网简单,减小组网成本。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。

Claims (11)

  1. 一种数据转发方法,包括:
    根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端;
    与每个业务执行端建立网络连接,其中,建立的所述网络连接用于与对应的业务执行端进行数据交互,且为每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接;
    基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,将所述报文数据转发到所述每个业务执行端。
  2. 根据权利要求1所述的方法,其中,为每个业务执行端建立的网络连接包括第一网络连接和第二网络连接;所述基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,所述每个业务执行端,包括:
    确定所述报文数据应执行的当前业务功能,发送所述报文数据至当前业务功能对应的业务执行端的第一网络连接的端口;
    通过当前业务功能对应的业务执行端的第二网络连接的端口,接收已执行当前业务功能的报文数据;
    将按照所述业务功能处理顺序获取的下一个业务功能,作为所述报文数据应执行的当前业务功能,直到发送所述报文数据的次数等于所述业务功能的数目。
  3. 根据权利要求2所述的方法,其中,所述报文数据携带标签信息,所述确定所述报文数据应执行的当前业务功能,发送所述报文数据至当前业务功能对应的业务执行端的第一网络连接的端口,包括:
    为所述每个业务执行端的两个网络连接设置不同的标签信息,并设置当前业务功能对应的业务执行端的第二网络连接,与下一个业务 功能对应的业务执行端的第一网络连接具有相同的标签信息;
    根据所述报文数据携带的标签信息,确定所述报文数据应执行的当前业务功能,其中,当前业务功能对应的业务执行端的第一网络连接的标签信息,与所述报文数据携带的标签信息相同;
    发送所述报文数据至当前业务功能对应的业务执行端的第一网络连接的端口。
  4. 根据权利要求2所述的方法,其中,所述报文数据携带标签信息,在发送所述报文数据至当前业务功能对应的业务执行端的第一网络连接的端口之后,还包括:
    在所述第一网络连接的端口删除所述报文数据携带的标签信息;
    将已删除标签信息的报文数据,发送至当前业务功能对应的业务执行端。
  5. 根据要求2所述的方法,其中,每个网络连接被设置有标签信息,在通过当前业务功能对应的业务执行端的第二网络连接的端口,接收已执行当前业务功能的报文数据之后,还包括:
    在所述第二网络连接的端口,为已执行当前业务功能的报文数据添加标签信息,其中,添加的标签与下一个业务功能对应的业务执行端的第一网络连接的标签信息相同。
  6. 根据要求5所述的方法,其中,所述为已执行当前业务功能的报文数据添加标签信息,包括:
    基于指定的虚拟局域网协议,将所述标签信息添加至所述报文数据的报文首部指定位置。
  7. 一种数据转发器,包括:
    执行端确定模块,用于根据报文数据对应的一个或多个业务功能,确定每个业务功能对应的业务执行端;
    网络连接建立模块,用于为每个业务执行端建立网络连接,其中,建立的网络连接用于与对应的业务执行端进行数据交互,且为每个业务执行端建立的网络连接是通过同一个物理网卡建立的虚拟网络连接;
    报文数据转发模块,用于基于预定的业务功能处理顺序,通过为每个业务执行端建立的网络连接,将所述报文数据转发到所述每个业务执行端。
  8. 一种数据转发系统,包括:
    入口分类器,用于确定与报文数据对应的一个或多个业务功能,并为所述报文数据添加用于标识所述对应的业务功能的标签信息;
    数据转发器,用于接收所述报文数据,执行权利要求1至6中任一项所述的数据转发方法,得到所述业务功能中最后一个业务功能执行后的报文数据,其中,所述最后一个业务功能执行后的报文数据携带用于标识所述对应的业务功能的标签信息;
    出口分类器,用于接收所述最后一个业务功能执行后的报文数据,并删除所述携带的标签信息。
  9. 根据权利要求8所述的数据转发系统,其中,
    所述入口分类器与所述数据转发器之间,以及数据转发器与所述出口分类器之间,分别通过指定的物理端口连接。
  10. 一种数据转发服务器,包括存储器和处理器;
    所述存储器用于储存有可执行程序代码;
    所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求1至6中任一项所述的数据转发方法。
  11. 一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至6中任一项所述的数据转发方法。
PCT/CN2020/133149 2019-12-30 2020-12-01 数据转发方法、转发器、系统、服务器和存储介质 WO2021135792A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP20910169.0A EP4087194A4 (en) 2019-12-30 2020-12-01 DATA TRANSFER METHOD, TRANSFER DEVICE, SYSTEM, SERVER AND RECORDING MEDIA

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911396100.X 2019-12-30
CN201911396100.XA CN113132200B (zh) 2019-12-30 2019-12-30 数据转发方法、转发器、系统、服务器和存储介质

Publications (1)

Publication Number Publication Date
WO2021135792A1 true WO2021135792A1 (zh) 2021-07-08

Family

ID=76686427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/133149 WO2021135792A1 (zh) 2019-12-30 2020-12-01 数据转发方法、转发器、系统、服务器和存储介质

Country Status (3)

Country Link
EP (1) EP4087194A4 (zh)
CN (1) CN113132200B (zh)
WO (1) WO2021135792A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824772A (zh) * 2021-08-30 2021-12-21 济南浪潮数据技术有限公司 基于云网络的数据采集方法、系统、装置及可读存储介质
CN115665026A (zh) * 2022-09-26 2023-01-31 京东科技信息技术有限公司 一种集群组网的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954274A (zh) * 2014-03-25 2015-09-30 华为技术有限公司 生成转发信息的方法、控制器和业务转发实体
CN105407056A (zh) * 2014-09-16 2016-03-16 中国电信股份有限公司 一种软件定义网络中的业务链建立方法及系统
CN108092923A (zh) * 2016-11-23 2018-05-29 阿里巴巴集团控股有限公司 基于sr-iov的报文处理方法以及装置
CN108463989A (zh) * 2016-01-25 2018-08-28 华为技术有限公司 跨多个子网络的业务功能链接
US10218616B2 (en) * 2016-07-21 2019-02-26 Cisco Technology, Inc. Link selection for communication with a service function cluster

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103609077B (zh) * 2013-06-18 2017-02-22 华为技术有限公司 用于数据传输的方法、装置和系统以及物理网卡
CN103473136B (zh) * 2013-09-02 2017-06-13 华为技术有限公司 一种虚拟机的资源配置方法和通信设备
CN104734930B (zh) * 2013-12-19 2020-06-23 中兴通讯股份有限公司 Vlan接入vf网络的实现方法及装置、fcf
CN103873374B (zh) * 2014-03-27 2017-08-11 新华三技术有限公司 虚拟化系统中的报文处理方法及装置
US10411985B1 (en) * 2015-12-02 2019-09-10 Amazon Technologies, Inc. Network traffic monitoring for virtual machines
CN106982133B (zh) * 2016-01-18 2020-12-29 中兴通讯股份有限公司 一种更改虚拟网卡配置信息的方法、设备及系统
US9774824B1 (en) * 2016-07-18 2017-09-26 Cisco Technology, Inc. System, method, and logic for managing virtual conferences involving multiple endpoints
CN107733746B (zh) * 2016-08-11 2021-06-15 中兴通讯股份有限公司 一种混合云平台的组网方法及混合云平台系统
SG11201800020UA (en) * 2016-11-09 2018-06-28 Huawei Tech Co Ltd Packet processing method in cloud computing system, host, and system
US10187263B2 (en) * 2016-11-14 2019-01-22 Futurewei Technologies, Inc. Integrating physical and virtual network functions in a service-chained network environment
CN108667750B (zh) * 2017-03-31 2021-01-29 华为技术有限公司 虚拟资源管理方法及装置
US10715353B2 (en) * 2017-05-15 2020-07-14 Ciena Corporation Virtual local area network identifiers for service function chaining fault detection and isolation
CN108964959B (zh) * 2017-05-27 2022-02-25 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法
EP4113955A1 (en) * 2017-06-13 2023-01-04 Equinix, Inc. Service exchange system
CN107819663B (zh) * 2017-11-27 2020-06-16 锐捷网络股份有限公司 一种实现虚拟网络功能服务链的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954274A (zh) * 2014-03-25 2015-09-30 华为技术有限公司 生成转发信息的方法、控制器和业务转发实体
CN105407056A (zh) * 2014-09-16 2016-03-16 中国电信股份有限公司 一种软件定义网络中的业务链建立方法及系统
CN108463989A (zh) * 2016-01-25 2018-08-28 华为技术有限公司 跨多个子网络的业务功能链接
US10218616B2 (en) * 2016-07-21 2019-02-26 Cisco Technology, Inc. Link selection for communication with a service function cluster
CN108092923A (zh) * 2016-11-23 2018-05-29 阿里巴巴集团控股有限公司 基于sr-iov的报文处理方法以及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4087194A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824772A (zh) * 2021-08-30 2021-12-21 济南浪潮数据技术有限公司 基于云网络的数据采集方法、系统、装置及可读存储介质
CN115665026A (zh) * 2022-09-26 2023-01-31 京东科技信息技术有限公司 一种集群组网的方法和装置

Also Published As

Publication number Publication date
CN113132200B (zh) 2024-01-19
EP4087194A1 (en) 2022-11-09
EP4087194A4 (en) 2023-06-21
CN113132200A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN110506411B (zh) 虚拟计算环境中用于使用逻辑端口提供分组实施的方法和系统
US11374899B2 (en) Managing network connectivity between cloud computing service endpoints and virtual machines
US9755959B2 (en) Dynamic service path creation
EP2466821B1 (en) Methods and apparatus for forwarding-state transport in a distributed control plane
CN111800326B (zh) 报文传输方法及装置、处理节点及存储介质
US9148368B2 (en) Packet routing with analysis assist for embedded applications sharing a single network interface over multiple virtual networks
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
US9083644B2 (en) Packet routing for embedded applications sharing a single network interface over multiple virtual networks
US20200007472A1 (en) Service insertion in basic virtual network environment
US10305700B2 (en) Systems and methods for designating packets for customized data processing in port-extended architectures
WO2021135792A1 (zh) 数据转发方法、转发器、系统、服务器和存储介质
CN108289061B (zh) 基于sdn的业务链拓扑系统
CN110311860B (zh) Vxlan下多链路负载均衡方法及装置
US10050906B2 (en) Virtual node having separate control and data planes
CN108600073B (zh) 一种动态隧道建立方法和装置
CN108123865B (zh) 报文处理方法及装置
EP4075739B1 (en) Service chain forwarding control methods and devices
EP3300318B1 (en) Methods for communicating by using remote network element port, and apparatuses
CN111447131B (zh) 报文解封装方法及装置、报文封装方法及装置
CN116158062A (zh) 一种报文传输方法及装置

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: 20910169

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020910169

Country of ref document: EP

Effective date: 20220801