WO2018028457A1 - 一种确定路由的方法、装置及通信设备 - Google Patents

一种确定路由的方法、装置及通信设备 Download PDF

Info

Publication number
WO2018028457A1
WO2018028457A1 PCT/CN2017/095295 CN2017095295W WO2018028457A1 WO 2018028457 A1 WO2018028457 A1 WO 2018028457A1 CN 2017095295 W CN2017095295 W CN 2017095295W WO 2018028457 A1 WO2018028457 A1 WO 2018028457A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
pod
sequence number
edge
end point
Prior art date
Application number
PCT/CN2017/095295
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 EP17838587.8A priority Critical patent/EP3474503B1/en
Publication of WO2018028457A1 publication Critical patent/WO2018028457A1/zh
Priority to US16/250,724 priority patent/US10644996B2/en

Links

Images

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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
    • 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/121Shortest path evaluation by minimising delays

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method, an apparatus, and a communication device for determining a route.
  • the fat tree network construction topology rule is as follows: an n-ary, that is, n-layer fat tree topology, when n is 3, the entire topology network is divided into three levels, from bottom to top, respectively, edge layer (edge), convergence layer (aggregate) and core layer (core).
  • the aggregation layer switch and the edge layer switch form a performance optimization data center (English: Performance optimization data center, referred to as Pod).
  • the number of Pods included in the entire topology network is 2n
  • the number of hosts (hosts or servers) connected to each Pod is n 2
  • the number of edge layer switches and aggregation layer switches in each Pod is n
  • the number of core layer switches is n 2 .
  • the number of ports per switch is 2n.
  • the total number of hosts that the network can support is (2n) 3 /4.
  • the embodiment of the invention provides a method, a device and a communication device for determining a route, which are used to solve the technical problem that the data center network has a long queue delay due to path overlap in the prior art.
  • an embodiment of the present invention provides a method for determining a route, including:
  • the start point information includes a sequence number of the start point Pod and a sequence number of the start edge switch, where the end point information includes a sequence number of the end point Pod and a sequence number of the end edge switch; determining in the n-dimensional Latin square matrix
  • the sequence number of the start edge switch is listed as an element of the sequence number of the end edge switch; wherein n is the number of edge switches in each Pod, and the elements in the n-dimensional Latin square and each Pod Meeting If the number of the starting point Pod is the same as the number of the end point Pod, the demand path is the starting edge switch, the aggregation switch corresponding to the element in the Pod, and the end edge. switch.
  • the method in the embodiment of the present invention distributes the data stream evenly on each path, so that load balancing is implemented, and the problem of long pairing delay due to path overlap in the prior art is avoided.
  • the method further includes:
  • one of the core switches connected to the aggregation switch corresponding to the element is determined; the core switches corresponding to different start edge switches in the same Pod are different; a start point edge switch, an aggregation switch corresponding to the element in the Pod, one of the core switches connected to the aggregation switch, an aggregation switch in the end point Pod connected to the core switch, and the end point edge switch.
  • the determining, by the one of the core switches, the aggregation switch corresponding to the element includes: The elements in the dimension arrangement vector are determined to be the same as the sequence number of the start edge switch; the core switch corresponding to the same sorted element is the one of the core switches; the elements in the n-dimensional arrangement vector are different from each other And respectively represent one core switch in the core group connected to the aggregation switch.
  • the method further includes: determining, in a Latin square matrix having the same 2n-dimensional diagonal elements, a sequence element that is a sequence of the start point Pod and a wavelength element of the end point Pod; An element in a Latin square matrix having the same 2n-dimensional diagonal elements corresponds to 2n optical carriers having different optical wavelengths; and an optical carrier corresponding to the wavelength element is determined to be an optical carrier used in the required path.
  • an optical carrier can be allocated between every two edge switches by using the minimum number of optical carriers.
  • the method further comprising: determining a sequence number and a column of the starting point Pod in a Latin square matrix having the same 2n 3 -dimensional diagonal elements a wavelength element of the serial number of the end point Pod; an element in the same Latin square matrix of 2n 3 -dimensional diagonal elements corresponding to 2n 3 -1 optical carriers having different optical wavelengths; determining corresponding to the wavelength element
  • the optical carrier is the optical carrier employed by the desired path.
  • an embodiment of the present invention provides a communications device, including:
  • a processor configured to obtain start point information of the demand path and end point information;
  • the start point information includes a sequence number of the start point Pod and a sequence number of the start edge switch, where the end point information includes a sequence number of the end point Pod and a sequence number of the end point edge switch;
  • the processor is further configured to: if the sequence number of the start point Pod is different from the sequence number of the end point Pod, determine an aggregation switch corresponding to the element One of the connected The core switch is different; the core switch corresponding to the different start point edge switches in the same Pod is different; determining that the demand path is a start edge switch, an aggregation switch corresponding to the element in the Pod, and one core switch connected to the aggregation switch And an aggregation switch in the end point Pod connected to the core switch, and the end point edge switch.
  • the processor is configured to: determine, in an n-dimensional arrangement vector, the same sequence number as the starting edge switch a sorted element; the core switch corresponding to the same sorted element is the one of the core switches; the elements in the n-dimensional array vector are different from each other, and respectively represent the core group connected to the aggregation switch A core switch.
  • the processor is further used After the data stream is sent from the origin edge switch to the destination switch, the serial number of the starting point Pod and the wavelength of the serial number of the end point Pod are determined in a Latin square with the same 2n-dimensional diagonal elements.
  • the processor is further used And: if the data flow is from a starting host connected to the starting edge switch to an ending host connected to the ending edge switch, determining a behavior Pod of the starting point in a Latin square having the same 2n 3 -dimensional diagonal element a serial number, a wavelength element of the serial number of the end point Pod; an element in the Latin square matrix having the same 2n 3 -dimensional diagonal element corresponding to 2n 3 -1 optical carriers having different optical wavelengths; determining the wavelength The optical carrier corresponding to the element is the optical carrier used by the desired path.
  • an embodiment of the present invention provides a communications device, including:
  • a processor configured to obtain start point information of the demand path and end point information;
  • the start point information includes a sequence number of the start point Pod and a sequence number of the start edge switch, where the end point information includes a sequence number of the end point Pod and a sequence number of the end point edge switch;
  • the processor is further configured to: if the sequence number of the start point Pod is different from the sequence number of the end point Pod, determine an aggregation switch corresponding to the element One of the core switches that are connected to each other; the core switch corresponding to the different start point edge switches in the same Pod is different; the demand path is determined to be the start edge switch, the aggregation switch corresponding to the element in the Pod, and the aggregation switch One of the core switches, the aggregation switch in the end point Pod connected to the core switch, and the end point edge switch.
  • the processor is configured to: determine, in an n-dimensional arrangement vector, the same sequence number as the starting edge switch a sorted element; the core switch corresponding to the same sorted element is the one of the core switches; the elements in the n-dimensional array vector are different from each other, and respectively represent the core group connected to the aggregation switch A core switch.
  • the processor is further configured to: if the data stream From the starting edge switch to The destination switch determines, in a Latin square with the same 2n-dimensional diagonal elements, a sequence element that is the starting point Pod, and a wavelength element that is listed as the serial number of the end point Pod; the 2n-dimensional diagonal elements are the same An element in the Latin square corresponds to 2n optical carriers having different optical wavelengths; and an optical carrier corresponding to the wavelength element is determined to be an optical carrier used by the required path.
  • the processor is further configured to: if the data stream Determining, from a starting host connected to the starting edge switch to an ending host connected to the ending edge switch, a sequence number of the starting point Pod, and a column in the Latin square with the same 2n 3 -dimensional diagonal element a wavelength element of a sequence number of the end point Pod; an element in the same Latin square matrix of 2n 3 -dimensional diagonal elements corresponding to 2n 3 -1 optical carriers having different optical wavelengths; determining an optical carrier corresponding to the wavelength element The optical carrier used for the desired path.
  • an embodiment of the present invention provides an apparatus for determining a route, where the apparatus includes a functional module for implementing the method of the first aspect.
  • an embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores program code, where the program code includes an instruction for implementing any possible implementation of the method of the first aspect. .
  • FIG. 1 is a structural diagram of a data center network according to an embodiment of the present invention
  • FIG. 2 is a structural diagram of a communication device according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for determining a route according to an embodiment of the present invention
  • FIGS. 4a-4b are schematic diagrams of paths according to an embodiment of the present invention.
  • FIG. 5 is a functional block diagram of an apparatus for determining a route according to an embodiment of the present invention.
  • the embodiment of the invention provides a method, a device and a communication device for determining a route, which are used to solve the technical problem that the data center network has a long queue delay due to path overlap in the prior art.
  • FIG. 1 is a network structure diagram of a data center based on a 3-ary fat tree topology according to an embodiment of the present invention.
  • the network is divided into three layers from top to bottom, that is, n is 3.
  • the top three layers are the core layer, the convergence layer, and the edge layer.
  • the switch at the core layer is called the core switch
  • the switch at the aggregation layer is called the aggregation switch
  • the switch at the edge layer is called the edge switch.
  • the host is directly connected to the edge switch.
  • the devices distributed in three layers may be other devices for data forwarding, such as routers. For convenience of description, this document is collectively referred to as a switch.
  • the data center network with n is 3 includes 6 Pods, the number of edge switches and aggregation switches in each Pod is 3, and the core switch has 3 core groups, which are core groups 0 to Core group 2.
  • Each core group has 3 core switches.
  • the number of hosts connected to each host is n 2 , which is 9, and the total number of hosts that the network can support is (2n) 3 / 4, which is 54.
  • Each switch has 6 ports.
  • the six ports of one aggregation switch in each Pod are connected to three core switches in one core group, and are connected to three edge switches in the same Pod.
  • the core groups connected to each aggregation switch are different.
  • each edge switch is connected to three aggregation switches and three hosts in the same Pod.
  • the aggregation switches 0 in Pod0 are respectively connected to the three core switches of the core group 0, and are connected to the three edge switches in the Pod0.
  • the aggregation switch 1 in the Pod0 is connected to the three core switches of the core group 1, and is connected to the three edge switches in the Pod0.
  • the aggregation switch 2 in the Pod0 is connected to the three core switches of the core group 2, and is connected to the three edge switches in the Pod0.
  • the connections of the switches in other Pods are similar, and are not described here.
  • Pod0 to Pod6 indicate the number of Pod, and in actual use, other Pods may also be identified by other identifiers.
  • the number 0 to 2 of the switch in the core layer is used to uniquely identify the core switch in the same core group.
  • other identifiers can also be used to identify aggregation switches or edge switches in the same Pod.
  • the data center network may also include a controller (not shown) that can be used for path determination.
  • the path determination may also be implemented by a start edge switch.
  • FIG. 2 is a schematic structural diagram of a communication device according to an embodiment of the present invention.
  • the communication device is, for example, the above-described switch and a host or controller.
  • the communication device includes a processor 10, a transmitter 20, a receiver 30, a memory 40, and a port 50.
  • the memory 40, the transmitter 20 and the receiver 30 and the processor 10 can be connected via a bus.
  • the memory 40, the transmitter 20, and the receiver 30 and the processor 10 may not be a bus structure, but may be other structures, such as a star structure, which is not specifically limited herein.
  • the processor 10 may be a general-purpose central processing unit or an application specific integrated circuit (ASIC), and may be one or more integrated circuits for controlling program execution, and may be A hardware circuit developed using a Field Programmable Gate Array (FPGA) can be a baseband processor.
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • processor 10 may include at least one processing core.
  • the memory 40 may include one or more of a read only memory (English: Read Only Memory, ROM for short), a random access memory (English: Random Access Memory, RAM), and a disk storage.
  • Memory 40 is used to store data and/or instructions needed by processor 10 to operate.
  • the number of memories 40 may be one or more.
  • the transmitter 20 and the receiver 30 may be physically independent of each other or integrated.
  • Transmitter 20 can transmit data over port 50.
  • Receiver 30 can receive data via port 50.
  • the number of ports 50 is 2n; if the communication device is a host, the number of ports 50 is n.
  • FIG. 3 is a flowchart of a method for determining a route in an embodiment of the present invention. Please also refer to FIG. 1 and FIG. 3, the method includes:
  • Step 101 Acquire starting point information of the demand path and end point information;
  • the starting point information includes a sequence number of the starting point Pod And a sequence number of the start edge switch, where the end point information includes a sequence number of the end point Pod and a sequence number of the end point edge switch;
  • Step 102 Determine, in the n-dimensional Latin square matrix, the sequence number of the behavior start edge switch, and the element listed as the sequence number of the end edge switch; wherein n is the number of edge switches in each Pod, and the elements in the n-dimensional Latin square matrix Corresponding to the aggregation switch in each Pod; n is an integer greater than 2;
  • Step 103 Determine whether the sequence number of the starting point Pod is the same as the sequence number of the end point Pod;
  • Step 104 If the sequence number of the start Pod is different from the sequence number of the end point Pod, determine one of the core switches connected to the aggregation switch corresponding to the element; the core switches corresponding to different start edge switches in the same Pod are different;
  • Step 105 Determine that the demand path is a start edge switch, an aggregation switch corresponding to the element in the Pod, one of the core switches connected to the aggregation switch, and the end point Pod connected to the core switch. Aggregation switch, endpoint edge switch;
  • Step 106 If the sequence number of the start point Pod is the same as the sequence number of the end point Pod, determine that the demand path is a start edge switch, an aggregation switch corresponding to the element in the Pod, and the end point edge switch.
  • step 101 when a data packet is received by an edge switch, the start information and the end point information of the data packet are obtained by parsing the packet header information of the data packet.
  • the path between the start point information and the end point information is the demand path.
  • the starting point information includes a sequence number of the starting point Pod and a sequence number of the starting edge switch
  • the ending point information includes a sequence number of the end point Pod and a sequence number of the ending edge switch.
  • P (t,i)(t',i') represents a demand path
  • starting point is the i-th edge switch of the t-th Pod
  • the end point is the i-th edge switch of the t-th Pod.
  • t is, for example, 1, i is 1, that is, the identifier of the starting point Pod, for example, the number is 0, the identifier of the starting edge switch, for example, the number is 0.
  • the starting point of the demand path is the edge switch 0 in Pod0. .
  • the n-dimensional Latin square is an n ⁇ n square matrix. There are exactly n different elements in the square matrix, each of which has exactly n, and each element happens exactly once in one row and one column.
  • the Unipotent Latin square is a special Latin square that requires elements on the diagonal to be consistent. Diagonal vacant squares, where no elements are placed on the diagonal, and elements of each row and each column are not repeated. Taking n as 4 as an example, please refer to Tables a to D, which are ordinary Latin square, Unipotent Latin square and diagonal vacant square.
  • the Latin square matrix in the embodiment of the present invention is a 3-dimensional Latin square matrix, that is, n is the edge of each Pod.
  • the elements of the Latin square matrix correspond to the aggregation switches in each Pod, and optionally, each element corresponds to the number in each Pod.
  • the elements in the Latin square matrix may be the number of the aggregation switch in each Pod.
  • the aggregation switch in Pod0 is numbered 0, 1, 2, and then the Latin square matrix can be as shown in table e. And table f is shown.
  • the elements in the Latin square matrix may be different from the number of the aggregation switches in each Pod, but the two correspond to each other.
  • the elements in the Latin square matrix may be 3, 4, and 5, respectively, representing the aggregation switch 0, convergence.
  • the aggregation switch is determined by using an n-dimensional Latin square matrix. Specifically, in the n-dimensional Latin square matrix, the serial number of the behavior starting edge switch and the element listed as the serial number of the destination edge switch are determined. For example, if the starting edge switch has the serial number i and the ending edge switch has the serial number i′, then in the n-dimensional Latin square matrix, determine the sequence number i of the behavior starting edge switch and the element of the sequence edge switch serial number i′. Dii'.
  • the aggregation switch is the aggregation switch 1 in the Pod t.
  • step 101 step 103 is further performed to determine the sequence number of the starting point Pod. Whether the sequence number of the destination Pod is the same to determine whether the start edge switch and the end edge switch are in the same Pod. For example, if t is 1, and t' is also 1, it means that the start edge switch and the end edge switch are located in the same Pod, for example, Pod0. For another example, t is 1 and t' is 2, indicating that the start edge switch and the end edge switch are located in different Pods.
  • step 102 may be performed first, or step 103 may be performed first, or may be performed simultaneously.
  • the n-dimensional Latin square matrix used in the step 102 can be a Latin square matrix as shown in Table a and Table b. If the step 103 is performed first, the Latin square matrix used in step 102 is different according to the determination result of step 103, and different types of Latin square matrix may be used. For example, if the start edge switch and the end edge switch are located in the same Pod, the method may be adopted.
  • Diagonal vacant Latin square because in the same Pod, the starting edge switch and the end edge switch will not be the same, dii' will not be on the diagonal, so there are no elements on the diagonal will not affect the determination of convergence The result of the switch.
  • the sequence number of the start edge switch and the end edge switch may be the same.
  • the start edge switch is the edge switch 1 in Pod0
  • the end edge switch is Pod1.
  • the edge switch 1, dii' may be located on the diagonal, so the Latin square used at this time needs to be a Latin square that is not vacant as shown in Table a and Table b.
  • step 106 is performed to determine that the demand path is a start edge switch, an aggregation switch corresponding to the element in the Pod, and the end point edge switch.
  • the solid line indicates the path from the start edge switch i to the end edge switch i'
  • the broken line indicates the path from the end edge switch i' to the start edge switch i.
  • the aggregation switch is specified by dii'
  • the aggregation switch is specified by di'i.
  • the starting edge switch has a serial number of 1
  • the end edge switch has a serial number of 2
  • the starting edge switch and the ending edge switch are both located in Pod0
  • the Latin square matrix shown in Table e The element 1 is determined to be 1, and the element listed as 2 is 1, then element 1 represents the identified aggregation switch as the aggregation switch 1 in Pod 0. Therefore, the demand path is the edge switch 0 of Pod0, the aggregation switch 1 in Pod0, and the edge switch 1 in Pod0.
  • step 104 and step 105 are performed, that is, one of the core switches connected to the aggregation switch corresponding to the element is determined, and the demand path is determined as the starting edge switch and the An aggregation switch corresponding to the element in the Pod, any core switch connected to the aggregation switch, an aggregation switch and an edge edge switch in the terminal Pod connected to the core switch.
  • the core switches corresponding to different start edge switches in the same Pod are different. For example, as shown in FIG.
  • the channel can be selected and aggregated in step 104.
  • One of the three core switches in the core group 1 connected to the switch 1 is, for example, the core switch 0 in the core group 1. If the number of the start edge switch is 1, the terminal 1 can be connected to the aggregation switch 1 in step 104. In the core switch 1 in the core group 1, if the serial number of the start edge switch is 2, in step 104, the core switch 2 in the core group 1 connected to the aggregation switch 1 can be selected.
  • the core switch 1 in the core group 1 connected to the aggregation switch 1 can be selected in step 104. If the sequence number of the start edge switch is 1, the step 104 can be performed in step 104. Select to connect to aggregation switch 1
  • the core switch 2 in the core group 1 can select the core switch 0 in the core group 1 connected to the aggregation switch 1 in step 104 if the starting edge switch has the serial number 2.
  • the core switch may be determined by an arrangement vector in step 104.
  • the elements in the arrangement vector are different from each other, and each element represents a core switch in a core group.
  • the core switch corresponding to i is the determined core switch.
  • a t, lii ' represents the aggregation switch determined in step 102.
  • lii' is used to indicate the element determined from the Latin square matrix, which is specifically used to represent the ordinary Latin square matrix, and the aforementioned dii' represents the element determined from the diagonal squared Latin square matrix, c Lii' , ⁇ i represents the core switch corresponding to the identifier ⁇ i in the core group c lii ' , and a t, 'lii' represents the aggregation switch corresponding to the element lii' in the t'th Pod, then the demand path
  • the solid line indicates the path from the origin edge switch i to the destination edge switch i'
  • the dashed line indicates the path from the end edge switch i' to the origin edge switch i.
  • the aggregation switch and core group are specified by lii'
  • the core switch is specified by ⁇ i
  • the aggregation switch and core group are specified by li'i
  • the starting edge switch has a serial number of 1
  • the end edge switch has a serial number of 2
  • the originating edge switch is located in Pod0
  • the ending edge switches are all located in Pod1, and then shown in Table f.
  • the element of the behavior 1 and the column 2 is 1, and then the element 1 represents the identified aggregation switch as the aggregation switch 1 in Pod 0.
  • the core switch 0 in the core group 1 is determined, and then the aggregation switch 1 in the Pod1 connected to the core switch 0 is determined. Therefore, the demand path is the edge switch 0 of Pod0, the aggregation switch 1 in Pod0, the core switch 0 in the core group 1, the aggregation switch in Pod1, and the edge switch 1 in Pod1.
  • the path determined by the method in the embodiment of the present invention is such that the frequency of use of all the links between the two layers of switches is equivalent, so the data flow is evenly distributed on all links of the network, so Load balancing is achieved. Therefore, the technical problem of long queue delay caused by path overlap caused by the method in the prior art is avoided.
  • the routing may be determined by the control device according to the method in the embodiment of the present invention, and finally, the routing table is formed, and each switch may forward the data packet by querying the routing table.
  • the routing control may be performed according to the method in the embodiment of the present invention, and the routing information is forwarded together with the data packet to the determined aggregation switch, and the aggregation switch is further configured according to the route.
  • the information is forwarded by the data, and the routing information is forwarded to the next switch to be forwarded, so that the data packet arrives at the end edge switch.
  • an optical carrier needs to be allocated between any two edge switches (or hosts).
  • the optical carrier minimizes the number of optical carriers.
  • the diagonal is 2n.
  • the Latin square matrix K with the same line element determines the element Ktt', that is, the element of the behavior t and the column t', and the wavelength of the optical carrier used by the starting edge switch i to the destination edge switch i' is the wavelength corresponding to the element Ktt' . Therefore, the number of optical carriers required for the entire network is 2n.
  • the elements in the Latin square matrix having the same 2n-dimensional diagonal elements correspond to 2n optical carriers having different optical wavelengths. If the data flow between the same Pod is not considered, only 2n-1 optical carriers of different wavelengths are needed.
  • the edge switch connected to the host is fixed, in the path determination process, only the starting edge switch connected to the starting host needs to be determined to the end edge of the destination host connection.
  • the path of the switch is sufficient, and the path of the start edge switch to the end edge switch is determined to be the same as that described above, so it will not be described here.
  • the element Qtt' is determined in the Latin square matrix Q with the same 2n 3 -dimensional diagonal elements, that is, the element of the behavior t and the column t', then the starting edge switch i
  • the wavelength of the optical carrier used by the originating host of the connection to the destination host of the destination edge switch i' is the wavelength corresponding to the element Qtt'. Since the host does not have data to flow to itself, the number of optical carriers required for the entire network is 2n 3 -1.
  • the elements in the Latin square matrix having the same 2n 3 -dimensional diagonal elements correspond to 2n 3 -1 optical carriers having different optical wavelengths.
  • any two edge switches need to allocate a time slot.
  • TDM Time Division Multiplexing
  • the element Ktt' is determined in the same Latin square matrix K with the same 2n-dimensional diagonal elements, that is, the behavior t and the column t' Element, then the time slot used by the start edge switch i to the end edge switch i' is the time slot corresponding to the element Ktt'. Therefore, the number of time slots required for the entire network is 2n.
  • the elements in the Latin square matrix with the same 2n-dimensional diagonal elements correspond to 2n different time slots.
  • the element Qtt' is determined in the Latin square matrix Q with the same 2n 3 -dimensional diagonal elements, that is, the element of the behavior t and the column t', then the starting edge switch i
  • the time slot used by the starting host to the end edge switch i' connected to the terminal is the time slot corresponding to the element Qtt'. Because the host does not have data to flow to itself, the number of time slots required for the entire network is 2n 3 -1.
  • the elements in the Latin square with the same 2n 3 -dimensional diagonal elements correspond to 2n 3 -1 different time slots.
  • an embodiment of the present invention further provides a communication device (shown in FIG. 2), which is used to implement any one of the foregoing methods.
  • the processor 10 is configured to acquire start point information of the demand path and the end point information; the start point information includes a sequence number of the start point Pod and a sequence number of the start edge switch, and the end point information includes a sequence number of the end point Pod and The sequence number of the end edge switch; determining, in the n-dimensional Latin square matrix, the sequence number of the start edge switch, and the element number of the end edge switch; wherein n is the number of edge switches in each Pod, The element in the n-dimensional Latin square corresponds to the aggregation switch in each Pod; n is an integer greater than 2; if the sequence number of the starting Pod is the same as the sequence number of the destination Pod, determining that the demand path is the starting edge switch, the The aggregation switch corresponding to the element in the Pod, the endpoint edge switch, and the transmitter 20 are configured to send the demand path to a switch of each layer of the data center network.
  • the processor 10 is further configured to: if the sequence number of the start Pod is different from the sequence number of the end point Pod, determine one of the core switches connected to the aggregation switch corresponding to the element; and correspond to different start edge switches in the same Pod.
  • the core switch is different; determining that the demand path is a starting edge switch, an aggregation switch corresponding to the element in the Pod, one of the core switches connected to the aggregation switch, and the end point Pod connected to the core switch The aggregation switch inside, the end edge switch.
  • the processor 10 is configured to: determine, in the n-dimensional arrangement vector, an element that is sorted in the same order as the starting edge switch; the core switch corresponding to the same sorted element is the one of the core switches; The elements in the n-dimensional arrangement vector are different from each other, and respectively represent one core switch in the core group connected to the aggregation switch.
  • the processor 10 is further configured to determine, if the data flow is from the origin edge switch to the destination switch, a sequence number and a column that behaves as the starting point Pod in a Latin square with the same 2n-dimensional diagonal elements.
  • a wavelength element of the serial number of the end point Pod corresponds to 2n optical carriers having different optical wavelengths; determining an optical carrier corresponding to the wavelength element is Describe the optical carrier used by the desired path.
  • the processor 10 is further configured to: if the data stream from the destination host is connected to a host computer connected to the starting point of the start point and the end edge switch edge switch, in the same 2n 3-dimensional diagonal elements Latin Square Determining, in the sequence, the sequence number of the starting point Pod, the wavelength element of the sequence number of the end point Pod; the elements in the Latin square matrix having the same 2n 3 -dimensional diagonal elements are different from the 2n 3 -1 wavelengths of light Corresponding to the optical carrier; determining that the optical carrier corresponding to the wavelength element is an optical carrier used by the required path.
  • the port 50 is configured to send and receive data packets; the processor 10 is configured to obtain start point information of the demand path and the end point information; the start point information includes a sequence number of the start point Pod and a sequence number of the start edge switch.
  • the end point information includes a sequence number of the end point Pod and a sequence number of the end point edge switch; determining, in the n-dimensional Latin square matrix, an element whose behavior is the start point edge switch, and an element listed as the sequence number of the end point edge switch; wherein n is The number of edge switches in each Pod, the elements in the n-dimensional Latin square corresponds to the aggregation switch in each Pod; n is an integer greater than 2; if the sequence number of the starting Pod is the same as the serial number of the end Pod, determine The demand path is a start edge switch, an aggregation switch corresponding to the element in the Pod, and the end edge switch.
  • the processor 10 is further configured to: if the sequence number of the start Pod is different from the sequence number of the end point Pod, determine one of the core switches connected to the aggregation switch corresponding to the element; and correspond to different start edge switches in the same Pod.
  • the core switch is different; determining that the demand path is a starting edge switch, an aggregation switch corresponding to the element in the Pod, one of the core switches connected to the aggregation switch, and the end point Pod connected to the core switch The aggregation switch inside, the end edge switch.
  • the processor 10 is configured to: determine, in the n-dimensional arrangement vector, an element that is sorted in the same order as the starting edge switch; the core switch corresponding to the same sorted element is the one of the core switches; The elements in the n-dimensional arrangement vector are different from each other, and respectively represent one core switch in the core group connected to the aggregation switch.
  • the processor 10 is further configured to determine, if the data flow is from the origin edge switch to the destination switch, a sequence number and a column that behaves as the starting point Pod in a Latin square with the same 2n-dimensional diagonal elements.
  • a wavelength element of the serial number of the end point Pod corresponds to 2n optical carriers having different optical wavelengths; determining an optical carrier corresponding to the wavelength element is Describe the optical carrier used by the desired path.
  • the processor 10 is further configured to: if the data stream from the destination host is connected to a host computer connected to the starting point of the start point and the end edge switch edge switch, in the same 2n 3-dimensional diagonal elements Latin Square Determining, in the sequence, the sequence number of the starting point Pod, the wavelength element of the sequence number of the end point Pod; the elements in the Latin square matrix having the same 2n 3 -dimensional diagonal elements are different from the 2n 3 -1 wavelengths of light Corresponding to the optical carrier; determining that the optical carrier corresponding to the wavelength element is an optical carrier used by the required path.
  • an embodiment of the present invention further provides an apparatus for determining a route, the apparatus comprising a functional module for performing the foregoing method steps.
  • the apparatus includes: an obtaining unit 201, and processing Unit 202.
  • processing Unit 202 In actual use, other unit modules can also be configured according to actual needs.
  • the obtaining unit 201 is configured to acquire start point information of the demand path and the end point information; the start point information includes a sequence number of the start point Pod and a sequence number of the start edge switch, where the end point information includes a sequence number of the end point Pod and a sequence number of the end point edge switch.
  • the processing unit 202 is configured to determine, in the n-dimensional Latin square matrix, an element that is a sequence number of the start edge switch, and an element listed as a sequence number of the end edge switch; where n is the number of edge switches in each Pod, The element in the n-dimensional Latin square corresponds to the aggregation switch in each Pod; n is an integer greater than 2; if the sequence number of the starting Pod is the same as the sequence number of the end Pod, it is determined that the demand path is the starting edge switch and the The aggregation switch corresponding to the element in the Pod and the endpoint edge switch.
  • the processing unit 202 is further configured to: if the sequence number of the start Pod is different from the sequence number of the end point Pod, determine one of the core switches connected to the aggregation switch corresponding to the element; and correspond to different start edge switches in the same Pod.
  • the core switch is different; determining that the demand path is a starting edge switch, an aggregation switch corresponding to the element in the Pod, one of the core switches connected to the aggregation switch, and the end point Pod connected to the core switch The aggregation switch inside, the end edge switch.
  • the processing unit 202 is configured to: determine, in the n-dimensional arrangement vector, an element that is sorted in the same order as the starting edge switch; the core switch corresponding to the same sorted element is the one of the core switches; The elements in the n-dimensional arrangement vector are different from each other, and respectively represent one core switch in the core group connected to the aggregation switch.
  • the processing unit 202 is further configured to determine, if the data flow is from the origin edge switch to the destination switch, a sequence number and a column that behaves as the starting point Pod in a Latin square matrix having the same 2n-dimensional diagonal elements.
  • a wavelength element of the serial number of the end point Pod corresponds to 2n optical carriers having different optical wavelengths; determining an optical carrier corresponding to the wavelength element is Describe the optical carrier used by the desired path.
  • the processing unit 202 is further configured to: if the data stream from the destination host is connected to a host connector starting from the starting point to the edge switch end edge switch, in the same 2n 3-dimensional diagonal elements Latin Square Determining, in the sequence, the sequence number of the starting point Pod, the wavelength element of the sequence number of the end point Pod; the elements in the Latin square matrix having the same 2n 3 -dimensional diagonal elements are different from the 2n 3 -1 wavelengths of light Corresponding to the optical carrier; determining that the optical carrier corresponding to the wavelength element is an optical carrier used by the required path.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

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

