WO2019200568A1 - 一种数据通信方法及装置 - Google Patents

一种数据通信方法及装置 Download PDF

Info

Publication number
WO2019200568A1
WO2019200568A1 PCT/CN2018/083592 CN2018083592W WO2019200568A1 WO 2019200568 A1 WO2019200568 A1 WO 2019200568A1 CN 2018083592 W CN2018083592 W CN 2018083592W WO 2019200568 A1 WO2019200568 A1 WO 2019200568A1
Authority
WO
WIPO (PCT)
Prior art keywords
electrical node
node
data
electrical
request
Prior art date
Application number
PCT/CN2018/083592
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 CN201880078095.5A priority Critical patent/CN111434079B/zh
Priority to PCT/CN2018/083592 priority patent/WO2019200568A1/zh
Publication of WO2019200568A1 publication Critical patent/WO2019200568A1/zh
Priority to US17/071,702 priority patent/US11646978B2/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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a data communication method and apparatus.
  • the Data Center Network generally adopts the Fat-Tree networking mode to provide a fully connected network for many servers in the data center, and exchange data between different servers.
  • the industry proposes to replace the hybrid networking mode of some switching nodes in the core layer of the fat-tree network through optical switching to save power and improve bandwidth. .
  • the network shown in FIG. 1 includes an access layer (also referred to as a TOR layer) and a core layer, and a network in which the electrical switching (ie, E node) plus optical switching (ie, O node) is mixed in the core layer is used.
  • the way In the process of data traffic exchange, it is usually to let the small stream of the burst go to the core layer of the electrical exchange, so that the continuous and stable flow of the core layer of the optical exchange, the small stream refers to the stream with short duration and small amount of data.
  • a large stream is a stream that has a long duration and a large amount of data. In this way, the electrical exchange can utilize the local cache to absorb burst traffic from multiple source nodes in the access layer to a destination node at the same time, thereby avoiding packet loss.
  • the nodes of the access layer in the above method require a relatively large buffer to distinguish between large streams and small streams. And this will introduce additional delays.
  • the scheduling process of the optical switching itself is relatively complicated, and only coarse-grained scheduling can be implemented. Therefore, it is difficult to guarantee end-to-end quality of service (QoS) requirements.
  • Embodiments of the present application provide a data communication method and apparatus for reducing delay in a data communication process and ensuring end-to-end QoS requirements.
  • a data communication method for use in a data communication network including at least two switching layers, at least two switching layers including a first layer and a second layer, the first layer including a first electrical node and a second An electrical node, the second layer includes at least one optical node and a third electrical node, the first electrical node includes a first virtual output queue (VOQ), the method includes: the first electrical node sends request information to the second electrical node, requesting information And a first data packet for requesting the first VOQ, wherein the first VOQ stores at least one first data packet addressed to the second electrical node; receiving response information, the response information includes a target data amount quota; and using the target data amount quota, Transmitting at least one first data packet to the second electrical node by the at least one optical node.
  • VOQ virtual output queue
  • the first electrical node sends the request information to the second electrical node, and receives the response information sent by the second electrical node, and uses the target data amount quota included in the response information to pass through the at least one optical node to the second electrical node.
  • At least one first data packet is sent, so that the first electrical node does not need to distinguish between large traffic and small traffic, reduces data communication delay, and simultaneously transmits data according to the target data amount, thereby ensuring end-to-end QoS requirements.
  • the method further includes: using the preset data amount quota, Transmitting at least one first data packet to the second electrical node by the third electrical node.
  • the first electrical node may directly send data using the preset data amount quota without waiting for the round-trip delay, thereby improving the efficiency of data communication.
  • the request information includes a request sequence number SN, the difference between the request SN and the initial SN is used to indicate a desired data amount quota, or the request information includes a first value, where the first value is used. Indicates a desired data amount quota; and/or, the response information includes a response sequence number SN, the difference between the response SN and the initial SN is used to indicate the target data amount quota, or the response information includes a second value, and the second value is used to indicate the target data. Amount.
  • the diversity of the required data amount in the request information and/or the amount of the target data amount in the response information is increased.
  • the response information further includes any one of the following: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, and an identifier of the at least one optical node. And an identifier of the transmission path corresponding to the at least one optical node, a transmission data amount of the at least one optical node, and a transmission time slot corresponding to the at least one optical node.
  • the first electrical node may send data to the at least one optical node according to the corresponding sent data amount quota and the sending time slot, thereby reducing the delay in the data communication process and improving the data communication rate.
  • the sending the request information to the second electrical node includes: sending, by the third electrical node, the request information to the second electrical node; or, by using any one of the at least one optical node
  • the second electrical node sends a second data packet, where the second data packet carries the request information.
  • the receiving the response information includes: receiving the response information sent by the second electrical node by the third electrical node; or receiving the second electrical node by using any one of the at least one optical node
  • the third data packet, the third data including the carrying response information In the foregoing possible implementation manner, the flexibility of the second electrical node to send the response information is improved, and the signaling interaction between the nodes can be reduced when being carried by the third data packet.
  • a data communication method for use in a data communication network including at least two switching layers, at least two switching layers including a first layer and a second layer, the first layer including a first electrical node and a second An electrical node, the second layer includes at least one optical node and a third electrical node, the first electrical node includes a first virtual output queue (VOQ), the method includes: the third electrical node receives the request information sent by the first electrical node, requesting The information is used to request a desired data amount quota of the first VOQ, where the first VOQ stores at least one first data packet addressed to the second electrical node; the request information is sent to the second electrical node; and the response sent by the second electrical node is received.
  • VOQ virtual output queue
  • the information, the response information includes a target data amount quota; and the response information is sent to the first electrical node.
  • the third electrical node forwards the request information to the second electrical node, and forwards the response information to the first electrical node, so that the first electrical node uses the target data amount quota included in the response information to pass through the at least one optical node.
  • the second electrical node sends at least one first data packet, so that the first electrical node does not need to distinguish between large traffic and small traffic, reduces data communication delay, and sends data according to the target data amount, thereby ensuring end-to-end QoS requirements.
  • the method further includes: receiving the first electrical node to use the preset At least one first data packet sent by the data amount; at least one first data packet is sent to the second electrical node.
  • the first electrical node may directly use the preset data amount quota and forward the data through the third electrical node without waiting for the round-trip delay, thereby improving The efficiency of data communication.
  • the request information includes a request sequence number SN, the difference between the request SN and the initial SN is used to indicate a desired data amount quota, or the request information includes a first value, where the first value is used. Indicates a desired data amount quota; and/or, the response information includes a response sequence number SN, the difference between the response SN and the initial SN is used to indicate the target data amount quota, or the response information includes a second value, and the second value is used to indicate the target data. Amount.
  • the diversity of the required data amount in the request information and/or the amount of the target data amount in the response information is increased.
  • the method before the sending the response information to the first electrical node, the method further includes: determining, according to the target data amount quota, a sent data amount of each of the at least one optical node;
  • the response information further includes any one of the following: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, an identifier of the at least one optical node, an identifier of the transmission path corresponding to the at least one optical node, a transmission data amount of at least one optical node, and a transmission time slot corresponding to at least one optical node.
  • the first electrical node may send data to the at least one optical node according to the corresponding sent data amount quota and the sending time slot, thereby reducing the delay in the data communication process and improving the data communication rate.
  • the method further includes: sending scheduling information to each of the at least one optical node, where the scheduling information includes at least one of the following information: an identifier of the first electrical node And an identifier of the second electrical node, an identifier of the first VOQ, an identifier of a transmission path corresponding to the optical node, a sent data amount of the optical node, and a transmission slot corresponding to the optical node.
  • each optical node may receive data sent by the first electrical node according to the corresponding sent data amount quota and the sending time slot, thereby reducing the delay in the data communication process and improving the data communication rate. .
  • a data communication method is provided, which is applied to a data communication network including at least two switching layers, at least two switching layers including a first layer and a second layer, the first layer comprising a first electrical node and a second An electrical node, the second layer includes at least one optical node and a third electrical node, the first electrical node includes a first virtual output queue (VOQ), the method includes: the second electrical node receives the request information, and the request information is used to request the first a predetermined amount of data of the VOQ, wherein the first VOQ stores at least one first data packet addressed to the second electrical node; the response information is sent, the response information includes a target data amount quota; and the first electrical node uses the target data amount quota, At least one first data packet is transmitted by the at least one optical node.
  • VOQ virtual output queue
  • the third electrical node sends the request information by receiving the first electrical node, and sends the response information, so that the first electrical node uses the target data amount quota included in the response information to pass through the at least one optical node to the second electrical node.
  • At least one first data packet is sent, so that the first electrical node does not need to distinguish between large traffic and small traffic, reduces data communication delay, and simultaneously transmits data according to the target data amount, thereby ensuring end-to-end QoS requirements.
  • the method further includes: receiving, by the first electrical node, a preset data amount quota, and using the third electrical node to The second electrical node transmits at least one first data packet.
  • the first electrical node may directly send data using the preset data amount quota without waiting for the round-trip delay, thereby improving the efficiency of data communication.
  • the request information includes a request sequence number SN, the difference between the request SN and the initial SN is used to indicate a desired data amount quota, or the request information includes a first value, where the first value is used. Indicates a desired data amount quota; and/or, the response information includes a response sequence number SN, the difference between the response SN and the initial SN is used to indicate the target data amount quota, or the response information includes a second value, and the second value is used to indicate the target data. Amount.
  • the diversity of the required data amount in the request information and/or the amount of the target data amount in the response information is increased.
  • the receiving, by the second electrical node, the request information includes: receiving, by the third electrical node, request information sent by the first electrical node; or receiving, by using any one of the at least one optical node A second data packet sent by an electrical node, where the second data includes carrying request information.
  • the flexibility of the first electrical node to send the request information is improved, and the signaling interaction between the nodes can be reduced when being carried by the second data packet.
  • the sending the response information includes: sending, by the third electrical node, the response information to the first electrical node; or sending, by using any one of the at least one optical node, the first electrical node
  • the third data packet carries the response information in the third data packet.
  • a data communication apparatus which can implement the functions of the data communication method provided by the first aspect to any of the possible implementations of the first aspect.
  • the functions can be implemented in hardware or in hardware by executing the corresponding software.
  • the hardware or software includes one or more corresponding units of the above functions.
  • the data communication device is applied as a first electrical node to a data communication network including at least two switching layers, and at least two switching layers include a first layer and a second layer.
  • the first layer includes a first electrical node and a second electrical node
  • the second layer includes at least one optical node and a third electrical node
  • the first electrical node includes a first virtual output queue (VOQ) in the structure of the data communication device
  • the processor, the memory, the communication interface and the bus, the processor, the memory and the communication interface are connected by a bus
  • the memory is for storing program code
  • the communication interface is for supporting the data communication device to communicate, when the program code is executed by the processor
  • the data communication device is configured to: send request information to the second electrical node, the request information is used to request a desired data amount quota of the first VOQ, and the first VOQ stores at least one first data addressed to the second electrical node Packet; receiving response information, the response information includes the target data amount quota
  • the data communication device when the first VOQ has a preset data quota, the data communication device further performs the step of: using the preset data amount quota, by using the third electrical node to the second electrical node Send at least one first data packet.
  • the request information includes a request sequence number SN, the difference between the request SN and the initial SN is used to indicate a desired data amount quota, or the request information includes a first value, where the first value is used Indicates a desired data amount quota; and/or, the response information includes a response sequence number SN, the difference between the response SN and the initial SN is used to indicate the target data amount quota, or the response information includes a second value, and the second value is used to indicate the target data. Amount.
  • the response information further includes any one of the following: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, and an identifier of the at least one optical node. And an identifier of the transmission path corresponding to the at least one optical node, a transmission data amount of the at least one optical node, and a transmission time slot corresponding to the at least one optical node.
  • the data communication apparatus further performs the step of: transmitting, by the third electrical node, the request information to the second electrical node; or, by using any one of the at least one optical node to the second
  • the electrical node sends a second data packet, and the second data packet carries the request information.
  • the data communications apparatus further performs the steps of: receiving response information sent by the second electrical node by the third electrical node; or receiving the second electrical node by using the at least one optical node
  • the third data packet sent by any optical node, and the third data includes carrying the response information.
  • a data communication apparatus in a fifth aspect, can implement the functions of the data communication method provided by any of the possible implementations of the second aspect to the second aspect.
  • the functions can be implemented in hardware or in hardware by executing the corresponding software.
  • the hardware or software includes one or more corresponding units of the above functions.
  • the data communication device is applied as a third electrical node to a data communication network including at least two switching layers, and at least two switching layers include a first layer and a second layer.
  • the first layer includes a first electrical node and a second electrical node
  • the second layer includes at least one optical node and a third electrical node
  • the first electrical node includes a first virtual output queue (VOQ) in the structure of the data communication device
  • the processor, the memory, the communication interface and the bus, the processor, the memory and the communication interface are connected by a bus
  • the memory is for storing program code
  • the communication interface is for supporting the data communication device to communicate, when the program code is executed by the processor
  • the data communication device is configured to: receive request information sent by the first electrical node, the request information is used to request a desired data amount quota of the first VOQ, and the first VOQ stores at least one first sent to the second electrical node a data packet; transmitting request information to the second electrical node; receiving response information
  • the data communication device further performs: when the first VOQ has a preset data quota, receiving at least one first that is sent by the first electrical node by using a preset data amount quota a data packet; transmitting at least one first data packet to the second electrical node.
  • the request information includes a request sequence number SN, the difference between the request SN and the initial SN is used to indicate a desired data amount quota, or the request information includes a first value, where the first value is used. Indicates a desired data amount quota; and/or, the response information includes a response sequence number SN, the difference between the response SN and the initial SN is used to indicate the target data amount quota, or the response information includes a second value, and the second value is used to indicate the target data. Amount.
  • the data communication apparatus further performs: determining, according to the target data amount quota, a sent data amount quota of each of the at least one optical node; correspondingly, the response information is further Including any one of the following: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, an identifier of the at least one optical node, an identifier of the transmission path corresponding to the at least one optical node, and at least one optical node The amount of transmitted data, the transmission slot corresponding to at least one optical node.
  • the data communication apparatus further performs the step of: transmitting scheduling information to each of the at least one optical node, the scheduling information including at least one of the following information: The identifier of the electrical node, the identifier of the second electrical node, the identifier of the first VOQ, the identifier of the transmission path corresponding to the optical node, the amount of transmitted data of the optical node, and the transmission slot corresponding to the optical node.
  • a data communication apparatus which can implement the functions of the data communication method provided by any of the possible implementations of the third aspect to the third aspect.
  • the functions can be implemented in hardware or in hardware by executing the corresponding software.
  • the hardware or software includes one or more corresponding units of the above functions.
  • the data communication device is applied as a second electrical node to a data communication network including at least two switching layers, where at least two switching layers include a first layer and a second layer.
  • the first layer includes a first electrical node and a second electrical node
  • the second layer includes at least one optical node and a third electrical node
  • the first electrical node includes a first virtual output queue (VOQ) in the structure of the data communication device
  • VOQ virtual output queue
  • the processor, the memory, the communication interface and the bus, the processor, the memory and the communication interface are connected by a bus
  • the memory is for storing program code
  • the communication interface is for supporting the data communication device to communicate, when the program code is executed by the processor, Having the data communication device perform the steps of: receiving request information for requesting a desired amount of data of the first VOQ, wherein the first VOQ stores at least one first data packet addressed to the second electrical node; and transmitting the response Information, the response information includes a target data amount quota; receiving the
  • the data communication device further performs the following steps: when the first VOQ has a preset data quota, the receiving first electrical node uses the preset data amount quota, and passes through the third electrical node. Sending at least one first data packet to the second electrical node.
  • the request information includes a request sequence number SN, the difference between the request SN and the initial SN is used to indicate a desired data amount quota, or the request information includes a first value, where the first value is used. Indicates a desired data amount quota; and/or, the response information includes a response sequence number SN, the difference between the response SN and the initial SN is used to indicate the target data amount quota, or the response information includes a second value, and the second value is used to indicate the target data. Amount.
  • the data communication apparatus further performs: receiving, by the third electrical node, request information sent by the first electrical node; or receiving, by any one of the at least one optical node A second data packet sent by an electrical node, where the second data includes carrying request information.
  • the data communication device further performs: sending, by the third electrical node, the response information to the first electrical node; or, by using any one of the at least one optical node An electrical node sends a third data packet, and the third data packet carries the response information.
  • a seventh aspect a computer readable storage medium having stored therein a computer program or instructions for performing any of the above first aspect or the first aspect when the computer program or instructions are executed The data communication method provided by the implementation.
  • a computer readable storage medium wherein a computer program or instructions are stored, and when the computer program or instructions are executed, performing any of the foregoing second aspect or the second aspect The data communication method provided by the implementation.
  • a ninth aspect a computer readable storage medium storing a computer program or an instruction, when the computer program or the instruction is executed, performing any one of the foregoing third aspect or the third aspect The data communication method provided by the implementation.
  • a computer program product comprising a computer program or instruction for performing data provided by any of the above first aspect or any one of the possible implementations of the first aspect when the computer program or instruction is executed Communication method.
  • a computer program product comprises a computer program or instructions for performing any of the possible implementations of the second aspect or the second aspect described above when the computer program or instructions are executed The data communication method provided by the method.
  • a computer program product characterized in that the computer program product comprises a computer program or instruction, and when the computer program or instruction is executed, performing any of the above-mentioned third or third aspects of possible implementation
  • the data communication method provided by the method.
  • a data communication network includes at least two switching layers in a data communication network, at least two switching layers include a first layer and a second layer, and the first layer includes a first electrical node And a second electrical node, the second layer comprising at least one optical node and a third electrical node, the first electrical node comprising a first virtual output queue (VOQ).
  • VOQ virtual output queue
  • the first electrical node may be the first electrical node provided by the foregoing aspects, and is used to support the first electrical node to perform the data communication method provided by the foregoing first aspect or any possible implementation manner of the first aspect;
  • the third electrical node is a third electrical node provided by the foregoing aspects, and is configured to support the data communication method provided by the third electrical node to perform the foregoing second aspect or any possible implementation manner of the second aspect
  • the second electrical node is a second electrical node provided by the foregoing aspects, and is configured to support the second electrical node to perform data communication provided by any of the foregoing third aspect or any possible implementation manner of the third aspect method.
  • 1 is a schematic structural diagram of a data communication network
  • FIG. 2 is a schematic structural diagram 1 of a data communication network according to an embodiment of the present application.
  • FIG. 3 is a schematic structural diagram 2 of a data communication network according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic structural diagram of a source node according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a destination node according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic flowchart 1 of a data communication method according to an embodiment of the present disclosure.
  • FIG. 7 is a second schematic flowchart of a data communication method according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic flowchart 3 of a data communication method according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram 3 of a data communication network according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram 1 of a data communication apparatus according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram 2 of a data communication apparatus according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram 3 of a data communication apparatus according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram 4 of a data communication apparatus according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram 5 of a data communication apparatus according to an embodiment of the present disclosure.
  • FIG. 15 is a schematic structural diagram 6 of a data communication apparatus according to an embodiment of the present disclosure.
  • the embodiment of the present application is applied to a data communication network in a hybrid networking mode.
  • the architecture of a typical data communication network may be a networking mode including three switching layers, that is, an access layer, an aggregation layer, and a core layer. It may also be a networking mode including two switching layers (ie, including an access layer and a core layer). Each of the switching layers in the data communication network may include multiple nodes.
  • the access layer may include multiple access nodes, the aggregation layer includes multiple aggregation nodes, and the core layer includes multiple
  • the core node, the access node and the sink node are all electrical switching nodes (also referred to as E nodes), and the core node includes both an electrical switching node and an optical switching node (also referred to as an O node).
  • the downlink port of the access node is connected to the server that needs to exchange data traffic
  • the uplink port of the access node is connected with the downlink port of the aggregation node, and the aggregation node
  • the upstream port is connected to the core node.
  • the aggregation layer and the access layer may be divided into multiple groups (Pods), and one Pod may include multiple access nodes and multiple aggregation nodes, and each access node is fully connected to multiple aggregation nodes.
  • multiple core nodes in the core layer may be divided into multiple core planes, each core plane is respectively connected with different aggregation nodes in each Pod; or, multiple core nodes in the core layer are not divided into core planes, core
  • the electrical switching nodes in the layer are connected to all the aggregation nodes, and the optical switching nodes are respectively connected to some or all of the aggregation nodes.
  • the downlink port of the access node is connected to the server that needs to exchange data traffic, and the uplink port is directly connected to the core node.
  • the access layer may be divided into multiple groups (Pods), and one Pod may include multiple access nodes.
  • multiple core nodes in the core layer may be divided into multiple core planes, each core plane is respectively connected with a different access node in each Pod; or, multiple core nodes in the core layer do not divide the core plane,
  • the electrical switching nodes in the core layer are connected to all access nodes, and the optical switching nodes are respectively connected to some or all of the access nodes.
  • the architecture of the data communication network is a hybrid networking mode including three switching layers, and the core layer is divided into multiple core planes as an example for description.
  • 2 is a schematic structural diagram of a data communication network. Referring to FIG. 2, the data communication network includes an access layer, an aggregation layer, and a core layer.
  • each core plane includes two core nodes as an example for description.
  • the access nodes in Figure 2 can be represented as A1 to A9
  • the aggregation nodes can be represented as B1 to B12
  • the core nodes can be represented as C1 to C8 (C1, C3, C5, and C7 are electrical switching nodes, C2, C4, C6 and C8 is an optical switching node)
  • three Pods are respectively represented as Pod1 to Pod3.
  • the data exchange between the servers connected to different access nodes in a Pod may be implemented by the aggregation node in the same Pod as the access node, for example, the server connected to the access node A1 and the access node A3.
  • the access node A1 can send the data stream of the server connected to it to the access node A3 through the aggregation node B1.
  • the access node A1 can send the data stream of the server connected to it to the aggregation node B1, and the aggregation node B1 forwards it to the core node C1, and then the C1 passes the aggregation node B5. Send to access node A5.
  • each switching layer of the data communication network may further include more or less nodes than illustrated, or the data communication network may also be a network including two switching layers, or multiple in the core layer.
  • the core node may be divided into multiple core planes, or may not be divided into multiple core planes, which is not specifically limited in this embodiment of the present application.
  • a plurality of aggregation nodes (for example, n) connected to the same core plane and a plurality of core nodes in a core plane may be seen in a data communication network including three switching layers.
  • n ⁇ n Switch Fabric includes n source nodes (Source, S) and n destination nodes (Destination, D), and m core nodes (Switch Element, SE) of the intermediate level.
  • Si and Di in FIG. 3 are the same sink node (the values of i are sequentially 1 to n), that is, n source nodes and n destination nodes are n sink nodes connected to the same core plane respectively.
  • Each of the n sink nodes may include a plurality of ports, and for S, the plurality of ports are input ports (Input Ports), and for D, the plurality of ports are output ports (Output Ports).
  • a data communication network comprising three switching layers can be considered to consist of multiple switching networks, each using the same control mechanism.
  • a data communication network comprising two switching layers can also be considered to consist of multiple switching networks, except that n source nodes and n destination nodes are n access nodes connected to the same core plane.
  • the nodes that are divided by function when they are used as the sending node and the receiving node are not described in detail in this embodiment of the present application.
  • the switching network shown in FIG. 3 can complete the operation of switching the data packet (Packet) received from the S to the D.
  • Packet data packet
  • the original variable length (Variable-length Packet) format can also be maintained. It can be cut by S to be sent to the cell (Cell), and after D receives all the cells, it is recomposed into a complete data packet.
  • S can generally distribute the received data packets to each SE as evenly as possible.
  • the data packet sent by S usually carries the information of D, and the SE forwards the data packet to the corresponding D according to the carried information.
  • VOQ built-in virtual output queues
  • VOQ can be used to guarantee end-to-end QoS and prevent head blocking (Head-of- Line Blocking, HOL Blocking) means.
  • HOL Blocking head blocking
  • FIG. 4 is a schematic structural diagram of a source node (S) including multiple input ports, a queue manager (QM), an ingress scheduler (ISC), and a network interface (Fabric). Interface).
  • QM can be used to manage K VOQs (K is a positive integer)
  • ISC can be used to schedule K VOQs in QM
  • the data packets scheduled for output can be cut into cells through the network interface, and after adding the header (Header) Sent to the SE or directly to the SE as a packet.
  • Header header
  • FIG. 5 is a schematic structural diagram of a destination node (D) including multiple output ports, a queue manager (QM), an egress scheduler (ESC), and a network interface (Fabric). Interface).
  • QM can be used to manage L output queues (Output Queues, OQ)
  • L is a positive integer
  • L OQs are used to buffer data packets to different outputs
  • ESC can be used to schedule L OQs in QM.
  • the ISC in S may send a request to the corresponding D according to the state of the VOQ in S, and the ESC in D completes the scheduling after receiving the request, and notifies the ISC of the scheduling result.
  • the ISC schedules the dequeue of the data packets in the VOQ in S according to the scheduling result.
  • the ESC in D can consider the QoS characteristics of different requests and the congestion degree of each OQ in D in the process of scheduling.
  • FIG. 6 is a schematic structural diagram of a data communication method according to an embodiment of the present application.
  • at least two switching layers include a first layer and a second layer, and the first layer includes A first electrical node and a second electrical node, the second layer comprising at least one optical node and a third electrical node, the first electrical node comprising a first virtual output queue (VOQ), the method comprising the following steps.
  • VOQ virtual output queue
  • Step 601 The first electrical node sends request information to the second electrical node, where the request information is used to request a desired data amount quota of the first VOQ, where the first VOQ stores at least one first data packet addressed to the second electrical node. .
  • the first layer when the data communication network includes two switching layers, the first layer may be an access layer, the first electrical node and the second electrical node may be access nodes, and the second layer may be a core layer, at least one optical node And the third electrical node can be a core node.
  • the first layer may be an aggregation layer, the first electrical node and the second electrical node may be a sink node, and the second layer may be a core layer, at least one optical node and a third electrical A node can be a core node.
  • the first electrical node may be a source node
  • the second electrical node may be a destination node.
  • the first electrical node may include a plurality of VOQs, each VOQ may correspond to a different destination node, the first VOQ is any one of the plurality of VOQs, and is used to buffer a data packet addressed to the second electrical node, ie, the first VOQ
  • the corresponding destination node is the second electrical node.
  • the at least one first data packet refers to a data packet received by the first electrical node from outside the system through the input port and sent to the second electrical node.
  • the at least one first data packet may include one or more first data packets, and each of the first data packets may include different data, and the amount of data corresponding to each of the first data packets may be the same or different.
  • the first electrical node when the first electrical node receives the at least one first data packet addressed to the second electrical node by using the input port, the first electrical node may store the at least one first data packet in the first corresponding to the second electrical node. In VOQ.
  • the first electrical node may send, to the second electrical node, request information for requesting a desired data amount quota of the first VOQ, where The request information may be generated by the first electrical node, and the expected data amount quota may refer to the amount of data that the first electrical node desires to send the data stored in the first VOQ to the second electrical node, for example, 10 in the first VOQ.
  • the first data packet, the first electrical node expects to send the first five first data packets to the second electrical node, and the expected data amount quota may be the total data amount of the first five first data packets.
  • the first electrical node may send the request information to the third electrical node, and when the third electrical node receives the request information, the third electrical node may forward the request information to the second electrical node.
  • the first electrical node may carry the request information in the sent data, for example, carried in the second data packet, and The second data packet carrying the request information is sent to any one of the at least one optical node, so that the optical node forwards the second data packet carrying the request information to the second electrical node.
  • the request information may include information for directly indicating a desired amount of data amount, and may also include information for indirectly indicating a desired amount of data amount.
  • the request information may directly be a value corresponding to the expected data amount quota, for example, the request information includes a value of 200, and is used to indicate that the expected data amount is 200KB.
  • the request information includes information for indirectly indicating the expected amount of data
  • the information may be implemented in the following two manners, including: the request information includes a request sequence number (SN), and the request SN and the initial SN.
  • the initial SN may be the current SN corresponding to the first VOQ, and the first electrical node and the second electrical node may save the initial SN, for example, the request SN is 10, and the initial SN is 4.
  • the expected data amount quota may be (10-4)* ⁇ F; or, the request information includes a first value, and the first value is used to indicate the expected data amount quota. For example, if the first value is 6, the expected data amount quota It can be 6* ⁇ F.
  • ⁇ F may be a unit data amount, for example, ⁇ F is 4 KB, 8 KB, etc., and the unit data amount may be set or configured in advance.
  • Step 602 The second electrical node receives the request information.
  • the request information in the step 602 is the same as that in the step 601. For details, refer to the related description, and details are not described herein again.
  • the second electrical node may parse the request information, thereby obtaining a desired amount of data amount included in the request information.
  • Step 603 The second electrical node sends response information, where the response information includes a target data amount quota.
  • the second electrical node may determine the target data amount quota according to the request information, or determine the target data amount quota according to the request information and the state of its own VOQ, and the target data amount quota. Is the amount of data determined by the second electrical node to allow the first electrical node to transmit.
  • the target data amount quota may be equal to or smaller than the desired data amount credit, and may of course be greater than the expected data amount credit. For example, when the state of the VOQ in the second electrical node is relatively idle and the amount of data that can be received is greater than or equal to the expected amount of data, the second electrical node may determine the expected amount of data as the target amount of data, or determine that the amount is greater than expected.
  • the target data amount quota of the data amount quota when the state of the VOQ in the second electrical node is relatively congested, and the receivable data amount is less than the expected data amount quota, the second electrical node may determine the target data amount smaller than the expected data amount quota Amount. Thereafter, the second electrical node may send the response information and carry a target data amount quota in the response information, and the response information may be generated by the second electrical node.
  • the second electrical node may send the response information to the third electrical node, and when the third electrical node receives the response information, the third electrical node may forward the response information to the first electrical node.
  • the first electrical node may carry the response information in the sent data, for example, carried in the third data packet, and The third data packet of the response information is sent to any one of the at least one optical node, so that the optical node forwards the third data packet carrying the response information to the first electrical node.
  • the response information may include information for directly indicating the amount of the target data amount, and may also include information for indirectly indicating the amount of the target data amount. It should be noted that the manner of indicating the amount of the target data in the response information is similar to the manner of indicating the amount of the expected data in the request information. For details, refer to the related description, and details are not described herein again.
  • the response information may further include at least one of the following information: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, an identifier of the at least one optical node, and at least one first data packet.
  • the identity of the sending path may further include at least one of the following information: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, an identifier of the at least one optical node, and at least one first data packet. The identity of the sending path.
  • the identifier of the first electrical node may be an address or a number of the first electrical node.
  • the identifier of the second electrical node may be the address or number of the second electrical node, and the like.
  • the identifier of the first VOQ may be the number of the first VOQ or the like.
  • the identifier of the at least one optical node may include an identifier of one or more optical nodes, and the identifier of each optical node may be an address or a number of the optical node.
  • the sending path of the at least one first data packet may include one or more paths, and each path may have a corresponding path identifier, for example, the path identifier is a routing table corresponding to the path, and when at least one optical node includes one optical node,
  • the transmission path may include a path, and when the at least one optical node includes multiple optical nodes, the transmission path may include multiple paths.
  • Step 604 When the first electrical node receives the response information, the first electrical node sends the at least one first data packet to the second electrical node by using the target data amount quota by the at least one optical node.
  • the first electrical node may parse the response information to obtain the target data amount quota, and send the target data amount quota to each of the at least one optical node.
  • the first data packet when each of the at least one optical node receives the first data packet, the at least one optical node forwards the received first data packet to the second electrical node.
  • the target data amount quota is 100 KB
  • the total data volume of the first four data packets in at least one first data packet is 100 KB
  • at least one optical node includes two optical nodes
  • the first electrical node may The first optical node in the node sends the first two first data packets, and the second optical data packet is sent to the second optical node, so that the two optical nodes respectively forward the received first data packet.
  • the first electrical node may send the first three first data packets to the first one of the two optical nodes, and send the first first data packet to the second optical node, so that the two The optical node forwards the received first data packet to the second electrical node.
  • the first electrical node may send the previous first data packet to the first one of the two optical nodes, and send the last three first data packets to the second optical node, so that the two The optical node forwards the received first data packet to the second electrical node.
  • This embodiment of the present application does not specifically limit this.
  • the first electrical node may determine the at least one optical node by using the response information, for example, determining the at least one optical node by using the identifier of the at least one optical node included in the response information, or by using at least one included in the response information.
  • the identification of the transmission path of the first data packet determines at least one optical node.
  • the first electrical node may be configured to forward the first data packet or the like using the at least one optical node. This embodiment of the present application does not specifically limit this.
  • Step 605 The second electrical node receives at least one first data packet.
  • the first electrical node sends the at least one first data packet to the at least one optical node, and each of the at least one optical node forwards the first data packet it receives to the second electrical node, the second electrical node At least one first data packet can be received.
  • the first electrical node and the second electrical node may also repeatedly perform the above steps 601-605 to send at least one first data packet to the second electrical node.
  • the first electrical node when the first electrical node sends the at least one first data packet to the second electrical node, the first electrical node may send the request information to the second electrical node, and receive the response information sent by the second electrical node, and then use The target data amount quota included in the response information is sent to the second electrical node by the at least one optical node, so that the first electrical node does not need to distinguish between large traffic and small traffic, and the traffic buffer delay is reduced.
  • the first electrical node when the first electrical node sends data traffic through the optical node, it can transmit according to the target data amount quota, thereby ensuring end-to-end QoS requirements.
  • the method further includes: steps 600a-600b.
  • Step 600a The first electrical node sends at least one first data packet to the second electrical node by using the preset data amount quota.
  • the first electrical node may directly use the preset data amount quota to send at least one first data packet to the third electrical node, and the third electrical node receives the first data packet.
  • the received first data packet may be forwarded to the second electrical node.
  • the first data packet sent by the first electrical node using the preset data amount quota may be part or all of the data packets in the at least one first data packet, and is specifically related to the preset data amount quota.
  • the preset data amount quota may be set in advance.
  • the preset data amount quota may be 50 KB, 100 KB, or 150 KB, and the like, which is not specifically limited in the embodiment of the present application.
  • the first An electrical node and a second electrical node may also perform the above steps 601-605 to send at least one first data packet to the second electrical node.
  • the first electrical node may send the third electrical node to the second electrical node according to the preset data amount quota, and the partial or all data packets may be sent without waiting for a Round-Trip Time (RTT).
  • RTT Round-Trip Time
  • Step 600b The second electrical node receives the at least one first data packet sent by the first electrical node by the third electrical node.
  • the third electrical node may forward the first data packet it receives to the second electrical node, so that the second electrical node receives at least A first packet.
  • the preset data amount quota may be used, and the first data packet is sent to the second electrical node by the third electrical node. Therefore, signaling interaction between nodes can be reduced, and data transmission efficiency is improved.
  • step 603a after step 603 and before step 604, the method further includes: step 603a - step 603b.
  • Step 603a The third electrical node determines a sent data amount quota of each of the at least one optical node according to the target data amount quota.
  • the third electrical node may obtain the response information when the second electrical node receives the response information sent by the second electrical node, when the second electrical node sends the response information to the first electrical node.
  • the target data amount quota included in the data and determining the amount of sent data amount of each of the at least one optical node according to the target data amount quota.
  • the third electrical node can also determine a transmission slot (Slot) corresponding to the at least one optical node.
  • the response information may further include at least one of the following information: a sent data amount of the at least one optical node, and a corresponding transmission of the at least one optical node. Time slot.
  • the at least one optical node includes one or more optical nodes, and the amount of sent data of each optical node is that the first electrical node sends at least one of the optical nodes to the second electrical node by using each of the at least one optical node.
  • the amount of the sent data of the different optical nodes may be the same or different, which is not specifically limited in this embodiment of the present application.
  • the sending time slot corresponding to the at least one optical node includes one or more transmitting time slots corresponding to the optical node
  • the sending time slot corresponding to the one optical node may refer to the sending, by the first electrical node, the sending of the first data packet to the optical node. a time slot, such that the optical node can receive the first data packet sent by the first electrical node in the corresponding time slot.
  • Different optical nodes have different transmission slots.
  • At least one optical node includes three optical nodes (for example, optical node 1 to optical node 3), the target data amount is 250 KB, and the optical data volume of the optical node 1 - optical node 3 can be 100 KB, 100 KB, and 50 KB, respectively.
  • the corresponding transmission slots of the optical node 1 - the optical node 3 may be the slot 1, the slot 2, and the slot 3, respectively. If the data amount of each first packet is the same and is 50 KB, then the first electrical node Upon receiving the response information and transmitting the first data packet to the at least one optical node, the first electrical node may send two first data packets to the optical node 1 on the time slot 1 (ie, the data volume is 100 KB).
  • two first data packets i.e., the data amount is 100 KB
  • a first data packet i.e., the data amount is 50 KB
  • the third electrical node when the third electrical node sends the response information to the first electrical node, the third electrical node may carry at least one of the transmit data amount of the at least one optical node and the transmit time slot corresponding to the at least one optical node. And transmitting, in the response information, to the first electrical node, so that the first electrical node sends the at least one first data packet to the second electrical node by using the at least one optical node, according to the sending data of each optical node in the response information.
  • the amount of credit, and/or the transmission slot corresponding to each optical node transmits at least one first data packet.
  • the third electrical node may send, by using other information different from the response information, at least one of a transmit data amount of the at least one optical node and a transmit time slot corresponding to the at least one optical node to the first electrical node.
  • the response information By carrying the response information, the signaling interaction between the nodes can be reduced. This embodiment of the present application does not specifically limit this.
  • Step 603b The third electrical node sends scheduling information to each of the at least one optical node.
  • the scheduling information includes at least one of the following information: an identifier of the first electrical node, an identifier of the second electrical node, an identifier of the first VOQ, an identifier of a sending path corresponding to the optical node, and a sending data of the optical node.
  • the third electrical node may generate scheduling information, and each of the at least one optical node The node sends the scheduling information, so that each optical node receives the corresponding scheduling information, and receives the first data packet sent by the first electrical node according to the corresponding scheduling information, and sends the received first data packet to the first data packet.
  • the method in the present application is exemplified by taking the data communication network shown in FIG. 9 as an example.
  • the data communication network shown in FIG. 9 includes an access layer, an aggregation layer, and a core layer.
  • the access layer and the aggregation layer are divided into 48 Pods (ie, Pod0 to Pod47), and each Pod includes two access nodes (ie, A1 to A2) and a plurality of aggregation nodes (ie, S1 to Sn/D1 to Dn), each plane in the core layer includes 48 core nodes (C0 to C47), where C0 is an electrical node, and C1 to C47 are optical nodes. . It is assumed that the first electrical node is S1 in Pod0, the second electrical node is D1 in Pod47, the third electrical node is C0 in the first plane, and at least one optical node is C1 C C47 in the first plane.
  • the data communication path between S1 and D1 may be P1 to P4 in FIG.
  • S1 may send at least one first data packet to D1 through path P1.
  • S1 sends the request information to D1 through path P1
  • D1 sends the response information to S1 through paths P2 and P3, and C0 in the first plane can allocate and send the C1 to C47 in the first plane when forwarding the response information.
  • the data amount quota and the transmission time slot are carried in the response information and sent to S1.
  • S1 may sequentially send at least one first data packet to the second electrical node according to the transmission data amount quota and the transmission time slot corresponding to each optical node, and the path P4 refers to S1.
  • the path of the first data packet is sent to the second electrical node through at least one optical node (eg, C1 C C47 in the first plane), and may include multiple paths.
  • the data communication is performed based on an end-to-end (E2E) scheduling mechanism, which avoids the problem that the current mixed network needs to identify large traffic and small traffic first, and simplifies the light.
  • E2E end-to-end
  • the design of the node control plane reduces the buffer pressure of the aggregation node and provides higher QoS characteristics.
  • each network element for example, the first electrical node, the second electrical node, and the third electrical node, etc., in order to implement the above functions, includes hardware structures and/or software modules corresponding to each function.
  • the present application can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present application.
  • the embodiment of the present application may divide the functional modules of the first electrical node, the second electrical node, and the third electrical node according to the foregoing method example.
  • each functional module may be divided according to each function, or two or more may be used.
  • the functionality is integrated in one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of the module in the embodiment of the present application is schematic, and is only a logical function division, and the actual implementation may have another division manner. The following is an example of dividing each functional module by using corresponding functions:
  • FIG. 10 shows a possible structural diagram of the data communication apparatus involved in the above embodiment.
  • the data communication device may be a chip built in by the first electrical node or the first electrical node, and the data communication device includes: a transmitting unit 1001 and a receiving unit 1002.
  • the sending unit 1001 is configured to support the data communication device to perform step 601, step 604, and/or step 600a in the method embodiment.
  • the receiving unit 1002 supports the data communication device to perform the response information sent by the receiving step 603 in the method embodiment.
  • the data communication device may further include a processing unit 1003, configured to perform the step of the data communication device generating request information, and/or parsing the response information. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional description of the corresponding functional modules, and details are not described herein again.
  • the processing unit 1003 in the present application may be a processor of the data communication device, the sending unit 1001 may be a transmitter of the data communication device, and the receiving unit 1002 may be a receiver, a transmitter of the data communication device. It can usually be integrated with a receiver for use as a transceiver, and a specific transceiver can also be referred to as a communication interface.
  • FIG. 11 is a schematic diagram showing a possible logical structure of a data communication apparatus involved in the foregoing embodiment provided by an embodiment of the present application.
  • the data communication device may be a first electrical node or a chip built in the first electrical node, and the data communication device includes a processor 1102 and a communication interface 1103.
  • the processor 1102 is configured to perform control management on the data communication device action, for example, the processor 1102 is configured to support the data communication device to execute the method of generating request information, parsing response information, and/or for the techniques described herein. Other processes.
  • the data communication device may further include a memory 1101 and a bus 1104.
  • the processor 1102, the communication interface 1103, and the memory 1101 are connected to each other through a bus 1104.
  • the communication interface 1103 is configured to support the data communication device for communication; the memory 1101 is configured to store the Program code and data for the data communication device.
  • the processor 1102 can be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, combinations of digital signal processors and microprocessors, and the like.
  • the bus 1104 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus or the like.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • FIG. 12 shows a possible structural diagram of the data communication apparatus involved in the above embodiment.
  • the data communication device may be a chip built in by the second electrical node or the second electrical node, and the data communication device includes: a receiving unit 1201 and a transmitting unit 1202.
  • the receiving unit 1201 is configured to support the data communication device to perform step 602, step 605, and/or step 600b in the method embodiment.
  • the sending unit 1202 supports the data communication device to perform step 603 in the method embodiment.
  • the data communication device may further include a processing unit 1203, configured to perform the step of the data communication device parsing the request information, and/or generating the response information. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional description of the corresponding functional modules, and details are not described herein again.
  • the processing unit 1203 in the present application may be a processor of the data communication device
  • the receiving unit 1201 may be a receiver of the data communication device
  • the sending unit 1202 may be a transmitter, a transmitter of the data communication device. It can usually be integrated with a receiver for use as a transceiver, and a specific transceiver can also be referred to as a communication interface.
  • FIG. 13 is a schematic diagram showing a possible logical structure of a data communication apparatus involved in the foregoing embodiment provided by an embodiment of the present application.
  • the data communication device can be a chip built in by the second electrical node or the second electrical node, and the data communication device includes a processor 1302 and a communication interface 1303.
  • the processor 1302 is configured to perform control management on the data communication device action, for example, the processor 1302 is configured to support the data communication device to perform resolution request information, generate response information, and/or for the techniques described herein. Other processes.
  • the data communication device may further include a memory 1301 and a bus 1304.
  • the processor 1302, the communication interface 1303, and the memory 1301 are connected to each other through a bus 1304.
  • the communication interface 1303 is configured to support the data communication device for communication; and the memory 1301 is configured to store the data communication device. Program code and data for the data communication device.
  • the processor 1302 can be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, combinations of digital signal processors and microprocessors, and the like.
  • Bus 1304 can be a Peripheral Component Interconnect Standard (PCI) bus or an Extended Industry Standard Architecture (EISA) bus or the like.
  • PCI Peripheral Component Interconnect Standard
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 13, but it does not mean that there is only one bus or one type of bus.
  • FIG. 14 shows a possible structural diagram of the data communication apparatus involved in the above embodiment.
  • the data communication device may be a chip built in a third electrical node or a third electrical node, and the data communication device includes a receiving unit 1401 and a transmitting unit 1402.
  • the receiving unit 1401 is configured to support the step of the data communication device performing the request information sent by the first electrical node in the method embodiment, the step of receiving the response information sent by the second electrical node, and/or the receiving step 600a.
  • the transmitting unit 1402 supports the step of forwarding the request information to the second electrical node in the method embodiment, the step of transmitting the response information to the first electrical node, and the sending the scheduling information to the at least one optical node And/or the step of forwarding the first data packet to the second electrical node.
  • the data communication device may further include a processing unit 1403, where the processing unit 1403 is configured to execute the step 603a in the method embodiment, the step of parsing the response information, and/or the step of generating the scheduling information. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional description of the corresponding functional modules, and details are not described herein again.
  • the processing unit 1403 in the present application may be a processor of the data communication device
  • the receiving unit 1401 may be a receiver of the data communication device
  • the sending unit 1402 may be a transmitter, a transmitter of the data communication device. It can usually be integrated with a receiver for use as a transceiver, and a specific transceiver can also be referred to as a communication interface.
  • FIG. 15 is a schematic diagram showing a possible logical structure of a data communication apparatus involved in the foregoing embodiment provided by an embodiment of the present application.
  • the data communication device may be a chip built in a third electrical node or a third electrical node, and the data communication device includes a processor 1502 and a communication interface 1503.
  • the processor 1502 is configured to perform control management on the operation of the data communication device.
  • the processor 1502 is configured to support the data communication device to perform step 603a in the method embodiment, the step of parsing the response information, the step of generating the scheduling information, and/or Or other processes for the techniques described herein.
  • the data communication device may further include a memory 1501 and a bus 1504.
  • the processor 1502, the communication interface 1503, and the memory 1501 are connected to each other through a bus 1504.
  • the communication interface 1503 is configured to support the data communication device for communication; the memory 1501 is configured to store the Program code and data for the data communication device.
  • the processor 1502 can be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, combinations of digital signal processors and microprocessors, and the like.
  • the bus 1504 may be a Peripheral Component Interconnect Standard (PCI) bus or an Extended Industry Standard Architecture (EISA) bus or the like.
  • PCI Peripheral Component Interconnect Standard
  • EISA Extended Industry Standard Architecture
  • a data communication system wherein the data communication system includes at least two switching layers in a data communication network, and at least two switching layers include a first layer and a second layer
  • the first layer includes a first electrical node and a second electrical node
  • the second layer includes at least one optical node and a third electrical node
  • the first electrical node includes a first virtual output queue (VOQ).
  • VOQ first virtual output queue
  • the first electrical node may be the first electrical node provided in the foregoing apparatus embodiment, for supporting the first electrical node to perform the first electrical node in the method embodiment; and/or the second electrical node is the foregoing a second electrical node provided by the apparatus embodiment for supporting a second electrical node to perform a second electrical node in the method embodiment; and/or, the third electrical node is a third electrical node provided by the foregoing device embodiment The step of supporting the third electrical node to perform the third electrical node in the method embodiment.
  • the first electrical node, the second electrical node, and the third electrical node of the device embodiment of the present application may respectively correspond to the first electrical node, the second electrical node, and the third electrical node in the method embodiment of the present application.
  • the respective modules and other operations and/or functions of the first electrical node, the second electrical node, and the third electrical node are respectively configured to implement the corresponding processes of the foregoing method embodiments.
  • the description of the method embodiments of the present application may be applied to The device embodiment is not described here.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • a readable storage medium stores computer execution instructions, when a device (which may be a single chip microcomputer, a chip, etc.) or a processor executes the above method embodiment.
  • the aforementioned readable storage medium may include various media that can store program codes, such as a USB flash drive, a removable hard disk, a read only memory, a random access memory, a magnetic disk, or an optical disk.
  • a readable storage medium stores computer execution instructions, when a device (which may be a single chip microcomputer, a chip, etc.) or a processor executes the above method embodiment.
  • the step of providing a second electrical node in the data communication method may include various media that can store program codes, such as a USB flash drive, a removable hard disk, a read only memory, a random access memory, a magnetic disk, or an optical disk.
  • a readable storage medium stores computer execution instructions, when a device (which may be a single chip microcomputer, a chip, etc.) or a processor executes the above method embodiment.
  • the step of the third electrical node in the provided data communication method may include various media that can store program codes, such as a USB flash drive, a removable hard disk, a read only memory, a random access memory, a magnetic disk, or an optical disk.
  • a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the device may be Reading the storage medium reads the computer execution instructions, and the at least one processor executing the computer execution instructions causes the first electrical node in the data communication method provided by the apparatus embodiment.
  • a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the device may be Reading the storage medium reads the computer execution instructions, and the at least one processor executing the computer execution instructions causes the apparatus described above to implement the steps of the second electrical node in the data communication method provided.
  • a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the device may be Reading the storage medium reads the computer execution instructions, and the at least one processor executing the computer to execute the instructions such that the apparatus performs the steps of the third electrical node in the data communication method provided.

