WO2020258302A1 - 一种数据传输方法、交换机及站点 - Google Patents

一种数据传输方法、交换机及站点 Download PDF

Info

Publication number
WO2020258302A1
WO2020258302A1 PCT/CN2019/093872 CN2019093872W WO2020258302A1 WO 2020258302 A1 WO2020258302 A1 WO 2020258302A1 CN 2019093872 W CN2019093872 W CN 2019093872W WO 2020258302 A1 WO2020258302 A1 WO 2020258302A1
Authority
WO
WIPO (PCT)
Prior art keywords
data message
switch
data
routing information
site
Prior art date
Application number
PCT/CN2019/093872
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 CN201980006605.2A priority Critical patent/CN112449751B/zh
Priority to PCT/CN2019/093872 priority patent/WO2020258302A1/zh
Publication of WO2020258302A1 publication Critical patent/WO2020258302A1/zh
Priority to US17/562,115 priority patent/US11870701B2/en

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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • 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/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Definitions

  • This application relates to the field of information technology, and in particular to a data transmission method, switch and station.
  • the services provided by cloud computing vendors include central cloud services and edge cloud services deployed at different sites, which provide services to users based on data interaction between sites.
  • an edge cloud service deployed at a site close to the data source can quickly and easily obtain data from the data source, perform some processing on the obtained data, and provide the processed data to the central cloud service of another site for the center The cloud service performs subsequent processing.
  • CPE customer-premises equipment
  • sites that provide edge cloud services are usually deployed in existing computer rooms near data sources, such as access computer rooms. Such computer rooms have limited space and can provide limited power consumption. CPEs are deployed under limited space and power consumption. It will greatly increase the difficulty of edge cloud service deployment.
  • This application provides a data transmission method, a switch, and a site to solve the problem of relatively difficult edge cloud service deployment caused by the setting of CPE.
  • an embodiment of the present application provides a data transmission method, which is applied to a data center.
  • the data center includes a first site and a second site, and at least two links are established between the first site and the second site, Among them, each link can correspond to at least one type of service; the process for the switch in the first site to transmit the first data packet of the virtual machine in the first site to the second site is as follows:
  • the switch in the first site obtains the first data packet sent by the virtual machine in the first site, and then identifies the service type of the first data packet; and determines the first data packet according to the service type of the first data packet.
  • the routing information of the data message is used to indicate the bearer link for transmitting the first data message; after the routing information is determined, the switch sends the first data message according to the routing information, and the first data message is transmitted to the second data message.
  • the link passed by the station is the bearer link.
  • the switch in the first site transmits the first data message according to the routing information of the first data message, and the bearer link of the first data message is determined according to the service type, which is the link corresponding to the service type In this way, the first data message can be transmitted through the link corresponding to the service type of the first data message.
  • the site does not need to deploy CPE to realize the link selection when data packets are transmitted across sites, which can reduce the difficulty of site deployment, and can also effectively save the space of the site computer room.
  • the saved space can be used to deploy more hosts or Other equipment can improve the service capacity of the site.
  • the switch can encapsulate the first data message and encapsulate the routing information in the first data message. In the message header of the message; afterwards, the switch can send the encapsulated first data message according to the routing information.
  • the switch carries the routing information in the encapsulated first data message in the form of encapsulated data message, and then forwards the encapsulated first data message. Then, in the first data message What is transmitted on the link corresponding to the service type is the encapsulated first data packet, and the first data packet can be forwarded on the link corresponding to the service type of the first data packet without deploying CPE. .
  • each port can be connected to the second site through one link; the switch is sending the package
  • the switch can determine the forwarding port of the encapsulated first data packet according to the routing information.
  • the forwarding port is one of the multiple ports of the switch. After that, the switch can forward the encapsulation through the forwarding port The first data message after the
  • the switch can send the encapsulated first data message to the link corresponding to the service type through the corresponding port, which further saves computer room space, thereby further reducing the difficulty of site deployment and improving the service capability of the site.
  • the switch includes the virtual switch and the physical switch in the first site.
  • the physical switch includes multiple ports, and each port can be connected to at least one of the two links; the virtual switch and the physical switch cooperate in transmission
  • the process of the first data message is as follows: first, the virtual switch obtains the first data message from the virtual machine; recognizes the service type of the first data message; and determines the first data message according to the service type of the first data message The routing information of the message; the virtual switch encapsulates the first data message, encapsulates the routing information in the header of the first data message, and then sends the encapsulated first data message to the physical switch; After receiving the first data message, the switch determines the forwarding port of the encapsulated first data message according to the routing information.
  • the forwarding port is one of the multiple ports of the physical switch; the forwarding port forwards the encapsulated first data message. Data message.
  • the virtual switch forwards the encapsulated first data message to the physical switch, and the physical switch sends the encapsulated first data message to the link corresponding to the service type through the corresponding forwarding port.
  • the computer room where the site is located is usually deployed with a physical switch.
  • the existing physical switch in the computer room can also be used to enable the first data message to be transmitted through the corresponding link.
  • the switch may include a virtual switch and a physical switch in the first site.
  • the physical switch includes multiple ports, and each port can be connected to at least one of the two links; the virtual switch and the physical switch cooperate
  • the process of transmitting the first data message is as follows: first, the virtual switch receives the first data message from the virtual machine; and after identifying the service type of the first data message, it determines according to the service type of the first data message The routing information of the first data message; after that, the routing information and the first data message can be sent to the physical switch.
  • the physical switch After receiving the first data message and the routing information, the physical switch can encapsulate the first data according to the routing information And determine the forwarding port of the encapsulated first data message according to the routing information, and forward the encapsulated first data message through the forwarding port.
  • the virtual switch forwards the routing information and the first data message to the physical switch, and the physical switch completes the encapsulation operation of the first data message, and sends the encapsulated first data message through the corresponding forwarding port Link to the corresponding service type.
  • the computer room where the site is located is usually deployed with a physical switch. In the case of not deploying a CPE, the use of the existing physical switch in the computer room can also enable the first data message to be transmitted through the corresponding link.
  • the data center also includes a controller.
  • the controller saves the configuration information of the link between the first site and the second site and the connection relationship between the internal devices of each site.
  • the controller can transmit to the switch Announcement controls the switch.
  • the switch can actively send query requests to the controller. Exemplarily, when the switch determines the routing information of the first data message according to the service type of the first data message, it may send a query request to the controller, and the query request carries the service type of the first data message; The query response returned by the server determines the routing information of the first data message.
  • the switch when determining the routing information of the first data message, can obtain the routing information from the controller, and further, it is ensured that the first data message can be transmitted to the second site through the link corresponding to the service type.
  • the switch may also include the destination address of the first data packet in the query request.
  • the switch when determining the routing information of the first data packet, can obtain the routing information from the controller by informing the controller of the destination address and service type of the first data packet, and further, ensure that the first data packet The text can be transmitted to the second site through the link corresponding to the service type.
  • the switch can encrypt the first data message before sending the first data message according to the routing information, and different encryption strategies can be set for different service types; for example, the switch can be based on the service type. Determine the encryption strategy; then, based on the encryption strategy, encrypt the first data message.
  • the switch can ensure the security of the first data message by encrypting the first data message.
  • the switch after the switch sends a data packet based on routing information, if it receives a second data packet with the same service type and the same destination address from the same virtual machine, the switch can send the difference data only by sending For the second data message, the process is as follows: the switch can determine the difference data between the first data message and the second data message; the difference data is sent according to the routing information in the same way as the first data message, and the difference data is carried The link is transmitted to the second site.
  • the switch can only send differential data that is different from the first data message, which can effectively improve data transmission efficiency.
  • an embodiment of the present application also provides a switch, and the beneficial effects can be referred to the description of the first aspect and will not be repeated here.
  • the device has the function of realizing the behavior in the method example of the first aspect.
  • the function can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the structure of the device includes a receiving unit, a processing unit, and a sending unit. These units can perform the corresponding functions in the above-mentioned method example of the first aspect. For details, please refer to the detailed description in the method example, which will not be repeated here. .
  • the embodiment of the present application also provides a switch, and the beneficial effects can be referred to the description of the first aspect and will not be repeated here.
  • the structure of the switch includes a processor and a memory, and the processor is configured to support the switch to perform the corresponding functions in the above-mentioned first aspect method.
  • the memory is coupled with the processor, and it stores program instructions and data necessary for the switch.
  • the structure of the communication device also includes multiple ports for communicating with other devices.
  • an embodiment of the present application also provides a first site, which includes a virtual machine and a switch.
  • a first site which includes a virtual machine and a switch.
  • the switch performs the aforementioned first aspect and the corresponding function in any possible design of the first aspect.
  • the present application also provides a computer-readable storage medium that stores instructions in the computer-readable storage medium, which when run on a computer, causes the computer to execute the methods of the above aspects.
  • the present application also provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the methods of the above aspects.
  • the present application also provides a computer chip, which is connected to a memory, and the chip is used to read and execute a software program stored in the memory, and execute the methods of the foregoing aspects.
  • FIG. 1 is an architecture diagram of a data center provided by an embodiment of the application
  • FIG. 2 is an architecture diagram of a data center provided by an embodiment of the application
  • FIG. 3 is an architecture diagram of a data center provided by an embodiment of the application.
  • FIG. 4 is an architecture diagram of a data center provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of a data transmission method provided by an embodiment of this application.
  • FIG. 6 is a schematic diagram of a data transmission method provided by an embodiment of this application.
  • FIG. 7 is a schematic diagram of a data transmission method provided by an embodiment of this application.
  • FIG. 8 is a schematic structural diagram of a switch provided by an embodiment of the application.
  • FIG. 9 is a schematic structural diagram of a switch provided by an embodiment of the application.
  • This application provides a data transmission method, switch and site to solve the problem that the setting of CPE will increase the difficulty of deployment of edge sites.
  • the method and device described in the present application are based on the same inventive concept. Since the method and the device have similar principles for solving the problem, the implementation of the device and the method can be referred to each other, and the repetition will not be repeated.
  • a site in the embodiment of this application, represents a collection of equipment.
  • the equipment in the site provides services based on the data generated by the data source.
  • the data source can be equipment within the site or equipment outside the site.
  • the site far away from the data source is called the central site, and the site closer to the data source is called the edge site.
  • Data centers usually include multiple sites.
  • Services including but not limited to computing services, storage services, network services, etc. Any equipment or function that users can access can be regarded as services provided by the data center.
  • the service may be provided based on equipment in one site, or may be provided based on equipment in multiple sites, which is not limited in the embodiment of the present application.
  • the services deployed in the central site are called central services or central cloud services
  • the services deployed in the edge sites are called edge services or edge cloud services.
  • WAN Wide area network
  • external network also known as external network or public network
  • devices between different sites communicate via WAN.
  • Links, or dedicated lines, dedicated lines, in the embodiments of the present application represent physical links carrying WANs between sites.
  • the long links in the embodiments of this application include, but are not limited to, the Internet, multi-protocol label switching virtual private network (multi-protocol label switching virtual private network, MPLS VPN), and the fifth-generation mobile communication technology (5th-Generation, 5G).
  • 5th-Generation 5th-Generation
  • 4G fourth-generation mobile communication technology
  • the data message includes a message header and a payload.
  • the payload is used to carry valid data in the data message, such as business data; the message header is used to carry some auxiliary information describing the valid data , Such as the amount of valid data, check digit, etc.
  • the service type of the data message is the service type of the data carried in the payload of the data message. These two expressions are equivalent, and the embodiment of this application does not distinguish between the two expressions.
  • the service identifier carried in the data message can indicate the service type of the data message.
  • the routing information can be the address used to encapsulate the data message (such as address 1), and the device indicated by the address 1 is a device on the link corresponding to the service type; or It is other information indicating the link, such as the link ID.
  • the site 1001 and the site 1002 are exemplarily drawn in FIG. 1.
  • the site 1001 and the site 1002 may be two central sites or two edge sites, and the site 1001 and the site 1002 may also be an edge site and a central site, respectively.
  • the site 1001 includes at least one host running a virtual switch.
  • two hosts in the site 1001 are drawn in FIG. 1, which are the host 110 and the host 120 respectively.
  • a virtual machine and a virtual switch are running on the host.
  • a virtual machine 111 and a virtual switch 112 are deployed on the host 110, and a virtual machine 121 and a virtual switch 122 are deployed on the host 120; the embodiment of the present application does not limit the virtual machine running on the host.
  • the number of machines In Figure 1 only one virtual machine is deployed on each host as an example. In specific applications, the number of virtual machines deployed on the host can be set as needed.
  • site 1001 may also include hosts that are not running virtual machines and virtual switches. For example, hosts that do not deploy virtual machines and virtual switches can be used as management hosts to manage other hosts in site 1001, or use To provide services that require high security or computing performance.
  • a physical switch 160 and a CPE 170 may also be deployed at the site 1001.
  • one physical switch and one CPE are drawn in FIG. 1.
  • one or more physical switches may be deployed in a site, and one or more CPEs may also be deployed in a site.
  • the physical switch 160 is connected to each host of the site 1001, and forwards data packets between each host and between the host and the CPE.
  • the CPE 170 is respectively connected to the physical switch 160 and the WAN, receives data packets from the physical switch 160, and forwards the received packets to the site 1002 through the WAN.
  • the site 1002 includes at least one host running a virtual switch, and the host also runs a deployment virtual machine.
  • the site 1002 includes three hosts as an example, which are host 130, host 140, and host 150.
  • Host 130 is deployed with virtual machine 131 and virtual switch 132
  • host 140 is deployed with virtual machine 141 and virtual switch 142.
  • a virtual machine 151 and a virtual switch 152 are deployed on the host 150; although not shown in FIG. 1, the site 1002 may also include a host where no virtual machine is deployed.
  • the functions of the host where no virtual machine is deployed can be referred to the foregoing content, and will not be repeated here.
  • the site 1002 may also include a physical switch 180 and a CPE 190.
  • the devices in the site 1001 and the site 1002 use the WAN between the CPE 170 and the CPE 190 to communicate with each other.
  • the link to which the data message is forwarded in the WAN may be different.
  • Communication services require clear call quality, short transmission time, and short data intervals.
  • data messages of communication services usually apply to links with smaller transmission delays; video service transmission
  • the data volume of the video service is large, so the data message of the video service is suitable for a higher bandwidth link; compared to the communication service, the mail service has lower requirements for transmission delay, usually only to ensure that the transmission is successful within a certain time range.
  • the Internet can meet business needs.
  • the station 1001 and the station 1002 can transmit data messages of one or more service types, and each data message corresponds to one or more links between the station 1001 and the station 1002.
  • a process in which the virtual machine 111 in the site 1001 sends a data message 1 to the virtual machine 131 in the site 1002 is taken as an example to introduce a data transmission method.
  • virtual machine 111 sends data message 1 to virtual switch 113 on host 110, the destination device of data message 1 is virtual machine 131 on site 1002, and data message 1 carries the destination address Is the address of the virtual machine 131.
  • the virtual switch 111 recognizes that the destination device of the data message 1 is located at the site 1002 according to the destination address carried in the data message 1; the virtual switch 111 will forward the data message 1 to the physical switch 160.
  • the physical switch 160 After the physical switch 160 receives the data message 1, it sends the data message 1 to the CPE 170.
  • the last device that the data message 1 passes through before leaving the site 1001 it needs to be based on the data carried in the payload of the data message 1
  • the service type of data message 1 selects the link.
  • CPE170 identifies the destination address of data message 1, and determines the forwarding port among multiple ports according to the service identifier to which the data carried in the payload of data message 1 belongs, and forwards data message 1 to the port connection through the determined port The link is then forwarded to the CPE190 in the site 1002 through the link.
  • the CPE 190 in the site 1002 After the CPE 190 in the site 1002 receives the data message 1, the CPE 190 transmits the data message 1 to the physical switch 180 according to the address of the virtual machine 131 carried in the data message 1, and the physical switch 180 receives the data message 1, according to The address of the virtual machine 131 sends the data message 1 to the virtual switch 132 on the host 130, and the virtual switch 132 forwards the data message 1 to the virtual machine 131.
  • the embodiment of the present application provides another data center architecture.
  • the data center 100 includes a site 1001 and a site 1003, and only the virtual switch 111 in the site 1001 is shown in FIG.
  • the site 1001 may also include other virtual machines, and the connection mode of other virtual machines to the switch 200 can refer to the description of the connection mode of the virtual machine 111 and the switch 200 in FIG. I won't repeat them here.
  • the virtual machine 111 is connected to the switch 200, and the switch 200 is connected to multiple links in the WAN. There are one or more ports on the switch 200, and each port is connected to a link carrying the WAN.
  • the site 1003 is exemplarily drawn in Figure 2.
  • the site 1001 and the site 1003 are connected with link 1, link 2, and link 3 carrying WAN; link 1, link 2, and link 3 are respectively connected to On device 1, device 2, and device 3 in site 1003.
  • the device types of Device 1, Device 2, and Device 3 are related to the specific architecture of the site 1003, which is not limited in this embodiment of the application. Alternative implementations of the specific architecture of the site 1003 and device 1, device 2, and device 3 are introduced below.
  • the switch 200 obtains the data message (data message 2, data message 3, data message 4, and data message 5 in the embodiment of the present application) sent by the virtual machine 110, and passes through multiple links connected to the site 1003 The link corresponding to the service type of the data message in is sent to the station 1003.
  • the site 1001 further includes a controller 300, and the controller 300 is connected to the switch 200 to implement control of the switch 200 in the site 1001.
  • the switch 200 identifies the service type of the data message of the virtual machine 110 (such as data message 1, data message 2, data message 3, and data message 4 in the embodiment of this application). Determine the routing information corresponding to the service type, then send the data message according to the routing information, and transmit the data message to the station 1003 through the link corresponding to the service type in the link between the station 1001 and the station 1003; Before transmitting the data message, the switch 200 also encapsulates the data message according to the routing information.
  • the service type of the data message of the virtual machine 110 such as data message 1, data message 2, data message 3, and data message 4 in the embodiment of this application.
  • the switch 200 may also obtain routing information from the controller 300 by sending a query request carrying the service type (which may also carry the destination address of the data message).
  • the switch 200 can encrypt the data message based on the encryption strategy determined by the service type of the data message; and for the same data message of the same service type, source address, and destination address, the switch 200 can determine the subsequent data message With the difference data in the first data message, the difference data is sent in the same way as the first data message.
  • the type of the switch 200 is not limited in the embodiment of the present application.
  • the switch 200 may be a virtual switch in the site 1001 or a physical switch in the site 1001, and the switch 200 may also include a virtual switch and a physical switch.
  • Figures 3 and 4 show the architecture of two specific sites 1001.
  • the site 1001 shown in FIG. 3 the site 1001 includes a virtual switch 112 and a physical switch 160.
  • the switch 200 can be implemented by the virtual switch 112 or the physical switch 160.
  • the switch 200 can also be implemented by a virtual switch. 112 and physical switch 160 are implemented together.
  • the switch 200 may be implemented by a virtual switch 112.
  • FIG. 3 an embodiment of the present application provides another data center architecture.
  • the data center 100 includes a site 1001 and a site 1003.
  • FIG. 3 only shows the connection mode of the host 110 and the physical switch 160 in the site 1001.
  • the site 1001 also Other hosts may be included, and the connection modes of the other hosts, the host 110 and the physical switch can refer to the description of the connection modes of the host and the physical switch in FIG. 1 in the foregoing, which will not be repeated here.
  • the site 1003 is exemplarily drawn.
  • the link 1, link 2, and link 3 carrying the WAN are connected between the site 1001 and the site 1003; the link 1, link 2, and link 3 are respectively connected to On device 1, device 2, and device 3 in site 1003.
  • the device types of Device 1, Device 2, and Device 3 are related to the specific architecture of the site 1003, which is not limited in this embodiment of the application. The specific architecture of the site 1003 and device 1, device 2, and device 3 are described below.
  • controller 300 is connected to the virtual switches in the site 1001 to implement unified control of the virtual switches in the site 1001.
  • the controller 300 may be deployed in the site 1001 or outside the site 1001.
  • the controller 300 may only control the virtual switches in the site 1001, or may realize unified control of the virtual switches in multiple sites.
  • FIG 4 another schematic diagram of the architecture of the data center proposed in this embodiment of the application is still taking the data center 100 as an example.
  • the data center 100 includes a site 1001 and a site 1003.
  • Each of the at least two hosts does not pass through a physical switch, and the hosts are directly interconnected, thereby establishing a connection between virtual switches on each host.
  • each virtual switch on the host 110 and the host 120 has one or more ports.
  • the virtual switch 112 has a port 112a
  • the virtual switch 122 has a port 122a, a port 122b, a port 122c, and a port 122d.
  • the port 112a of the virtual switch 112 is connected to the port 122a of the virtual switch 122, so as to connect the host 110 and the host 120, so as to realize the data communication between the host 110 and the host 120.
  • the ports 122b, 122c, and port 122d on the virtual switch 122 are respectively connected to the link 1, the link 2, and the link 3 in the WAN.
  • the virtual machine 111 on the host 110 needs to access the site 1003, the virtual machine 111 sends the data message to the virtual switch 122 on the host 120 through the port 112a and the port 122a, and the virtual switch 122 passes the data message through the corresponding chain Road forwarded to WAN.
  • the site 1003 is exemplarily drawn.
  • the link 1, link 2, and link 3 carrying WAN are connected between the site 1001 and the site 1003; the link 1, link 2, and link 3 are respectively connected to On device 1, device 2, and device 3 in site 1003.
  • the device types of Device 1, Device 2, and Device 3 are related to the specific architecture of the site 1003, which is not limited in this embodiment of the application. The specific architecture of the site 1003 and device 1, device 2, and device 3 are described below.
  • the controller 300 connects the virtual switch 112 in the host 110 of the site 1001 and the virtual switch 122 in the host 120, and the controller 300 can implement unified control of the virtual switch 112 and the virtual switch 132 by forwarding the flow table.
  • the controller 300 may also issue routing information at the request of the virtual switch 112 to implement control of the virtual switch 112.
  • the controller 300 may only control the virtual switches in the site 1001, or may implement unified control of the virtual switches in multiple sites.
  • the architecture of the site 1003 in FIG. 2, FIG. 3, or FIG. 4 can refer to the site 1001 in FIG. 1, FIG. 2, FIG. 3, or FIG.
  • the site 1003 includes at least one host, a physical switch, and multiple CPEs.
  • Device 1, Device 2, and Device 3 are all CPEs; the physical switch and each CPE, at least one For the connection relationship between the host and the physical switch, refer to the connection relationship between the host and the physical switch in Figure 1.
  • the site 1003 adopts an architecture similar to the site 1001 shown in FIG. 2
  • the site 1003 includes at least one switch, and the device 1, the device 2, and the device 3 can be any switch of the site 1003.
  • the site 1003 When the site 1003 adopts an architecture similar to that of the site 1001 shown in FIG. 3, the site 1003 includes at least one host running a virtual switch and a physical switch, and device 1, device 2, and device 3 can be virtual switches on any host in site 1003, Device 1, Device 2, and Device 3 can also be any physical switch at site 1003.
  • the site 1003 When the site 1003 adopts an architecture similar to the site 1001 shown in FIG. 4, the site 1003 includes at least one host running a virtual switch, and the device 1, the device 2 and the device 3 can be virtual switches on any host of the site 1003.
  • Figure 2, Figure 3, and Figure 4 are only exemplary plots of device 1, device 2, and device 3 that exist at site 1003.
  • link carrying WAN between site 1001 and site 1003 has In the case of multiple links, a device connected to each link is deployed in the site 1003.
  • an embodiment of the present application provides another data transmission method.
  • the switch receives the data message and identifies the service type of the data message, it determines the routing information (address 1 and link identification information in the following text) based on the service type, and forwards the data message according to the routing information.
  • the link corresponding to the type transmits the data message.
  • the site does not need to deploy CPE to realize the link selection, which reduces the difficulty of site deployment and saves the space of the site computer room.
  • the saved space can be used to deploy more hosts or other equipment, which is convenient for improving the service of the site. ability.
  • the routing information determined according to the service type may indicate the bearer link for transmitting the data packet.
  • the bearer link of the data message refers to the link that carries the data message when the data message is transmitted between two stations.
  • This embodiment of the present application does not limit the manner in which the routing information indicates the bearer link for transmitting the data message.
  • the routing information can be the address used by the encapsulated message (address 1 in the following), and the device indicated by the address is a device on the bearer link; the routing information can also be the identification information of the bearer link, such as the link Road identification (identification of link 1 in the following text), link number, etc.
  • the virtual switch 112 in the host 110 transmits the data packet 2 from the virtual machine 111 as an example to describe another data transmission provided in the embodiment of the present application.
  • the service type 1 of the data carried in the payload of the data message 2 corresponds to the link 1 in FIG. 3 and FIG. 4.
  • the data message 2 can be forwarded to the destination device through the link 1 through the following method. As shown in Figure 5, the method includes:
  • Step 501 The virtual machine 110 sends a data packet 2 to the virtual switch 112.
  • the service type 1 of the data carried in the payload of the data message 2 includes but is not limited to mail, video, communications, games, office, finance, stocks, etc.
  • Data message 2 also carries a source address and a destination address.
  • the source address is the address of the virtual machine 111
  • the destination address is the address of the destination device of the data message 2.
  • the source address and the destination address include but are not limited to internet protocol address (IP), media access control address (media access control address, MAC) address, port number, etc.
  • Step 502 The virtual switch 112 determines the service type of the data message 2, namely service type 1, determines the address of the encapsulated data message 2 according to the service type 1, and encapsulates the data message 2 according to the determined address, and the encapsulated data message
  • the message header of message 2 carries the address of device 1 in site 1003, that is, address 1.
  • Device 1 is connected to site 1001 via link 1.
  • the virtual switch 112 stores the correspondence between the service type 1 and the address 1.
  • the correspondence may be recorded in the forwarding flow table.
  • the forwarding flow table also records the correspondence between each service identifier (the service identifier can indicate the type of service) and the address.
  • the address corresponding to each service identifier is the address of the device in the station 1003 connected to the station 1001 through the corresponding link.
  • the forwarding flow table of the virtual switch 112 may be generated by the controller 300 and delivered to the virtual switch 112.
  • the virtual switch 112 determines the address 1 based on the service identifier, it also determines based on the destination address of the data packet 2 that the data packet 2 needs to be transmitted across sites, that is, it determines that the destination device of the virtual machine 111 and the data packet 2 are located Different sites.
  • the destination device indicated by the destination address is located at site 1003, for example, the destination address is the address of virtual machine 131, data message 2 needs to be transmitted across sites, and virtual switch 112 performs data message 2 Package.
  • address 1 may be determined according to the destination address of the data message 2 and the service type of the data carried in the payload of the data message.
  • the forwarding flow table may also record the destination address of each data message, and the correspondence between the service type and the address of the data carried in the payload of the data message. In other words, when the service type of the data carried in the payload of two data messages is the same, but the destination addresses of the two data messages are different, the links corresponding to the two data messages may be different. Therefore, when determining the encapsulation When the address of data message 2, optionally, the address of encapsulated data message 2 is determined according to the destination address and service type of data message 2.
  • the virtual switch 112 can determine the address 1 according to the destination address of the data message 2 and the service type 1 by querying the forwarding flow table.
  • the virtual switch 112 If the virtual switch 112 does not record the correspondence between the service type 1 and the address 1, the virtual switch 112 sends a query request 1 to the controller 300.
  • the query request 1 is used to query the controller 300 for the address 1 corresponding to the service type 1.
  • Query request 1 may carry service type 1 of data message 2.
  • the query request 1 may carry the service identifier 1, and the service identifier 1 may indicate the service type 1.
  • the virtual switch 112 may also send a query request 2 to the controller 300, and the query request 2 is used to query the controller 300 for the service type 1 and the data message
  • the destination address of 2 corresponds to address 1.
  • the query request 2 may carry the service type 1 of the data message 2 and the destination address of the data message 2.
  • the controller 300 After the controller 300 receives the query request 1 or the query request 2, it can determine the address 1 according to the service type 1 of the data carried in the payload of the data message 2; as a possible implementation manner, the controller can determine the address 1 according to the data message
  • the service type 1 of the data carried in the payload of 2 and the destination address of the data message 2 determine the address 1; then the address 1 is carried in the query response and fed back to the virtual switch 112.
  • Step 503 The virtual switch 112 forwards the encapsulated data message 2 to the corresponding link, namely link 1, according to the address 1.
  • the virtual switch 112 can forward the encapsulated data message 2 to the physical switch 160 according to the address 1.
  • the physical switch 160 may determine the port on the physical switch 160 according to the address 1, and forward the encapsulated data message 2 through the determined port, wherein the determined port is connected to Link 1.
  • the physical switch 160 stores a forwarding table, which records the correspondence between addresses and ports of the physical switch, and the physical switch 160 can determine the physical switch 160 corresponding to address 1 by querying the forwarding table. Port.
  • the virtual switch 112 forwards the encapsulated data message 2 to the virtual switch 122 according to the address 1.
  • the virtual switch 112 sends the encapsulated data message 2 to the encapsulated data message 2 through the port 112a.
  • the forwarding flow table in the virtual switch 112 may also record the relationship between the address and the port of the virtual switch 112, and the virtual switch may query the forwarding flow table according to the address 1 to determine the port 112a.
  • the virtual switch 122 After the virtual switch 122 receives the encapsulated data message 2, it can query the forwarding flow table in the virtual switch 122, and determine the port on the virtual switch 122 according to the address 1.
  • the forwarding flow table records the address and the virtual switch
  • the corresponding relationship between the ports of 122, the forwarding flow table may be determined by the controller 300 according to the relationship between the ports of the virtual switch 122 and the links.
  • the virtual switch 122 may forward the encapsulated data message 2 through the determined port 122c.
  • Step 504 After receiving the encapsulated data message 2 from the corresponding link, the device 1 decapsulates the encapsulated data message 2 to obtain the data message 2.
  • Step 505 Device 1 forwards data message 2 according to the destination address of data message 2, and forwards data message 2 to its destination device.
  • the device 1 is a CPE190
  • the CPE190 decapsulates, and after decapsulation, the data message 2 is sent to the physical switch of the site 1003.
  • the physical switch of site 1003 sends data message 2 to the virtual switch in site 1003 according to the destination address of data message 2, and the virtual switch in site 1003 sends data message 2 to the destination device.
  • the device 1 is a virtual switch in the site 1003.
  • the encapsulated data message 2 reaches the virtual switch of site 1003 through the physical switch in site 1003.
  • the virtual switch of site 1003 After receiving the encapsulated data message 2, the virtual switch of site 1003 performs decapsulation. After decapsulation, according to the datagram
  • the destination address of message 2 sends data message 2 to the destination device.
  • the device 1 may also be a physical switch in the site 1003.
  • the encapsulated data message 2 link 1 reaches the physical switch of site 1003.
  • the physical switch of site 1003 After receiving the encapsulated data message 2, the physical switch of site 1003 performs decapsulation. After decapsulation, according to the purpose of data message 2
  • the address sends data message 2 to the virtual switch of site 1003, and then the virtual switch of site 1003 sends data message 2 to the destination device according to the destination address of data message 2.
  • the device 1 is a virtual switch in the site 1003, and the virtual switch in the site 1003, after receiving the encapsulated data message 2, encapsulates the received Decapsulate the data message 2 of the data message. After decapsulation, send the data message 2 to the destination device according to the destination address of the data message 2.
  • the virtual switch 112 determines the address 1 according to the service type of the data carried in the payload of the data message 2 and encapsulates the data message 2 according to the address 1 as an example. It should be understood that in some possible implementation manners, when a physical switch is deployed in the site 1001, for example, in the site 1001 as shown in FIG. 2, the virtual switch 112 may not perform the above operations, and the physical switch in the site 1003 160 performs the above operations. Specifically, taking the physical switch 160 in the host 110 to transmit the data message 3 from the virtual machine 111 as an example, based on the data center shown in FIG. 3, another data transmission provided by the embodiment of the present application is Be explained.
  • the service type 1 of the data carried in the payload of the data message 3, and the destination device indicated by the destination address of the data message 3 is located at station 1003, which corresponds to link 1 in Figure 3.
  • the data message can be transferred by the following method 2 Forward to the destination device through link 1. As shown in Figure 6, the method includes:
  • Step 601 The virtual machine 110 sends a data packet 3 to the virtual switch 112.
  • Step 602 After the virtual switch 112 receives the data message 3, it determines according to the destination address of the data message 3 that the data message 2 needs to be transmitted across sites, and sends the data message 3 to the physical switch 160.
  • Step 603 The physical switch 160 determines the service type 1 of the data carried in the payload of the data message 3, and determines the address of the encapsulated data message 3 according to the service type 1, that is, address 1, and the device 1 indicated by the address 1 is connected via link 1. To site 1001.
  • the physical switch 160 includes a pre-configured forwarding table, and the corresponding relationship between service type 1 and address 1 is recorded in the forwarding table.
  • the forwarding table can record the correspondence between each service identifier (the service identifier can indicate the service type) and the address.
  • the physical switch 160 can query the forwarding table configured in the physical switch 160 and determine the address 1 according to the service type 1.
  • the forwarding table in the physical switch 160 may be manually configured in advance, or may be sent by the controller 300 to the physical switch 160 in advance.
  • the physical switch 160 may determine the address 1 according to the service type 1 of the data carried in the payload of the data message 3 and the destination address of the data message 3.
  • the forwarding table in the physical switch 160 can also record the destination address of each data message, the correspondence between the service type and the address of the data carried in the payload of the data message, and the physical switch 160 can query the forwarding table according to the data message.
  • the destination address of text 3 and service type 1 determine address 1.
  • the physical switch 160 can also pass The controller 300 obtains address 1 from the controller 300 by sending the query request.
  • the manner in which the physical switch 160 sends a query request to obtain address 1 from the controller 300 can refer to the manner in which the virtual switch 112 sends query request 1 or query request 2 to obtain address 1 from the controller 300 in the embodiment shown in FIG. 5. Repeat it again.
  • Step 604 The physical switch 160 encapsulates the data message 3 according to the address 1, and the header of the encapsulated data message 3 carries the address 1.
  • Step 605 The physical switch 160 determines a port on the physical switch 160 according to the address 1, and forwards the encapsulated data message 3 through the determined port, wherein the determined port is connected to the link 1.
  • the manner in which the physical switch 160 determines the port on the physical switch 160 according to the address 1 can refer to the related description of step 503 in the embodiment shown in FIG. 5, which will not be repeated here.
  • Step 606 After receiving the encapsulated data message 3 from the corresponding link, the device 1 decapsulates the encapsulated data message 3 to obtain the data message 3.
  • the operation performed by the device 1 in step 606 is the same as the operation performed by the device 1 in step 504, which can be referred to the foregoing content, which will not be repeated here.
  • Step 607 Device 1 forwards data message 3 according to the destination address of data message 3, and forwards data message 3 to the destination device indicated by the destination address of data message 3.
  • the operation performed by device 1 in step 607 is the same as the operation performed by device 1 in step 505, which can be referred to the foregoing content, which will not be repeated here.
  • the virtual switch 112 or the physical switch 160 can determine the address 1 after receiving the data message (such as data message 2 or data message 3) of the virtual machine 111, and The data packet is transmitted; in a possible implementation manner, the virtual switch 112 may also determine the routing information (such as link identifier or address) corresponding to the service type of the data packet, and notify the physical routing information of the routing information In the switch 160, the physical switch sends the data message according to the routing information, that is, the virtual switch 112 and the physical switch 160 can cooperate to realize the transmission of the data message.
  • the routing information such as link identifier or address
  • the embodiment of the present application also provides another data transmission method.
  • the following description is based on the data center in FIG. 3 and the virtual switch 112 and the physical switch 160 in the host 110 cooperate to transmit the data message 4 from the virtual machine 111 as an example.
  • the service type 1 of the data carried in the payload of the data message 4 corresponds to the link 1 in FIG. 3, and the data message 4 can be forwarded to the destination device through the link 1 through the following method.
  • the method includes:
  • Step 701 The virtual machine 110 sends a data packet 4 to the virtual switch 112.
  • Step 702 The virtual switch 112 determines the service type 1 of the data carried in the payload of the data message 4, and determines the address 1 of the encapsulated data message 4 according to the service type 1.
  • Step 703 The virtual switch 112 sends the address 1 and the data message 4 to the physical switch 160.
  • Step 704 The physical switch 160 encapsulates the data message 4 according to the address 1, and the header of the encapsulated data message 4 carries the address 1.
  • the routing information determined by the virtual switch 112 according to the service type 1 is the address 1 of the encapsulated data message 4 as an example.
  • the routing information determined by the virtual switch 112 according to the service type 1 can also be used to indicate Link 1 information, such as the identification of link 1.
  • the physical switch 160 may determine the address 1 of the encapsulated data message 4 according to the identifier of the link 1, and encapsulate the data message 4 according to the address 1.
  • the correspondence between the identifier of link 1 and address 1 may be recorded in a forwarding table in the physical switch 160, and the physical switch may determine address 1 through the identifier of link 1 by querying the forwarding table.
  • Step 705 The physical switch 160 may determine the port on the physical switch 160 according to the address 1.
  • the manner in which the physical switch 160 determines the port can refer to the relevant description of step 503, which will not be repeated here.
  • the physical switch 160 may also determine the port on the physical switch 160 according to the identifier of the link 1.
  • Step 706 The physical switch 160 forwards the encapsulated data message 4 through the determined port.
  • Step 707 the same as step 504, please refer to the related description of step 504, which will not be repeated here.
  • Step 708 same as step 505, please refer to the related description of step 505, which will not be repeated here.
  • each link between the site 1001 and the site 1003 may correspond to one or more different service types.
  • the correspondence between each link and the service type is reflected in the routing information (such as address, link identification, etc.) determined according to the service type.
  • the routing information can be the address of a device on the link corresponding to the service type, or it can be It is information that can indicate the link, such as the identifier of the link.
  • business types of data messages there are higher security requirements, and the data transmission security needs to be ensured during the transmission process, and it is not easy to be intercepted by attackers.
  • These business types of data messages can be encrypted.
  • the data messages of this service type use encryption algorithms with higher encryption levels, such as secure sockets layer (SSL), internet protocol security , IPsec), etc.;
  • SSL secure sockets layer
  • IPsec internet protocol security
  • data messages of this service type may not be encrypted.
  • the encryption strategy may also be an encryption strategy for data messages carrying different destination addresses.
  • the virtual switch 112 before the virtual switch 112 encapsulates the data message 2, it can also determine the encryption strategy 1 according to the service type 1 and/or the destination address of the data message 2, and based on the encryption strategy 1, Data message 2 is encrypted.
  • the forwarding flow table in the virtual switch 112 may not only characterize the foregoing corresponding relationship, but also include an encryption strategy (such as encryption strategy 1 in the embodiment of the present application), and the encryption strategy indicates whether encryption is required and the corresponding encryption algorithm.
  • an encryption strategy such as encryption strategy 1 in the embodiment of the present application
  • the virtual switch in the site 1003 can also query the forwarding flow table, and determine the decryption strategy 1 according to the service type and/or the destination address; due to the encryption strategy and the decryption strategy In contrast, the virtual switch in the site 1003 can decrypt the encrypted data message 2 based on the decryption strategy 1.
  • the virtual machine 110 may also send a data message 3 with the same service type and carrying the same destination address and source address.
  • the virtual switch 112 queries the forwarding flow table, and if it is determined that the data message of the service type needs to be deduplicated, the data message 3 needs to be deduplicated.
  • a virtual machine can send multiple data packets to the same virtual machine within a certain period of time; these data packets have the same service type and carry the same destination address and source address;
  • the data carried in these data messages have relatively small differences; in this case, in order to speed up the data transmission process, after the first complete data message is sent, subsequent data messages can be deduplicated; example It is possible to remove the same data in the subsequent data message as the first data message, and only send the difference message carrying the difference data. In the embodiment of this application, the data in the subsequent data message and the first data message will be removed. The process of sending the same data is called data deduplication.
  • the virtual switch 112 compares the data message 2 with the data message 5, determines the difference data between the payload data of the data message 2 and the payload data of the data message 5, and generates a difference message carrying the difference data;
  • the service type of the difference message is the same as the service type of the data message 2, and carries the same destination address and source address.
  • the difference message can carry the identification information of the difference message, which is used to indicate that the message is a difference message after data deduplication, and the payload carried The data is difference data.
  • the difference message can also indicate the difference position of the data message 5 and the data message 2; to clarify the position of the difference data carried in the difference message in the data message 2.
  • the data size of data message 5 and data message 2 is 100 bytes, and there is a difference from the 20th byte to the 30th byte.
  • the difference message can indicate that data message 5 and data message are different.
  • the difference position of 2 is from the 20th byte to the 30th byte, and it can also indicate that the start position of the difference between data message 5 and data message 2 is the 20th byte.
  • the embodiment of the present application does not limit the manner in which the difference message indicates the difference position of the data message 5 and the data message 2, and the above manner is just an example.
  • the embodiment of the present application does not limit the number of data packets 5.
  • the virtual machine can send multiple data packets 5 to the virtual switch 112, and the virtual switch 112 can generate corresponding data packets 5 and 2 according to each data packet 5 and data packet 2. Difference message, one data message 5 corresponds to one difference message.
  • the difference message may also indicate the sending order of the difference message, indicating which difference message is sent after the data message 2.
  • the embodiment of the present application does not limit the manner of indication.
  • a digital identifier can be carried, and the numerical value of the number indicates the sending order of the difference message.
  • the virtual machine sends three data messages 5 to the virtual switch 112; the virtual switch 112 generates the first difference message according to the first data message 5, and sends it after it carries an indication that the difference message is data message 2.
  • the data identifier 1 of the first difference message of the virtual switch 112; the second difference message generated by the virtual switch 112 according to the second data message 5, and carries the second difference message indicating that the difference message is sent after the data message 2 Data identification of the difference message 2.
  • the difference message when sending a difference message, the same method as that of sending a data message 2 can be used, the difference message is encapsulated according to address 1, and the difference message is sent to the corresponding link according to address 1.
  • the difference message can be encrypted according to encryption strategy 1.
  • the virtual switch in the site 1003 needs to perform data recovery on the difference message, generate data message 5, and forward data message 5 to the destination device.
  • the virtual switch in the site 1003 may also determine, according to the identification information of the difference packet, that the packet is a difference packet after data deduplication.
  • the virtual switch in the site 1003 When the virtual switch in the site 1003 recovers the data of the difference message, it can replace the data of the data message 2 at the difference position with the difference between the data message 2 and the data message 5 indicated by the difference message The difference data carried in the difference message generates a data message 5.
  • the virtual switch in site 1003 Before the virtual switch in site 1003 recovers data message 5 according to the difference message and data message 2, if both the difference message and data message 2 are encrypted, the virtual switch in site 1003 can also perform the difference message Decryption with data message 2, the virtual switch in site 1003 queries the forwarding flow table according to the destination address and/or service type, and determines encryption strategy 1.
  • the virtual switch in the site 1003 can decrypt the data message 2 and the difference message according to the encryption strategy 1.
  • the encryption of the data message 2 and the determination of the difference data between the data message 2 and the data message 5 are all performed by the virtual switch 112. It should be understood that, in some possible implementation manners, The virtual switch 112 may also not perform the above operations, and the physical switch 160 in the site 1003 may perform the above operations. As applied to the embodiment shown in FIG. 6, the virtual switch 112 may, after receiving the data message 3, change The data message 3 is sent to the physical switch 160; after receiving the data message 3, the physical switch 160 can determine the encryption strategy according to the service type 1 of the data carried in the payload of the data message 3, and perform data message 3 based on the encryption strategy.
  • the physical switch 160 when the physical switch 160 receives the data message 5, it can parse the data message 3 and the data message 5, determine the difference data, generate the difference message, and send the difference message in the same way as the data message 3 .
  • the virtual switch 112 may send the data message 4 and the address 1 to the physical switch 160 after receiving the data message 4; the physical switch 160 receives the data message 4 After that, the encryption strategy can be determined according to the service type 1 of the data carried in the payload of the data message 4, and the data message 4 can be encrypted based on the encryption strategy; the physical switch 160 can parse the data message when receiving the data message 5 4 and data message 5, determine the difference data, generate the difference message, and send the difference message in the same manner as the data message 4.
  • the embodiment of the present application also provides a switch for executing the method executed by the virtual switch 112 in step 501 to step 503 in the method embodiment shown in FIG.
  • the switch is located at the first site in the data center, and the data center also includes a second site. There are at least two links, where each link corresponds to at least one service type; the switch includes a receiving unit 810, a processing unit 820, and a sending unit 830;
  • the receiving unit 810 is configured to obtain the first data packet sent by the virtual machine in the first site.
  • the processing unit 820 is configured to identify the service type of the first data packet; determine the routing information of the first data packet according to the service type of the first data packet, and the routing information is used to indicate the bearer chain of the first data packet transmission road.
  • the sending unit 830 is configured to send the first data packet according to the routing information, where the first data packet is transmitted to the second station through the bearer link.
  • the processing unit 820 may encapsulate the first data packet after determining the routing information of the first data packet according to the identified service type, and the routing information is located in the encapsulated first data packet. In the header of the message; afterwards, the sending unit 830 may send the encapsulated first data message according to the routing information.
  • the sending unit 830 further includes multiple ports, and each port is connected to at least one of the two links; for example, the switch may be a physical switch 160 as shown in FIG. 160 can perform the method performed by the physical switch 160 in the embodiment shown in FIG. 6.
  • the switch may also be the virtual switch 122 shown in FIG. 4, and the virtual switch 122 may execute the method executed by the virtual switch 122 in the embodiment shown in FIG. 5.
  • the sending unit 830 may determine the forwarding port of the encapsulated first data packet according to the routing information, and forward the encapsulated first data packet through the forwarding port.
  • the switch is composed of a virtual switch and a physical switch.
  • the virtual switch may perform the method performed by the virtual switch 112 in the embodiment shown in FIG. 5, and the physical switch may perform the method shown in FIG. 5 The method performed by the physical switch 160 in the embodiment.
  • the virtual switch includes a first sending unit 831, a first processing unit 821, and a first receiving unit 811;
  • the physical switch includes a second sending unit 832, a second processing unit 822, and a second receiving unit 812.
  • the second sending unit 832 includes a plurality of ports of a physical switch, and each port is connected to one of at least two links.
  • the first receiving unit 811 first obtains the first data packet sent by the virtual machine; after that, the first processing unit 821 identifies the service type of the first data packet, and according to the service type of the first data packet The type determines the routing information of the first data message; the first data message can also be encapsulated according to the routing information. After the encapsulation of the first data message is completed, the first sending unit 831 can send the encapsulated first data message To the physical switch, that is, the second receiving unit 812 in the physical switch.
  • the second processing unit 822 may determine the forwarding port of the encapsulated first data message according to the routing information; then, the second sending unit 832 forwards the encapsulated first data message through the forwarding port.
  • the switch is composed of a virtual switch and a physical switch.
  • the virtual switch may perform the method performed by the virtual switch 112 in the embodiment shown in FIG. 7, and the physical switch may perform the method shown in FIG. The method performed by the physical switch 160 in the embodiment.
  • the virtual switch includes a first sending unit 831, a first processing unit 821, and a first receiving unit 811; the physical switch includes a second sending unit 832, a second processing unit 822, and a second receiving unit 812.
  • the second sending unit 832 includes a plurality of ports of a physical switch, and each port is connected to one of at least two links.
  • the first receiving unit 811 first obtains the first data packet sent by the virtual machine; after that, the first processing unit 821 can identify the service type of the first data packet; The service type determines the routing information of the first data packet; the first sending unit 831 may then send the routing information and the first data packet to the second receiving unit 812.
  • the second processing unit 822 may encapsulate the first data packet according to the routing information, and determine the encapsulated first data packet according to the routing information.
  • a forwarding port of a data message after that, the second sending unit 832 forwards the encapsulated first data message through the forwarding port.
  • the sending unit 830 may send a query request to the controller in the data center, and the query request carries the service type of the first data packet; after that, the receiving unit 810 ( Or the first receiving unit 811) receives the query response returned by the controller, and the query response carries routing information.
  • the processing unit 820 (or the first processing unit 821) can also identify the destination address of the first data packet; it can also carry the destination address of the first data packet in the query request, by The sending unit 830 (or the first sending unit 831) sends to the controller.
  • the processing unit 820 may encrypt the first data packet before the sending unit 830 sends the first data packet according to the routing information
  • the encryption strategy is determined according to the service type; after that, the first data message is encrypted based on the encryption strategy.
  • the switch may also perform data deduplication; for example, the receiving unit 810 (the first receiving unit 811 or the second receiving unit 812) may obtain the second data packet of the virtual machine, and the second The data message and the first data message have the same service type and destination address; the processing unit 820 (the first processing unit 821 or the second processing unit 822) can determine the difference between the first data message and the second data message Data; the sending unit 830 (the first sending unit 831 or the second sending unit 832) then sends the difference data according to the routing information, and the difference data is transmitted to the second site through the bearer link.
  • the receiving unit 810 the first receiving unit 811 or the second receiving unit 812
  • the processing unit 820 the first processing unit 821 or the second processing unit 822
  • the sending unit 830 the first sending unit 831 or the second sending unit 832 then sends the difference data according to the routing information, and the difference data is transmitted to the second site through the bearer link.
  • the division of units in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • the functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including a number of instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .
  • the switch 900 shown in FIG. 9 includes at least one processor 910, a memory 920, and optionally, a port 930.
  • the memory 920 may be a volatile memory, such as a random access memory; the memory may also be a non-volatile memory, such as a read-only memory, flash memory, hard disk drive (HDD) or solid-state drive (solid-state drive, SSD) or the memory 920 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 920 may be a combination of the foregoing memories.
  • connection medium between the foregoing processor 910 and the memory 920 is not limited in the embodiment of the present application.
  • FIG. 9 it also includes a port 930 (only one port is exemplarily drawn in FIG. 9, and it should be understood that the switch 900 may include multiple ports) for connecting to other devices; the processor 910 When communicating with other devices, data can be transmitted through port 930.
  • a port 930 (only one port is exemplarily drawn in FIG. 9, and it should be understood that the switch 900 may include multiple ports) for connecting to other devices; the processor 910 When communicating with other devices, data can be transmitted through port 930.
  • the processor 910 in FIG. 9 can invoke the computer-executed instructions stored in the memory 920, so that the switch 900 can execute the method in any of the foregoing method embodiments; for example, the switch 900 can Perform the method performed by the virtual switch 112 in step 501 to step 503 in the method embodiment shown in FIG. 5, or perform the method performed by the physical switch 160 in step 602 to step 605 in the method embodiment shown in FIG. 6, or The method executed by the virtual switch 112 and the physical switch 160 in steps 701 to 706 in the method embodiment shown in FIG. 7 is executed.
  • the functions/implementation processes of the sending unit, the receiving unit, and the processing unit in FIG. 8 may all be implemented by the processor 910 in FIG. 9 calling a computer execution instruction stored in the memory 920.
  • the function/implementation process of the processing unit in FIG. 8 may be implemented by the processor 910 in FIG. 9 calling computer execution instructions stored in the memory 920, and the function/implementation process of the sending unit and the receiving unit in FIG. 8 may be implemented by Port 930 in Figure 9 is implemented.
  • the functions/implementation processes of the first sending unit, the first receiving unit, and the first processing unit in FIG. 8 may all be stored in the memory 920 through the processor 910 in FIG.
  • the computer executes instructions to achieve.
  • the function/implementation process of the first processing unit in FIG. 8 can be implemented by the processor 910 in FIG. 9 calling a computer execution instruction stored in the memory 920, and the first sending unit and the first receiving unit in FIG.
  • the function/implementation process can be implemented through the port 930 in FIG. 9.
  • the functions/implementation processes of the second sending unit, the second receiving unit, and the second processing unit in FIG. 8 may all be stored in the memory 920 through the processor 910 in FIG.
  • the computer executes instructions to achieve.
  • the function/implementation process of the second processing unit in FIG. 8 can be implemented by the processor 910 in FIG. 9 calling a computer execution instruction stored in the memory 920, and the second sending unit and the second receiving unit in FIG.
  • the function/implementation process can be implemented through the port 930 in FIG. 9.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • a computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

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