Abstract

一种确定路由的方法、装置及通信设备,该方法包括:获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。

Description

一种确定路由的方法、装置及通信设备
本申请要求在2016年8月10日提交中国专利局、申请号为201610657657.4、发明名称为“一种确定路由的方法、装置及通信设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种确定路由的方法、装置及通信设备。
背景技术
随着网络技术的发展,数据中心已经成为提供因特网络服务、分布式并行计算等的基础架构。为数据中心设计可扩展的网络架构和高效的路由算法是当前学术界的研究热点。现阶段研究人员基于不同规则提出不少用于构建数据中心网络的拓扑结构,其中一种胖树(fat-tree)拓扑结构,已被广泛应用于数据中心。胖树网络构建拓扑规则如下:一个n元,即n层的胖树拓扑中,在n为3时,整个拓扑网络分为三个层次,由下而上分别为边缘层(edge)、汇聚层(aggregate)及核心层(core)。其中汇聚层交换机与边缘层交换机构成一个性能优化数据中心(英文:Performance optimization datacenter,简称:Pod)。整个拓扑网络包含的Pod数目为2n,每一个Pod连接的主机(host或server)数目为n2,每一个Pod内的边缘层交换机及汇聚层交换机的数量均为n,核心层交换机的数量为n2。每一个交换机的端口数目为2n。网络所能支持的主机总数为(2n)3/4。
粗略来说,现有技术中,基于胖树网络的路由方案有两种,一种是基于传统的多重等价路由(英文:Equal-cost Multi-path Routing,简称:ECMP),即每两个边缘层交换机或主机之间有多条等价的路径,然后分析数据包头的信息,应用杂凑函数的结果选择其中一条路径,从而实现多路径负载均衡。另一种是基于网络流量调节的动态路由,例如根据网络的当前状况和数据流量的估计进行动态的路径选择。
然而这两种路由方案都不能完全避免网络内部由于路径重叠导致的排队时延,因为链路的带宽有限,每次只能处理一定的数据量,如果数据流都要经过同一条链路,就会导致一部分数据流必须排队,造成传输时间上的延迟。ECMP或者动态路由,在选路的原则上没有考虑绝对避免路径重叠,例如ECMP可以近似认为是随机地选一条路径,那么两条被选中的路径有重叠的概率大于零。
发明内容
本发明实施例提供一种确定路由的方法、装置及通信设备,用以解决现有技术中数据中心网络由于路径重叠导致排队时延较长的技术问题。
第一方面,本发明实施例提供了一种确定路由的方法,包括:
获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇 聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
本发明实施例中的方法将数据流均匀分布在每条路径上,所以实现了负载均衡,避免了现有技术中由于路径重叠导致配对时延较长的问题。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机,包括:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若数据流从所述起点边缘交换机至所述终点交换机,所述方法还包括:在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。通过该方法,可以采用最小的光载波数即可实现为每两个边缘交换机之间分配一个光载波的目的。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,所述方法还包括:在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。通过该方法,可以采用最小的光载波数即可实现为每两个主机之间分配一个光载波的目的。
第二方面,本发明实施例提供一种通信设备,包括:
端口,用于收发数据包;
处理器,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
结合第二方面,在第二方面的第一种可能的实现方式中,所述处理器还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个 核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理器用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式中,在第二方面的第三种可能的实现方式中,所述处理器还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式中,在第二方面的第四种可能的实现方式中,所述处理器还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
第三方面,本发明实施例提供一种通信设备,包括:
处理器,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机;发送器,用于将所述需求路径发送给数据中心网络的每层的交换机。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:若数据流从所述起点边缘交换机至 所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
第四方面,本发明实施例提供一种确定路由的装置,所述装置包括用于实现第一方面所述的方法的功能模块。
第五方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有程序代码,所述程序代码包括用于实现所述第一方面的方法的任意可能的实现方式的指令。
附图说明
图1为本发明实施例提供的一种数据中心网络的结构图;
图2为本发明实施例提供的一种通信设备的结构图;
图3为本发明实施例提供的一种确定路由的方法的流程图;
图4a-图4b为本发明实施例提供的一种路径示意图;
图5为本发明实施例提供的一种确定路由的装置的功能框图。
具体实施方式
本发明实施例提供一种确定路由的方法、装置及通信设备,用以解决现有技术中数据中心网络由于路径重叠导致排队时延较长的技术问题。
以下将详细描述本发明实施例中方案的实施过程、目的。
本发明实施例提供的一种确定路由的方法,该方法可以应用于数据中心网络中。请参考图1所示,为本发明实施例提供的一种基于3元胖树拓扑的数据中心的网络结构图。如图1所示,该网络由上至下分为三层,即n为3。由上至下的三层分别为核心层、汇聚层、边缘层。核心层的交换机称为核心交换机,汇聚层的交换机称为汇聚交换机,边缘层的交换机称为边缘交换机。主机与边缘交换机直接相连。在实际运用中,分布在三个层的设备可以是其它用于进行数据转发的设备,例如路由器,为便于描述,本文中统称为交换机。
n元的胖树网络,包括2n个Pod,每个交换机有2n个端口。因此,在本实施例中,n为3的数据中心网络包括6个Pod,每一个Pod内的边缘交换机及汇聚交换机的数量均为3,核心交换机有3个核心组,分别为核心组0至核心组2。每个核心组有3个核心交换机。每一个主机连接的主机数目为n2,即9,网络所能支持的主机总数为(2n)3/4,即54。每个交换机有6个端口。每个Pod内的1个汇聚交换机的6个端口连接1个核心组内的3个核心交换机,并且连接相同Pod内的3个边缘交换机,每个汇聚交换机连接的核心组不相 同。每个边缘交换机的6个端口分别连接相同Pod内的3个汇聚交换机以及3个主机。举例来说,如图1所示,Pod0内的汇聚交换机0分别连接至核心组0的三个核心交换机,并且与Pod0内的3个边缘交换机相连。Pod0内汇聚交换机1连接至核心组1的3个核心交换机,并且与Pod0内的3个边缘交换机相连。Pod0内汇聚交换机2连接至核心组2的3个核心交换机,并且与Pod0内的3个边缘交换机相连。其它Pod内的交换机的连接情况类似,在此不再赘述。
在图1中,Pod0至Pod6表示Pod的编号,在实际运用中,也可以通过其它标识来标识不同的Pod。核心层的交换机的编号0至2用来唯一标识同一核心组内的核心交换机,类似的,汇聚层的交换机的编号0至2用来唯一标识同一Pod内的汇聚交换机,边缘层的交换机的编号0至2用来唯一标识同一Pod内的边缘交换机,在实际运用中,也可以通过其它标识来标识同一Pod内的汇聚交换机或边缘交换机。
可选的,数据中心网络还可以包括一个控制器(未图示),控制器可以用于进行路径确定。
可选的,路径确定也可以是由起点边缘交换机实施。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本文中的一些技术术语以现有的数据中心网络中的术语为例对本发明实施例进行的描述,其可能随着网络的演进发生变化,具体演进可以参考相应标准中的描述。
接下来请参考图2,图2为本发明实施例提供的通信设备的可能的结构图。该通信设备例如为上述交换机及主机或者控制器。如图2所示,该通信设备包括:处理器10、发送器20、接收器30、存储器40和端口50。存储器40、发送器20和接收器30和处理器10可以通过总线进行连接。当然,在实际运用中,存储器40、发送器20和接收器30和处理器10之间可以不是总线结构,而可以是其它结构,例如星型结构,本申请不作具体限定。
可选的,处理器10具体可以是通用的中央处理器或特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)开发的硬件电路,可以是基带处理器。
可选的,处理器10可以包括至少一个处理核心。
可选的,存储器40可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器中的一种或多种。存储器40用于存储处理器10运行时所需的数据和/或指令。存储器40的数量可以为一个或多个。
可选的,发送器20和接收器30在物理上可以相互独立也可以集成在一起。发送器20可以通过端口50进行数据发送。接收器30可以通过端口50进行数据接收。
可选的,若通信设备为交换机,则端口50的数量为2n;若通信设备为主机,则端口50的数量为n。
接下来请参考图3所示,为本发明实施例中确定路由的方法的流程图。请同时参考图1及图3所示,该方法包括:
步骤101:获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号 以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;
步骤102:在n维拉丁方阵中确定出行为起点边缘交换机的序号、列为终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;
步骤103:判断起点Pod的序号与终点Pod的序号是否相同;
步骤104:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;
步骤105:确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、终点边缘交换机;
步骤106:若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
可选的,步骤101可以是由某个边缘交换机接收到数据包时,通过解析数据包的包头信息,获得该数据包的起点信息和终点信息。起点信息和终点信息之间的路径即为需求路径。
可选的,起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号。举例来说,P(t,i)(t’,i’)表示一条需求路径,起点是第t个Pod的第i个边缘交换机,终点是第t’个Pod的第i’个边缘交换机。如图1所示,t例如为1,i为1,即起点Pod的标识,例如编号为0,起点边缘交换机的标识,例如编号为0,换言之,需求路径的起点是Pod0中的边缘交换机0。
n维拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在一行和一列中恰好出现一次。Unipotent拉丁方阵是一种特殊的拉丁方阵,要求对角线上的元素一致。对角线空缺方阵,其中对角线上不放置元素,每一行和每一列的元素不重复出现。以n为4为例,请参考表a至表d所示,分别为普通的拉丁方阵、Unipotent拉丁方阵以及对角线空缺方阵。
0 2 1 3
1 3 2 0
2 0 3 1
3 1 0 2
表a
0 1 2 3
3 0 1 2
2 3 0 1
1 2 3 0
表b
  1 2 3
