WO2013097103A1 - Methods and devices in an ip network for congestion control - Google Patents

Methods and devices in an ip network for congestion control Download PDF

Info

Publication number
WO2013097103A1
WO2013097103A1 PCT/CN2011/084789 CN2011084789W WO2013097103A1 WO 2013097103 A1 WO2013097103 A1 WO 2013097103A1 CN 2011084789 W CN2011084789 W CN 2011084789W WO 2013097103 A1 WO2013097103 A1 WO 2013097103A1
Authority
WO
WIPO (PCT)
Prior art keywords
network node
congestion
forwarding device
network
packet
Prior art date
Application number
PCT/CN2011/084789
Other languages
French (fr)
Inventor
Junhui Liu
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
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 Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Priority to US14/368,423 priority Critical patent/US9654399B2/en
Priority to PCT/CN2011/084789 priority patent/WO2013097103A1/en
Priority to EP11878747.2A priority patent/EP2798799B1/en
Publication of WO2013097103A1 publication Critical patent/WO2013097103A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • 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/33Flow control; Congestion control using forward notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Definitions

  • the technology disclosed herein relates generally to the field of internet protocol, IP, networks, and in particular to congestion control within such IP networks .
  • TCP Transmission Control Protocol
  • the TCP congestion control mechanisms assume that packet drops are caused by congestion. Upon detection of packet drops, a TCP sending node will slow down its transmission speed, trying to relieve the congestion. On the other hand, in order to achieve better bandwidth utilization, the TCP sending node will try to increase its
  • ECN Explicit Congestion Notification
  • the RED is designed to prevent the effect of TCP "global
  • the network will switch between under-utilized and congested state.
  • RED the intermediate network node will randomly drop TCP packets at an early stage of congestion, thereby slowing down some of the TCP sending nodes.
  • the dropping probability increases as the congestion status is growing more severe. The RED is thus trying to prevent the network nodes to enter a severe congestion state and also avoid a global
  • ECN is another mechanism for avoiding congestion.
  • ECN is an
  • Figure 1 illustrates the principles of the ECN.
  • the TCP sending node 1 sends (arrow Al) a packet with ECN capable transport (ECT) code point in the
  • DSCP Differentiated services code point
  • CE Congestion Experienced
  • the TCP sending node 1 receives the TCP packet having CE in a header field, and sets an ECN echo (ECE) flag in the TCP header in following TCP packets (Arrow A3) .
  • ECE ECN echo
  • the CWR flag informs the TCP receiving node 3 that the congestion notification has been processed.
  • RED allows end-to- end notification of network congestion without dropping packets.
  • a sending node may keep sending IP packets for a while with the same IP packet
  • the sending node keeps sending the IP packets until being notified about the congestion, upon which it can reduce its transmission speed.
  • An object is to obviate at least some of the above disadvantages and provide methods and devices providing an improved congestion control in IP networks.
  • the object is according to a first aspect achieved by a method in a packet forwarding device in an Internet Protocol, IP, network for congestion control.
  • the method comprises receiving an IP packet originating from a first network node and addressed to a second network node; determining a congestion status on a network path from the second network node to the first network node; and entering, for a congestion status indicating congestion, congestion information into a header of the IP packet, the congestion information notifying the second network node about congestion present on the network path.
  • the method enables a network node to reduce its IP packet
  • a traffic source e.g. a Web server
  • the number of lost packets can thereby be reduced and the quality of service thus be increased.
  • the object is according to a second aspect achieved by a packet forwarding device for relaying Internet Protocol, IP, packets
  • the packet forwarding device comprises a processing unit and input device.
  • the processing unit is configured to: receive, from the input device, an IP packet originating from a first network node and addressed to a second network node; determine congestion status on a network path from the second network node to the first network node; and enter, for a congestion status indicating
  • congestion information into a header of the IP packet, the congestion information notifying the second network node about congestion present on the network path.
  • the packet forwarding device is enabled to inform a packet receiving device about congestion on the path from the packet receiving device and back to the source device. Thereby an early congestion
  • the object is according to a third aspect achieved by a computer program for a packet forwarding device for congestion control .
  • the computer program comprises computer program code, which, when run on the packet forwarding device, causes the packet forwarding device to perform the steps of: receiving an IP packet originating from a first network node and addressed to a second network node;
  • congestion status indicating congestion
  • congestion information into a header of the IP packet the congestion information notifying the second network node about congestion present on the network path.
  • the object is according to a fourth aspect achieved by a computer program product comprising a computer program as above, and a computer readable means on which the computer program is stored.
  • Figure 1 illustrates an IP network and a prior art congestion control method performed therein.
  • FIG. 2 illustrates schematically an environment in which
  • Figure 3 is a sequence diagram illustrating congestion control.
  • Figures 4a and 4b illustrate exemplary IP packets.
  • Figure 5 is a flow chart over steps of a congestion control method in an IP network.
  • Figure 6 illustrates a block diagram over a forwarding device. Detailed description
  • FIG. 2 illustrates schematically an environment in which
  • an Internet Protocol (IP) network 10 comprises a first network node 11 and a second network node 13.
  • the IP network 10 further comprises a packet forwarding device 12 that relays IP packets between the first network node 11 and the second network node 13. It is noted here that the routing of IP packets between the first and second node is symmetric with respect to the packet forwarding device 12 in the sense that IP packets from the first network node 11 to the second network node 13 as well as packet from the second network node 13 to the first network node 11 pass through the packet forwarding device 12.
  • the packet forwarding device 12 may for example comprise a router or switch.
  • a network path from the first network node 11 to the second network node 12 thus passes the packet forwarding device 12.
  • the network path may go through yet additional network nodes. Two such
  • a third network node 14 is located along the network path between the packet forwarding device 12 and the second network node 13 and a fourth network node 15 is located along the network path between the packet forwarding device 12 and the first network node 11. It is noted that the number of such additional network nodes is not relevant for the invention, and e.g. the part of the network path going from the first network node 11 to the forwarding device 12 may comprise two or more network nodes although only one is illustrated.
  • FIG. 3 is a sequence diagram illustrating a congestion control in accordance with an aspect of the invention.
  • the packet forwarding device 12 receives (arrow 101) an IP packet from the first network node 11, wherein the IP packet is addressed to the second network node 13. This IP packet may go directly to the packet forwarding device 12 or via the fourth network node 15 (or additional network nodes) .
  • the packet forwarding device 12 then performs a congestion status determination (arrow 102) . That is, a determination about the congestion status on the network path from the second network node 13 to the first network node 11 is performed.
  • a congestion may exist anywhere on the path from the second network device 13 to the first network node 11 (arrow 102b), e.g. on the path from the second network device 13 to the third network node 14 (arrow 102c) , on the path from the third network node 14 to the packet forwarding device
  • the packet forwarding device 12 then notifies the second network node 13 about this (arrow 103) .
  • FIGS 4a and 4b illustrate an exemplary IP packet 20 that can be sent within the IP network 10.
  • the IP packet 20 may comprise an IP header 21 and a transport layer part including a transport layer header (e.g. transmission control protocol, TCP, header) 22 and data (application data) .
  • the IP header 21 and/or the transport layer header 22 may comprise the source IP address (e.g. the IP address of the first network node 11) and the receiver IP address (e.g. the IP address of the second network node 13) .
  • FIG. 4b illustrates the particular case of the transport layer header 22 comprising the ECN extension.
  • the transport layer header 22 then comprises, besides the source and receiver addresses, also ECN bits.
  • ECN bits may comprise CE bits, which are set upon detection of congestion.
  • Figure 5 is a flow chart over steps of a congestion control method in an IP network. The method 30 is performed in the packet
  • the method 30 comprises receiving 31 an IP packet 20 originating from a first network node 11 and addressed to a second network node 13.
  • the method 30 further comprises
  • the method 30 further comprises entering 33, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path.
  • the determining 32 of congestion status may be performed in various ways.
  • the determining 32 of congestion status may for example
  • determining the congestion status of the packet forwarding device 12 by determining the number of IP packets in an inbound directed queue from the second network node 13 and/or the number of IP packets in an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the number of IP packets exceeds a threshold number.
  • determining 32 of congestion status of the packet forwarding device 12 comprises determining a queuing delay of an inbound directed queue from the second network node 13 and/or a queuing delay of an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the queuing delay exceeds a threshold value.
  • the above exemplifying ways of determining congestion status may also be combined. That is, the number of IP packets and the queuing delay may both be determined, and if any result of the determining indicates a congestion status, the congestion status is accordingly set to indicate congestion.
  • additional network nodes located along the network path wherein such additional network nodes relay IP packets originating from the first or second network node.
  • the determining 32 of congestion status may then, for example, comprise determining congestion status of the third and/or fourth network nodes 14, 15 (refer to figure 2), wherein these additional network nodes relay IP packets between the packet forwarding device 12 and the first or the second network node 11, 13.
  • the packet forwarding device 12 could obtain such information in corresponding manner as the described above, e.g. by determining the number of IP packets in an inbound directed queue from e.g. the third network node 14 and/or the number of IP packets in an outbound directed queue to the third network node 14.
  • the packet forwarding device 12 may obtain congestion related information by means of traffic engineering.
  • the nodes of a network may exchange traffic information such as for example link
  • Such traffic engineering information may be carried as an extension to existing routing protocols, e.g. Open Shortest Path First (OSPF) .
  • OSPF Open Shortest Path First
  • the entering 33 of congestion information comprises setting an Explicit Congestion Control Echo, ECE, bit in a Transmission Control Protocol, TCP, header 22 of the IP packet 20 or in an IP packet 20 header 21.
  • ECE Explicit Congestion Control Echo
  • the packet forwarding device 12 is an ECN capable device, which receives a TCP packet having an ECT in the DSCP.
  • the packet forwarding device 12 also performs a reverse path look up, i.e. determines a congestion status on the path from the second network node 13 to the first network node 11.
  • An improvement lies in a shortened delay compared to the known ECN congestion mechanism, as the packet forwarding device 12 may set the CE bits of the TCP header 22 informing about congestion on the reverse network path. Reverse here is understood as reverse compared to the IP packet direction.
  • the congestion status may indicate a congestion in: the packet forwarding device 12 or in the third network node 14 located along the network path from the second network node 13 to the forwarding device 12, the third network node 14 relaying IP packets between the packet forwarding device 12 and the second network node 13, or in the fourth network node 15 located along the network path from the first network node 11 to the forwarding device 12, the fourth network node 15 relaying IP packets between the first network node
  • the second network node 13 may be a Web server and the first network node 11 may be a user computer.
  • the Web server When the user, by means of the user computer, downloads something or browses web pages, the Web server is sending much more data compared to the amount of data sent in the other direction. The Web server tends to cause congestions because of the large amount of data that it sends.
  • the Web server is notified about the congestion status very early, since the packet forwarding device 12 instantly, upon receiving a packet from the user, checks up the congestion status on the data path from the Web server to the user.
  • Figure 6 illustrates a block diagram over a forwarding device.
  • the figure 6 illustrates means in the forwarding device
  • the forwarding device 12 comprises a processing unit 40 which is connected to an input device 41, comprising incoming interface connections, and an output device 42 comprising outgoing interface connections.
  • the input device 41 and the output device 42 may comprise incoming and outgoing network ports, respectively, of the forwarding device 12.
  • the processing unit 40 may further be connected to a computer program 43 carried by a computer program product 44 in the packet forwarding device 12.
  • the processing unit 40 e.g. a central processing unit (CPU), microcontroller, digital signal processor (DSP) , network processor (NPU) , an application specific integrated circuit (ASIC) , an field programmable gate array (FPGA) etc., is capable of executing software instructions stored in the computer program product 44 e.g. in the form of a memory. It is noted that although only one
  • processing unit 40 is illustrated in figure 6, the implementation may comprise distributed hardware so that several processing units are used rather than one when running the software instructions. It is thus noted that a node may have multiple interconnected
  • processing units and e.g. that network ports of the node may be located in different processing units.
  • the processing unit 40 is configured to perform the methods as described.
  • the processing unit 40 may be configured to: receive, from the input device 41, an IP packet 20 originating from a first network node 11 and addressed to a second network node 13; determine congestion status on a network path from the second network node 13 to the first network node 11; and enter, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path.
  • the processing unit 40 may further be configured to determine the congestion status by determining the number of IP packets in an inbound directed queue from the second network node 13 and/or the number of IP packets in an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the number of IP packets exceeds a threshold number.
  • the processing unit 40 may be configured to determine the congestion status by determining a queuing delay of an inbound directed queue from the second network node 13 and/or a queuing delay of an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the queuing delay exceeds a threshold value.
  • the processing unit 40 may be configured to determine the congestion status by determining a congestion status of a network node 14, 15 located along the network path, the network node 14, 15 relaying IP packets between the packet forwarding device 12 and the first or the second network node 11, 13.
  • the processing unit 40 may be configured to enter the congestion information by setting an Explicit Congestion Control Echo, ECE, bit in a Transmission Control Protocol, TCP, header 22 of the IP packet 20 or in an IP packet 20 header 21.
  • ECE Explicit Congestion Control Echo
  • the congestion status may indicate a congestion in the packet forwarding device 12 or in a third network node 14 located along the network path from the second network node 13 to the
  • the third network node 14 relaying IP packets between the packet forwarding device 12 and the second network node 13, or in a fourth network node 15 located along the network path from the first network node 11 to the forwarding device 12, the fourth network node 15 relaying IP packets between the first network node 11 and the forwarding device 14.
  • the forwarding device 12 may further comprise the computer program 43 stored on the computer program product 44.
  • the invention also encompasses the computer program 43 for congestion control.
  • the computer program 43 comprises computer program code which when run on the forwarding device 12, and in particular the processing unit 40 thereof, causes the forwarding device 12 to perform the methods as described.
  • the computer program 43 for a packet forwarding device 12 for congestion control comprises computer program code, which, when run on the packet forwarding device 12, causes the packet forwarding device 12 to perform the steps of: receiving an IP packet 20 originating from a first network node 11 and addressed to a second network node 13; determining congestion status on a network path from the second network node 13 to the first network node 11; and entering, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path.
  • a computer program product 44 is also provided comprising the computer program 43 as described above and computer readable means on which the computer program 43 is stored.
  • the computer program product 44 may be any combination of read and write memory (RAM) or read only memory (ROM) .
  • the computer program product 44 may also comprise persistent storage, which, for example can be any single one or combination of magnetic memory, optical memory, or solid state memory.