一种数据传输方法、交换机及站点,用以解决CPE的设置导致的边缘云服务部署难度较大的问题。本申请中,第一站点中的交换机获取第一站点中的虚拟机发送的第一数据报文,之后,识别第一数据报文的业务类型;并根据第一数据报文的业务类型,确定第一数据报文的路由信息;在确定了路由信息之后,交换机根据路由信息发送第一数据报文,路由信息用于指示传输第一数据报文的承载链路,第一数据报文传输到第二站点所经过的链路为该承载链路。这样,第一数据报文可以通过第一数据报文的业务类型对应的链路传输。站点中不需要再部署CPE即可实现数据报文在跨站点传输时的链路选择,能够降低站点的部署难度,也可以有效节约站点机房的空间。

Description

一种数据传输方法、交换机及站点 技术领域
本申请涉及信息技术领域,尤其涉及一种数据传输方法、交换机及站点。
背景技术
云计算厂商提供的服务包括部署在不同站点的中心云服务和边缘云服务,二者基于站点之间的数据交互协同为用户提供服务。例如,部署在靠近数据源的站点的边缘云服务,快速、方便地从数据源获取数据,对获取的数据进行一些处理,将处理后的数据提供给另一站点的中心云服务,以供中心云服务进行后续处理。
数据在站点间的传输质量是影响服务质量的关键因素。为保证传输质量,各个站点中部署有用户驻地设备(customer-premises equipment,CPE),用于实现不同站点之间的数据传输。而目前,提供边缘云服务的站点通常部署在数据源附近的现有机房,例如接入机房,这样的机房空间有限,能够提供的功耗也有限,在有限的空间和功耗下部署CPE的会大大增加边缘云服务部署的难度。
发明内容
本申请提供一种数据传输方法、交换机及站点,用以解决CPE的设置导致的边缘云服务部署难度较大的问题。
第一方面,本申请实施例提供了一种数据传输方法,该方法应用于数据中心,数据中心包括第一站点和第二站点,第一站点与第二站点之间建立至少两条链路,其中,每条链路可以对应至少一种业务类型;第一站点中的交换机向第二站点传输第一站点中的虚拟机的第一数据报文的过程如下:
首先,第一站点中的交换机获取第一站点中的虚拟机发送的第一数据报文,之后,识别第一数据报文的业务类型;并根据第一数据报文的业务类型,确定第一数据报文的路由信息,路由信息用于指示传输第一数据报文的承载链路;在确定了路由信息之后,交换机根据路由信息发送第一数据报文,第一数据报文传输到第二站点所经过的链路为该承载链路。
通过上述方法,第一站点中的交换机根据第一数据报文的路由信息传输第一数据报文,且第一数据报文的承载链路是根据业务类型确定的,为业务类型对应的链路,这样,第一数据报文可以通过第一数据报文的业务类型对应的链路传输。站点中不需要再部署CPE即可实现数据报文在跨站点传输时的链路选择,能够降低站点的部署难度,也可以有效节约站点机房的空间,节约的空间可用来部署更多的主机或其他设备,能够提升站点的服务能力。
在一个可能的设计中,交换机在根据第一数据报文的业务类型,确定第一数据报文的路由信息之后,交换机可以对第一数据报文进行封装,将路由信息封装在第一数据报文的报文头中;之后,交换机可以根据路由信息发送封装后的第一数据报文。
在上述可能的设计中,交换机通过封装数据报文的形式将路由信息携带在封装后的第一数据报文中,进而转发封装后的第一数据报文,那么,在第一数据报文的业务类型对应 的链路中传输的即为封装后的第一数据报文,进而可以在不部署CPE的情况下,在第一数据报文的业务类型对应的链路中转发第一数据报文。
在一个可能的设计中,若交换机包括多个端口,其中,每个端口连接至少两条链路中的一条链路,每个端口都可以通过一条链路与第二站点连接;交换机在发送封装后的第一数据报文时,交换机可以根据路由信息确定封装后的第一数据报文的转发端口,该转发端口为交换机的多个端口中的一个,之后,交换机可以通过该转发端口转发封装后的第一数据报文。
通过上述方法,由交换机可以将封装后的第一数据报文通过对应的端口发送至业务类型对应的链路,进一步节约机房空间,从而进一步降低了站点部署的难度,提升了站点的服务能力。
在一个可能的设计中,交换机包括第一站点中的虚拟交换机和物理交换,物理交换机包括多个端口,每个端口可以连接至少两条链路中的一条链路;虚拟交换机和物理交换机配合传输第一数据报文,过程如下:首先,虚拟交换机从虚拟机获取第一数据报文;识别出第一数据报文的业务类型;并根据第一数据报文的业务类型,确定第一数据报文的路由信息;虚拟交换机对第一数据报文进行封装,将路由信息封装在第一数据报文的报文头中,之后,再将封装后的第一数据报文发送至物理交换机;物理交换机在接收到第一数据报文之后,根据路由信息确定封装后的第一数据报文的转发端口,该转发端口为物理交换机的多个端口中的一个;通过转发端口转发封装后的第一数据报文。
通过上述方法,虚拟交换机通过将封装后的第一数据报文转发给物理交换机,由物理交换机将封装后的第一数据报文中的通过对应的转发端口发送至业务类型对应的链路。站点所在的机房通常部署有物理交换机,在不部署CPE的情况下,利用机房中现有的物理交换机也可以使得第一数据报文可以通过对应的链路传输。
在一个可能的设计中,交换机可以包括第一站点中的虚拟交换机和物理交换机,物理交换机包括多个端口,每个端口可以连接至少两条链路中的一条链路;虚拟交换机和物理交换机配合传输第一数据报文,过程如下:首先,虚拟交换机接收来自虚拟机的第一数据报文;并在识别出第一数据报文的业务类型后,根据第一数据报文的业务类型,确定第一数据报文的路由信息;之后,可以将路由信息和第一数据报文一同发送给物理交换机,物理交换机在接收到第一数据报文和路由信息之后,可以根据路由信息封装第一数据报文,并根据路由信息确定封装后的第一数据报文的转发端口,通过转发端口转发封装后的第一数据报文。
通过上述方法,虚拟交换机通过将路由信息和第一数据报文转发给物理交换机,由物理交换机完成第一数据报文的封装操作,并将封装后的第一数据报文通过对应的转发端口发送至业务类型对应的链路。站点所在的机房通常部署有物理交换机,在不部署CPE的情况下,利用机房中现有的物理交换机同样可以使得第一数据报文可以通过对应的链路传输。
在一个可能的设计中,数据中心还包括控制器,控制器保存第一站点与第二站点之间链路的配置信息以及每个站点内部设备间连接关系,控制器可以通过向交换机下发转发表对交换机进行控制,另外,交换机可以主动向控制器发送查询请求。示例性的,交换机在根据第一数据报文的业务类型,确定第一数据报文的路由信息时,可以向控制器发送查询请求,查询请求携带第一数据报文的业务类型;通过接收控制器返回的查询响应确定第一数据报文的路由信息。
通过上述方法,交换机在确定第一数据报文的路由信息时,可以从控制器中获取该路由信息,进一步,保证第一数据报文可以通过业务类型对应的链路传输至第二站点。
在一个可能的设计中,交换机在识别第一数据报文的目的地址后,也可以将第一数据报文的目的地址携带在查询请求中。
通过上述方法,交换机在确定第一数据报文的路由信息时,可以通过告知控制器第一数据报文的目的地址以及业务类型,从控制器中获取该路由信息,进一步,保证第一数据报文可以通过业务类型对应的链路传输至第二站点。
在一个可能的设计中,交换机根据路由信息发送第一数据报文之前,可以对第一数据报文进行加密,对于不同的业务类型可以设置不同的加密策略;示例性的,交换机可以根据业务类型确定加密策略;之后,再基于加密策略,对第一数据报文进行加密。
通过上述方法,交换机可以通过对第一数据报文加密,来保证第一数据报文的安全性。
在一个可能的设计中,交换机根据路由信息发送数据报文之后,若从同一虚拟机接收到业务类型相同,且目的地址相同的第二数据报文,交换机可以通过只发送差异数据的方式,发送第二数据报文,过程如下:交换机可以确定第一数据报文和第二数据报文的差异数据;采用与发送第一数据报文相同的方式,根据路由信息发送差异数据,差异数据通过承载链路传输至第二站点。
通过上述方法,同一业务类型、目的地址和源地址相同的多个数据报文,交换机可以只发送与首个数据报文不同的差异数据,可以有效提高数据传输效率。
第二方面,本申请实施例还提供了一种交换机,有益效果可以参见第一方面的描述此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请实施例还提供了一种交换机,有益效果可以参见第一方面的描述此处不再赘述。交换机的结构中包括处理器和存储器,处理器被配置为支持交换机执行上述第一方面方法中相应的功能。存储器与处理器耦合,其保存交换机必要的程序指令和数据。通信装置的结构中还包括多个端口,用于与其他设备进行通信。
第四方面,本申请实施例还提供了一种第一站点,该第一站点中包括虚拟机以及交换机,有益效果可以参见第一方面的描述此处不再赘述。交换机执行上述第一方面以及第一方面任一可能的设计中相应的功能。
第五方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第六方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第七方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述各方面的方法。
附图说明
图1为本申请实施例提供的一种数据中心的架构图;
图2为本申请实施例提供的一种数据中心的架构图;
图3为本申请实施例提供的一种数据中心的架构图;
图4为本申请实施例提供的一种数据中心的架构图;
图5为本申请实施例提供的一种数据传输的方法示意图;
图6为本申请实施例提供的一种数据传输的方法示意图;
图7为本申请实施例提供的一种数据传输的方法示意图;
图8为本申请实施例提供的一种交换机的结构示意图;
图9为本申请实施例提供的一种交换机的结构示意图。
具体实施方式
本申请提供了一种数据传输方法、交换机及站点,用以解决CPE的设置会增加边缘站点的部署难度的问题。其中,本申请所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
下面对本申请实施例涉及的名称术语进行说明:
1)站点,在本申请实施例中,表示设备的集合。站点中的设备基于数据源产生的数据提供服务。数据源可以是站点内的设备,也可以是站点外的设备。通常,距离数据源较远的站点被称作中心站点,距离数据源较近的站点被称作边缘站点。数据中心通常包括多个站点。
2)服务,包括但不限于计算服务、存储服务、网络服务等,用户可以访问到的任何设备或功能都可视为数据中心提供的服务。服务可以是基于一个站点内的设备提供的,也可以是基于多个站点内的设备提供的,本申请实施例对此不作限制。通常情况下,称部署在中心站点中的服务为中心服务或者中心云服务,称部署在边缘站点中的服务为边缘服务或者边缘云服务。
3)广域网(wide area network,WAN),又称外网、公网,在本申请实施例中,不同站点间的设备经WAN互通。
4)链路,或称专用线路、专线,在本申请实施例中表示承载站点之间的WAN的物理链路。本申请实施例长的链路包括但不限于互联网(Internet)、多协议标签交换虚拟专用网络(multi-protocol label switching virtual private network,MPLS VPN)、第五代移动通信技术(5th-Generation,5G)网络、第四代移动通信技术(4th-Generation,4G)网络等。
5)有效载荷(payload),数据报文包括报文头以及有效载荷,有效载荷用于携带数据报文中的有效数据,如业务数据等;报文头用于携带描述有效数据的一些辅助信息,如有效数据的数据量、校验位等等。在本申请实施例中数据报文的业务类型即为数据报文中有效载荷所携带的数据的业务类型,这两种表述是等同的,本申请实施例不区分这两种表述。另外,数据报文中携带的业务标识可以指示该数据报文的业务类型。
6)路由信息,在本申请实施例中,路由信息可以是封装数据报文所采用的地址(如地址1),该地址1指示的设备为业务类型对应的链路上的一个设备;也可以是其他指示链路的信息,如链路标识等。
7)在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序,本发明实施例中的“多个” 是指两个或两个以上。
8)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以图1中的数据中心100为例,说明本申请实施例中的一种数据中心的架构。图1中示例性地绘制出站点1001和站点1002,站点1001和站点1002可以为两个中心站点或者两个边缘站点,站点1001和站点1002也可以分别为一个边缘站点和一个中心站点。
站点1001包括至少一个运行有虚拟交换机的主机。示例性地,图1中绘制出站点1001中的两个主机,分别为主机110、主机120。主机上运行有虚拟机和虚拟交换机,如主机110上部署有虚拟机111和虚拟交换机112,主机120上部署有虚拟机121和虚拟交换机122;本申请实施例中并不限定主机上运行的虚拟机的数量,图1中仅是以各个主机均部署一个虚拟机为例,在具体应用中,主机上部署的虚拟机个数可以根据需要进行设置。除了运行虚拟交换机的主机外,站点1001还可以包括未运行虚拟机以及虚拟交换机的主机,例如未部署虚拟机及虚拟交换机的主机可以作为管理主机,对站点1001中的其他主机进行管理,或者用于提供对安全性或者计算性能要求较高的服务。
可选地,如图1所示,站点1001还可以部署物理交换机160和CPE170。示例性地,图1中仅绘制出一个物理交换机与一个CPE,在本申请实施例中,站点中可以部署一个或者多个物理交换机,站点中也可以部署一个或多个CPE。物理交换机160与站点1001的各个主机连接,在各个主机之间以及主机和CPE之间转发数据报文。CPE170分别与物理交换机160以及WAN相连接,从物理交换机160接收数据报文,并将接收到的报文通过WAN转发至站点1002。
与站点1001的结构类似,站点1002包括至少一个运行有虚拟交换机的主机,主机还运行有部署虚拟机。图1中以站点1002包括三个主机为例,分别为主机130,主机140和主机150,主机130上部署有虚拟机131和虚拟交换机132,主机140上部署有虚拟机141和虚拟交换机142,主机150上部署有虚拟机151和虚拟交换机152;尽管图1未示出,站点1002也可以包括未部署虚拟机的主机,未部署虚拟机的主机的功能可参见前述内容,此处不再赘述。可选地,站点1002还可以包括物理交换机180和CPE190。
站点1001和站点1002中的设备利用CPE170与CPE190之间的WAN互通。承载WAN的链路可以为一条或者多条,站点1001和站点1002之间可以通过一个或多个不同的链路互通。当数据报文的有效载荷中携带的数据所述的业务类型不同,数据报文在WAN中转发时所适用的链路可能不同。以通讯、视频、邮件业务为例,通讯业务,要求通话质量清晰、传输时间短、数据间隔短,因而通信业务的数据报文通常适用具有较小的传输时延的链路;视频业务的传输的数据量大,因而视频业务的数据报文适用带宽更高的链路;相较于通讯业务,邮件业务对传输时延的要求较低,通常只需保证在一定得时间范围内传输成功即可,互联网即可满足业务需求。站点1001和站点1002之间可以传输一种或多种业务类型的数据报文,每个数据报文对应站点1001和站点1002之间的一条或多条链路。
下文中,基于如图1所示的站点1001和站点1002,以站点1001中虚拟机111发送数据报文1至站点1002中虚拟机131的过程为例,介绍一种数据传输方法。
在数据报文1传输过程中,虚拟机111将数据报文1发送至主机110上的虚拟交换机113,数据报文1的目的设备为站点1002上的虚拟机131,数据报文1携带目的地址为虚 拟机131的地址。虚拟交换机111根据数据报文1携带的目的地址,识别出数据报文1的目的设备位于站点1002;虚拟交换机111即将该数据报文1转发至物理交换机160。物理交换机160接收数据报文1后,将该数据报文1发送至CPE170,CPE170作为数据报文1在离开站点1001前经过的最后一个设备,需要根据数据报文1的有效载荷中携带的数据的业务类型为数据报文1选择链路。具体的,CPE170上的多个端口分别连接至不同的链路,图1中示例性地绘制出链路1和链路2。CPE170识别数据报文1的目的地址,根据数据报文1的有效载荷中携带的数据所属的业务标识确定在多个端口中确定转发端口,将数据报文1通过确定的端口转发至该端口连接的链路,进而通过该链路转发至站点1002中的CPE190。
站点1002中的CPE190接收到数据报文1后,CPE190根据数据报文1中携带的虚拟机131的地址,将数据报文1传输至物理交换机180,物理交换机180接收数据报文1后,根据虚拟机131的地址将数据报文1发送至主机130上的虚拟交换机132,由虚拟交换机132将数据报文1转发至虚拟机131。
由上述数据传输过程可见,两个站点之间的数据传输,需要CPE参与,以完成链路的选择。当边缘站点的空间有限,CPE的设置会增加边缘站点部署的难度。
基于此,本申请实施例提供另一种数据中心架构,如图2所示,以数据中心100为例,数据中心100包括站点1001和站点1003,图2中仅示出站点1001中虚拟交换机111与交换机200的连接方式,应需理解的是,站点1001还可以包括其他虚拟机,且其他虚拟机与交换机200的连接方式可参考前文对图2中虚拟机111和交换机200连接方式的描述,此处不再赘述。
虚拟机111与交换机200连接,交换机200连接至WAN中的多条链路。交换机200上有一个或多个端口,每个端口连接至承载WAN的一条链路。如图2中示例性的绘制了站点1003,站点1001和站点1003之间连接有承载WAN的链路1、链路2以及链路3;链路1、链路2以及链路3分别连接在站点1003中设备1、设备2以及设备3上。设备1、设备2以及设备3的设备类型与站点1003的具体架构有关,本申请实施例并不限定。站点1003的具体架构的可选实施方式以及设备1、设备2和设备3在下文中介绍。
交换机200获取虚拟机110发送的数据报文(本申请实施例中的数据报文2、数据报文3、数据报文4、以及数据报文5),通过与站点1003连接的多个链路中的与数据报文的业务类型对应的链路发送至站点1003。
可选地,站点1001还包括控制器300,控制器300连接交换机200,实现对站点1001中交换机200的控制。
在本申请实施例中,交换机200识别出虚拟机110的数据报文(如本申请实施例中的数据报文1、数据报文2、数据报文3以及数据报文4)的业务类型,确定该业务类型对应的路由信息,之后根据路由信息发送该数据报文,将该数据报文通过站点1001与站点1003之间的链路中与该业务类型对应的链路传输到站点1003;在传输该数据报文之前,交换机200还根据路由信息对该数据报文进行封装。
交换机200还可以通过发送携带有业务类型(还可以携带数据报文的目的地址)的查询请求的方式从控制器300获取路由信息。
可选的,交换机200能够基于数据报文的业务类型确定的加密策略对数据报文加密; 而对于同一业务类型、源地址以及目的地址的相同的数据报文,交换机200可以确定后续数据报文与首个数据报文中的差异数据,采用与发送首个数据报文相同的方式发送差异数据。
本申请实施例中不限定交换机200的类型。交换机200可以是站点1001中的虚拟交换机,也可以是站点1001中的物理交换机,交换机200还可以包括虚拟交换机和物理交换机。图3和图4中绘制出两种具体的站点1001的架构。在如图3所示的站点1001中,站点1001包括虚拟交换机112和物理交换机160,此时,交换机200可以由虚拟交换机112实现,也可以由物理交换机160实现,此外交换机200还可以由虚拟交换机112和物理交换机160共同实现。在如图4所示的站点1001中,交换机200可以由虚拟交换机112实现。
下文分别介绍图3、图4中的站点1001的架构。
如图3所示,本申请实施例提供另一种数据中心架构。仍以数据中心100为例,数据中心100包括站点1001和站点1003,示例性地,图3中仅示出站点1001中主机110与物理交换机160的连接方式,应需理解的是,站点1001还可以包括其他主机,且其他主机、主机110与物理交换机的连接方式可参考前文对图1中主机和物理交换机连接方式的描述,此处不再赘述。物理交换机180上有一个或多个端口,每个端口连接至承载WAN的一条链路。如图3中示例性的绘制了站点1003,站点1001和站点1003之间连接有承载WAN的链路1、链路2以及链路3;链路1、链路2以及链路3分别连接在站点1003中设备1、设备2以及设备3上。设备1、设备2以及设备3的设备类型与站点1003的具体架构有关,本申请实施例并不限定。站点1003的具体架构以及设备1、设备2和设备3在下文中介绍。
可选地,控制器300连接站点1001中的虚拟交换机,实现对站点1001中各虚拟交换机的统一控制。
控制器300可以部署在站点1001内,也可以部署站点1001之外,控制器300可以是仅控制站点1001内的虚拟交换机,也可以实现对多个站点的虚拟交换机的统一控制。
如图4所示,为本申请实施例提出的数据中心的另一种架构示意图,仍以数据中心100为例,数据中心100包括站点1001和站点1003,示例性地,图4中仅绘制出站点1001中的主机110、主机120。该至少两个主机中的各主机不经过物理交换机,主机之间直接互联,从而建立各主机上的虚拟交换机之间的连接。
如图4所示,主机110和主机120上的每个虚拟交换机上均具有一个或多个端口。具体地,虚拟交换机112具有端口112a,虚拟交换机122具有端口122a、端口122b、端口122c以及端口122d。虚拟交换机112的端口112a与虚拟交换机122的端口122a之间连接,从而连接主机110与主机120,实现主机110与主机120之间的数据互通。此外,虚拟交换机122上的端口122b、122c和端口122d分别连接至WAN中的链路1、链路2和链路3。当主机110上的虚拟机111需要访问站点1003时,虚拟机111通过端口112a和端口122a将数据报文发送至主机120上的虚拟交换机122,再由虚拟交换机122将数据报文通过对应的链路转发至WAN。如图4中示例性的绘制了站点1003,站点1001和站点1003之间连接有承载WAN的链路1、链路2以及链路3;链路1、链路2以及链路3分别连接在站点1003中设备1、设备2以及设备3上。设备1、设备2以及设备3的设备类型与站点1003的具体架构有关,本申请实施例并不限定。站点1003的具体架构以及设备1、设备2和设备3在下文中介绍。
可选地,控制器300连接站点1001的主机110中的虚拟交换机112和主机120中的虚拟交换机122,控制器300通过转发流表可以实现对虚拟交换机112、虚拟交换机132的统一控制。控制器300也可以在虚拟交换机112的请求下下发路由信息,实现对虚拟交换机112的控制。
控制器300可以是仅控制站点1001内的虚拟交换机,也可以实现对多个站点的虚拟交换机的统一控制。
图2、图3或者图4中的站点1003的架构可参照图1、图2、图3或者图4中的站点1001。当站点1003采用类似图1所示的站点1001的架构,站点1003包括至少一个主机、物理交换机和多个CPE,设备1、设备2和设备3均为CPE;物理交换机与每个CPE,至少一个主机与物理交换机的连接关系可参见图1中主机与物理交换机的连接关系。当站点1003采用类似图2所示的站点1001的架构,站点1003中包括至少一个交换机,设备1、设备2和设备3可以站点1003的任一交换机。
当站点1003采用类似图3所示的站点1001的架构,站点1003中包括至少一个运行虚拟交换机的主机和物理交换机,设备1、设备2和设备3可以站点1003的任一主机上的虚拟交换机,设备1、设备2和设备3也可以站点1003的任一物理交换机。
当站点1003采用类似图4所示的站点1001的架构,站点1003中包括至少一个运行虚拟交换机的主机,设备1、设备2和设备3可以站点1003的任一主机上的虚拟交换机。
需要说明的是,图2、图3和图4中仅是示例性的绘制出了站点1003存在的设备1、设备2以及设备3,当站点1001与站点1003之间的承载WAN的链路有多条时,站点1003中部署有连接至每条链路的设备。
基于图2-图4中的数据中心,本申请实施例提供还一种数据传输方法。交换机接收到数据报文,识别出数据报文的业务类型后,通过业务类型确定路由信息(如下文中的地址1以及链路标识等信息),根据路由信息对数据报文进行转发,通过该业务类型对应的链路传输该数据报文。这样,站点中不需要再部署CPE即可实现链路的选择,降低了站点的部署难度,节约了站点机房的空间,节约的空间可用来部署更多的主机或其他设备,便于提高站点的服务能力。
需要说明的是,根据业务类型确定的路由信息可以指示传输数据报文的承载链路。数据报文的承载链路指该数据报文在两个站点之间传输时承载该数据报文的链路,本申请实施例并不限定路由信息指示传输数据报文的承载链路的方式,例如,路由信息可以为封装报文所采用的地址(如下文中的地址1),该地址指示的设备为该承载链路上的一个设备;路由信息也可以该承载链路的标识信息,例如链路标识(如下文中的链路1的标识)、链路编号等。
具体地,以主机110中的虚拟交换机112传输来自虚拟机111的数据报文2为例对本申请实施例提供的另一种数据传输进行说明。数据报文2的有效载荷中携带的数据的业务类型1,对应图3、图4中的链路1,通过下文中的方法可将数据报文2通过链路1转发至目的设备。如图5所示,该方法包括:
步骤501:虚拟机110向虚拟交换机112发送数据报文2。
数据报文2的有效载荷中携带的数据的业务类型1包括但不限于邮件、视频、通讯、游戏、办公、金融、股票等。
数据报文2还携带源地址和目的地址。源地址即虚拟机111的地址,目的地址即数据报文2的目的设备的地址。源地址和目的地址包括但不限于互联网协议地址(internet protocol address,IP)、媒体访问控制地址(media access control address,MAC)地址和端口号等。
步骤502:虚拟交换机112确定数据报文2的业务类型,即业务类型1,根据业务类型1确定封装数据报文2的地址,并根据所确定的地址封装数据报文2,封装后的数据报文2的报文头中携带站点1003中设备1的地址,即地址1,设备1经链路1连接至站点1001。
虚拟交换机112中存储有业务类型1和地址1的对应关系,可选地,该对应关系可以记录在转发流表中。转发流表中还记录各业务标识(业务标识可以指示业务类型)和地址的对应关系,各业务标识对应的地址为站点1003中通过对应链路连接至站点1001的设备的地址。可选地,虚拟交换机112的转发流表可以由控制器300生成并下发至虚拟交换机112。
可选的,虚拟交换机112在根据业务标识确定地址1之前,还根据数据报文2的目的地址确定数据报文2需要跨站点传输,也就是确定虚拟机111与数据报文2的目的设备位于不同的站点。图3所示的实施例中,若目的地址所指示的目的设备位于站点1003,如目的地址为虚拟机131的地址,则数据报文2需要跨站点传输,虚拟交换机112对数据报文2进行封装。
可选地,地址1可以是根据数据报文2的目的地址、数据报文的有效载荷中携带的数据的业务类型决定的。转发流表中还可以记录各数据报文的目的地址、数据报文的有效载荷中携带的数据的业务类型与地址之间对应关系。也就是说,当两个数据报文的有效载荷携带的数据的业务类型相同,但两个数据报文的目的地址不同,这两个数据报文对应的链路可能不同,因此,在确定封装数据报文2的地址时,可选地,根据数据报文2的目的地址和业务类型来确定封装数据报文2的地址。虚拟交换机112可以通过查询转发流表根据数据报文2的目的地址和业务类型1确定地址1。
若虚拟交换机112没有记录业务类型1以及地址1之间的对应关系,虚拟交换机112向控制器300发送查询请求1,该查询请求1用于向控制器300查询业务类型1对应的地址1,该查询请求1可以携带数据报文2的业务类型1。示例性的,该查询请求1可以携带业务标识1,该业务标识1可以指示业务类型1。
类似的,若地址1是根据数据报文2的目的地址、数据报文2的有效载荷中携带的数据的业务类型1决定的;在虚拟交换机112的转发流表中没有记录业务类型1、数据报文2的目的地址与地址1之间的对应关系的情况下,虚拟交换机112也可以向控制器300发送查询请求2,该查询请求2用于向控制器300查询业务类型1以及数据报文2的目的地址共同对应的地址1;该查询请求2可以携带有数据报文2的业务类型1以及数据报文2的目的地址。
控制器300在接收到查询请求1或查询请求2后,可以根据数据报文2的有效载荷中携带的数据的业务类型1确定地址1;作为一种可能的实施方式,控制器可以数据报文2的有效载荷中携带的数据的业务类型1以及数据报文2的目的地址确定地址1;之后将地址1携带在查询响应中反馈给虚拟交换机112。
步骤503:虚拟交换机112根据地址1将封装后的数据报文2转发至对应的链路,即链路1。
如图3所示的站点1001中,虚拟交换机112可以根据地址1将封装后的数据报文2转发至物理交换机160。
物理交换机160在接收到封装后的数据报文2之后,可以根据地址1确定物理交换机160上的端口,并经确定的端口转发封装后的数据报文2,其中,所述确定的端口连接至链路1。
作为一种可能的实施方式,物理交换机160中保存有转发表,该转发表记录了地址与物理交换机的端口之间的对应关系,物理交换机160可以通过查询转发表确定地址1对应的物理交换机160的端口。
如图4所示的站点1001中,虚拟交换机112根据地址1将封装后的数据报文2转发至虚拟交换机122。示例性的,虚拟交换机112通过端口112a将封装后的数据报文2发送封装后的数据报文2。示例性的,虚拟交换机112中的转发流表还可以记录地址与虚拟交换机112的端口之间的关系,虚拟交换机可以根据地址1,查询转发流表确定端口112a。
虚拟交换机122在接收到封装后的数据报文2之后,可以查询虚拟交换机122中的转发流表,根据地址1确定虚拟交换机122上的端口;其中,该转发流表中记录了地址与虚拟交换机122的端口之间的对应关系,该转发流表可以是控制器300根据虚拟交换机122的端口与链路之间的关系确定的。
虚拟交换机122在确定了端口122c后,可以经确定的端口122c转发封装后的数据报文2。
需要说明的是,本申请实施例对数据报文2的在链路1中实现转发的具体路径不做限制。
步骤504:设备1从对应的链路接收封装后的数据报文2后,对封装后的数据报文2进行解封装,获取数据报文2。
步骤505:设备1根据数据报文2的目的地址转发数据报文2,将数据报文2转发至其目的设备。
示例性的,若站点1003采用如图1所示的结构,设备1为CPE190,CPE190解封装,在解封装之后,将数据报文2发送至站点1003的物理交换机。站点1003的物理交换机根据数据报文2的目的地址将数据报文2发送至站点1003中的虚拟交换机,由站点1003中的虚拟交换机将数据报文2发送至目的设备。
示例性的,若站点1003采用如图3所示的结构,设备1为站点1003中的虚拟交换机。封装后的数据报文2经站点1003中的物理交换机到达站点1003的虚拟交换机,站点1003的虚拟交换机在接收到封装后的数据报文2后,执行解封装,在解封装之后,根据数据报文2的目的地址将数据报文2发送至目的设备。
示例性的,若站点1003采用如图3所示的结构,设备1也可以站点1003中的物理交换机。封装后的数据报文2链路1到达站点1003的物理交换机,站点1003的物理交换机在接收到封装后的数据报文2后,执行解封装,在解封装之后,根据数据报文2的目的地址将数据报文2发送至站点1003的虚拟交换机,之后,由站点1003的虚拟交换机根据数据报文2的目的地址将数据报文2发送至目的设备。
示例性的,若站点1003采用如图4所示的结构,设备1为站点1003中的虚拟交换机,站点1003中的虚拟交换机在接收到封装后的数据报文2后,对接收到的封装后的数据报文2解封装,在解封装之后,根据数据报文2的目的地址将数据报文2发送至目的设备。
在上述说明中,是以虚拟交换机112根据数据报文2的有效载荷携带的数据的业务类型确定地址1,并根据地址1对数据报文2进行封装为例进行说明的,应需理解的是,在一些可能的实施方式中,当站点1001中部署有物理交换机,例如,在如图2中所示的站点1001中,虚拟交换机112也可以不执行上述操作,而由站点1003中的物理交换机160执行上述操作,具体地,以主机110中的物理交换机160传输来自虚拟机111的数据报文3为例,基于如图3所示的数据中心,对本申请实施例提供的另一种数据传输进行说明。数据报文3的有效载荷中携带的数据的业务类型1,数据报文3的目的地址指示的目的设备位于站点1003,对应图3中的链路1,通过下文中的方法可将数据报文2通过链路1转发至目的设备。如图6所示,该方法包括:
步骤601:虚拟机110向虚拟交换机112发送数据报文3。
步骤602:虚拟交换机112接收到数据报文3后,根据该数据报文3的目的地址确定数据报文2需要跨站点传输,将数据报文3发送给物理交换机160。
步骤603:物理交换机160确定数据报文3的有效载荷携带的数据的业务类型1,根据业务类型1确定封装数据报文3的地址,即地址1,地址1指示的设备1经链路1连接至站点1001。
物理交换机160中包括预先配置的转发表,该转发表中记录有业务类型1和地址1的对应关系。该转发表中可以记录各业务标识(业务标识可以指示业务类型)和地址的对应关系,物理交换机160可以查询配置在物理交换机160中的转发表,根据业务类型1确定地址1。物理交换机160中的转发表可以是人为预先配置的,也可以是控制器300提前发送给物理交换机160的。
可选的,物理交换机160可以根据数据报文3的有效载荷携带的数据的业务类型1以及数据报文3的目的地址确定地址1。
物理交换机160中的转发表中还可以记录各数据报文的目的地址、数据报文的有效载荷中携带的数据的业务类型与地址之间对应关系,物理交换机160可以通过查询转发表根据数据报文3的目的地址和业务类型1确定地址1。
若物理交换机160中的转发表没有记录业务类型1以及地址1之间的对应关系,或没有记录业务类型1、数据报文3的目的地址与地址1的对应关系,物理交换机160也可以通过向控制器300发送查询请求的方式,从控制器300获取地址1。物理交换机160发送查询请求从控制器300获取地址1的方式可以参见如图5所示的实施例中虚拟交换机112发送查询请求1或查询请求2从控制器300获取地址1的方式,此处不再赘述。
步骤604:物理交换机160根据地址1对数据报文3进行封装,封装后的数据报文3的报文头中携带地址1。
步骤605:物理交换机160根据地址1确定物理交换机160上的端口,并经确定的端口转发封装后的数据报文3,其中,所述确定的端口连接链路1。
物理交换机160根据地址1确定物理交换机160上的端口的方式可以参见如图5所示的实施例中步骤503的相关描述,此处不再赘述。
步骤606:设备1从对应的链路接收封装后的数据报文3后,对封装后的数据报文3进行解封装,获取数据报文3。步骤606中设备1执行的操作与步骤504中设备1执行的操作相同,可以参见前述内容,此处不再赘述。
步骤607:设备1根据数据报文3的目的地址转发数据报文3,将数据报文3转发至 数据报文3的目的地址指示的目的设备。步骤607中设备1执行的操作与步骤505中设备1执行的操作相同,可以参见前述内容,此处不再赘述。
在如图5和图6所示的实施例中虚拟交换机112或物理交换机160在接收到虚拟机111的数据报文(如数据报文2或数据报文3)后,可以确定地址1,并对数据报文进行传输;在一种可能的实现方式中,虚拟交换机112也可以在确定了数据报文的业务类型对应的路由信息(如链路标识或地址),并将该路由信息通知物理交换机160,由物理交换机根据路由信息发送该数据报文,也就是说,虚拟交换机112和物理交换机160可以配合实现数据报文的传输。
本申请实施例还提供的另一种数据传输方法。下面基于图3中的数据中心,以主机110中的虚拟交换机112和物理交换机160配合传输来自虚拟机111的数据报文4为例进行说明。数据报文4的有效载荷中携带的数据的业务类型1,对应图3中的链路1,通过下文中的方法可将数据报文4通过链路1转发至目的设备。如图6所示,该方法包括:
步骤701:虚拟机110向虚拟交换机112发送数据报文4。
步骤702:虚拟交换机112确定数据报文4的有效载荷携带的数据的业务类型1,根据业务类型1确定封装数据报文4的地址1。
虚拟交换机112确定地址1的方式可以参见步骤502的相关说明,此处不再赘述。
步骤703:虚拟交换机112将地址1和数据报文4发送给物理交换机160。
步骤704:物理交换机160根据地址1封装数据报文4,封装后的数据报文4的报文头中携带地址1。
在步骤702中以虚拟交换机112根据业务类型1确定的路由信息为封装数据报文4的地址1为例进行说明,事实上,虚拟交换机112可以根据业务类型1确定的路由信息也可以用于指示链路1的信息,如链路1的标识等。在步骤704中,物理交换机160可以根据用链路1的标识确定封装数据报文4的地址1,根据地址1封装数据报文4。
链路1的标识与地址1的对应关系可以记录在物理交换机160中的转发表中,物理交换机可以通过查询转发表通过链路1的标识确定地址1。
步骤705:物理交换机160可以根据地址1确定物理交换机160上的端口。物理交换机160确定端口的方式可以参见步骤503的相关说明,此处不再赘述。
可选的,物理交换机160也可以根据链路1的标识确定物理交换机160上的端口。
步骤706:物理交换机160通过确定的端口转发封装后的数据报文4。
步骤707:同步骤504,可参见步骤504的相关说明,此处不再赘述。
步骤708:同步骤505,可参见步骤505的相关说明,此处不再赘述。
在如图5~7所示的实施例中可以看出,站点1001与站点1003之间的链路,每个链路可以对应一个或多个不同的业务类型。每个链路与业务类型的对应关系体现在根据业务类型确定的路由信息(如地址、链路标识等)上,如路由信息可以是业务类型对应的链路上的一个设备的地址,也可以是链路的标识等可以指示链路的信息。
对于一些业务类型的数据报文,具有较高的安全性要求,需要在传输过程中保证数据的传输安全,不易被攻击者截取,可以对这些业务类型的数据报文进行加密。例如对于安全性要求高的业务,如金融类业务,对该业务类型的数据报文采用加密等级较高的加密算法,如安全套接层(secure sockets layer,SSL)、互联网安全协议(internet protocol security, IPsec)等;对于安全性无特别要求的业务,如视频业务,对该业务类型的数据报文可以不进行加密。此外,加密策略也可以是针对携带不同目的地址的数据报文的加密策略。
作为一种可能的实施方式,虚拟交换机112在对数据报文2进行封装之前,还可以根据的业务类型1和/或数据报文2的目的地址确定加密策略1,并基于加密策略1,对数据报文2进行加密。
可选的,虚拟交换机112中的转发流表除了可以表征上述对应关系,还可以包括加密策略(如本申请实施例中的加密策略1),加密策略指示是否需要进行加密以及对应的加密算法。
相应的,当站点1003中的虚拟交换机在接收到加密后的数据报文2之后,也可以查询转发流表,根据业务类型和/或所述目的地址确定解密策略1;由于加密策略与解密策略是相对于的,站点1003中的虚拟交换机可以基于解密策略1,对加密后的数据报文2进行解密。
可选的,虚拟机110在向虚拟交换机112发送数据报文2之后,还可以发送业务类型相同且携带相同目的地址、源地址的数据报文3。虚拟交换机112在接收到该数据报文3之后,查询转发流表,若确定需要对该业务类型的数据报文进行数据去重,则需要对数据报文3进行数据去重。
需要说明的是,在一些场景下,一定时间段内,一个虚拟机可以向同一虚拟机在发送多个数据报文;这些数据报文的业务类型相同,且携带相同的目的地址、源地址;且这些数据报文中携带的数据差别较小;在这种情况下,为了加快数据传输过程,可以在发送了第一个完整数据报文之后,对后续的数据报文进行数据去重;示例性的,可以去除后续数据报文中与第一个数据报文相同的数据,仅发送携带有差异数据的差异报文,在本申请实施例中将去除后续数据报文中与第一个数据报文相同的数据的过程称为数据去重。
具体地,虚拟交换机112比较数据报文2与数据报文5,确定数据报文2的有效载荷数据与数据报文5的有效载荷数据的差异数据,生成携带有该差异数据的差异报文;差异报文的业务类型与数据报文2的业务类型相同,且携带相同的目的地址、源地址。
为了区分完整的数据报文和数据去重后生成的差异报文,差异报文可以携带差异报文的标识信息,用于指示该报文是数据去重后的差异报文,携带的有效载荷数据为差异数据。
差异报文还可以指示数据报文5与数据报文2的差异位置;以明确差异报文携带的差异数据在数据报文2中的位置。例如,数据报文5与数据报文2携带的数据大小为100个字节,其中从第20个字节到第30个字节存在不同,差异报文可以指示数据报文5与数据报文2的差异位置位于第20个字节到第30个字节,也可以指示数据报文5与数据报文2的差异起始位置在第20个字节。本申请实施例并不限定差异报文指示数据报文5与数据报文2的差异位置的方式,上述方式进是举例。
本申请实施例并不限定数据报文5的数量,虚拟机在可以向虚拟交换机112发送多个数据报文5,虚拟交换机112可以根据每个数据报文5和数据报文2,生成对应的差异报文,一个数据报文5对应一个差异报文。
为了区分多个差异报文,差异报文还可以指示该差异报文的发送顺序,指示该差异报文是在数据报文2之后发送的第几个差异报文。本申请实施例并不限定指示的方式,示例性的,可以携带数字标识,数字的数值指示差异报文的发送顺序。例如,虚拟机向虚拟交换机112发送三个数据报文5;虚拟交换机112根据第一个数据报文5生成的第一个差异 报文,并携带指示该差异报文为数据报文2之后发送的第一个差异报文的数据标识1;虚拟交换机112根据第二个数据报文5生成的第二个差异报文,并携带指示该差异报文为数据报文2之后发送的第二个差异报文的数据标识2。
类似的,在发送差异报文时也可以采用与发送数据报文2相同的方式,根据地址1对差异报文进行封装,并根据地址1将差异报文发送至对应的链路上。另外还可以根据加密策略1对差异报文进行加密。
除此之外,站点1003中的虚拟交换机在接收到差异报文后,需要对差异报文进行数据恢复,生成数据报文5,将数据报文5转发至目的设备。
作为一种可能的实施方式,站点1003中的虚拟交换机也可以根据差异报文的标识信息,确定该报文是数据去重后的差异报文。
站点1003中的虚拟交换机在对差异报文进行数据恢复时,可以根据该差异报文指示的数据报文2与数据报文5的差异位置,将数据报文2在该差异位置的数据替换为差异报文携带的差异数据,生成数据报文5。
站点1003中的虚拟交换机在根据差异报文和数据报文2恢复数据报文5之前,若差异报文和数据报文2均进行了加密处理,站点1003中的虚拟交换机还可以对差异报文和数据报文2进行解密,站点1003中的虚拟交换机根据目的地址和/或业务类型查询转发流表,确定加密策略1。
由于加密算法和解密算法是对应的,在获知了加密策略后,可以确定对应的解密策略,站点1003中的虚拟交换机可以根据加密策略1,对数据报文2和差异报文进行解密。
在上述说明中,数据报文2的加密、以及数据报文2与数据报文5的差异数据的确定均是由虚拟交换机112执行的,应需理解的是,在一些可能的实施方式中,虚拟交换机112也可以不执行上述操作,而由站点1003中的物理交换机160执行上述操作,如应用于如图6所示的实施例中,虚拟交换机112可以在接收到数据报文3之后,将数据报文3发送给物理交换机160;物理交换机160在接收到数据报文3之后,可以根据数据报文3的有效载荷携带的数据的业务类型1确定加密策略,基于加密策略对数据报文3进行加密;物理交换机160在接收到数据报文5时,可以解析数据报文3和数据报文5,确定差异数据,生成差异报文,采用与发送数据报文3相同的方式发送差异报文。如应用于如图7所示的实施例中,虚拟交换机112可以在接收到数据报文4之后,将数据报文4和地址1发送给物理交换机160;物理交换机160在接收到数据报文4之后,可以根据数据报文4的有效载荷携带的数据的业务类型1确定加密策略,基于加密策略对数据报文4进行加密;物理交换机160在接收到数据报文5时,可以解析数据报文4和数据报文5,确定差异数据,生成差异报文,采用与发送数据报文4相同的方式发送差异报文。
基于与方法实施例同一发明构思,本申请实施例还提供了一种交换机,用于执行图5所示的方法实施例中步骤501~步骤503中虚拟交换机112所执行的方法,或执行图6所示的方法实施例中步骤602~步骤605中物理交换机160所执行的方法,或执行图7所示的方法实施例中步骤701~步骤706中虚拟交换机112以及物理交换机160所执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图8所示,该交换机位于数据中心中的第一站点,数据中心还包括第二站点,第一站点与第二站点之间建立有至少两条链路,其中,每条链路对应至少一种业务类型;该交换机包括接收单元810、处理单元820、发送单元830;
接收单元810,用于获取第一站点中的虚拟机发送的第一数据报文。
处理单元820,用于识别第一数据报文的业务类型;根据第一数据报文的业务类型,确定第一数据报文的路由信息,路由信息用于指示第一传输数据报文的承载链路。
发送单元830,用于根据路由信息发送第一数据报文,其中,第一数据报文通过该承载链路传输到第二站点。
在一种可能的实施方式中,处理单元820在根据识别出的业务类型,确定第一数据报文的路由信息之后,可以对第一数据报文进行封装,路由信息位于封装后的第一数据报文的报文头中;之后,发送单元830可以根据路由信息发送封装后的第一数据报文。
在一种可能的实施方式中,发送单元830还包括多个端口,每个端口连接至少两条链路中的一条链路;例如,交换机可以为如图3所示的物理交换机160,物理交换机160可以执行如图6所示的实施例中物理交换机160执行的方法。交换机也可以为如图4所示的虚拟交换机122,虚拟交换机122可以执行如图5所示的实施例中虚拟交换机122执行的方法。发送单元830在转发第一数据报文时,可以根据路由信息确定封装后的第一数据报文的转发端口,通过转发端口转发封装后的第一数据报文。
在一种可能的实施方式中,交换机是由虚拟交换机和物理交换机组成的,虚拟交换机可以执行如图5所示的实施例中虚拟交换机112执行的方法,物理交换机可以执行如图5所示的实施例中物理交换机160执行的方法。示例性的,虚拟交换机包括第一发送单元831、第一处理单元821以及第一接收单元811;物理交换机包括第二发送单元832、第二处理单元822以及第二接收单元812。第二发送单元832包括物理交换机的多个端口,每个端口连接至少两条链路中的一条链路。
示例性的,虚拟交换机中,第一接收单元811先获取虚拟机发送的第一数据报文;之后,第一处理单元821识别第一数据报文的业务类型,根据第一数据报文的业务类型,确定第一数据报文的路由信息;还可以根据路由信息封装第一数据报文,在第一数据报文封装结束后,第一发送单元831可以将封装后的第一数据报文发送至物理交换机,也就是物理交换机中的第二接收单元812。
物理交换机中,第二接收单元812在接收到封装后的第一设备报文后,第二处理单元822可以根据路由信息确定封装后的第一数据报文的转发端口;之后,第二发送单元832通过转发端口转发封装后的第一数据报文。
在一种可能的实施方式中,交换机是由虚拟交换机和物理交换机组成的,虚拟交换机可以执行如图7所示的实施例中虚拟交换机112执行的方法,物理交换机可以执行如图7所示的实施例中物理交换机160执行的方法。虚拟交换机包括第一发送单元831、第一处理单元821以及第一接收单元811;物理交换机包括第二发送单元832、第二处理单元822以及第二接收单元812。第二发送单元832包括物理交换机的多个端口,每个端口连接至少两条链路中的一条链路。
示例性的,虚拟交换机中,第一接收单元811先获取虚拟机发送的第一数据报文;之后,第一处理单元821可以识别第一数据报文的业务类型;根据第一数据报文的业务类型,确定第一数据报文的路由信息;第一发送单元831之后可以向第二接收单元812发送路由信息和第一数据报文。
示例性的,物理交换机中,第二接收单元812在接收路由信息和第一数据报文后,第二处理单元822可以根据路由信息封装第一数据报文,并根据路由信息确定封装后的第一 数据报文的转发端口;之后,第二发送单元832通过转发端口转发封装后的第一数据报文。
在一种可能的实施方式中,发送单元830(或第一发送单元831)可以向数据中心中的控制器发送查询请求,查询请求携带第一数据报文的业务类型;之后,接收单元810(或第一接收单元811)接收控制器返回的查询响应,查询响应携带路由信息。
在一种可能的实施方式中,处理单元820(或第一处理单元821)还可以识别第一数据报文的目的地址;还可以将第一数据报文的目的地址携带在查询请求中,由发送单元830(或第一发送单元831)发送给控制器。
在一种可能的实施方式中,处理单元820(第一处理单元821、或第二处理单元822)在发送单元830根据路由信息发送第一数据报文之前,可以对第一数据报文进行加密;示例性的,根据业务类型确定加密策略;之后,基于加密策略,对第一数据报文进行加密。
在一种可能的实施方式中,交换机还可以进行数据去重;示例性的,接收单元810(第一接收单元811、或第二接收单元812)可以获取虚拟机第二数据报文,第二数据报文与第一数据报文具有相同的业务类型以及目的地址;处理单元820(第一处理单元821、或第二处理单元822)可以确定第一数据报文和第二数据报文的差异数据;发送单元830(第一发送单元831、或第二发送单元832)再根据路由信息发送差异数据,差异数据通过该承载链路传输至第二站点。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在一个简单的实施例中,本领域的技术人员可以想到交换机均可采用图9所示的形式。
如图9所示的交换机900,包括至少一个处理器910、存储器920,可选的,还可以包括端口930。
存储器920可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器920是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器920可以是上述存储器的组合。
本申请实施例中不限定上述处理器910以及存储器920之间的具体连接介质。
在如图9装置中,还包括端口930(图9中仅示例性的绘制出了一个端口,应需理解的是,交换机900中可以包括多个端口),用于连接其他设备;处理器910在与其他设备进行通信时,可以通过端口930进行数据传输。
当交换机采用图9所示的形式时,图9中的处理器910可以通过调用存储器920中存储的计算机执行指令,使得交换机900可以执行上述任一方法实施例中的方法;如该交换机900可以执行图5所示的方法实施例中步骤501~步骤503中虚拟交换机112所执行的方法,或执行图6所示的方法实施例中步骤602~步骤605中物理交换机160所执行的方法,或执行图7所示的方法实施例中步骤701~步骤706中虚拟交换机112以及物理交换机160所执行的方法。
具体的,图8中的发送单元、接收单元和处理单元的功能/实现过程均可以通过图9中的处理器910调用存储器920中存储的计算机执行指令来实现。或者,图8中的处理单元的功能/实现过程可以通过图9中的处理器910调用存储器920中存储的计算机执行指令来实现,图8中的发送单元和接收单元的功能/实现过程可以通过图9中的端口930来实现。
在一种可能的实施方式中,具体的,图8中的第一发送单元、第一接收单元和第一处理单元的功能/实现过程均可以通过图9中的处理器910调用存储器920中存储的计算机执行指令来实现。或者,图8中的第一处理单元的功能/实现过程可以通过图9中的处理器910调用存储器920中存储的计算机执行指令来实现,图8中的第一发送单元和第一接收单元的功能/实现过程可以通过图9中的端口930来实现。
在一种可能的实施方式中,具体的,图8中的第二发送单元、第二接收单元和第二处理单元的功能/实现过程均可以通过图9中的处理器910调用存储器920中存储的计算机执行指令来实现。或者,图8中的第二处理单元的功能/实现过程可以通过图9中的处理器910调用存储器920中存储的计算机执行指令来实现,图8中的第二发送单元和第二接收单元的功能/实现过程可以通过图9中的端口930来实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (38)

  1. 一种数据传输方法,其特征在于,所述方法应用于数据中心,所述数据中心包括第一站点和第二站点,所述第一站点与所述第二站点之间建立至少两条链路,其中,每条链路对应至少一种业务类型;所述方法包括:
    交换机获取虚拟机发送的第一数据报文,所述交换机与所述虚拟机位于所述第一站点;
    所述交换机识别所述第一数据报文的业务类型;
    所述交换机根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,所述路由信息用于指示传输所述第一数据报文的承载链路;
    所述交换机根据所述路由信息发送所述第一数据报文,其中,所述第一数据报文通过所述承载链路传输到所述第二站点。
  2. 如权利要求1所述的方法,其特征在于,所述交换机根据识别出的业务类型,确定所述第一数据报文的路由信息之后,还包括:
    所述交换机根据所述路由信息封装所述第一数据报文,所述路由信息位于封装后的所述第一数据报文的报文头中;
    所述交换机根据所述路由信息发送所述第一数据报文,具体包括:
    所述交换机根据所述路由信息发送封装后的所述第一数据报文。
  3. 如权利要求2所述的方法,其特征在于,所述交换机包括多个端口,其中,每个端口连接所述至少两条链路中的一条链路;所述交换机根据所述路由信息发送封装后的所述第一数据报文,包括:
    所述交换机根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  4. 如权利要求1所述的方法,其特征在于,所述交换机包括所述第一站点中的虚拟交换机和物理交换机,所述物理交换机包括多个端口,每个端口连接所述至少两条链路中的一条链路;所述方法具体包括:
    所述虚拟交换机获取所述虚拟机发送的第一数据报文;
    所述虚拟交换机识别所述第一数据报文的业务类型;
    所述虚拟交换机根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;
    所述虚拟交换机根据所述路由信息封装所述第一数据报文,并将封装后的所述第一数据报文发送至所述物理交换机;
    所述物理交换机根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  5. 如权利要求1所述的方法,其特征在于,所述交换机包括所述第一站点中的虚拟交换机和物理交换机,所述物理交换机包括多个端口,每个端口连接所述至少两条链路中的一条链路;所述方法具体包括:
    所述虚拟交换机获取所述虚拟机发送的第一数据报文;
    所述虚拟交换机识别所述第一数据报文的业务类型;
    所述虚拟交换机根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;
    所述虚拟交换机向所述物理交换机发送所述路由信息和所述第一数据报文;
    所述物理交换机根据所述路由信息封装所述第一数据报文,并根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  6. 如权利要求1~5任一项所述的方法,其特征在于,所述数据中心还包括控制器,所述控制器保存所述第一站点与所述第二站点之间链路的配置信息以及每个站点内部设备间连接关系,所述交换机根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,包括:
    所述交换机向所述控制器发送查询请求,所述查询请求携带所述第一数据报文的业务类型;
    所述交换机接收所述控制器返回的查询响应,所述查询响应携带所述路由信息。
  7. 如权利要求6所述的方法,其特征在于,所述方法还包括:
    所述交换机识别所述第一数据报文的目的地址;则所述查询请求进一步携带所述第一数据报文的目的地址。
  8. 如权利要求1~7任一项所述的方法,其特征在于,所述交换机根据所述路由信息发送所述第一数据报文之前,还包括:
    所述交换机根据所述业务类型确定加密策略;
    所述交换机基于所述加密策略,对所述第一数据报文进行加密。
  9. 如权利要求1~7任一项所述的方法,其特征在于,所述交换机根据所述路由信息发送所述数据报文之后,还包括:
    所述交换机获取所述虚拟机的第二数据报文,所述第二数据报文与所述第一数据报文具有相同的业务类型以及目的地址;
    所述交换机确定所述第一数据报文和所述第二数据报文的差异数据;
    所述交换机根据所述路由信息发送所述差异数据,所述差异数据通过所述承载链路传输至所述第二站点。
  10. 一种交换机,其特征在于,所述交换机位于数据中心中的第一站点,所述数据中心还包括第二站点,所述第一站点与所述第二站点之间建立有至少两条链路,其中,每条链路对应至少一种业务类型;所述交换机包括接收单元、处理单元以及发送单元:
    所述接收单元,用于获取所述第一站点中的虚拟机发送的第一数据报文;
    所述处理单元,用于识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,所述路由信息用于指示传输所述第一数据报文的承载链路;
    所述发送单元,用于根据所述路由信息发送所述第一数据报文,其中,所述第一数据报文通过所述承载链路传输到所述第二站点。
  11. 如权利要求10所述的交换机,其特征在于,所述处理单元在根据识别出的业务类型,确定所述第一数据报文的路由信息之后,还用于:
    根据所述路由信息封装所述第一数据报文,所述路由信息位于封装后的所述第一数据报文的报文头中;
    所述发送单元具体用于:
    根据所述路由信息发送封装后的所述第一数据报文。
  12. 如权利要求11所述的交换机,其特征在于,所述发送单元包括多个端口,其中,每个端口连接所述至少两条链路中的一条链路;所述发送单元具体用于:
    根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  13. 如权利要求10所述的交换机,其特征在于,所述交换机包括虚拟交换机和物理交换机,所述虚拟交换机包括所述发送单元中的第一发送单元,所述处理单元中的第一处理单元以及所述接收单元中的第一接收单元;所述物理交换机包括所述发送单元中的第二发送单元以及所述接收单元中的第二接收单元;所述第二发送单元包括多个端口,其中,每个端口连接所述至少两条链路中的一条链路;
    所述接收单元,用于获取所述第一站点中的虚拟机发送的第一数据报文,具体包括:
    所述第一接收单元,用于获取所述虚拟机发送的所述第一数据报文;
    所述处理单元,用于识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,具体包括:
    所述第一处理单元,用于识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;以及根据所述路由信息封装所述第一数据报文;
    所述发送单元,用于根据所述路由信息发送所述第一数据报文,包括:
    所述第一发送单元,用于根据所述路由信息将封装后的所述第一数据报文发送至所述第二接收单元;
    所述第二接收单元,用于接收封装后的所述第一数据报文;
    所述发送单元,用于根据所述路由信息发送所述第一数据报文,还包括:
    所述第二发送单元,用于:根据所述路由信息在所属多个端口中确定封装后的所述第一数据报文的转发端口;通过所述转发端口转发封装后的所述第一数据报文。
  14. 如权利要求10所述的交换机,其特征在于,所述交换机包括虚拟交换机和物理交换机,所述虚拟交换机包括所述发送单元中的第一发送单元,所述处理单元中的第一处理单元以及所述接收单元中的第一接收单元;所述物理交换机包括所述发送单元中的第二发送单元,所述处理单元中的第二处理单元以及所述接收单元中的第二接收单元;所述第二发送单元包括多个端口,其中,每个端口连接所述至少两条链路中的一条链路;
    所述接收单元,用于获取所述第一站点中的虚拟机发送的第一数据报文,具体包括:
    所述第一接收单元,用于获取所述虚拟机发送的第一数据报文;
    所述处理单元,用于识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,具体包括:
    所述第一处理单元,用于识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;
    所述发送单元,用于根据所述路由信息发送所述第一数据报文,包括:
    所述第一发送单元,用于向所述第二接收单元发送所述路由信息和所述第一数据报文;
    所述第二接收单元,用于接收所述路由信息和所述第一数据报文;
    所述第二处理单元,用于根据所述路由信息封装所述第一数据报文,并根据所述路由信息在所属多个端口中确定封装后的所述第一数据报文的转发端口;
    所述发送单元,用于根据所述路由信息发送所述第一数据报文,还包括:
    所述第二发送单元,用于通过所述转发端口转发封装后的所述第一数据报文。
  15. 如权利要求10~14任一项所述的交换机,其特征在于,所述发送单元,还用于:
    向所述数据中心的控制器发送查询请求,所述查询请求携带所述第一数据报文的业务类型;
    所述接收单元,还用于:接收所述控制器返回的查询响应,所述查询响应携带所述路由信息。
  16. 如权利要求15任一项所述的交换机,其特征在于,所述处理单元,还用于识别所述第一数据报文的目的地址;所述查询请求进一步携带所述第一数据报文的目的地址。
  17. 如权利要求10~16任一项所述的交换机,其特征在于,所述处理单元在所述发送单元根据所述路由信息发送所述第一数据报文之前,还用于:
    根据所述业务类型确定加密策略;
    基于所述加密策略,对所述第一数据报文进行加密。
  18. 如权利要求10~16任一项所述的交换机,其特征在于,所述接收单元还用于:
    获取所述虚拟机第二数据报文,所述第二数据报文与所述第一数据报文具有相同的业务类型以及目的地址;
    所述处理单元,还用于确定所述第一数据报文和所述第二数据报文的差异数据;
    所述发送单元,还用于根据所述路由信息发送所述差异数据,所述差异数据通过所述承载链路传输至所述第二站点。
  19. 一种交换机,其特征在于,所述交换机位于所述数据中心中的第一站点,所述数据中心还包括第二站点,所述第一站点与所述第二站点之间建立有至少两条链路,其中,每条链路对应至少一种业务类型;所述交换机包括存储器和处理器:
    所述存储器,用于存储计算机程序指令;
    所述处理器,用于调用所述存储器中存储的计算机程序指令,执行:
    获取虚拟机发送的第一数据报文,所述交换机与所述虚拟机位于所述第一站点;
    识别所述第一数据报文的业务类型;
    根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,所述路由信息用于指示传输所述第一数据报文的承载链路;
    根据所述路由信息发送所述第一数据报文,其中,所述第一数据报文通过所述承载链路传输到所述第二站点。
  20. 如权利要求19所述的交换机,其特征在于,所述处理器在根据识别出的业务类型,确定所述第一数据报文的路由信息之后,还用于:
    根据所述路由信息封装所述第一数据报文,所述路由信息位于封装后的所述第一数据报文的报文头中;
    所述处理器具体用于:
    根据所述路由信息发送封装后的所述第一数据报文。
  21. 如权利要求20所述的交换机,其特征在于,所述交换机还包括多个端口,其中,每个端口连接所述至少两条链路中的一条链路;所述处理器具体用于:
    根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  22. 如权利要求20所述的交换机,其特征在于,所述交换机包括虚拟交换机和物理 交换机,所述虚拟交换机包括所述处理器中的第一处理器和所述存储器中的第一存储器,所述物理交换机包括所述处理器中的第二处理器和所述存储器中的第二存储器;所述物理交换机还包括多个端口,每个端口连接所述至少两条链路中的一条链路;
    所述第一存储器,用于存储第一计算机存储指令;
    所述第一处理器,用于调用所述第一计算机存储指令执行:
    获取所述虚拟机发送的第一数据报文;识别所述第一数据报文的业务类型;
    根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;
    根据所述路由信息封装所述第一数据报文,并将封装后的所述第一数据报文发送至所述第二处理器;
    所述第二存储器,用于存储第二计算机存储指令;
    所述第二处理器,用于调用所述第二计算机存储指令执行:
    接收封装后的所述第一数据报文;据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  23. 如权利要求19所述的交换机,其特征在于,所述交换机包括虚拟交换机和物理交换机,所述虚拟交换机包括所述处理器中的第一处理器和所述存储器中的第一存储器,所述物理交换机包括所述处理器中的第二处理器和所述存储器中的第二存储器;所述物理交换机还包括多个端口,每个端口连接所述至少两条链路中的一条链路;
    所述第一存储器,用于存储的第三计算机存储指令;
    所述第一处理器,用于调用所述第一存储器中存储的第三计算机存储指令执行:
    获取所述虚拟机发送的第一数据报文;别所述第一数据报文的业务类型;
    根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;
    向所述第二处理器发送所述路由信息和所述第一数据报文;
    所述第二存储器,用于存储的第四计算机存储指令;
    所述第二处理器,用于调用所述第二存储器中存储的第四计算机存储指令执行:
    接收所述路由信息和所述第一数据报文;根据所述路由信息封装所述第一数据报文,并根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  24. 如权利要求19~23任一项所述的交换机,其特征在于,所述处理器具体用于:
    向所述数据中心的控制器发送查询请求,所述查询请求携带所述第一数据报文的业务类型;
    接收所述控制器返回的查询响应,所述查询响应携带所述路由信息。
  25. 如权利要求24任一项所述的交换机,其特征在于,所述处理器还用于:识别所述第一数据报文的目的地址;则所述查询请求进一步携带所述第一数据报文的目的地址。
  26. 如权利要求19~25任一项所述的交换机,其特征在于,所述处理器根据所述路由信息发送所述第一数据报文之前,还用于:
    根据所述业务类型确定加密策略;
    基于所述加密策略,对所述第一数据报文进行加密。
  27. 如权利要求19~25任一项所述的交换机,其特征在于,所述处理器根据所述路由信息发送所述数据报文之后,还用于:
    获取所述虚拟机的第二数据报文,所述第二数据报文与所述第一数据报文具有相同的 业务类型以及目的地址;
    确定所述第一数据报文和所述第二数据报文的差异数据;
    根据所述路由信息发送所述差异数据,所述差异数据通过所述承载链路传输至所述第二站点。
  28. 一种第一站点,其特征在于,所述第一站点位于数据中心,所述数据中心还包括第二站点,所述第一站点与所述第二站点之间建立有至少两条链路,其中,每条链路对应至少一种业务类型;所述第一站点包括交换机以及虚拟机:
    所述虚拟机,用于向所述交换机发送第一数据报文;
    所述交换机,用于接收所述第一数据报文,识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息,所述路由信息用于指示传输所述第一数据报文的承载链路;根据所述路由信息发送所述第一数据报文,其中,所述第一数据报文通过所述承载链路传输到所述第二站点。
  29. 如权利要求28所述的第一站点,其特征在于,所述交换机,还用于:
    所述交换机根据所述路由信息封装所述第一数据报文,所述路由信息位于封装后的所述第一数据报文的报文头中;
    所述交换机具体用于:
    所述交换机根据所述路由信息发送封装后的所述第一数据报文。
  30. 如权利要求29所述的第一站点,其特征在于,所述交换机包括多个端口,其中,每个端口连接所述至少两条链路中的一条链路;所述交换机具体用于:
    根据所述路由信息确定转发封装后的所述第一数据报文的端口,通过确定的端口转发封装后的所述第一数据报文。
  31. 如权利要求29所述的第一站点,其特征在于,所述交换机包括所述第一站点中的虚拟交换机和物理交换机,所述物理交换机包括多个端口,每个端口连接所述至少两条链路中的一条链路;
    所述虚拟交换机具体用于:
    获取所述虚拟机发送的第一数据报文;识别所述第一数据报文的业务类型;根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;根据所述路由信息封装所述第一数据报文,并将封装后的所述第一数据报文发送至所述物理交换机;
    所述物理交换机,用于根据所述路由信息确定转发封装后的所述第一数据报文的端口,通过确定的转发端口转发封装后的所述第一数据报文。
  32. 如权利要求28所述的第一站点,其特征在于,所述交换机包括所述第一站点中的虚拟交换机和物理交换机,所述物理交换机包括多个端口,其中,每个端口连接一条链路;
    所述虚拟交换机,具体用于:
    获取所述虚拟机发送的第一数据报文;识别所述第一数据报文的业务类型;
    根据所述第一数据报文的业务类型,确定所述第一数据报文的路由信息;
    向所述物理交换机,发送所述路由信息和所述第一数据报文;
    所述物理交换机,具体用于:根据所述路由信息封装所述第一数据报文,并根据所述路由信息确定封装后的所述第一数据报文的转发端口,通过所述转发端口转发封装后的所述第一数据报文。
  33. 如权利要求28~32任一项所述的第一站点,其特征在于,所述数据中心还包括控制器,所述控制器保存所述第一站点与所述第二站点之间链路的配置信息以及每个站点内部设备间连接关系,
    所述交换机,还用于向所述控制器发送查询请求,所述查询请求携带所述第一数据报文的业务类型;接收所述控制器返回的查询响应,所述查询响应携带所述路由信息。
  34. 如权利要求33所述的第一站点,其特征在于,所述交换机,还用于识别所述第一数据报文的目的地址;则所述查询请求进一步携带所述第一数据报文的目的地址。
  35. 如权利要求28~34任一项所述的第一站点,其特征在于,所述交换机在根据所述路由信息发送所述第一数据报文之前,还用于:
    根据所述业务类型确定加密策略;
    基于所述加密策略,对所述第一数据报文进行加密。
  36. 如权利要求28~34任一项所述的第一站点,其特征在于,所述交换机在根据所述路由信息发送所述数据报文之后,还用于:
    获取所述虚拟机的第二数据报文,所述第二数据报文与所述第一数据报文具有相同的业务类型以及目的地址;
    确定所述第一数据报文和所述第二数据报文的差异数据;
    根据所述路由信息发送所述差异数据,所述差异数据通过所述承载链路传输至所述第二站点。
  37. 一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1~9任一所述的方法。
  38. 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如权利要求1~9任一所述的方法。