Abstract

本申请实施例涉及通信技术领域,尤其涉及一种数据通信方法及装置,用于降低数据通信过程中的时延,保证端到端的QoS要求。应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该方法包括:第一电节点向第二电节点发送请求信息,请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;接收响应信息,响应信息包括目标数据量额度;使用目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包。

Description

一种数据通信方法及装置 技术领域
本申请实施例涉及通信技术领域,尤其涉及一种数据通信方法及装置。
背景技术
数据中心网络(Dater Center Network,DCN)一般采用Fat-Tree的组网模式,为数据中心内的众多服务器(Server)提供全连接的网络,将不同服务器之间的数据进行交换。随着对数据中心带宽要求的持续提升,业界提出了通过光交换替换fat-tree组网的核心(Core)层中的部分交换节点的混合组网方式,以达到节省功耗和提高带宽的目的。
比如,如图1所示的网络,包括接入层(也可以称为TOR层)和核心层,其核心层中使用电交换(即E节点)加光交换(即O节点)混合的组网方式。在数据流量交换过程中,通常是让突发的小流走核心层的电交换,让持续稳定的大流走核心层的光交换,小流是指持续时间短、数据量较小的流,大流是指持续时间较长、数据量较大的流。这样,电交换可以利用本地的缓存吸收接入层中多个源节点同时去往一个目的节点的突发流量,避免丢包。
但是,上述方法中接入层的节点需要相当大的缓存来区分大流和小流。而且这样也会引入额外的时延。另外,光交换的调度过程本身比较复杂,且只能实现粗粒度的调度,因此,难以保证端到端的服务质量(Quality of Service,QoS)要求。
发明内容
本申请的实施例提供一种数据通信方法及装置,用于降低数据通信过程中的时延,保证端到端的QoS要求。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供一种数据通信方法,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该方法包括:第一电节点向第二电节点发送请求信息,请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;接收响应信息,响应信息包括目标数据量额度;使用目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包。上述技术方案中,第一电节点通过向第二电节点发送请求信息,并接收第二电节点发送的响应信息,使用响应信息包括的目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包,从而第一电节点无需区分大流量和小流量,降低了数据通信时延,同时按照目标数据量额度发送数据,从而可以保证端到端的QoS要求。
在第一方面的一种可能的实现方式中,当第一VOQ存在预设数据额度时,第一电节点向第二电节点发送请求信息之前,该方法还包括:使用预设数据量额度,通过 第三电节点向第二电节点发送至少一个第一数据包。上述可能的实现方式中,第一电节点存在预设数据量额度时,第一电节点可直接使用预设数据量额度发送数据,而无需等待往返时延,从而提高了数据通信的效率。
在第一方面的一种可能的实现方式中,请求信息包括请求序列号SN,请求SN与初始SN的差值用于指示期望数据量额度,或者请求信息包括第一数值,第一数值用于指示期望数据量额度;和/或,响应信息包括响应序列号SN,响应SN与初始SN的差值用于指示目标数据量额度,或者响应信息包括第二数值,第二数值用于指示目标数据量额度。上述可能的实现方式中,提高了请求信息中携带期望数据量额度、和/或响应信息中携带目标数据量额度的多样性。
在第一方面的一种可能的实现方式中,响应信息还包括以下中的任一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、至少一个光节点的标识、至少一个光节点对应的发送路径的标识、至少一个光节点的发送数据量额度、至少一个光节点对应的发送时隙。上述可能的实现方式中,可以使第一电节点按照对应的发送数据量额度和发送时隙向至少一个光节点发送数据,从而降低了数据通信过程中的时延,提高了数据通信的速率。
在第一方面的一种可能的实现方式中,向第二电节点发送请求信息,包括:通过第三电节点向第二电节点发送请求信息;或者,通过至少一个光节点中的任一光节点向第二电节点发送第二数据包,第二数据包中携带请求信息。上述可能的实现方式中,提高了第一电节点发送请求信息的灵活性,且通过第二数据包携带时可以减小节点间的信令交互。
在第一方面的一种可能的实现方式中,接收响应信息包括:接收第二电节点通过第三电节点发送的响应信息;或者,接收第二电节点通过至少一个光节点中的任一光节点发送的第三数据包,第三数据包括中携带响应信息。上述可能的实现方式中,提高了第二电节点发送响应信息的灵活性,且通过第三数据包携带时可以减小节点间的信令交互。
第二方面,提供一种数据通信方法,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该方法包括:第三电节点接收第一电节点发送的请求信息,请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;向第二电节点发送请求信息;接收第二电节点发送的响应信息,响应信息包括目标数据量额度;向第一电节点发送响应信息。上述技术方案中,第三电节点通过向第二电节点转发请求信息,并向第一电节点转发响应信息,使得第一电节点使用响应信息包括的目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包,从而第一电节点无需区分大流量和小流量,降低了数据通信时延,同时按照目标数据量额度发送数据,从而可以保证端到端的QoS要求。
在第二方面的一种可能的实现方式中,当第一VOQ存在预设数据额度时,第三电节点接收第一电节点发送的请求信息之前,还包括:接收第一电节点使用预设数据量额度发送的至少一个第一数据包;向第二电节点发送至少一个第一数据包。上述可 能的实现方式中,第一电节点存在预设数据量额度时,第一电节点可直接使用预设数据量额度,并通过第三电节点转发数据,而无需等待往返时延,从而提高了数据通信的效率。
在第二方面的一种可能的实现方式中,请求信息包括请求序列号SN,请求SN与初始SN的差值用于指示期望数据量额度,或者请求信息包括第一数值,第一数值用于指示期望数据量额度;和/或,响应信息包括响应序列号SN,响应SN与初始SN的差值用于指示目标数据量额度,或者响应信息包括第二数值,第二数值用于指示目标数据量额度。上述可能的实现方式中,提高了请求信息中携带期望数据量额度、和/或响应信息中携带目标数据量额度的多样性。
在第二方面的一种可能的实现方式中,向第一电节点发送响应信息之前,还包括:根据目标数据量额度,确定至少一个光节点中每个光节点的发送数据量额度;相应地,响应信息还包括以下中的任一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、至少一个光节点的标识、至少一个光节点对应的发送路径的标识、至少一个光节点的发送数据量额度、至少一个光节点对应的发送时隙。上述可能的实现方式中,可以使第一电节点按照对应的发送数据量额度和发送时隙向至少一个光节点发送数据,从而降低了数据通信过程中的时延,提高了数据通信的速率。
在第二方面的一种可能的实现方式中,该方法还包括:向至少一个光节点中的每个光节点发送调度信息,调度信息包括以下信息中的至少一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、光节点对应的发送路径的标识、光节点的发送数据量额度、光节点对应的发送时隙。上述可能的实现方式中,可以使每个光节点按照对应的发送数据量额度和发送时隙接收第一电节点发送的数据,从而降低了数据通信过程中的时延,提高了数据通信的速率。
第三方面,提供一种数据通信方法,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该方法包括:第二电节点接收请求信息,请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;发送响应信息,响应信息包括目标数据量额度;接收第一电节点使用目标数据量额度,通过至少一个光节点发送至少一个第一数据包。上述技术方案中,第三电节点通过接收第一电节点发送请求信息,并向发送响应信息,使得第一电节点使用响应信息包括的目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包,从而第一电节点无需区分大流量和小流量,降低了数据通信时延,同时按照目标数据量额度发送数据,从而可以保证端到端的QoS要求。
在第三方面的一种可能的实现方式中,当第一VOQ存在预设数据额度时,接收请求信息之前,还包括:接收第一电节点使用预设数据量额度,通过第三电节点向第二电节点发送至少一个第一数据包。上述可能的实现方式中,第一电节点存在预设数据量额度时,第一电节点可直接使用预设数据量额度发送数据,而无需等待往返时延,从而提高了数据通信的效率。
在第三方面的一种可能的实现方式中,请求信息包括请求序列号SN,请求SN与 初始SN的差值用于指示期望数据量额度,或者请求信息包括第一数值,第一数值用于指示期望数据量额度;和/或,响应信息包括响应序列号SN,响应SN与初始SN的差值用于指示目标数据量额度,或者响应信息包括第二数值,第二数值用于指示目标数据量额度。上述可能的实现方式中,提高了请求信息中携带期望数据量额度、和/或响应信息中携带目标数据量额度的多样性。
在第三方面的一种可能的实现方式中,第二电节点接收请求信息包括:通过第三电节点接收第一电节点发送的请求信息;或者,通过至少一个光节点中的任一光节点接收第一电节点发送的第二数据包,第二数据包括中携带请求信息。上述可能的实现方式中,提高了第一电节点发送请求信息的灵活性,且通过第二数据包携带时可以减小节点间的信令交互。
在第三方面的一种可能的实现方式中,发送响应信息包括:通过第三电节点向第一电节点发送响应信息;或者,通过至少一个光节点中的任一节点向第一电节点发送第三数据包,第三数据包中携带响应信息。上述可能的实现方式中,提高了第二电节点发送响应信息的灵活性,且通过第三数据包携带时可以减小节点间的信令交互。
第四方面,提供了一种数据通信装置,该数据通信装置可以实现第一方面至第一方面的任一种可能的实现方式所提供的数据通信方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的单元。
在第四方面的一种可能的实现方式中,该数据通信装置作为第一电节点,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该数据通信装置的结构中包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,存储器用于存储程序代码,通信接口用于支持数据通信装置进行通信,当该程序代码被处理器执行时,使得该数据通信装置执行以下步骤:向第二电节点发送请求信息,请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;接收响应信息,响应信息包括目标数据量额度;使用目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包。
在第四方面的一种可能的实现方式中,当第一VOQ存在预设数据额度时,该数据通信装置还执行以下步骤:使用预设数据量额度,通过第三电节点向第二电节点发送至少一个第一数据包。
在第四方面的一种可能的实现方式中,请求信息包括请求序列号SN,请求SN与初始SN的差值用于指示期望数据量额度,或者请求信息包括第一数值,第一数值用于指示期望数据量额度;和/或,响应信息包括响应序列号SN,响应SN与初始SN的差值用于指示目标数据量额度,或者响应信息包括第二数值,第二数值用于指示目标数据量额度。
在第四方面的一种可能的实现方式中,响应信息还包括以下中的任一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、至少一个光节点的标识、至少一个光节点对应的发送路径的标识、至少一个光节点的发送数据量额度、至少一个光 节点对应的发送时隙。
在第四方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:通过第三电节点向第二电节点发送请求信息;或者,通过至少一个光节点中的任一光节点向第二电节点发送第二数据包,第二数据包中携带请求信息。
在第四方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:接收第二电节点通过第三电节点发送的响应信息;或者,接收第二电节点通过至少一个光节点中的任一光节点发送的第三数据包,第三数据包括中携带响应信息。
第五方面,提供了一种数据通信装置,数据通信装置可以实现第二方面至第二方面的任一种可能的实现方式所提供的数据通信方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的单元。
在第五方面的一种可能的实现方式中,该数据通信装置作为第三电节点,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该数据通信装置的结构中包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,存储器用于存储程序代码,通信接口用于支持数据通信装置进行通信,当该程序代码被处理器执行时,使得该数据通信装置执行以下步骤:接收第一电节点发送的请求信息,请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;向第二电节点发送请求信息;接收第二电节点发送的响应信息,响应信息包括目标数据量额度;向第一电节点发送响应信息。
在第五方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:当第一VOQ存在预设数据额度时,接收第一电节点使用预设数据量额度发送的至少一个第一数据包;向第二电节点发送至少一个第一数据包。
在第五方面的一种可能的实现方式中,请求信息包括请求序列号SN,请求SN与初始SN的差值用于指示期望数据量额度,或者请求信息包括第一数值,第一数值用于指示期望数据量额度;和/或,响应信息包括响应序列号SN,响应SN与初始SN的差值用于指示目标数据量额度,或者响应信息包括第二数值,第二数值用于指示目标数据量额度。
在第五方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:根据目标数据量额度,确定至少一个光节点中每个光节点的发送数据量额度;相应地,响应信息还包括以下中的任一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、至少一个光节点的标识、至少一个光节点对应的发送路径的标识、至少一个光节点的发送数据量额度、至少一个光节点对应的发送时隙。
在第五方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:向至少一个光节点中的每个光节点发送调度信息,调度信息包括以下信息中的至少一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、光节点对应的发送路径的标识、光节点的发送数据量额度、光节点对应的发送时隙。
第六方面,提供了一种数据通信装置,该数据通信装置可以实现第三方面至第三 方面的任一种可能的实现方式所提供的数据通信方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的单元。
在第六方面的一种可能的实现方式中,该数据通信装置作为第二电节点,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该数据通信装置的结构中包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,存储器用于存储程序代码,通信接口用于支持数据通信装置进行通信,当该程序代码被处理器执行时,使得该数据通信装置执行以下步骤:接收请求信息,该请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包;发送响应信息,该响应信息包括目标数据量额度;接收第一电节点使用目标数据量额度,通过至少一个光节点发送至少一个第一数据包。
在第六方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:当第一VOQ存在预设数据额度时,接收第一电节点使用预设数据量额度,通过第三电节点向第二电节点发送至少一个第一数据包。
在第六方面的一种可能的实现方式中,请求信息包括请求序列号SN,请求SN与初始SN的差值用于指示期望数据量额度,或者请求信息包括第一数值,第一数值用于指示期望数据量额度;和/或,响应信息包括响应序列号SN,响应SN与初始SN的差值用于指示目标数据量额度,或者响应信息包括第二数值,第二数值用于指示目标数据量额度。
在第六方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:通过第三电节点接收第一电节点发送的请求信息;或者,通过至少一个光节点中的任一光节点接收第一电节点发送的第二数据包,第二数据包括中携带请求信息。
在第六方面的一种可能的实现方式中,该数据通信装置还执行以下步骤:通过第三电节点向第一电节点发送响应信息;或者,通过至少一个光节点中的任一节点向第一电节点发送第三数据包,第三数据包中携带响应信息。
第七方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被运行时,执行上述第一方面或第一方面的任一种可能的实现方式所提供的数据通信方法。
第八方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被运行时,执行上述第二方面或第二方面的任一种可能的实现方式所提供的数据通信方法。
第九方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被运行时,执行上述第三方面或第三方面的任一种可能的实现方式所提供的数据通信方法。
第十方面,提供一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令被运行时,执行上述第一方面或第一方面的任一种可能的实现方式所提供的数据通信方法。
第十一方面,提供一种计算机程序产品,其特征在于,计算机程序产品包括计算机程序或指令,当计算机程序或指令被运行时,执行上述第二方面或第二方面的任一种可能的实现方式所提供的数据通信方法。
第十二方面,提供一种计算机程序产品,其特征在于,计算机程序产品包括计算机程序或指令,当计算机程序或指令被运行时,执行上述第三方面或第三方面的任一种可能的实现方式所提供的数据通信方法。
第十三方面,提供一种数据通信网络,该数据通信网络包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ)。其中,第一电节点可以为上述各方面所提供的第一电节点,用于支持第一电节点执行上述第一方面或第一方面的任一种可能的实现方式所提供的数据通信方法;和/或,第三电节点为上述各方面所提供的第三电节点,用于支持第三电节点执行上述第二方面或第二方面的任一种可能的实现方式所提供的数据通信方法;和/或,第二电节点为上述各方面所提供的第二电节点,用于支持第二电节点执行上述第三方面或第三方面的任一种可能的实现方式所提供的数据通信方法。
可以理解地,上述提供的任一种数据通信方法的装置、计算机存储介质、计算机程序产品、或者数据通信网络均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为一种数据通信网络的结构示意图;
图2为本申请实施例提供的一种数据通信网络的结构示意图一;
图3为本申请实施例提供的一种数据通信网络的结构示意图二;
图4为本申请实施例提供的一种源节点的结构示意图;
图5为本申请实施例提供的一种目的节点的结构示意图;
图6为本申请实施例提供的一种数据通信方法的流程示意图一;
图7为本申请实施例提供的一种数据通信方法的流程示意图二;
图8为本申请实施例提供的一种数据通信方法的流程示意图三;
图9为本申请实施例提供的一种数据通信网络的结构示意图三;
图10为本申请实施例提供的一种数据通信装置的结构示意图一;
图11为本申请实施例提供的一种数据通信装置的结构示意图二;
图12为本申请实施例提供的一种数据通信装置的结构示意图三;
图13为本申请实施例提供的一种数据通信装置的结构示意图四;
图14为本申请实施例提供的一种数据通信装置的结构示意图五;
图15为本申请实施例提供的一种数据通信装置的结构示意图六。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以 理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本申请实施例应用于混合组网模式的数据通信网络中,一种典型的数据通信网络的架构可以为包括三个交换层(即包括接入层、汇聚层和核心层)的组网模式,也可以为包括两个交换层(即包括接入层和核心层)的组网模式。数据通信网络中的每个交换层中都可以包括多个节点,比如,接入层可以包括多个接入(Access)节点,汇聚层中包括多个汇聚(Aggregation)节点,核心层包括多个核心(Core)节点,接入节点和汇聚节点均为电交换节点(也可以称为E节点),核心节点中同时包括电交换节点和光交换节点(也可以称为O节点)。
其中,当数据通信网络的架构为包括三个交换层的混合组网模式时,接入节点的下行端口与需要进行数据流量交换的服务器连接,其上行端口与汇聚节点的下行端口连接,汇聚节点的上行端口与核心节点连接。汇聚层和接入层可以被划分为多个群组(Pod),一个Pod中可以包括多个接入节点和多个汇聚节点,且每个接入节点与多个汇聚节点全连接。此外,核心层中的多个核心节点可以被划分为多个核心平面,每个核心平面分别和各Pod中的不同汇聚节点连接;或者,核心层中的多个核心节点不划分核心平面,核心层中的电交换节点与所有的汇聚节点连接,光交换节点各自连接部分或者全部的汇聚节点。
当数据通信网络的架构为包括两个交换层的混合组网模式时,接入节点的下行端口与需要进行数据流量交换的服务器连接,其上行端口直接与核心节点连接。接入层可以被划分为多个群组(Pod),一个Pod中可以包括多个接入节点。此外,核心层中的多个核心节点可以被划分为多个核心平面,每个核心平面分别和各Pod中的不同接入节点连接;或者,核心层中的多个核心节点不划分核心平面,核心层中的电交换节点与所有的接入节点连接,光交换节点各自连接部分或者全部的接入节点。
本申请实施例以数据通信网络的架构为包括三个交换层的混合组网模式,且核心层被划分为多个核心平面为例进行说明。图2为一种数据通信网络的架构示意图,参见图2,该数据通信网络中包括接入层、汇聚层和核心层。
图2中仅以数据通信网络包括3个Pod,一个Pod内包括3个接入节点和4个汇聚节点,每个核心平面包括两个核心节点为例进行说明。图2中的接入节点可以表示为A1~A9,汇聚节点可以表示为B1~B12,核心节点可以表示为C1~C8(C1、C3、C5和C7为电交换节点,C2、C4、C6和C8为光交换节点),3个Pod分别表示为Pod1~Pod3。
其中,当一个Pod内不同接入节点连接的服务器之间进行数据流量交换时,可以通过与接入节点在同一Pod内的汇聚节点实现,比如,接入节点A1和接入节点A3连接的服务器需要进行数据流量交换,则接入节点A1可以通过汇聚节点B1将其连接的服务器的数据流发送给接入节点A3。当不同Pod内的接入节点连接的服务器之间进行数据流量交换时,可以通过与接入节点在同一Pod内的汇聚节点、以及与汇聚节点连接的核心节点实现,比如,接入节点A1和接入节点A5连接的服务器需要进行数据流量交换,则接入节点A1可以将其连接的服务器的数据流发送给汇聚节点B1,由汇聚节点B1转发给核心节点C1,再由C1通过汇聚节点B5发送给接入节点A5。
需要说明的是,图2示出的数据通信网络的结构仅为示例性的,并不构成对其结构的限定。在实际应用中,数据通信网络的每个交换层中还可以包括比图示更多或者 更少的节点,或者数据通信网络还可以为包括两个交换层的网络,或者核心层中的多个核心节点可以被划分为多个核心平面,也可以不划分为多个核心平面,本申请实施例对此不做具体限定。
为便于理解,如图3所示,这里可以将包括三个交换层的数据通信网络中连接到同一核心平面的多个汇聚节点(比如,n个)和一个核心平面内的多个核心节点看作一个n×n的交换网(Switch Fabric,SF)系统。该n×n的SF中包括n个源节点(Source,S)和n个目的节点(Destination,D),以及中间级的m个核心节点(Switch Element,SE)。其中,图3中的Si和Di为同一个汇聚节点(i的取值依次为1至n),即n个源节点和n个目的节点是连接到同一核心平面的n个汇聚节点在分别作为发送节点和接收节点时按功能划分出的节点。n个汇聚节点中的每个汇聚节点可以包括多个端口,对于S来说,该多个端口为输入端口(Input Port),对于D来说,该多个端口为输出端口(Output Port)。包括三个交换层的数据通信网络可以看作是由多个交换网组成,每个交换网络都采用相同的控制机制。
类似地,包括两个交换层的数据通信网络也可以看作由多个交换网组成,不同之处在于,n个源节点和n个目的节点是连接到同一核心平面的n个接入节点在分别作为发送节点和接收节点时按功能划分出的节点,本申请实施例对此不再赘述。
如图3所示的交换网可以完成将从S接收到的数据包(Packet)交换到D的操作,数据包通过SE的时候,可以保持原本变长包(Variable-length Packet)的格式,也可以被S先切成信元(Cell)发送,待D接收到所有Cell之后,再重组成完整的数据包。在这样的交换网中,S通常可以将接收到的数据包尽量均匀地分发到各SE。S发出的数据包通常携带D的信息,SE根据携带的信息向对应的D转发数据包。
S通过输入端口从系统外部接收数据包,通常S内置多个虚拟输出队列(Virtual Output Queue,VOQ)用于缓存去往不同D的数据包(或者是用于缓存去往不同D的不同输出端口的数据包;或者是多个VOQ对应更细粒度的流,即多个VOQ用于缓存不同粒度的流的数据包),VOQ可用于保障端到端的QoS,是防止头阻塞(Head-of-line Blocking,HOL Blocking)的手段。对于n×n的交换网络而言,每个S中一般至少有n个VOQ对应n个D,若进一步根据D的输出端口或要求更高的粒度进行细分,还可以包括更多的VOQ。
如图4所示为一种源节点(S)的结构示意图,该S中包括多个输入端口、队列管理器(Queue Manager,QM)、入口调度器(Ingress Scheduler,ISC)和网络接口(Fabric Interface)。其中,QM可用于管理K个VOQ(K为正整数),ISC可用于调度QM中的K个VOQ,调度输出的数据包可通过网络接口切成信元,并添加信元头(Header)后发送给SE,或者直接按照数据包发送给SE。
如图5所示为一种目的节点(D)的结构示意图,该D中包括多个输出端口、队列管理器(Queue Manager,QM)、出口调度器(Egress Scheduler,ESC)和网络接口(Fabric Interface)。其中,QM可用于管理L个输出队列(Output Queue,OQ),L为正整数,L个OQ用于缓存去往不同输出的数据包,ESC可用于调度QM中的L个OQ。
比如,S中的ISC可以根据S中VOQ的状态向对应的D发送请求,D中的ESC 接收到请求之后完成调度,并将调度结果告知ISC。ISC根据调度结果调度S中VOQ中的数据包出队。其中,D中的ESC在调度的过程中,可以考虑不同请求的QoS特性,以及D中各OQ的拥塞程度。
本领域技术人员可以理解的是,本申请实施例描述的数据通信网络、以及源节点和目的节点的结构是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。
图6为本申请实施例提供的一种数据通信方法的结构示意图,应用于包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层,第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ),该方法包括以下几个步骤。
步骤601:第一电节点向第二电节点发送请求信息,该请求信息用于请求第一VOQ的期望数据量额度,第一VOQ中存放有发往第二电节点的至少一个第一数据包。
其中,当该数据通信网络包括两个交换层时,第一层可以为接入层,第一电节点和第二电节点可以为接入节点,第二层可以为核心层,至少一个光节点和第三电节点可以为核心节点。当该数据通信网络包括三个交换层时,第一层可以为汇聚层,第一电节点和第二电节点可以为汇聚节点,第二层可以为核心层,至少一个光节点和第三电节点可以为核心节点。
另外,第一电节点可以为源节点,第二电节点可以为目的节点。第一电节点可以包括多个VOQ,每个VOQ可以对应不同的目的节点,第一VOQ是多个VOQ中的任意一个,且用于缓存发往第二电节点的数据包,即第一VOQ对应的目的节点为第二电节点。
再者,至少一个第一数据包是指第一电节点通过输入端口从系统外部接收到,且是发往第二电节点的数据包。至少一个第一数据包中可以包括一个或者多个第一数据包,每个第一数据包中可以包括不同的数据,且每个第一数据包对应的数据量可以相同、也可以不同。
具体的,当第一电节点通过输入端口接收到发往第二电节点的至少一个第一数据包时,第一电节点可以将至少一个第一数据包存放在第二电节点对应的第一VOQ中。第一电节点在通过数据通信网络向第二电节点发送至少一个第一数据包时,第一电节点可以向第二电节点发送用于请求第一VOQ的期望数据量额度的请求信息,该请求信息可以由第一电节点生成,期望数据量额度可以是指第一电节点期望将第一VOQ中存放的数据发送给第二电节点的数据量,比如,第一VOQ中存放有10个第一数据包,第一电节点期望将前5个第一数据包发送给第二电节点,则该期望数据量额度可以为前5个第一数据包的总数据量。
可选地,第一电节点可以向第三电节点发送该请求信息,当第三电节点接收到该请求信息时,第三电节点可以将该请求信息转发给第二电节点。或者,当第一电节点已通过至少一个光节点向第二电节点传输数据时,第一电节点可以将该请求信息携带在发送的数据中,比如,携带在第二数据包中,并将携带该请求信息的第二数据包发送给至少一个光节点中的任一光节点,以使该光节点将携带该请求信息的第二数据包转发给第二电节点。
另外,该请求信息中可以包括用于直接指示期望数据量额度的信息,也可以包括用于间接指示期望数据量额度的信息。当该请求信息中包括用于直接指示期望数据量额度的信息时,该信息可以直接为期望数据量额度对应的数值,比如,该请求信息中包括数值200,则用于指示期望数据量额度为200KB。当该请求信息中包括用于间接指示期望数据量额度的信息时,可以通过以下两种方式来实现,具体包括:该请求信息包括请求序列号(Sequence Number,SN),请求SN与初始SN的差值用于指示期望数据量额度,初始SN可以为第一VOQ对应的当前SN,且第一电节点和第二电节点可以保存该初始SN,比如,请求SN为10、初始SN为4,则期望数据量额度可以为(10-4)*ΔF;或者,该请求信息包括第一数值,第一数值用于指示该期望数据量额度,比如,第一数值为6,则期望数据量额度可以为6*ΔF。
需要说明的是,ΔF可以为单位数据量,比如,ΔF为4KB、8KB等等,该单位数据量可以事先进行设置或者配置。
步骤602:第二电节点接收该请求信息。其中,步骤602中的请求信息与步骤601中的一致,具体参见相关描述,本申请实施例在此不再赘述。
当第二电节点接收到该请求信息时,第二电节点可以解析该请求信息,从而得到该请求信息包括的期望数据量额度。
步骤603:第二电节点发送响应信息,该响应信息包括目标数据量额度。
当第二电节点接收到该请求信息后,第二电节点可以根据该请求信息确定目标数据量额度,或者根据该请求信息和其自身的VOQ的状态等确定目标数据量额度,目标数据量额度是第二电节点确定的允许第一电节点发送的数据量。目标数据量额度可以等于或者小于期望数据量额度,当然也可以大于期望数据量额度。比如,当第二电节点中VOQ的状态比较空闲,其可接收的数据量大于或者等于期望数据量额度时,第二电节点可以将期望数据量额度确定为目标数据量额度,或者确定大于期望数据量额度的目标数据量额度;当第二电节点中VOQ的状态比较拥塞,其可接收的数据量小于期望数据量额度时,第二电节点可以将确定小于期望数据量额度的目标数据量额度。之后,第二电节点可以将发送响应信息,并在该响应信息中携带目标数据量额度,该响应信息可以由第二电节点生成。
可选地,第二电节点可以向第三电节点发送该响应信息,当第三电节点接收到该响应信息时,第三电节点可以将该响应信息转发给第一电节点。或者,当第二电节点已通过至少一个光节点向第一电节点传输数据时,第一电节点可以将该响应信息携带发送的数据中,比如,携带在第三数据包中,并将携带该响应信息的第三数据包发送给至少一个光节点中的任一光节点,以使该光节点将携带该响应信息的第三数据包转发给第一电节点。
另外,该响应信息中可以包括用于直接指示目标数据量额度的信息,也可以包括用于间接指示目标数据量额度的信息。需要说明的是,该响应信息中用于指示目标数据量额度的方式与上述请求信息中用于指示期望数据量额度的方式类似,具体参见相关描述,本申请实施例在此不再赘述。
进一步地,该响应信息中还可以包括以下信息中至少一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、至少一个光节点的标识、至少一个第一数据 包的发送路径的标识。
其中,第一电节点的标识可以是第一电节点的地址或者编号等。第二电节点的标识可以是第二电节点的地址或者编号等。第一VOQ的标识可以是第一VOQ的编号等。至少一个光节点的标识可以包括一个或者多个光节点的标识,每个光节点的标识可以是该光节点的地址或者编号等。至少一个第一数据包的发送路径可以包括一条或者多条路径,每条路径可以有对应的路径标识,比如,路径标识为路径对应的路由表等,当至少一个光节点包括一个光节点时,所述发送路径可以包括一条路径,当至少一个光节点包括多个光节点时,所述发送路径可以包括多条路径。
步骤604:当第一电节点接收到该响应信息时,第一电节点使用目标数据量额度,通过至少一个光节点向第二电节点发送至少一个第一数据包。
当第一电节点接收到该响应信息时,第一电节点可以解析该响应信息,从而得到该目标数据量额度,并使用目标数据量额度,分别向至少一个光节点中的每个光节点发送第一数据包,当至少一个光节点中的每个光节点接收到第一数据包时,至少一个光节点将接收到的第一数据包转发给第二电节点。
比如,目标数据量额度为100KB,至少一个第一数据包中前四个数据包的总数据量为100KB,至少一个光节点包括两个光节点,则第一电节点可以向所述两个光节点中的第一个光节点发送前两个第一数据包,向第二个光节点发送后两个第一数据包,以使所述两个光节点分别将接收到的第一数据包转发给第二电节点。或者,第一电节点可以向所述两个光节点中的第一个光节点发送前三个第一数据包,向第二个光节点发送后一个第一数据包,以使所述两个光节点分别将接收到的第一数据包转发给第二电节点。或者,第一电节点可以向所述两个光节点中的第一个光节点发送前一个第一数据包,向第二个光节点发送后三个第一数据包,以使所述两个光节点分别将接收到的第一数据包转发给第二电节点。本申请实施例对此不做具体限定。
可选地,第一电节点可以通过该响应信息确定至少一个光节点,比如,通过该响应信息中包括的至少一个光节点的标识确定至少一个光节点,或者通过该响应信息中包括的至少一个第一数据包的发送路径的标识确定至少一个光节点。或者,在第一电节点发送至少一个第一数据包之前,可以为第一电节点配置使用至少一个光节点转发第一数据包等。本申请实施例对此不做具体限定。
步骤605:第二电节点接收至少一个第一数据包。
当第一电节点将至少一个第一数据包发送给至少一个光节点,至少一个光节点中的每个光节点将其接收到的第一数据包转发给第二电节点时,第二电节点可以接收到至少一个第一数据包。
进一步地,当目标数据量额度小于至少一个第一数据包的总数据量,即第一电节点使用目标数据量额度未将至少一个第一数据包全部发送给第二电节点时,第一电节点和第二电节点还可以重复执行上述步骤601-步骤605,以将至少一个第一数据包全部发送给第二电节点。
在本申请实施例中,第一电节点在向第二电节点发送至少一个第一数据包时,可以向第二电节点发送请求信息,并接收第二电节点发送的响应信息,之后,使用该响应信息包括的目标数据量额度,通过至少一个光节点将至少一个第一数据包发送给第 二电节点发,从而使得第一电节点无需区分大流量和小流量,降低了流量缓存时延,同时第一电节点在通过光节点发送数据流量时,可以按照目标数据量额度进行发送,从而可以保证端到端的QoS要求。
进一步地,结合图6,参见图7,在步骤601之前,该方法还包括:步骤600a-步骤600b。
步骤600a:第一电节点使用预设数据量额度,通过第三电节点向第二电节点发送至少一个第一数据包。
当第一电节点存在预设数据量额度时,第一电节点可以直接使用预设数据量额度,向第三电节点发送至少一个第一数据包,第三电节点在接收到第一数据包时,可以将接收到的第一数据包转发给第二电节点。第一电节点使用预设数据量额度发送的第一数据包可以是该至少一个第一数据包中的部分或者全部数据包,且具体与预设数据量额度有关。
其中,预设数据量额度可以事先进行设置,比如,预设数据量额度可以为50KB、100KB或者150KB等等,本申请实施例对此不做具体限定。
进一步地,当预设数据量额度小于至少一个第一数据包的总数据量,即第一电节点使用预设数据量额度未将至少一个第一数据包全部发送给第二电节点时,第一电节点和第二电节点还可以执行上述步骤601-步骤605,以将至少一个第一数据包全部发送给第二电节点。
比如,第一电节点可以根据预设数据量额度,通过第三电节点向第二电节点发送,该部分或者全部数据包无需等待往返时延(Round-Trip Time,RTT)即可发送。
步骤600b:第二电节点接收第一电节点通过第三电节点发送的至少一个第一数据包。
当第一电节点将至少一个第一数据包发送给第三电节点时,第三电节点可以将其接收到的第一数据包转发给第二电节点,以使第二电节点接收到至少一个第一数据包。
在本申请实施例中,第一电节点在向第二电节点发送至少一个第一数据包时,可以使用预设数据量额度,并通过第三电节点向第二电节点发送第一数据包,从而可以减少节点间的信令交互,提高数据传输效率。
进一步地,结合图6,参见图8,在步骤603之后、步骤604之前,该方法还包括:步骤603a-步骤603b。
步骤603a:第三电节点根据目标数据量额度,确定至少一个光节点中每个光节点的发送数据量额度。
在第二电节点通过第三电节点向第一电节点发送该响应信息的过程中,第三电节点在接收到第二电节点发送的该响应信息时,第三电节点可以获取该响应信息中包括的目标数据量额度,并根据目标数据量额度确定至少一个光节点中每个光节点的发送数据量额度。此外,第三电节点还可以确定至少一个光节点对应的发送时隙(Slot)。
相应地,当第三电节点向第一电节点发送该响应信息时,该响应信息还可以包括以下信息中的至少一项:至少一个光节点的发送数据量额度、至少一个光节点对应的发送时隙。
其中,至少一个光节点包括一个或者多个光节点,每个光节点的发送数据量额度 是指第一电节点在通过至少一个光节点中的每个光节点向第二电节点发送至少一个第一数据包时,向每个光节点发送的第一数据包的数据量。不同光节点的发送数据量额度可以相同,也可以不同,本申请实施例对此不作具体限定。
另外,至少一个光节点对应的发送时隙包括一个或者多个光节点对应的发送时隙,一个光节点对应的发送时隙可以是指第一电节点向该光节点发送第一数据包的发送时隙,从而该光节点可以在对应的时隙接收第一电节点发送的第一数据包。不同的光节点对应的发送时隙不同。
比如,至少一个光节点包括三个光节点(比如,光节点1~光节点3),目标数据量额度为250KB,光节点1-光节点3的发送数据量额度可以依次为100KB、100KB和50KB,光节点1-光节点3的对应的发送时隙可以依次为时隙1、时隙2和时隙3,假设每个第一数据包的数据量相同且为50KB,则当第一电节点接收到该响应信息,并向至少一个光节点发送第一数据包时,第一电节点可以在时隙1上向光节点1发送两个第一数据包(即数据量为100KB),在时隙2上向光节点2发送两个第一数据包(即数据量为100KB),在时隙3上向光节点3发送一个第一数据包(即数据量为50KB)。
具体地,当第三电节点向第一电节点发送该响应信息时,第三电节点可以将至少一个光节点的发送数据量额度、至少一个光节点对应的发送时隙中的至少一项携带在该响应信息中一起发送给第一电节点,使得第一电节点在通过至少一个光节点向第二电节点发送至少一个第一数据包时,按照该响应信息中每个光节点的发送数据量额度、和/或每个光节点对应的发送时隙发送至少一个第一数据包。
可选地,第三电节点也可以通过与该响应信息不同的其他信息将至少一个光节点的发送数据量额度、至少一个光节点对应的发送时隙中的至少一项发送给第一电节点,通过该响应信息携带可以减少节点间的信令交互。本申请实施例对此不作具体限定。
步骤603b:第三电节点向至少一个光节点中的每个光节点发送调度信息。
其中,该调度信息包括以下信息中的至少一项:第一电节点的标识、第二电节点的标识、第一VOQ的标识、该光节点对应的发送路径的标识、该光节点的发送数据量额度、该光节点对应的发送时隙。
当第三电节点确定至少一个光节点的发送数据量额度、和/或至少一个光节点对应的发送时隙时,第三电节点可以生成调度信息,以及向至少一个光节点中的每个光节点发送调度信息,以使每个光节点接收到各自对应的调度信息,并按照各自对应的调度信息接收第一电节点发送的第一数据包,以及将接收到的第一数据包发送给第二电节点。
需要说明的是,上述调度信息中的每一项与上述实施例中该响应信息中对应的每一项的描述一致,具体参见上述描述,本申请实施例在此不再赘述。
为便于理解,这里以图9所示的数据通信网络为例对本申请中的方法进行举例说明。图9所示的数据通信网络包括接入层、汇聚层和核心层,接入层和汇聚层被划分为48个Pod(即Pod0~Pod47),每个Pod中包括两个接入节点(即A1~A2)和多个汇聚节点(即S1~Sn/D1~Dn),核心层中的每个平面包括48个核心节点(C0~C47),其中C0为电节点,C1~C47为光节点。假设第一电节点为Pod0中的S1、第二电节点为Pod47中的D1,第三电节点为第一个平面中的C0,至少一个光节点为第一个平面 中的C1~C47。
当第一电节点(S1)向第二电节点(D1)发送至少一个第一数据包时,S1与D1之间的数据通信路径可以如图9中的P1~P4。当至少一个第一数据包为小流量,S1存在预设数据量额度时,S1可以通过路径P1将至少一个第一数据包发送给D1。或者,S1通过路径P1向D1发送请求信息,D1通过路径P2和P3将响应信息发送给S1,第一个平面中的C0在转发该响应信息时可以为第一个平面中C1~C47分配发送数据量额度和发送时隙,并将其携带在该响应信息中发送给S1。当S1接收到该响应信息时,S1可以根据每个光节点对应的发送数据量额度和发送时隙等,依次通过路径P4向第二电节点发送至少一个第一数据包,路径P4是指S1通过至少一个光节点(比如,第一个平面中的C1~C47)向第二电节点发送第一数据包的路径,可以包括多条路径。
本申请实施例提供的数据通信方法中,基于端到端(end to end,E2E)的调度机制进行数据通信,避免了当前混合组网中需要先识别大流量、小流量的问题,简化了光节点控制面的设计,减少了汇聚节点的缓存压力,同时可以提供更高的QoS特性。
上述主要从各个节点之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个网元,例如第一电节点、第二电节点和第三电节点等,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对第一电节点、第二电节点和第三电节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明:
在采用集成的单元的情况下,图10示出了上述实施例中所涉及的数据通信装置的一种可能的结构示意图。该数据通信装置可以为第一电节点或者第一电节点内置的芯片,该数据通信装置包括:发送单元1001和接收单元1002。其中,发送单元1001用于支持该数据通信装置执行方法实施例中的步骤601、步骤604、和/或步骤600a;接收单元1002支持该数据通信装置执行方法实施例中接收步骤603发送的响应信息的步骤。可选地,该数据通信装置还可以包括处理单元1003,处理单元1003用于执行该数据通信装置生成请求信息、和/或解析响应信息的步骤。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用硬件实现的基础上,本申请中的处理单元1003可以为数据通信装置的处理器,发送单元1001可以为数据通信装置的发送器,接收单元1002可以为数据通信装置的接收器,发送器通常可以和接收器集成在一起用作收发器,具体的收发器还可以称为通信接口。
图11所示,为本申请的实施例提供的上述实施例中所涉及的数据通信装置的一种可能的逻辑结构示意图。该数据通信装置可以为第一电节点或者第一电节点内置的芯片,该数据通信装置包括:处理器1102和通信接口1103。处理器1102用于对该数据通信装置动作进行控制管理,例如,处理器1102用于支持该数据通信装置执行方法实施例中生成请求信息、解析响应信息,和/或用于本文所描述的技术的其他过程。此外,该数据通信装置还可以包括存储器1101和总线1104,处理器1102、通信接口1103以及存储器1101通过总线1104相互连接;通信接口1103用于支持该数据通信装置进行通信;存储器1101用于存储该数据通信装置的程序代码和数据。
其中,处理器1102可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线1104可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在采用集成的单元的情况下,图12示出了上述实施例中所涉及的数据通信装置的一种可能的结构示意图。该数据通信装置可以为第二电节点或者第二电节点内置的芯片,该数据通信装置包括:接收单元1201和发送单元1202。其中,接收单元1201用于支持该数据通信装置执行方法实施例中的步骤602、步骤605、和/或步骤600b;发送单元1202支持该数据通信装置执行方法实施例中的步骤603。可选地,该数据通信装置还可以包括处理单元1203,处理单元1203用于执行该数据通信装置解析请求信息、和/或生成响应信息的步骤。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用硬件实现的基础上,本申请中的处理单元1203可以为数据通信装置的处理器,接收单元1201可以为数据通信装置的接收器,发送单元1202可以为数据通信装置的发送器,发送器通常可以和接收器集成在一起用作收发器,具体的收发器还可以称为通信接口。
图13所示,为本申请的实施例提供的上述实施例中所涉及的数据通信装置的一种可能的逻辑结构示意图。该数据通信装置可以为第二电节点或者第二电节点内置的芯片,该数据通信装置包括:处理器1302和通信接口1303。处理器1302用于对该数据通信装置动作进行控制管理,例如,处理器1302用于支持该数据通信装置执行方法实施例中解析请求信息、生成响应信息,和/或用于本文所描述的技术的其他过程。此外,该数据通信装置还可以包括存储器1301和总线1304,处理器1302、通信接口1303以及存储器1301通过总线1304相互连接;通信接口1303用于支持该数据通信装置进行通信;存储器1301用于存储该数据通信装置的程序代码和数据。
其中,处理器1302可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件 或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线1304可以是外设部件互连标准(PCI)总线或扩展工业标准结构(EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在采用集成的单元的情况下,图14示出了上述实施例中所涉及的数据通信装置的一种可能的结构示意图。该数据通信装置可以为第三电节点或者第三电节点内置的芯片,该数据通信装置包括:接收单元1401和发送单元1402。其中,接收单元1401用于支持该数据通信装置执行方法实施例中接收第一电节点发送的请求信息的步骤、接收第二电节点发送的响应信息的步骤、和/或接收步骤600a发送的第一数据包的步骤;发送单元1402支持该数据通信装置执行方法实施例中向第二电节点转发请求信息的步骤、向第一电节点发送响应信息的步骤、向至少一个光节点发送调度信息的步骤、和/或向第二电节点转发第一数据包的步骤。可选地,该数据通信装置还可以包括处理单元1403,处理单元1403用于执行该数据通信装置执行方法实施例中的步骤603a、解析响应信息的步骤、和/或生成调度信息的步骤。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用硬件实现的基础上,本申请中的处理单元1403可以为数据通信装置的处理器,接收单元1401可以为数据通信装置的接收器,发送单元1402可以为数据通信装置的发送器,发送器通常可以和接收器集成在一起用作收发器,具体的收发器还可以称为通信接口。
图15所示,为本申请的实施例提供的上述实施例中所涉及的数据通信装置的一种可能的逻辑结构示意图。该数据通信装置可以为第三电节点或者第三电节点内置的芯片,该数据通信装置包括:处理器1502和通信接口1503。处理器1502用于对该数据通信装置动作进行控制管理,例如,处理器1502用于支持该数据通信装置执行方法实施例中的步骤603a、解析响应信息的步骤、生成调度信息的步骤,和/或用于本文所描述的技术的其他过程。此外,该数据通信装置还可以包括存储器1501和总线1504,处理器1502、通信接口1503以及存储器1501通过总线1504相互连接;通信接口1503用于支持该数据通信装置进行通信;存储器1501用于存储该数据通信装置的程序代码和数据。
其中,处理器1502可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线1504可以是外设部件互连标准(PCI)总线或扩展工业标准结构(EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请的另一实施例中,还提供一种数据通信系统,该数据通信系统数据通信网络包括至少两个交换层的数据通信网络中,至少两个交换层包括第一层和第二层, 第一层包括第一电节点和第二电节点,第二层包括至少一个光节点和第三电节点,第一电节点包括第一虚拟输出队列(VOQ)。其中,第一电节点可以为上述装置实施例中所提供的第一电节点,用于支持第一电节点执行方法实施例中第一电节点的步骤;和/或,第二电节点为上述装置实施例所提供的第二电节点,用于支持第二电节点执行方法实施例中第二电节点的步骤;和/或,第三电节点为上述装置实施例所提供的第三电节点,用于支持第三电节点执行方法实施例中第三电节点的步骤。
本申请装置实施例的第一电节点、第二电节点和第三电节点可分别对应于本申请方法实施例中的第一电节点、第二电节点和第三电节点。并且,第一电节点、第二电节点和第三电节点的各个模块和其它操作和/或功能分别为了实现上述方法实施例的相应流程,为了简洁,本申请方法实施例的描述可以适用于该装置实施例,在此不再赘述。
本申请装置实施例的有益效果可参考上述对应的方法实施例中的有益效果,此处不再赘述。另外,本申请装置实施例中相关内容的描述也可以参考上述对应的方法实施例。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的另一实施例中,还提供一种可读存储介质,可读存储介质中存储有计算机执行指令,当一个设备(可以是单片机,芯片等)或者处理器执行上述方法实施例所提供的数据通信方法中第一电节点的步骤。前述的可读存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的另一实施例中,还提供一种可读存储介质,可读存储介质中存储有计算机执行指令,当一个设备(可以是单片机,芯片等)或者处理器执行上述方法实施例所提供的数据通信方法中第二电节点的步骤。前述的可读存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的另一实施例中,还提供一种可读存储介质,可读存储介质中存储有计算机执行指令,当一个设备(可以是单片机,芯片等)或者处理器执行上述方法实施例所提供的数据通信方法中第三电节点的步骤。前述的可读存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备上述方法实施例所提供的数据通信方法中第一电节点的步骤。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备上述方法实施所提供的数据通信方法中第二电节点的步骤。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备上述方法实施所提供的数据通信方法中第三电节点的步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (41)

  1. 一种数据通信方法,其特征在于,应用于包括至少两个交换层的数据通信网络中,所述至少两个交换层包括第一层和第二层,所述第一层包括第一电节点和第二电节点,所述第二层包括至少一个光节点和第三电节点,所述第一电节点包括第一虚拟输出队列(VOQ),所述方法包括:
    所述第一电节点向所述第二电节点发送请求信息,所述请求信息用于请求所述第一VOQ的期望数据量额度,所述第一VOQ中存放有发往所述第二电节点的至少一个第一数据包;
    接收响应信息,所述响应信息包括目标数据量额度;
    使用所述目标数据量额度,通过所述至少一个光节点向所述第二电节点发送所述至少一个第一数据包。
  2. 根据权利要求1所述的方法,其特征在于,当所述第一VOQ存在预设数据额度时,所述向所述第二电节点发送请求信息之前,还包括:
    使用所述预设数据量额度,通过所述第三电节点向所述第二电节点发送所述至少一个第一数据包。
  3. 根据权利要求1或2所述的方法,其特征在于,所述请求信息包括请求序列号SN,所述请求SN与初始SN的差值用于指示所述期望数据量额度;或者,所述请求信息包括第一数值,所述第一数值用于指示所述期望数据量额度;
    和/或,
    所述响应信息包括响应序列号SN,所述响应SN与初始SN的差值用于指示所述目标数据量额度;或者,所述响应信息包括第二数值,所述第二数值用于指示所述目标数据量额度。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述响应信息还包括以下中的任一项:所述第一电节点的标识、所述第二电节点的标识、所述第一VOQ的标识、所述至少一个光节点的标识、所述至少一个光节点对应的发送路径的标识、所述至少一个光节点的发送数据量额度、所述至少一个光节点对应的发送时隙。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述向所述第二电节点发送请求信息,包括:
    通过所述第三电节点向所述第二电节点发送请求信息;或者,
    通过所述至少一个光节点中的任一光节点向所述第二电节点发送第二数据包,所述第二数据包中携带所述请求信息。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述接收响应信息,包括:
    接收所述第二电节点通过所述第三电节点发送的响应信息;或者,
    接收所述第二电节点通过所述至少一个光节点中的任一光节点发送的第三数据包,所述第三数据包括中携带所述响应信息。
  7. 一种数据通信方法,其特征在于,应用于包括至少两个交换层的数据通信网络中,所述至少两个交换层包括第一层和第二层,所述第一层包括第一电节点和第二电节点,所述第二层包括至少一个光节点和第三电节点,所述第一电节点包括第一虚拟 输出队列(VOQ),所述方法包括:
    所述第三电节点接收所述第一电节点发送的请求信息,所述请求信息用于请求所述第一VOQ的期望数据量额度,所述第一VOQ中存放有发往所述第二电节点的至少一个第一数据包;
    向所述第二电节点发送所述请求信息;
    接收所述第二电节点发送的响应信息,所述响应信息包括目标数据量额度;
    向所述第一电节点发送所述响应信息。
  8. 根据权利要求7所述的方法,其特征在于,当所述第一VOQ存在预设数据额度时,所述接收所述第一电节点发送的请求信息之前,还包括:
    接收所述第一电节点使用所述预设数据量额度发送的所述至少一个第一数据包;
    向所述第二电节点发送所述至少一个第一数据包。
  9. 根据权利要求7或8所述的方法,其特征在于,所述请求信息包括请求序列号SN,所述请求SN与初始SN的差值用于指示所述期望数据量额度;或者,所述请求信息包括第一数值,所述第一数值用于指示所述期望数据量额度;
    和/或,
    所述响应信息包括响应序列号SN,所述响应SN与初始SN的差值用于指示所述目标数据量额度;或者,所述响应信息包括第二数值,所述第二数值用于指示所述目标数据量额度。
  10. 根据权利要求7-9任一项所述的方法,其特征在于,所述向所述第一电节点发送所述响应信息之前,还包括:
    根据所述目标数据量额度,确定所述至少一个光节点中每个光节点的发送数据量额度;
    相应地,所述响应信息还包括以下中的任一项:所述第一电节点的标识、所述第二电节点的标识、所述第一VOQ的标识、所述至少一个光节点的标识、所述至少一个光节点对应的发送路径的标识、所述至少一个光节点的发送数据量额度、所述至少一个光节点对应的发送时隙。
  11. 根据权利要求10所述的方法,其特征在于,还包括:
    向所述至少一个光节点中的每个光节点发送调度信息,所述调度信息包括以下信息中的至少一项:所述第一电节点的标识、所述第二电节点的标识、所述第一VOQ的标识、所述光节点对应的发送路径的标识、所述光节点的发送数据量额度、所述光节点对应的发送时隙。
  12. 一种数据通信方法,其特征在于,应用于包括至少两个交换层的数据通信网络中,所述至少两个交换层包括第一层和第二层,所述第一层包括第一电节点和第二电节点,所述第二层包括至少一个光节点和第三电节点,所述第一电节点包括第一虚拟输出队列(VOQ),所述方法包括:
    所述第二电节点接收请求信息,所述请求信息用于请求所述第一VOQ的期望数据量额度,所述第一VOQ中存放有发往所述第二电节点的至少一个第一数据包;
    发送响应信息,所述响应信息包括目标数据量额度;
    接收所述第一电节点使用所述目标数据量额度,通过所述至少一个光节点发送所 述至少一个第一数据包。
  13. 根据权利要求12所述的方法,其特征在于,当所述第一VOQ存在预设数据额度时,所述接收请求信息之前,还包括:
    接收所述第一电节点使用所述预设数据量额度,通过所述第三电节点向所述第二电节点发送所述至少一个第一数据包。
  14. 根据权利要求12或13所述的方法,其特征在于,所述请求信息包括请求序列号SN,所述请求SN与初始SN的差值用于指示所述期望数据量额度;或者,所述请求信息包括第一数值,所述第一数值用于指示所述期望数据量额度;
    和/或,
    所述响应信息包括响应序列号SN,所述响应SN与初始SN的差值用于指示所述目标数据量额度;或者,所述响应信息包括第二数值,所述第二数值用于指示所述目标数据量额度。
  15. 根据权利要求12-14任一项所述的方法,其特征在于,所述接收请求信息,包括:
    通过所述第三电节点接收所述第一电节点发送的请求信息;或者,
    通过所述至少一个光节点中的任一光节点接收所述第一电节点发送的第二数据包,所述第二数据包括中携带所述请求信息。
  16. 根据权利要求12-15任一项所述的方法,其特征在于,所述发送响应信息,包括:
    通过所述第三电节点向所述第一电节点发送响应信息;或者,
    通过所述至少一个光节点中的任一节点向所述第一电节点发送第三数据包,所述第三数据包中携带所述响应信息。
  17. 一种数据通信装置,其特征在于,所述数据通信装置作为第一电节点,应用于包括至少两个交换层的数据通信网络中,所述至少两个交换层包括第一层和第二层,所述第一层包括所述第一电节点和第二电节点,所述第二层包括至少一个光节点和第三电节点,所述第一电节点包括第一虚拟输出队列(VOQ),所述装置包括:
    发送单元,用于向所述第二电节点发送请求信息,所述请求信息用于请求所述第一VOQ的期望数据量额度,所述第一VOQ中存放有发往所述第二电节点的至少一个第一数据包;
    接收单元,用于接收响应信息,所述响应信息包括目标数据量额度;
    所述发送单元,还用于使用所述目标数据量额度,通过所述至少一个光节点向所述第二电节点发送所述至少一个第一数据包。
  18. 根据权利要求17所述的装置,其特征在于,当所述第一VOQ存在预设数据额度时,所述发送单元,还用于:
    使用所述预设数据量额度,通过所述第三电节点向所述第二电节点发送所述至少一个第一数据包。
  19. 根据权利要求17或18所述的装置,其特征在于,所述请求信息包括请求序列号SN,所述请求SN与初始SN的差值用于指示所述期望数据量额度;或者,所述请求信息包括第一数值,所述第一数值用于指示所述期望数据量额度;
    和/或,
    所述响应信息包括响应序列号SN,所述响应SN与初始SN的差值用于指示所述目标数据量额度;或者,所述响应信息包括第二数值,所述第二数值用于指示所述目标数据量额度。
  20. 根据权利要求17-19任一项所述的装置,其特征在于,所述响应信息还包括以下中的任一项:所述第一电节点的标识、所述第二电节点的标识、所述第一VOQ的标识、所述至少一个光节点的标识、所述至少一个光节点对应的发送路径的标识、所述至少一个光节点的发送数据量额度、所述至少一个光节点对应的发送时隙。
  21. 根据权利要求17-20任一项所述的装置,其特征在于,所述发送单元,还用于:
    通过所述第三电节点向所述第二电节点发送请求信息;或者,
    通过所述至少一个光节点中的任一光节点向所述第二电节点发送第二数据包,所述第二数据包中携带所述请求信息。
  22. 根据权利要求17-21任一项所述的装置,其特征在于,所述接收单元,还用于:
    接收所述第二电节点通过所述第三电节点发送的响应信息;或者,
    接收所述第二电节点通过所述至少一个光节点中的任一光节点发送的第三数据包,所述第三数据包括中携带所述响应信息。
  23. 一种数据通信装置,其特征在于,所述数据通信装置作为第三电节点,应用于包括至少两个交换层的数据通信网络中,所述至少两个交换层包括第一层和第二层,所述第一层包括第一电节点和第二电节点,所述第二层包括至少一个光节点和所述第三电节点,所述第一电节点包括第一虚拟输出队列(VOQ),所述装置包括:
    接收单元,用于接收所述第一电节点发送的请求信息,所述请求信息用于请求所述第一VOQ的期望数据量额度,所述第一VOQ中存放有发往所述第二电节点的至少一个第一数据包;
    发送单元,用于向所述第二电节点发送所述请求信息;
    所述接收单元,还用于接收所述第二电节点发送的响应信息,所述响应信息包括目标数据量额度;
    所述发送单元,还用于向所述第一电节点发送所述响应信息。
  24. 根据权利要求23所述的装置,其特征在于,当所述第一VOQ存在预设数据额度时:
    所述接收单元,还用于接收所述第一电节点使用所述预设数据量额度发送的所述至少一个第一数据包;
    所述发送单元,还用于向所述第二电节点发送所述至少一个第一数据包。
  25. 根据权利要求23或24所述的装置,其特征在于,所述请求信息包括请求序列号SN,所述请求SN与初始SN的差值用于指示所述期望数据量额度;或者,所述请求信息包括第一数值,所述第一数值用于指示所述期望数据量额度;
    和/或,
    所述响应信息包括响应序列号SN,所述响应SN与初始SN的差值用于指示所述 目标数据量额度;或者,所述响应信息包括第二数值,所述第二数值用于指示所述目标数据量额度。
  26. 根据权利要求23-25任一项所述的装置,其特征在于,所述装置还包括:
    处理单元,用于根据所述目标数据量额度,确定所述至少一个光节点中每个光节点的发送数据量额度;
    相应地,所述响应信息还包括以下中的任一项:所述第一电节点的标识、所述第二电节点的标识、所述第一VOQ的标识、所述至少一个光节点的标识、所述至少一个光节点对应的发送路径的标识、所述至少一个光节点的发送数据量额度、所述至少一个光节点对应的发送时隙。
  27. 根据权利要求26所述的装置,其特征在于,所述发送单元,还用于:
    向所述至少一个光节点中的每个光节点发送调度信息,所述调度信息包括以下信息中的至少一项:所述第一电节点的标识、所述第二电节点的标识、所述第一VOQ的标识、所述光节点对应的发送路径的标识、所述光节点的发送数据量额度、所述光节点对应的发送时隙。
  28. 一种数据通信装置,其特征在于,所述数据通信装置作为第二电节点,应用于包括至少两个交换层的数据通信网络中,所述至少两个交换层包括第一层和第二层,所述第一层包括第一电节点和所述第二电节点,所述第二层包括至少一个光节点和第三电节点,所述第一电节点包括第一虚拟输出队列(VOQ),所述装置包括:
    接收单元,用于接收请求信息,所述请求信息用于请求所述第一VOQ的期望数据量额度,所述第一VOQ中存放有发往所述第二电节点的至少一个第一数据包;
    发送单元,还用于发送响应信息,所述响应信息包括目标数据量额度;
    所述接收单元,还用于接收所述第一电节点使用所述目标数据量额度,通过所述至少一个光节点发送所述至少一个第一数据包。
  29. 根据权利要求28所述的装置,其特征在于,当所述第一VOQ存在预设数据额度时,所述接收单元,还用于:
    接收所述第一电节点使用所述预设数据量额度,通过所述第三电节点向所述第二电节点发送所述至少一个第一数据包。
  30. 根据权利要求28或29所述的装置,其特征在于,所述请求信息包括请求序列号SN,所述请求SN与初始SN的差值用于指示所述期望数据量额度;或者,所述请求信息包括第一数值,所述第一数值用于指示所述期望数据量额度;
    和/或,
    所述响应信息包括响应序列号SN,所述响应SN与初始SN的差值用于指示所述目标数据量额度;或者,所述响应信息包括第二数值,所述第二数值用于指示所述目标数据量额度。
  31. 根据权利要求28-30任一项所述的装置,其特征在于,所述接收单元,还用于:
    通过所述第三电节点接收所述第一电节点发送的请求信息;或者,
    通过所述至少一个光节点中的任一光节点接收所述第一电节点发送的第二数据包,所述第二数据包括中携带所述请求信息。
  32. 根据权利要求28-31任一项所述的装置,其特征在于,所述发送单元,还用于:
    通过所述第三电节点向所述第一电节点发送响应信息;或者,
    通过所述至少一个光节点中的任一节点向所述第一电节点发送第三数据包,所述第三数据包中携带所述响应信息。
  33. 一种数据通信装置,所述数据通信装置包括处理器、存储器、通信接口和总线,所述处理器、所述存储器和所述通信接口通过总线连接;所述存储器用于存储程序代码,当所述程序代码被所述处理器执行时,使得所述数据通信装置执行权利要求1-6任一项所述的数据通信方法。
  34. 一种数据通信装置,所述数据通信装置包括处理器、存储器、通信接口和总线,所述处理器、所述存储器和所述通信接口通过总线连接;所述存储器用于存储程序代码,当所述程序代码被所述处理器执行时,使得所述数据通信装置执行权利要求7-11任一项所述的数据通信方法。
  35. 一种数据通信装置,所述数据通信装置包括处理器、存储器、通信接口和总线,所述处理器、所述存储器和所述通信接口通过总线连接;所述存储器用于存储程序代码,当所述程序代码被所述处理器执行时,使得所述数据通信装置执行权利要求12-16任一项所述的数据通信方法。
  36. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-6任一项所述的数据通信方法。
  37. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求7-11任一项所述的数据通信方法。
  38. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求12-16任一项所述的数据通信方法。
  39. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-6任一项所述的数据通信方法。
  40. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求7-11任一项所述的数据通信方法。
  41. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求12-16任一项所述的数据通信方法。
PCT/CN2018/083592 2018-04-18 2018-04-18 一种数据通信方法及装置 WO2019200568A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880078095.5A CN111434079B (zh) 2018-04-18 2018-04-18 一种数据通信方法及装置
PCT/CN2018/083592 WO2019200568A1 (zh) 2018-04-18 2018-04-18 一种数据通信方法及装置
US17/071,702 US11646978B2 (en) 2018-04-18 2020-10-15 Data communication method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/083592 WO2019200568A1 (zh) 2018-04-18 2018-04-18 一种数据通信方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/071,702 Continuation US11646978B2 (en) 2018-04-18 2020-10-15 Data communication method and apparatus

Publications (1)

Publication Number Publication Date
WO2019200568A1 true WO2019200568A1 (zh) 2019-10-24

Family

ID=68239326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/083592 WO2019200568A1 (zh) 2018-04-18 2018-04-18 一种数据通信方法及装置

Country Status (3)

Country Link
US (1) US11646978B2 (zh)
CN (1) CN111434079B (zh)
WO (1) WO2019200568A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303582B1 (en) * 2019-06-28 2022-04-12 Amazon Technologies, Inc. Multi-layer network for metric aggregation
US11363115B2 (en) * 2020-11-05 2022-06-14 Servicenow, Inc. Integrated operational communications between computational instances of a remote network management platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546098A (zh) * 2011-12-15 2012-07-04 福建星网锐捷网络有限公司 数据传输装置、方法及系统
WO2014158407A1 (en) * 2013-03-14 2014-10-02 Cisco Technology, Inc. Intra switch transport protocol
EP2928134A2 (en) * 2014-03-31 2015-10-07 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
CN106851442A (zh) * 2017-01-19 2017-06-13 西安电子科技大学 一种超级计算机中的光互连网络系统及通信方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4186421B2 (ja) * 2001-02-23 2008-11-26 株式会社日立製作所 パケット処理装置
US7619970B2 (en) * 2006-04-27 2009-11-17 Dune Semiconductor Ltd. Method, device and system of scheduling data transport over a fabric
US8634430B2 (en) * 2006-11-27 2014-01-21 Fujitsu Limited Multicast transmissions in optical burst transport
US9185015B2 (en) * 2013-02-19 2015-11-10 Broadcom Corporation Application aware elephant flow identification
US9749723B2 (en) * 2015-03-05 2017-08-29 Huawei Technologies Co., Ltd. System and method for optical network
US9900672B2 (en) * 2015-04-24 2018-02-20 Rockley Photonics Limited Optoelectronic switch architectures
US9794657B1 (en) * 2016-06-02 2017-10-17 Huawei Technologies Co., Ltd. System and method for optical switching
US10116567B1 (en) * 2016-08-11 2018-10-30 Amazon Technologies, Inc. Load balancing for multipath group routed flows by re-routing the congested route
US10536385B2 (en) * 2017-04-14 2020-01-14 Hewlett Packard Enterprise Development Lp Output rates for virtual output queses
WO2019014265A1 (en) * 2017-07-10 2019-01-17 Fungible, Inc. DATA PROCESSING UNIT FOR CALCULATION NODES AND STORAGE NODES
US10951546B2 (en) * 2019-07-05 2021-03-16 Cisco Technology, Inc. Managing virtual output queues
US11533270B2 (en) * 2020-10-23 2022-12-20 Arista Networks, Inc. Adaptive buffering in a distributed system with latency / adaptive tail drop

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546098A (zh) * 2011-12-15 2012-07-04 福建星网锐捷网络有限公司 数据传输装置、方法及系统
WO2014158407A1 (en) * 2013-03-14 2014-10-02 Cisco Technology, Inc. Intra switch transport protocol
EP2928134A2 (en) * 2014-03-31 2015-10-07 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
CN106851442A (zh) * 2017-01-19 2017-06-13 西安电子科技大学 一种超级计算机中的光互连网络系统及通信方法

Also Published As

Publication number Publication date
CN111434079A (zh) 2020-07-17
US11646978B2 (en) 2023-05-09
CN111434079B (zh) 2022-04-26
US20210029060A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
CN109412964B (zh) 报文控制方法及网络装置
US9647953B2 (en) Credit-based flow control in lossless Ethernet networks
US8625427B1 (en) Multi-path switching with edge-to-edge flow control
US7957285B1 (en) Inter-device flow control
US7570654B2 (en) Switching device utilizing requests indicating cumulative amount of data
TWI482460B (zh) 網路處理器單元及其相關方法
US8750129B2 (en) Credit-based network congestion management
JP7231749B2 (ja) パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム
WO2018149177A1 (zh) 一种报文处理方法及装置
CN105391567A (zh) 流量管理实现方法、装置和网络设备
WO2018195728A1 (zh) 一种客户业务传输方法和装置
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
US11646978B2 (en) Data communication method and apparatus
US7990873B2 (en) Traffic shaping via internal loopback
US10110977B2 (en) Photonic frame switching system determining moment of transmitting photonic frame based on time used for changing wavelength of tunable laser diode
WO2022147792A1 (zh) 一种交换系统、交换网络和交换节点
US9154569B1 (en) Method and system for buffer management
WO2023123075A1 (zh) 一种数据交换的控制方法及装置
US20220086051A1 (en) Method and apparatus for determining port orientation
WO2021244404A1 (zh) 数据处理方法及设备
US20210336895A1 (en) Data transmission method and network device
Pan et al. CQPPS: A scalable multi‐path switch fabric without back pressure

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

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

Country of ref document: EP

Kind code of ref document: A1