3   1 2
2 3   1
1 2 3  
表c
  1 0 3
2   1 0
3 0   2
1 2 3  
表d
在图1所示的数据中心网络中,为3元的胖树结构,即n为3,所以本发明实施例中的拉丁方阵为3维拉丁方阵,也即n为每个Pod中边缘交换机或汇聚交换机的数量。
进一步,在本发明实施例的拉丁方阵中,拉丁方阵的元素与每个Pod中的汇聚交换机对应,可选的,每个元素与每个Pod中的编号对应。可选的,拉丁方阵中的元素可以为每个Pod中的汇聚交换机的编号,例如在图1中,Pod0中的汇聚交换机的编号为0、1、2,那么拉丁方阵可以如表e和表f所示。
  1 0
2   1
1 0  
表e
0 1 2
1 2 0
2 0 1
表f
可选的,拉丁方阵中的元素可以与每个Pod中的汇聚交换机的编号不同,但是二者对应,例如拉丁方阵中的元素可以是3、4、5,分别表征汇聚交换机0、汇聚交换机1和汇聚交换机2。
本发明实施例通过n维拉丁方阵来确定汇聚交换机,具体的,在n维拉丁方阵中确定出行为起点边缘交换机的序号、列为终点边缘交换机的序号的元素。举例来说,起点边缘交换机的序号为i,终点边缘交换机的序号为i’,那么在n维拉丁方阵中,确定行为起点边缘交换机的序号i、列为终点边缘交换机的序号i’的元素dii’。例如起点边缘交换机的序号为1,终点边缘交换机的序号为2,那么在表f所示的拉丁方阵中,确定出行为1、列为2的元素为1,那么元素1即表征确定出的汇聚交换机为Pod t中的汇聚交换机1。
因为边缘交换机到边缘交换机的路径选择中,会出现起点边缘交换机和终点边缘交换机在同一Pod内的情况,在这种情况下,只要确定汇聚交换机即可,而不需要再确定核心交换机。若起点边缘交换机和终点交换机在不同的Pod内,则除了要确定汇聚交换机之外,还需要确定核心交换机,所以在步骤101之后,还执行步骤103,即判断起点Pod的序号与 终点Pod的序号是否相同,以确定起点边缘交换机和终点边缘交换机是否位于同一Pod。举例来说,t为1,t’也为1,则说明起点边缘交换机和终点边缘交换机位于同一Pod,例如Pod0。再例如,t为1,而t’为2,则说明起点边缘交换机和终点边缘交换机位于不同的Pod内。
需要说明的是,步骤103和步骤102之间不限定先后的执行顺序,即既可以先执行步骤102,也可以先执行步骤103,当然也可以同时执行。另外,不管是步骤102先执行,还是步骤103先执行,步骤102中采用的n维拉丁方阵可以如表a、表b所示的拉丁方阵。若步骤103先执行,则步骤102中采用的拉丁方阵根据步骤103的确定结果不同,则可以采用不同类型的拉丁方阵,例如如果起点边缘交换机和终点边缘交换机位于同一Pod内,则可以采用对角线空缺的拉丁方阵,因为在同一Pod内,起点边缘交换机和终点边缘交换机不会相同,dii’不会位于对角线上,所以对角线上有没有元素都不会影响确定汇聚交换机的结果。若起点边缘交换机和终点边缘交换机位于不同的Pod内,则起点边缘交换机的序号和终点边缘交换机的序号可能会相同,例如起点边缘交换机为Pod0中的边缘交换机1,而终点边缘交换机为Pod1中的边缘交换机1,dii’可能会位于对角线上,所以此时采用的拉丁方阵就需要是如表a和表b所示的对角线不空缺的拉丁方阵。
若起点Pod的序号与终点Pod的序号相同时,执行步骤106,即确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
举例来说,请参考图4a所示,若起点边缘交换机用et,i来表示,终点边缘交换机用et,i’来表示,at,dii’表示步骤102中确定出的汇聚交换机,则需求路径
Figure PCTCN2017095295-appb-000001
在图4a中,实线表示由起点边缘交换机i至终点边缘交换机i’的路径,虚线表示由终点边缘交换机i’至起点边缘交换机i的路径。不同的是,在实线表示的路径中,汇聚交换机由dii’指定,而在虚线表示的路径中,汇聚交换机由di’i指定。
结合图1所示,举例来说,例如起点边缘交换机的序号为1,终点边缘交换机的序号为2,而且起点边缘交换机和终点边缘交换机均位于Pod0中,那么在表e所示的拉丁方阵中,确定出行为1、列为2的元素为1,那么元素1即表征确定出的汇聚交换机为Pod 0中的汇聚交换机1。因此,需求路径为Pod0的边缘交换机0、Pod0中的汇聚交换机1、Pod0中的边缘交换机1。
若起点Pod的序号与终点Pod的序号不相同,则执行步骤104和步骤105,即确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机,确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的任意一个核心交换机、与所述核心交换机相连的所述终端Pod内的汇聚交换机、终点边缘交换机。同一Pod内的不同起点边缘交换机对应的核心交换机不同。举例来说,请参考图1所示,假设Pod0内的起点边缘交换机的序号为0,在步骤102中确定出的汇聚交换机为序号1所代表的汇聚交换机,那么在步骤104中可以选择与汇聚交换机1相连的核心组1中的三个核心交换机的其中一个,例如核心组1中的核心交换机0,那么若起点边缘交换机的序号为1时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机1,若起点边缘交换机的序号为2时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机2。当然,也可以是起点边缘交换机的序号为0时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机1,若起点边缘交换机的序号为1时,在步骤104中可以选择与汇聚交换机1相连 的核心组1中的核心交换机2,若起点边缘交换机的序号为2时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机0。
因此,为了便于确定核心交换机,可以在步骤104中通过一个排列向量确定核心交换机,该排列向量中的元素互不相同,每个元素分别表示一个核心组中的一个核心交换机。举例来说,排列向量可以表示为π=(π1,π2,...,πn),那么在步骤104中,在排列向量中确定出第i个元素πi,第i个元素πi对应的核心交换机即为确定出的核心交换机。
在图1所示的例子中,n为3,π=(0,1,2),假设起点边缘交换机为Pod0内的边缘交换机0,在步骤102中确定出的汇聚交换机为Pod0内的汇聚交换机1,所以在步骤104中,确定出排列向量中第1个元素0,那么元素0对应的核心交换机0则为本次确定出的核心交换机。
举例来说,请参考图4b所示,若起点边缘交换机用et,i来表示,终点边缘交换机用et’,i’来表示,at,lii’表示步骤102中确定出的汇聚交换机,这里用lii’表示从拉丁方阵中确定出的元素,是特别说明这里使用的是普通拉丁方阵,而前述dii’表示是从对角线空缺的拉丁方阵中确定出的元素,clii’,πi表示核心组clii’中标识πi对应的核心交换机,at,’lii’表示第t’个Pod内元素lii’对应的汇聚交换机,则需求路径
Figure PCTCN2017095295-appb-000002
在图4b中,实线表示由起点边缘交换机i至终点边缘交换机i’的路径,虚线表示由终点边缘交换机i’至起点边缘交换机i的路径。不同的是,在实线表示的路径中,汇聚交换机和核心组由lii’指定,核心交换机由πi指定,而在虚线表示的路径中,汇聚交换机和核心组由li’i指定,核心交换机由πi’指定。
结合图1所示,举例来说,例如起点边缘交换机的序号为1,终点边缘交换机的序号为2,而且起点边缘交换机位于Pod0中,终点边缘交换机均位于Pod1中,那么在表f所示的拉丁方阵中,确定出行为1、列为2的元素为1,那么元素1即表征确定出的汇聚交换机为Pod 0中的汇聚交换机1。然后确定出核心组1中的核心交换机0,进而再确定出与核心交换机0相连的Pod1内的汇聚交换机1。因此,需求路径为Pod0的边缘交换机0、Pod0中的汇聚交换机1、核心组1中的核心交换机0、Pod1中的汇聚交换机、Pod1中的边缘交换机1。
由以上描述可以看出,通过本发明实施例中的方法确定出的路径,使得每两层交换机之间的所有链路的使用频率相当,所以数据流均匀分布在网络的所有链路上,所以实现了负载均衡。因此,避免了现有技术中的方法所带来的路径重叠导致的排队时延较长的技术问题。
可选的,可以是事先由控制设备按照本发明实施例中的方法进行路由确定,最终形成路由表,那么各个交换机可以通过查询路由表进行数据包转发。
可选的,也可以是在起点边缘交换机出按照本发明实施例中的方法进行路由确定,确定之后由起点边缘交换机将路由信息与数据包一起转发给确定出的汇聚交换机,汇聚交换机再根据路由信息进行数据转发,并将路由信息再转发给下一个要转发的交换机,如此往复,直至数据包到达终点边缘交换机。
进一步,若数据中心网络采用密集型光波复用(英文:Dense Wavelength Division Multiplexing;简称:DWDM)技术,那么任何两个边缘交换机(或主机)之间都需要分配一个光载波,以下将说明如何分配光载波,使得光载波数最小。
可选的,若数据流是从边缘交换机至边缘交换机,因为有2n个Pod,所以在2n维对角 线元素相同的拉丁方阵K中确定元素Ktt’,即行为t、列为t’的元素,那么起点边缘交换机i至终点边缘交换机i’所采用的光载波的波长为元素Ktt’对应的波长。因此,整个网络需要的光载波的数量为2n。其中,2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应。若不考虑相同Pod之间的数据流,则只需要2n-1个不同波长的光载波。
可选的,若数据流是从主机至主机,因为主机连接的边缘交换机是固定的,所以在路径确定的过程中,只需要再确定与起点主机连接的起点边缘交换机至于终点主机连接的终点边缘交换机的路径即可,而起点边缘交换机至终点边缘交换机的路径确定与前述描述的相同,所以在此不再赘述。
可选的,若数据流是从主机至主机,那么在2n3维对角线元素相同的拉丁方阵Q中确定元素Qtt’,即行为t、列为t’的元素,那么起点边缘交换机i连接的起点主机至终点边缘交换机i’连接的终点主机所采用的光载波的波长为元素Qtt’对应的波长。因为主机并没有数据流至自己,所以,整个网络需要的光载波的数量为2n3-1。其中,2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应。
可选的,若数据中心网络采用时分复用(英文:Time Division Multiplexing,简称:TDM)技术,那么任何两个边缘交换机(或主机)之间都需要分配一个时间槽,以下将说明如何分配时间槽。
可选的,若数据流是从边缘交换机至边缘交换机,因为有2n个Pod,所以在2n维对角线元素相同的拉丁方阵K中确定元素Ktt’,即行为t、列为t’的元素,那么起点边缘交换机i至终点边缘交换机i’所采用的时间槽为元素Ktt’对应的时间槽。因此,整个网络需要的时间槽的数量为2n。其中,2n维对角线元素相同的拉丁方阵中的元素与2n个不同的时间槽对应。
可选的,若数据流是从主机至主机,那么在2n3维对角线元素相同的拉丁方阵Q中确定元素Qtt’,即行为t、列为t’的元素,那么起点边缘交换机i连接的起点主机至终点边缘交换机i’连接的终点主机所采用的时间槽为元素Qtt’对应的时间槽。因为主机并没有数据流至自己,所以,整个网络需要的时间槽的数量为2n3-1。其中,2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个不同的时间槽对应。
基于同一发明构思,本发明实施例还提供一种通信设备(如图2所示),该通信设备用于实现前述方法中的任意一种方法。
当该通信设备为控制器,处理器10,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机;发送器20,用于将所述需求路径发送给数据中心网络的每层的交换机。
可选的,处理器10还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
可选的,处理器10用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
可选的,处理器10还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
可选的,处理器10还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
当该通信设备为边缘交换机时,端口50,用于收发数据包;处理器10,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
可选的,处理器10还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
可选的,处理器10用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
可选的,处理器10还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
可选的,处理器10还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
基于同一发明构思,本发明实施例还提供一种确定路由的装置,该装置包括用于执行前述方法步骤的功能模块。作为一个例子,如图5所示,该装置包括:获取单元201、处理 器单元202。在实际运用中,还可以根据实际需求配置其它单元模块。
具体的,获取单元201,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;处理单元202,用于在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
可选的,处理单元202还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
可选的,处理单元202用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
可选的,处理单元202还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
可选的,处理单元202还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
前述实施例中的确定路由的方法中的各种变化方式和具体实例同样适用于本实施例的装置以及图2中的通信设备,通过前述对确定路由的方法的详细描述,本领域技术人员可以清楚的知道本实施例中装置以及图2中的通信设备的实施方法,所以为了说明书的简洁,在此不再详述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

  1. 一种确定路由的方法,其特征在于,包括:
    获取需求路径的起点信息以及终点信息;所述起点信息包括起点性能优化数据中心Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;
    在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;
    若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;
    确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
  3. 如权利要求2所述的方法,其特征在于,所述确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机,包括:
    在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
  4. 如权利要求1-3任一项所述的方法,其特征在于,若数据流从所述起点边缘交换机至所述终点交换机,所述方法还包括:
    在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;
    确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
  5. 如权利要求1-3任一项所述的方法,其特征在于,若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,所述方法还包括:
    在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;
    确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
  6. 一种确定路由的装置,其特征在于,包括:
    获取单元,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点性能优化数据中心Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;
    处理单元,用于在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方 阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。
  7. 如权利要求6所述的装置,其特征在于,所述处理单元还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
  8. 如权利要求7所述的装置,其特征在于,所述处理单元用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
  9. 如权利要求6-8任一项所述的装置,其特征在于,所述处理单元还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
  10. 如权利要求6-8任一项所述的装置,其特征在于,所述处理单元还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
  11. 一种通信设备,其特征在于,包括:
    处理器,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点性能优化数据中心Pod的序号以及起点边缘交换机的序号,所述终点信息包括终点Pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个Pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个Pod中的汇聚交换机对应;n为大于2的整数;若起点Pod的序号与终点Pod的序号相同,确定所述需求路径为起点边缘交换机、所述Pod内的所述元素对应的汇聚交换机、所述终点边缘交换机;
    发送器,用于将所述需求路径发送给数据中心网络的每层的交换机。
  12. 如权利要求11所述的通信设备,其特征在于,所述处理器还用于:若起点Pod的序号与终点Pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一Pod内的不同起点边缘交换机对应的核心交换机不同;
    确定所述需求路径为起点边缘交换机、所述Pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点Pod内的汇聚交换机、所述终点边缘交换机。
  13. 如权利要求12所述的通信设备,其特征在于,所述处理器用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核 心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。
  14. 如权利要求11-13任一项所述的通信设备,其特征在于,所述处理器还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
  15. 如权利要求11-13任一项所述的通信设备,其特征在于,所述处理器还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点Pod的序号、列为所述终点Pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。