PCT/CN2019/093872 2019-06-28 2019-06-28 一种数据传输方法、交换机及站点 WO2020258302A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980006605.2A CN112449751B (zh) 2019-06-28 2019-06-28 一种数据传输方法、交换机及站点
PCT/CN2019/093872 WO2020258302A1 (zh) 2019-06-28 2019-06-28 一种数据传输方法、交换机及站点
US17/562,115 US11870701B2 (en) 2019-06-28 2021-12-27 Data transmission method, switch, and site

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/093872 WO2020258302A1 (zh) 2019-06-28 2019-06-28 一种数据传输方法、交换机及站点

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/562,115 Continuation US11870701B2 (en) 2019-06-28 2021-12-27 Data transmission method, switch, and site

Publications (1)

Publication Number Publication Date
WO2020258302A1 true WO2020258302A1 (zh) 2020-12-30

Family

ID=74059992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/093872 WO2020258302A1 (zh) 2019-06-28 2019-06-28 一种数据传输方法、交换机及站点

Country Status (3)

Country Link
US (1) US11870701B2 (zh)
CN (1) CN112449751B (zh)
WO (1) WO2020258302A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134806A (zh) * 2022-08-31 2022-09-30 北京博特数通技术有限公司 IPSec安全加固传输方法、CPE和网络传输系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326228B (zh) * 2021-07-30 2022-01-11 阿里云计算有限公司 基于远程直接数据存储的报文转发方法、装置及设备
CN114584621B (zh) * 2022-04-18 2024-06-07 中国农业银行股份有限公司 一种数据发送的方法及装置
CN114844830A (zh) * 2022-07-05 2022-08-02 南凌科技股份有限公司 基于sd-wan的站点流量转发方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212391A (zh) * 2006-12-25 2008-07-02 上海贝尔阿尔卡特股份有限公司 业务分流的方法和装置与报告业务类型的方法和装置
CN101388845A (zh) * 2007-09-13 2009-03-18 诺基亚公司 用于接入服务网络的网关中的本地出口的设备和方法
CN107078955A (zh) * 2014-11-05 2017-08-18 科锐安特股份有限公司 用于数据传输网络的网络元件
US20180176308A1 (en) * 2016-12-15 2018-06-21 Nanning Fugui Precision Industrial Co., Ltd. Software defined network controller and network service allocating system and method
KR101897539B1 (ko) * 2017-08-21 2018-09-12 성균관대학교산학협력단 데이터 전송 방법 및 장치

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042880B1 (en) * 2000-08-10 2006-05-09 Verizon Services Corp. Congestion and throughput visibility and isolation
US8289973B2 (en) * 2004-04-05 2012-10-16 Verizon Business Global Llc System and method for indicating classification of a communications flow
US20050220059A1 (en) * 2004-04-05 2005-10-06 Delregno Dick System and method for providing a multiple-protocol crossconnect
CN100356753C (zh) * 2004-06-07 2007-12-19 杭州华三通信技术有限公司 基于路由器设备的多业务处理方法
CN1866947A (zh) * 2005-11-02 2006-11-22 华为技术有限公司 业务建立过程中识别特定业务的实现方法及系统
CN101102273A (zh) * 2007-07-20 2008-01-09 中兴通讯股份有限公司 宽带接入设备及宽带接入方法
US8407366B2 (en) * 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
CN102710468A (zh) * 2011-03-28 2012-10-03 华为技术有限公司 用户业务接入方法、系统和接入设备
US9065745B2 (en) * 2011-10-06 2015-06-23 International Business Machines Corporation Network traffic distribution
EP2597827B1 (en) * 2011-11-25 2018-01-10 Alcatel Lucent Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit
CN103841024B (zh) * 2012-11-27 2017-07-21 中国电信股份有限公司 一种家庭网关实现数据分流的方法和家庭网关
CN103581018B (zh) * 2013-07-26 2017-08-11 北京华为数字技术有限公司 报文发送方法、路由器以及业务交换器
CN103650424B (zh) * 2013-08-20 2018-02-02 华为技术有限公司 一种家庭网关服务功能的实现方法和服务器
US9363180B2 (en) * 2013-11-04 2016-06-07 Telefonkatiebolaget L M Ericsson (Publ) Service chaining in a cloud environment using Software Defined Networking
WO2015100530A1 (zh) * 2013-12-30 2015-07-09 华为技术有限公司 一种业务路由的方法、设备及系统
CN103763195B (zh) * 2014-01-23 2017-07-28 中国联合网络通信集团有限公司 一种传输报文的方法及装置
EP3110081B1 (en) * 2014-03-14 2019-06-05 Huawei Technologies Co., Ltd. Methods for controlling service chain of service flow
US10177936B2 (en) * 2014-03-28 2019-01-08 International Business Machines Corporation Quality of service (QoS) for multi-tenant-aware overlay virtual networks
US9485191B2 (en) * 2014-03-31 2016-11-01 Juniper Networks, Inc. Flow-control within a high-performance, scalable and drop-free data center switch fabric
CN105812272B (zh) * 2014-06-10 2018-11-30 华为技术有限公司 业务链的处理方法、装置与系统
CN105812495B (zh) * 2014-12-27 2019-04-12 华为技术有限公司 报文转发方法及设备
US20160262073A1 (en) * 2015-03-04 2016-09-08 Alcatel-Lucent Usa Inc. System and method for providing maximum fill link via bonded services
US9912788B2 (en) * 2015-11-10 2018-03-06 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods of an enhanced state-aware proxy device
CN105357099A (zh) * 2015-12-18 2016-02-24 南京优速网络科技有限公司 一种基于sdn的虚拟专用网络的实现方法
US10587502B2 (en) * 2017-05-16 2020-03-10 Ribbon Communications Operating Company, Inc. Communications methods, apparatus and systems for providing scalable media services in SDN systems
US10999219B1 (en) * 2017-06-19 2021-05-04 Juniper Networks, Inc. Automated packet switch type and host selection for efficient virtualized network function service chaining
CN109150720B (zh) * 2017-06-19 2022-04-12 中兴通讯股份有限公司 业务链报文转发方法、装置、设备及计算机可读存储介质
CN107819697B (zh) * 2017-11-27 2020-03-27 锐捷网络股份有限公司 数据传输方法、交换机及数据中心
US11159389B1 (en) * 2018-06-28 2021-10-26 Juniper Networks, Inc. Inter-application workload network traffic monitoring and visualization
US10749795B2 (en) * 2018-07-06 2020-08-18 Citrix Systems, Inc. Systems and methods for selecting communication paths for applications sensitive to bursty packet drops
US10999251B2 (en) * 2018-09-28 2021-05-04 Juniper Networks, Inc. Intent-based policy generation for virtual networks
US11005729B2 (en) * 2019-03-14 2021-05-11 Juniper Networks, Inc. Satisfying service level agreement metrics for unknown applications
US11575642B2 (en) * 2020-10-12 2023-02-07 Vmware, Inc. Multi-path traffic selection for ports in overlay networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212391A (zh) * 2006-12-25 2008-07-02 上海贝尔阿尔卡特股份有限公司 业务分流的方法和装置与报告业务类型的方法和装置
CN101388845A (zh) * 2007-09-13 2009-03-18 诺基亚公司 用于接入服务网络的网关中的本地出口的设备和方法
CN107078955A (zh) * 2014-11-05 2017-08-18 科锐安特股份有限公司 用于数据传输网络的网络元件
US20180176308A1 (en) * 2016-12-15 2018-06-21 Nanning Fugui Precision Industrial Co., Ltd. Software defined network controller and network service allocating system and method
KR101897539B1 (ko) * 2017-08-21 2018-09-12 성균관대학교산학협력단 데이터 전송 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134806A (zh) * 2022-08-31 2022-09-30 北京博特数通技术有限公司 IPSec安全加固传输方法、CPE和网络传输系统
CN115134806B (zh) * 2022-08-31 2024-04-19 北京博特数通技术有限公司 IPSec安全加固传输方法、CPE和网络传输系统