Abstract

The invention relates to a method 30 in a packet forwarding device 2 in an Internet Protocol, IP, network 10 for congestion control. The method 30 comprises: receiving 31 an IP packet 20 originating from a first network node 11 and addressed to a second network node 3; determining 32 a congestion status on a network path from the second network node 13 to the first network node 11; and entering 33, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path. The invention also relates to a packet forwarding device 12, a computer program 43 and computer program product 44.

Description

METHODS AND DEVICES IN AN IP NETWORK FOR CONGESTION CONTROL Technical field
The technology disclosed herein relates generally to the field of internet protocol, IP, networks, and in particular to congestion control within such IP networks .
Background
The most widely used communication protocol for reliable data delivery in the Internet is Transmission Control Protocol (TCP) . In data networks, network congestion occurs when a link or node is carrying so much data that its quality of service deteriorates. The TCP comprises congestion control mechanisms, which aim at achieving good bandwidth utilization while avoiding congestion collapses during which the performance of a network can fall by several orders of magnitude.
The TCP congestion control mechanisms assume that packet drops are caused by congestion. Upon detection of packet drops, a TCP sending node will slow down its transmission speed, trying to relieve the congestion. On the other hand, in order to achieve better bandwidth utilization, the TCP sending node will try to increase its
transmission speed if packets are successfully delivered. In most cases, the increment of transmission speed will end up with packet drops due to congestion, and then the transmission speed is lowered again .
In addition to the TCP sending nodes and receiving nodes,
intermediate network nodes such as routers and switches can also be involved in TCP congestion control mechanisms in order to achieve an improved end to end quality of service. Two major congestion control mechanisms are widely recognized: Random Early Drop (RED) and
Explicit Congestion Notification (ECN) .
The RED is designed to prevent the effect of TCP "global
synchronization", wherein almost all TCP sending nodes slow down their transmission speed simultaneously upon detecting congestion, and almost all TCP sending nodes then also increase their
transmission speed simultaneously. The network will switch between under-utilized and congested state. With RED, the intermediate network node will randomly drop TCP packets at an early stage of congestion, thereby slowing down some of the TCP sending nodes. The dropping probability increases as the congestion status is growing more severe. The RED is thus trying to prevent the network nodes to enter a severe congestion state and also avoid a global
synchronization .
ECN is another mechanism for avoiding congestion. ECN is an
extension of TCP which needs the support of the TCP sending node, the TCP receiving node and intermediate ECN enabled nodes (e.g.
routers or switches) .
Figure 1 illustrates the principles of the ECN. In a network
implementing ECN, the TCP sending node 1 (source) sends (arrow Al) a packet with ECN capable transport (ECT) code point in the
Differentiated services code point (DSCP) in the packet header. The packet reaches an ECN enabled node 2, and if experiencing congestion, the ECN enabled node 2 modifies the DSCP to Congestion Experienced (CE) and forwards the packet (arrow A2) . A TCP receiving node 3
(receiver) receives the packet having CE in a header field, and sets an ECN echo (ECE) flag in the TCP header in following TCP packets (Arrow A3) . The TCP sending node 1 receives the TCP packet
comprising the ECE flag and reduces its congestion window and sends a TCP packet comprising a Congestion Window Reduced (CWR) flag in response (Arrow A4) . The CWR flag informs the TCP receiving node 3 that the congestion notification has been processed.
A basic distinction between RED and ECN is that ECN allows end-to- end notification of network congestion without dropping packets.
However, in the ECN congestion control mechanism a sending node may keep sending IP packets for a while with the same IP packet
transmission speed. This can worsen the congestion situation and cause packet drops. The sending node keeps sending the IP packets until being notified about the congestion, upon which it can reduce its transmission speed.
Summary An object is to obviate at least some of the above disadvantages and provide methods and devices providing an improved congestion control in IP networks.
The object is according to a first aspect achieved by a method in a packet forwarding device in an Internet Protocol, IP, network for congestion control. The method comprises receiving an IP packet originating from a first network node and addressed to a second network node; determining a congestion status on a network path from the second network node to the first network node; and entering, for a congestion status indicating congestion, congestion information into a header of the IP packet, the congestion information notifying the second network node about congestion present on the network path.
The method enables a network node to reduce its IP packet
transmission speed with minimized delay upon detection of a
congestion situation. A traffic source, e.g. a Web server, may be notified about a congestion status very early and can reduce its transmission speed instantly. The number of lost packets can thereby be reduced and the quality of service thus be increased.
The object is according to a second aspect achieved by a packet forwarding device for relaying Internet Protocol, IP, packets
between a first network node and a second network node of an IP network. The packet forwarding device comprises a processing unit and input device. The processing unit is configured to: receive, from the input device, an IP packet originating from a first network node and addressed to a second network node; determine congestion status on a network path from the second network node to the first network node; and enter, for a congestion status indicating
congestion, congestion information into a header of the IP packet, the congestion information notifying the second network node about congestion present on the network path.
The packet forwarding device is enabled to inform a packet receiving device about congestion on the path from the packet receiving device and back to the source device. Thereby an early congestion
notification is provided, with minimal delay in the notification process . The object is according to a third aspect achieved by a computer program for a packet forwarding device for congestion control . The computer program comprises computer program code, which, when run on the packet forwarding device, causes the packet forwarding device to perform the steps of: receiving an IP packet originating from a first network node and addressed to a second network node;
determining congestion status on a network path from the second network node to the first network node; and entering, for a
congestion status indicating congestion, congestion information into a header of the IP packet, the congestion information notifying the second network node about congestion present on the network path.
Advantages corresponding to the above described are thereby obtained
The object is according to a fourth aspect achieved by a computer program product comprising a computer program as above, and a computer readable means on which the computer program is stored.
Further features and advantages of the invention will become clear upon reading the following description and the accompanying drawings
Brief description of the drawings
Figure 1 illustrates an IP network and a prior art congestion control method performed therein.
Figure 2 illustrates schematically an environment in which
embodiments of the invention may be implemented.
Figure 3 is a sequence diagram illustrating congestion control. Figures 4a and 4b illustrate exemplary IP packets.
Figure 5 is a flow chart over steps of a congestion control method in an IP network.
Figure 6 illustrates a block diagram over a forwarding device. Detailed description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, interfaces, techniques, etc. in order to provide a thorough understanding. In other instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description with unnecessary detail. Same reference numerals refer to same or similar elements throughout the
description .
Figure 2 illustrates schematically an environment in which
embodiments of the invention may be implemented. In particular, an Internet Protocol (IP) network 10 comprises a first network node 11 and a second network node 13. The IP network 10 further comprises a packet forwarding device 12 that relays IP packets between the first network node 11 and the second network node 13. It is noted here that the routing of IP packets between the first and second node is symmetric with respect to the packet forwarding device 12 in the sense that IP packets from the first network node 11 to the second network node 13 as well as packet from the second network node 13 to the first network node 11 pass through the packet forwarding device 12. The packet forwarding device 12 may for example comprise a router or switch.
A network path from the first network node 11 to the second network node 12 thus passes the packet forwarding device 12. The network path may go through yet additional network nodes. Two such
additional network nodes are illustrated in figure 2. A third network node 14 is located along the network path between the packet forwarding device 12 and the second network node 13, and a fourth network node 15 is located along the network path between the packet forwarding device 12 and the first network node 11. It is noted that the number of such additional network nodes is not relevant for the invention, and e.g. the part of the network path going from the first network node 11 to the forwarding device 12 may comprise two or more network nodes although only one is illustrated.
Figure 3 is a sequence diagram illustrating a congestion control in accordance with an aspect of the invention. The packet forwarding device 12 receives (arrow 101) an IP packet from the first network node 11, wherein the IP packet is addressed to the second network node 13. This IP packet may go directly to the packet forwarding device 12 or via the fourth network node 15 (or additional network nodes) . The packet forwarding device 12 then performs a congestion status determination (arrow 102) . That is, a determination about the congestion status on the network path from the second network node 13 to the first network node 11 is performed. A congestion may exist anywhere on the path from the second network device 13 to the first network node 11 (arrow 102b), e.g. on the path from the second network device 13 to the third network node 14 (arrow 102c) , on the path from the third network node 14 to the packet forwarding device
12 (arrow 102d) , on the path from the from the second network device
13 to the forwarding device 12 (arrow 12e) in case there is no third network node 14, and/or on the path from the packet forwarding device 12 to the fourth network node 15 (arrow 102f ) . The
determination on congestion status can be done in various ways, which will be described later. If the determined congestion status indicates congestion, the packet forwarding device 12 then notifies the second network node 13 about this (arrow 103) .
Figures 4a and 4b illustrate an exemplary IP packet 20 that can be sent within the IP network 10. The IP packet 20 may comprise an IP header 21 and a transport layer part including a transport layer header (e.g. transmission control protocol, TCP, header) 22 and data (application data) . The IP header 21 and/or the transport layer header 22 may comprise the source IP address (e.g. the IP address of the first network node 11) and the receiver IP address (e.g. the IP address of the second network node 13) .
Figure 4b illustrates the particular case of the transport layer header 22 comprising the ECN extension. The transport layer header 22 then comprises, besides the source and receiver addresses, also ECN bits. Such ECN bits may comprise CE bits, which are set upon detection of congestion.
Figure 5 is a flow chart over steps of a congestion control method in an IP network. The method 30 is performed in the packet
forwarding device 12 in the Internet Protocol, IP, network 10 for congestion control. The method 30 comprises receiving 31 an IP packet 20 originating from a first network node 11 and addressed to a second network node 13. The method 30 further comprises
determining 32 a congestion status on a network path from the second network node 13 to the first network node 11. The method 30 further comprises entering 33, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path.
The determining 32 of congestion status may be performed in various ways. The determining 32 of congestion status may for example
comprise determining the congestion status of the packet forwarding device 12 by determining the number of IP packets in an inbound directed queue from the second network node 13 and/or the number of IP packets in an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the number of IP packets exceeds a threshold number.
Further alternatives for the determining 32 of congestion status of the packet forwarding device 12 comprises determining a queuing delay of an inbound directed queue from the second network node 13 and/or a queuing delay of an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the queuing delay exceeds a threshold value.
The above exemplifying ways of determining congestion status may also be combined. That is, the number of IP packets and the queuing delay may both be determined, and if any result of the determining indicates a congestion status, the congestion status is accordingly set to indicate congestion.
In other embodiments, the determining 32 of congestion status
comprises determining a congestion status of one or more of
additional network nodes located along the network path, wherein such additional network nodes relay IP packets originating from the first or second network node. As mentioned earlier, there may be several network nodes between e.g. the first network node 11 and the packet forwarding device 12. For example, if there are three network nodes between the first network node 11 and the packet forwarding device 12, then one is connected to the first network node 11 and to another network node, one is connected between two of the network nodes, and one is connected to one of the network nodes and the packet forwarding device 12. It is then realized that the middlemost network device would relay IP packets between two other networks nodes located along the part of the network path going from the first network node 11 to the packet forwarding device 12.
The determining 32 of congestion status may then, for example, comprise determining congestion status of the third and/or fourth network nodes 14, 15 (refer to figure 2), wherein these additional network nodes relay IP packets between the packet forwarding device 12 and the first or the second network node 11, 13. The packet forwarding device 12 could obtain such information in corresponding manner as the described above, e.g. by determining the number of IP packets in an inbound directed queue from e.g. the third network node 14 and/or the number of IP packets in an outbound directed queue to the third network node 14.
The packet forwarding device 12 may obtain congestion related information by means of traffic engineering. The nodes of a network may exchange traffic information such as for example link
utilization, reserved bandwidth and available bandwidth. Such traffic engineering information may be carried as an extension to existing routing protocols, e.g. Open Shortest Path First (OSPF) .
In an embodiment (refer also to figures 4a and 4b) , the entering 33 of congestion information comprises setting an Explicit Congestion Control Echo, ECE, bit in a Transmission Control Protocol, TCP, header 22 of the IP packet 20 or in an IP packet 20 header 21. This can be seen as an improvement of the existing ECN congestion mechanism, wherein the packet forwarding device 12 is an ECN capable device, which receives a TCP packet having an ECT in the DSCP. In contrast to the known ECN solution, wherein the ECN capable device would only modify the DSCP to CE and forward the IP packet, the packet forwarding device 12 also performs a reverse path look up, i.e. determines a congestion status on the path from the second network node 13 to the first network node 11. An improvement lies in a shortened delay compared to the known ECN congestion mechanism, as the packet forwarding device 12 may set the CE bits of the TCP header 22 informing about congestion on the reverse network path. Reverse here is understood as reverse compared to the IP packet direction.
The congestion status may indicate a congestion in: the packet forwarding device 12 or in the third network node 14 located along the network path from the second network node 13 to the forwarding device 12, the third network node 14 relaying IP packets between the packet forwarding device 12 and the second network node 13, or in the fourth network node 15 located along the network path from the first network node 11 to the forwarding device 12, the fourth network node 15 relaying IP packets between the first network node
11 and the forwarding device 14.
As a particular example, the second network node 13 may be a Web server and the first network node 11 may be a user computer. When the user, by means of the user computer, downloads something or browses web pages, the Web server is sending much more data compared to the amount of data sent in the other direction. The Web server tends to cause congestions because of the large amount of data that it sends. By means of the described methods, the Web server is notified about the congestion status very early, since the packet forwarding device 12 instantly, upon receiving a packet from the user, checks up the congestion status on the data path from the Web server to the user.
Figure 6 illustrates a block diagram over a forwarding device. In particular, the figure 6 illustrates means in the forwarding device
12 for implementing the methods as described. The forwarding device 12 comprises a processing unit 40 which is connected to an input device 41, comprising incoming interface connections, and an output device 42 comprising outgoing interface connections. In particular, the input device 41 and the output device 42 may comprise incoming and outgoing network ports, respectively, of the forwarding device 12. The processing unit 40 may further be connected to a computer program 43 carried by a computer program product 44 in the packet forwarding device 12.
The processing unit 40, e.g. a central processing unit (CPU), microcontroller, digital signal processor (DSP) , network processor (NPU) , an application specific integrated circuit (ASIC) , an field programmable gate array (FPGA) etc., is capable of executing software instructions stored in the computer program product 44 e.g. in the form of a memory. It is noted that although only one
processing unit 40 is illustrated in figure 6, the implementation may comprise distributed hardware so that several processing units are used rather than one when running the software instructions. It is thus noted that a node may have multiple interconnected
processing units and e.g. that network ports of the node may be located in different processing units.
The processing unit 40 is configured to perform the methods as described. In particular, the processing unit 40 may be configured to: receive, from the input device 41, an IP packet 20 originating from a first network node 11 and addressed to a second network node 13; determine congestion status on a network path from the second network node 13 to the first network node 11; and enter, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path.
In correspondence with the described method 30, the processing unit 40 may further be configured to determine the congestion status by determining the number of IP packets in an inbound directed queue from the second network node 13 and/or the number of IP packets in an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the number of IP packets exceeds a threshold number.
The processing unit 40 may be configured to determine the congestion status by determining a queuing delay of an inbound directed queue from the second network node 13 and/or a queuing delay of an outbound directed queue to the first network node 11, wherein the congestion status indicates congestion if the queuing delay exceeds a threshold value.
In an alternative to or in combination with the above embodiments, the processing unit 40 may be configured to determine the congestion status by determining a congestion status of a network node 14, 15 located along the network path, the network node 14, 15 relaying IP packets between the packet forwarding device 12 and the first or the second network node 11, 13.
The processing unit 40 may be configured to enter the congestion information by setting an Explicit Congestion Control Echo, ECE, bit in a Transmission Control Protocol, TCP, header 22 of the IP packet 20 or in an IP packet 20 header 21.
In correspondence with what has been described earlier for the method 30, the congestion status may indicate a congestion in the packet forwarding device 12 or in a third network node 14 located along the network path from the second network node 13 to the
forwarding device 12, the third network node 14 relaying IP packets between the packet forwarding device 12 and the second network node 13, or in a fourth network node 15 located along the network path from the first network node 11 to the forwarding device 12, the fourth network node 15 relaying IP packets between the first network node 11 and the forwarding device 14.
The described methods and algorithms or parts thereof for use in congestion control may be implemented e.g. by software and/or
application specific integrated circuits in the forwarding device 12. To this end, the forwarding device 12 may further comprise the computer program 43 stored on the computer program product 44.
With reference still to figure 6, the invention also encompasses the computer program 43 for congestion control. The computer program 43 comprises computer program code which when run on the forwarding device 12, and in particular the processing unit 40 thereof, causes the forwarding device 12 to perform the methods as described. The computer program 43 for a packet forwarding device 12 for congestion control comprises computer program code, which, when run on the packet forwarding device 12, causes the packet forwarding device 12 to perform the steps of: receiving an IP packet 20 originating from a first network node 11 and addressed to a second network node 13; determining congestion status on a network path from the second network node 13 to the first network node 11; and entering, for a congestion status indicating congestion, congestion information into a header 21, 22 of the IP packet 20, the congestion information notifying the second network node 13 about congestion present on the network path.
A computer program product 44 is also provided comprising the computer program 43 as described above and computer readable means on which the computer program 43 is stored. The computer program product 44 may be any combination of read and write memory (RAM) or read only memory (ROM) . The computer program product 44 may also comprise persistent storage, which, for example can be any single one or combination of magnetic memory, optical memory, or solid state memory.