PCT/CN2017/095295 2016-08-10 2017-07-31 一种确定路由的方法、装置及通信设备 WO2018028457A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17838587.8A EP3474503B1 (en) 2016-08-10 2017-07-31 Route determining method and apparatus
US16/250,724 US10644996B2 (en) 2016-08-10 2019-01-17 Route determining method and apparatus, and communications device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610657657.4A CN107733810B (zh) 2016-08-10 2016-08-10 一种确定路由的方法、装置及通信设备
CN201610657657.4 2016-08-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/250,724 Continuation US10644996B2 (en) 2016-08-10 2019-01-17 Route determining method and apparatus, and communications device

Publications (1)

Publication Number Publication Date
WO2018028457A1 true WO2018028457A1 (zh) 2018-02-15

Family

ID=61162681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/095295 WO2018028457A1 (zh) 2016-08-10 2017-07-31 一种确定路由的方法、装置及通信设备

Country Status (4)

Country Link
US (1) US10644996B2 (zh)
EP (1) EP3474503B1 (zh)
CN (1) CN107733810B (zh)
WO (1) WO2018028457A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327400B (zh) * 2017-08-01 2022-04-26 华为技术有限公司 一种数据通信方法及数据通信网络

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100020806A1 (en) * 2008-07-22 2010-01-28 Amin Vahdat Scalable Commodity Data Center Network Architecture
CN102394782A (zh) * 2011-11-15 2012-03-28 西安电子科技大学 基于模块扩展的数据中心网络拓扑系统
CN102420775A (zh) * 2012-01-10 2012-04-18 西安电子科技大学 基于模块扩展的数据中心网络拓扑系统的路由方法
US20130022047A1 (en) * 2011-07-19 2013-01-24 Fujitsu Limited Network apparatus and network managing apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272104A (ja) * 2003-03-11 2004-09-30 Netcomsec Co Ltd 表の作成方法、作成装置、作成プログラム及び作成プログラム記憶媒体
CN100493060C (zh) * 2004-07-27 2009-05-27 华为技术有限公司 一种通信系统时频资源的分配方法
US9195837B2 (en) * 2007-11-30 2015-11-24 Hewlett-Packard Development Company, L.P. Method and system for securely transmitting deterrent data
KR20090131545A (ko) * 2008-06-18 2009-12-29 한국전자통신연구원 셀룰러 시스템에서 셀 계획이 필요 없는 셀 간 간섭 관리방법
TW201547239A (zh) * 2014-06-03 2015-12-16 Univ Nat Cheng Kung 適用平行運算之無交換器網路建構系統及方法
GB2527602A (en) * 2014-06-27 2015-12-30 Norwegian University Of Science And Technology Galois field coding techniques
JP6459630B2 (ja) * 2015-02-27 2019-01-30 富士通株式会社 データ転送制御装置、データ転送制御プログラム、および並列計算システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100020806A1 (en) * 2008-07-22 2010-01-28 Amin Vahdat Scalable Commodity Data Center Network Architecture
US20130022047A1 (en) * 2011-07-19 2013-01-24 Fujitsu Limited Network apparatus and network managing apparatus
CN102394782A (zh) * 2011-11-15 2012-03-28 西安电子科技大学 基于模块扩展的数据中心网络拓扑系统
CN102420775A (zh) * 2012-01-10 2012-04-18 西安电子科技大学 基于模块扩展的数据中心网络拓扑系统的路由方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LO, YUAN-HSUN ET AL.: "The Global Packing Number of a Fat-tree Network", 6 May 2016 (2016-05-06), pages 1 - 19, XP055562118, Retrieved from the Internet <URL:http://www.math.nctu.edu.tw/research/DOWNLOAD_FILES/hlfu/174.%20Global%20packing%20of%20fat%20trees.pdf> *
See also references of EP3474503A4