Also Published As

Publication number Publication date
CN112449751A (zh) 2021-03-05
CN112449751B (zh) 2022-08-26
US11870701B2 (en) 2024-01-09
US20220124041A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
WO2021207922A1 (zh) 报文传输方法、装置及系统
WO2020258302A1 (zh) 一种数据传输方法、交换机及站点
US11792046B2 (en) Method for generating forwarding information, controller, and service forwarding entity
WO2021135471A1 (zh) 数据传输方法、装置、网卡及存储介质
US20180278588A1 (en) Hardware-accelerated secure communication management
CN107786613B (zh) 宽带远程接入服务器bras转发实现方法和装置
US11115391B2 (en) Securing end-to-end virtual machine traffic
CN109361606B (zh) 一种报文处理系统及网络设备
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
CN110650076B (zh) Vxlan的实现方法,网络设备和通信系统
WO2019024880A1 (zh) 发送报文的方法和网络设备
CN108601043B (zh) 用于控制无线接入点的方法和设备
WO2017143611A1 (zh) 用于处理vxlan报文的方法、设备及系统
WO2009021428A1 (fr) Dispositif de protection sécurisé et procédé permettant le transfert de messages
WO2015143610A1 (zh) 一种nfv系统的业务实现方法及通信单元
WO2021017930A1 (zh) 报文转发
KR101938623B1 (ko) 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이
CN111385259B (zh) 一种数据传输方法、装置、相关设备及存储介质
US11088992B2 (en) Context specific keys
WO2021008591A1 (zh) 数据传输方法、装置及系统
CN104184646A (zh) Vpn网络数据交互方法和系统及其网络数据交互设备
US9049140B2 (en) Backbone network with policy driven routing
CN115529180B (zh) IPSec加解密卸载方法
WO2023061158A1 (zh) 加解密方法、装置及计算机可读存储介质
CN110086702B (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: 19935265

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

Country of ref document: EP

Kind code of ref document: A1