Claims

Claims
1. A method (30) in a packet forwarding device (12) in an Internet Protocol, IP, network (10) for congestion control, the method (30) comprising : - receiving (31) an IP packet (20) originating from a first network node (11) and addressed to a second network node (13),
- determining (32) a congestion status on a network path from the second network node (13) to the first network node (11), and
- entering (33) , for a congestion status indicating congestion, congestion information into a header (21, 22) of the IP packet (20), the congestion information notifying the second network node (13) about congestion present on the network path.
2. The method (30) as claimed in claim 1, wherein the determining (32) of congestion status comprises determining the number of IP packets in an inbound directed queue from the second network node (13) and/or the number of IP packets in an outbound directed queue to the first network node (11), wherein the congestion status indicates congestion if the number of IP packets exceeds a threshold number .
3. The method (30) as claimed in claim 1, wherein the determining (32) of congestion status comprises determining a queuing delay of an inbound directed queue from the second network node (13) and/or a queuing delay of an outbound directed queue to the first network node (11), wherein the congestion status indicates congestion if the queuing delay exceeds a threshold value.
4. The method (30) as claimed in claim 1, wherein the determining (32) of congestion status comprises determining a congestion status of a network node (14, 15) located along the network path, the network node (14, 15) relaying IP packets between the packet forwarding device (12) and the first or the second network node (11,
5. The method (30) as claimed in any of the preceding claims,
wherein the entering (33) of congestion information comprises
setting an Explicit Congestion Control Echo, ECE, bit in a
Transmission Control Protocol, TCP, header (22) of the IP packet (20) or in an IP packet (20) header (21) .
6. The method (30) as claimed in any of the preceding claims,
wherein the congestion status indicates a congestion in the packet forwarding device (12) or in a third network node (14) located along the network path from the second network node (13) to the forwarding device (12), the third network node (14) relaying IP packets between the packet forwarding device (12) and the second network node (13), or in a fourth network node (15) located along the network path from the first network node (11) to the forwarding device (12), the fourth network node (15) relaying IP packets between the first network node (11) and the forwarding device (14) .
7. A packet forwarding device (12) for relaying Internet Protocol, IP, packets between a first network node (11) and a second network node (13) of an IP network (10), the packet forwarding device (12) comprising a processing unit (40) and input device (41), the
processing unit (40) being configured to:
- receive, from the input device (41), an IP packet (20) originating from a first network node (11) and addressed to a second network node (13) ,
- determine congestion status on a network path from the second network node (13) to the first network node (11), and
- enter, for a congestion status indicating congestion, congestion information into a header (21, 22) of the IP packet (20), the
congestion information notifying the second network node (13) about congestion present on the network path.
8. The packet forwarding device (12) as claimed in claim 7, wherein the processing unit (40) is configured to determine the congestion status by determining the number of IP packets in an inbound
directed queue from the second network node (13) and/or the number of IP packets in an outbound directed queue to the first network node (11), wherein the congestion status indicates congestion if the number of IP packets exceeds a threshold number.
9. The packet forwarding device (12) as claimed in claim 7, wherein the processing unit (40) is configured to determine the congestion status by determining a queuing delay of an inbound directed queue from the second network node (13) and/or a queuing delay of an outbound directed queue to the first network node (11), wherein the congestion status indicates congestion if the queuing delay exceeds a threshold value.
10. The packet forwarding device (12) as claimed in claim 7, wherein the processing unit (40) is configured to determine the congestion status by determining a congestion status of a network node (14, 15) located along the network path, the network node (14, 15) relaying IP packets between the packet forwarding device (12) and the first or the second network node (11, 13) .
11. The packet forwarding device (12) as claimed in any of claims 7-
10, wherein the processing unit (40) is configured to enter the congestion information by setting an Explicit Congestion Control Echo, ECE, bit in a Transmission Control Protocol, TCP, header (22) of the IP packet (20) or in an IP packet (20) header (21) .
12. The packet forwarding device (12) as claimed in any of claims 7-
11, wherein the congestion status indicates a congestion in the packet forwarding device (12) or in a third network node (14) located along the network path from the second network node (13) to the forwarding device (12), the third network node (14) relaying IP packets between the packet forwarding device (12) and the second network node (13) , or in a fourth network node (15) located along the network path from the first network node (11) to the forwarding device (12), the fourth network node (15) relaying IP packets between the first network node (11) and the forwarding device (14) .
13. A computer program (43) for a packet forwarding device (12) for congestion control, the computer program (43) comprising computer program code, which, when run on the packet forwarding device (12), causes the packet forwarding device (12) to perform the steps of:
- receiving an IP packet (20) originating from a first network node (11) and addressed to a second network node (13), - determining congestion status on a network path from the second network node (13) to the first network node (11), and
- entering, for a congestion status indicating congestion,
congestion information into a header (21, 22) of the IP packet (20), the congestion information notifying the second network node (13) about congestion present on the network path.
14. A computer program product (44) comprising a computer program (43) as claimed in claim 13, and a computer readable means on which the computer program (43) is stored.
PCT/CN2011/084789 2011-12-28 2011-12-28 Methods and devices in an ip network for congestion control WO2013097103A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/368,423 US9654399B2 (en) 2011-12-28 2011-12-28 Methods and devices in an IP network for congestion control
PCT/CN2011/084789 WO2013097103A1 (en) 2011-12-28 2011-12-28 Methods and devices in an ip network for congestion control
EP11878747.2A EP2798799B1 (en) 2011-12-28 2011-12-28 Methods and devices in an ip network for congestion control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084789 WO2013097103A1 (en) 2011-12-28 2011-12-28 Methods and devices in an ip network for congestion control

Publications (1)

Publication Number Publication Date
WO2013097103A1 true WO2013097103A1 (en) 2013-07-04

Family

ID=48696194

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/084789 WO2013097103A1 (en) 2011-12-28 2011-12-28 Methods and devices in an ip network for congestion control

Country Status (3)

Country Link
US (1) US9654399B2 (en)
EP (1) EP2798799B1 (en)
WO (1) WO2013097103A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102380619B1 (en) * 2017-08-11 2022-03-30 삼성전자 주식회사 Method and apparatus of efficient congestion control in a mobile communication system
US10931587B2 (en) * 2017-12-08 2021-02-23 Reniac, Inc. Systems and methods for congestion control in a network
US11470502B2 (en) * 2017-12-22 2022-10-11 Telefonaktiebolaget Lm Ericsson (Publ) Congestion notification by data packet from intermediate node
GB2570676B (en) * 2018-02-01 2021-04-21 Openwave Mobility Inc Signalling congestion status
CN114073053A (en) * 2019-09-16 2022-02-18 华为技术有限公司 Network node for supporting performance evaluation through performance bitmap

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188611A (en) * 2007-11-21 2008-05-28 华为技术有限公司 Congestion notification method, system and node device
CN101253729A (en) * 2005-10-11 2008-08-27 思科技术公司 Methods and devices for backward congestion notification
US20100088437A1 (en) * 2008-10-06 2010-04-08 Mellanox Technologies Ltd Infiniband adaptive congestion control adaptive marking rate
CN102158896A (en) * 2010-02-12 2011-08-17 华为技术有限公司 Method and device for treating local link congestion

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3038100A (en) 1999-12-13 2001-06-25 Nokia Corporation Congestion control method for a packet-switched network
US7301952B2 (en) * 2000-04-06 2007-11-27 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
AU2001288589A1 (en) * 2000-08-31 2002-03-13 The Regents Of The University Of California Method for improving tcp performance over wireless links
US8605584B2 (en) * 2009-07-02 2013-12-10 Qualcomm Incorporated Transmission of control information across multiple packets
GB201003206D0 (en) * 2010-02-25 2010-04-14 Skype Ltd Method of estimating congestion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101253729A (en) * 2005-10-11 2008-08-27 思科技术公司 Methods and devices for backward congestion notification
CN101188611A (en) * 2007-11-21 2008-05-28 华为技术有限公司 Congestion notification method, system and node device
US20100088437A1 (en) * 2008-10-06 2010-04-08 Mellanox Technologies Ltd Infiniband adaptive congestion control adaptive marking rate
CN102158896A (en) * 2010-02-12 2011-08-17 华为技术有限公司 Method and device for treating local link congestion

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20140321289A1 (en) 2014-10-30
US9654399B2 (en) 2017-05-16
EP2798799B1 (en) 2016-07-27
EP2798799A1 (en) 2014-11-05
EP2798799A4 (en) 2015-07-22

Similar Documents

Publication Publication Date Title
US10924413B2 (en) Transmission path determining method and apparatus
KR101866174B1 (en) System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security
US8989017B2 (en) Network congestion management by packet circulation
JP5538257B2 (en) Bandwidth monitoring device and packet relay device
US8964564B2 (en) Dynamic reroute of network traffic
US7872973B2 (en) Method and system for using a queuing device as a lossless stage in a network device in a communications network
KR100693058B1 (en) Routing Method and Apparatus for Reducing Losing of Packet
CN109691037B (en) Method and system for data center load balancing
US9473408B1 (en) Shortest first longer next routing with congestion reduction
JP5710418B2 (en) Packet relay apparatus and method
EP3035638A1 (en) Interest acknowledgements for information centric networking
EP2798799B1 (en) Methods and devices in an ip network for congestion control
KR20090014334A (en) Systems and methods of improving performance of transport protocols
US20190253364A1 (en) Method For Determining TCP Congestion Window, And Apparatus
CN113076280B (en) Data transmission method and related equipment
US9584633B2 (en) Method and system for managing network communications
US20160269322A1 (en) Switch device, control method, and storage medium
KR20200121863A (en) Service function chaining congestion feedback
JP2008118281A (en) Communication device
JP2006197473A (en) Node
CN111224888A (en) Method for sending message and message forwarding equipment
CN114844836A (en) Method, device and equipment for processing network congestion
US10778568B2 (en) Switch-enhanced short loop congestion notification for TCP
CN108243117B (en) Flow monitoring method and device and electronic equipment
JP3862003B2 (en) Band control method, congestion control method, and network configuration apparatus

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011878747

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011878747

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14368423

Country of ref document: US