Also Published As

Publication number Publication date
EP3474503B1 (en) 2021-03-31
US20190158391A1 (en) 2019-05-23
US10644996B2 (en) 2020-05-05
EP3474503A1 (en) 2019-04-24
CN107733810A (zh) 2018-02-23
EP3474503A4 (en) 2019-06-12
CN107733810B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
US11362934B2 (en) Method to route packets in a distributed direct interconnect network
US20230231799A1 (en) Data center network with packet spraying
JP6093867B2 (ja) インターコネクトにおける不均一なチャネル容量
US9455916B2 (en) Method and system for changing path and controller thereof
US10477288B2 (en) Data center interconnect as a switch
Guay et al. vFtree-A fat-tree routing algorithm using virtual lanes to alleviate congestion
US9800508B2 (en) System and method of flow shaping to reduce impact of incast communications
CN109861925B (zh) 数据传输方法、相关装置及网络
Cheng et al. Application-aware SDN routing for big data networking
US8953605B1 (en) Methods and apparatus for a handshake protocol in a LAG-based multipath switch fabric for multipath OAM
US10003526B1 (en) Methods and apparatus for efficient use of link aggregation groups
US11924005B2 (en) Dedicated network gateway device
WO2019024759A1 (zh) 一种数据通信方法及数据通信网络
WO2018028457A1 (zh) 一种确定路由的方法、装置及通信设备
JP6633502B2 (ja) 通信装置
Guay et al. using Virtual Lanes to Alleviate Congestion

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017838587

Country of ref document: EP

Effective date: 20190116

NENP Non-entry into the national phase

Ref country code: DE