Flow control for transmission of data packets via a combined communication line
Field of the invention The present invention relates to a technique for performing flow control when transmitting data packets of Ethernet, Fiber channel or the like via an intermediate communication network, in particular to cases when interfaces on both ends of the intermediate communication network have different payload rates.
Background of the invention
EP 1416762 A2 to Nortel Networks Ltd. describes a transmission apparatus and a method for operating the apparatus which comprises means for controlling flow of frame based data transmitted from a local frame based data channel interface over a synchronous digital network (SONET/SDH). The method of operation comprises the transmitter receiving frame based data at a first rate whereafter a buffer is configured to receive the frame based data. A data amount threshold level for the buffer is predetermined whereafter, with respect to the threshold level, an amount of transmitted frame based data that has been received is monitored. In response to monitoring the amount of data received, a signal, in the form of a pause frame, is generated wherein the signal is configurable to adapt the rate of transmission from the frame based data channel interface. Working in conjunction with the transmission means there is also provided a receiver for controlling flow of frame based data, received from a synchronous digital network, to a frame based data channel interface. The receiver is configured to receive the frame based data at a first rate whereafter a buffer is configured to receive the frame
based data. Upon pre-determining a data amount threshold level for the buffer an amount of frame based data received is monitored with respect to the threshold level. In response to monitoring the amount of data received, a signal is generated in the form of a pause frame, therein the pause frame signal is configurable to adapt the first transmission rate of the frame based data over the synchronous digital network to a second rate. In this way, the rate of transmission from a local Ethernet switch may be controlled and the rate of receipt of Ethernet based frame data from a synchronous digital network may be controlled. In the latter case pause frames may be incorporated into one or more synchronous digital hierarchy virtual containers.
In other words, the EP 1,416,762 A2 discloses a specific solution (which had been known in its general form), that allows regulating one flow of the incoming frame based data for transmitting it via the SDH/SONET (so-called synchronous) link, and then separately regulating another flow of the frame based data outgoing the synchronous link to be transmitted through the outgoing local data link.
A conference paper "Single-chip solution for ethernet over SDH/SONET" (Ge, Liangwei; Wang, Lijuan; Proceedings of SPIE - The International Society for Optical Engineering, v 4908, 2002, p 96-100, ISSN: 0277-786X CODEN: PSISDG
Conference: APOC 2002: Metro and Access Networks II, Oct 16-17 2002, Shanghai, China) describes A structure of a chip, which maps 10/100 Mbit/s Ethernet fames into SONET/SDH virtually concatenated VC- 12 payloads. The required link capacity to satisfy the desired QoS is calculated. A closed-loop flow control mechanism for both local and
remote ends is suggested and the buffer size under self-similar traffic is estimated.
It should be noted that the flow control mechanism described in the paper considers each of the local links ( the ingress and the egress local links) to extend between a client and an SDH link. Data flow via the ingress link is controlled independently from data flow via the egress link, and capacities of buffers of the local links are calculated talcing into account only the capacity of the SDH link.
As has been noted by the Inventor, transmission of packet based data via an intermediate network (for example, synchronous communication network) is usually associated with the need to adapt the rate of transmission of the packets at the ingress data link not only to the synchronous network but also to the egress data link. "Traffic jams" or "bottle necks" may appear at various portions of the overall transmission link when the problem is not resolved.
There are some solutions like local flow control for adapting the data rate on the ingress link to the rate of the synchronous communication network or end-to-end flow control for adapting the data rate on the ingress link to the rate of the egress link. Other known approaches to data flow control are so-called end-to- end flow control or transparent flow control methods, where information on the status of a buffer at the egress link is sent to the mapper or to the client at the ingress via the intermediate link(s); the reaction time therefore depends on a considerable round trip delay and consequently requires large buffer at the egress link.
All the above-mentioned known solutions comprise large buffers which are required due to the considerable length of the intermediate link and the corresponding high values of round trip delay.
Object and Summary of the invention
It has been noticed by the Inventor that the mentioned bottle necks occur in particular circumstances, which may take place in the network from time to time.
The Inventor has noticed that problems which occur while transmitting packet based data (such as Ethernet or Fiber channel packets) via an intermediate network (such as a synchronous network) may be caused not only by capacity of the intermediate network's link, but also by differences in the maximum payload rates of the ingress and egress local links (transmitting data to and receiving the data from the intermediate network).
These differences may arise because of:
• Different types of interface on both ends of the intermediate network (e.g. Fiber channel or Fast Ethernet on one side, and
Gigabit Ethernet on the other side; a logical channel within a bus, such as SPI /POS-PHY bus interface on one side and a physical interface on the other side);
• Different overheads required for transmitting traffic at the ingress and egress links.
• Management frames transmitted on a local link. One example of the management frames are flow control frames (e.g. Pause frames), intended to adapt the client traffic transmitted on one local link to the bandwidth (BW) provided on the intermediate network, and occupying some capacity on the adjacent egress local link.
This situation may happen at least at the following conditions:
a. Asymmetric BW on the intermediate (usually, synchronous) network in two opposite directions (by provisioning or as result of applying a protocol called Link Capacity Adjustment Scheme - LCAS) b. Asymmetric utilization of the BW on the synchronous network because of different mean frame size per direction and because of different overhead per frame on the local links and on the synchronous network.
It is therefore an object of the invention to propose a method and a suitable system for efficient data flow control for transmitting packet based data (preferably, Ethernet data or Fiber channel data) from a packet based data source to a packet based data receiver via an intermediate (preferably, synchronous) network. It would be desired that the flow control be independent from a bottle neck position in the communication line and be suitable for a variety of cases. For example, the data source and the data receiver can be both Ethernet clients, or both Fiber channel clients, the data source can be an Ethernet data source and the data receiver can be a Fiber channel data receiver, and vice versa. However, other examples can be found and some will be mentioned as the description proceeds.
In order to assist understanding of the terms that will be used in the following description and claims, Fig. 1 schematically illustrates a simplified combined bi-directional communication line between a client P and a client Q5 both capable of transmitting and receiving packet based data. For each of its directions, the combined line comprises two local links (an ingress packet based data link and an egress packet based data link) connected via an intermediate link, which in this case is represented
as a communication link in a synchronous network. However, the intermediate link can belong to another network type non-similar to those of the ingress and egress links, for example an MPLS network link.
In the proposed example, the clients P and Q can both be Ethernet clients, and the synchronous network can be an SDH network. The synchronous network link, in each direction, may comprise a number of virtual parallel links for transmitting virtual concatenated data streams, such VC4-4v being four virtual containers VC-4 transmitted in parallel via four links. For the sake of simplicity, the packet based data will be nained data in the further description and claims.
For the same reason, the packet based data source will be called transmitter and the packet based data receiver will be called receiver.
Analogously, an ingress packet based data link connecting the packet based data source and the synchronous network will be called ingress link. The egress packet based data link connecting the synchronous network with the data receiver will be called egress link.
It should be noted however, that the ingress link must not be a very first link in the communication line, and that the egress linlc may, in principle, be connected to a further network. For the sake of simplicity, in the following description the ingress link, the intermediate link and the egress link are considered together as an exemplary combined communication line. However, in any other combined communication line comprising such three interconnected links the egress link is the link of interest at which possible bottleneck effects must be prevented.
Fig. 1 schematically shows component links forming the exemplary combined communication line in both its transmission directions. The line is formed between a client P and a client Q connected by two
respective packet based links to a synchronous network through a mapper-demapper KL and a mapper-demapper L.
In the following description, the transmission direction from client P (in this case operating as transmitter P) to client Q (in this case operating as receiver Q) will be mainly considered and described. The communication line in this direction comprises: an ingress link (called A) transmitting from client P to a Synchronous Mapper K; an intermediate link (virtual synchronous link called B) transmitting from the Synchronous Mapper K to a Synchronous
Demapper L; an egress or remote link called C5 for transmitting data from the Synchronous Demapper L to client Q.
User data is transmitted via the communication line and may utilize different frame formats over each one of the three component links A5B5C.
Let us define "Payload" to comprise all those bytes of the user data that enter the communication line from client P5 pass via the ingress link, the intermediate link and the egress (remote) link and, upon all operations of reformatting data in the communication line, reach the cheat Q. In our example, Payload is the data that is not terminated on the Synchronous Mapper (K) or on the Synchronous Demapper (L) and thus reaches the client P.
Let us consider that link rate LR of a specific link minus the total overhead rate OHR at this link yields the payload rate PR at the link, which characterizes the bandwidth available for transferring user data: PR = LR - OHR (1) where:
Link rate (LR) should be understood as data rate currently supported by the link. Payload rate is therefore the rate of payload currently supported by the link when overhead conditions are known. However, the link may be subjected to temporary failures when its capacity and thus data rate are automatically reduced. Such phenomena may happen, for example, in synchronous networks when one or more routes forming the synchronous link fail, and wherein processes of reducing and restoring the link capacity upon detecting and fixing a failure are automatic (as can be done by LCAS protocol). Changes in actual data rates may cause dynamic changes in payload rates supported by suitable links and therefore - changes in location of a "bottle neck" of the line.
Overhead rate (OHR) should be understood as the link capacity spent (per time unit) to transmitting various types of overhead: a) overhead per packet or frame (PPOH), required for transmitting the payload in a packet or frame and comprising, for example headers, trailers and inter-packet gaps; b) constant overhead (COH), usually configured or stated for a particular application and comprising for example, management frames (packets) transmitted via the link; Referring to Fig. 1, we consider that link A has payload rate PRA, link B has payload rate PRB and link C has payload rate PRC.
For example, payload rate of the egress link C depends on the capacity occupied on the link for the management traffic (including pause frames) towards the receiver. In Fig. 1, the egress link C serves for transmitting pause frames to the transmitter Q for controlling the traffic transmitted in the opposite direction along the ingress link D. Payload rate PRA of the ingress link A depends on the amount and duration of silence periods.
According to the inventive concept, efficient data flow control (i.e., such that allows transmitting packet based data via the mentioned communication line comprising an ingress link, an intermediate link and an egress link without discarding data packets due to bottle neck effects), is achieved by regulating payload rate at the ingress link based on: monitoring packets to be transmitted via the intermediate link, and using preliminary obtained information concerning at least payload rate supported by the egress link, thereby enabling transmission of data via the communication line at payload rate not exceeding the payload rate supported by the egress link.
The difference of the inventive concept from solutions known, in the prior art is in that adaptation of the payload rate of an ingress link; to the payload rate of an egress link is performed directly and in advance. Neither flow control on the intermediate link, nor round trip of information concerning egress link buffer is required.
In practice, the Inventor has proposed implementing the above concept by a method for flow control of packet based data by regulating p>ayload rate of said ingress link to dynamically adapt it to a lower one from two payload rates, wherein one of said two rates is a current payload rate of the intermediate link and the other of said two rates being a paylo ad rate supported by the egress link.
The ingress link and the egress link may have different interfaces and belong to different technologies. For example, any of said ingress link and egress link can be an Ethernet link, a Fiber channel link at various data rates (FE, GBE, XGBE, various rates of Fiber channel), can be a bus transmitting data using protocols such as POSPHY, SPI, CSIX, POS, etc.
The intermediate data link between the ingress link and the egiress link belongs to a network utilizing a different protocol, for example a synchronous ( SDH/SONET) network or MPLS network.
In other words, the proposed end-to-end flow control actually prevents transmitting packets from the ingress link towards the intermediate network at a rate that cannot be supported by the egress link. To implement the proposed end-to-end flow control, the method comprises performing said monitoring of the packets before transmitting thereof via the intermediate link in order to determine length of payload per monitored packet, and performing said regulation of the payload rate of the ingress link based on:
-the determined length of payload per monitored packet, -the preliminary obtained information concerning payload rate supported by the egress link, including: throughput (actual link rate) of the egress link, overhead required for transmitting said payload via the egress link. The length of payload per monitored packet can be determined: a) by obtaining a number of payload bytes of each specific pactcet upon monitoring thereof, b) by obtaining a number of payload bytes during a specified time period; the number of packets that have passed during that time would also be required, c) by obtaining a number of payload bytes for a known nuimber of monitored packets.
The overhead required for transmitting said payload via tke egress link, preferably" includes a constant overhead (COH) which is usually pre-
configured, and an overhead per packet/ frame (PPOH) to be used on said egress link.
The required preliminary information can be obtained from various sources. For example, the references can be fed from the Network Management, from Network Protocols.
The step of monitoring can be performed by a monitoring means which can be a conventional monitoring block known in communication networks for such purposes.
The step of regulation can be performed, say, by a metering means and preferably comprises sub-steps of: processing at least the above-mentioned information concerning the payload length and the preliminary obtained information concerning the egress link, and, in response to results of the processing, issuing flow control commands (for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.) thereby affecting the payload rate at the ingress link whenever required.
These flow control commands can be applied to the transmitter directly or via some logic. However, said commands can be applied to an alternative location that will be discussed below.
The processing can be performed by a metering register (which may form part of the metering means), by periodically increasing a value of the register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) a,t the egress link, while decreasing the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes per monitored packet
(PPPB) and a number of overhead bytes per packet required on the egress link (PPOH)5 the processing further comprises comparing the value of the register with its low and high thresholds (watermarks), and making a decision whether any of the flow control commands is to be issued in response to the comparison result.
The method preferably comprises a conventional step of adapting payload rate of the ingress link to the payload rate of the intermediate (synchronous) link. It can be performed by arranging a conventional flow control buffer capable of storing data packets received from the transmitter before mapping thereof into synchronous transport frames, and capable of interrupting the transmitter from time to time in response to the buffer status. Such a conventional buffer has a lower and a higher thresholds for detecting its status and performs the interrupting by issuing so-called pause frames and stop-pause frames (being management frames).
In the above case (when the above-described conventional flow control buffer is utilized), the step of regulation of the payload rate of the ingress link to the payload rate of the egress link can be executed by arranging at least one of the following functions: controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, by applying said flow control commands (from said metering means) to the output of said buffer directly or indirectly, additional adapting of payload rate at the ingress link by applying said flow control commands (from said metering means) "before the buffer, for example to the transmitter, thereby additionally controlling input to the buffer.
In the simplest version, the method just comprises arranging the controlled output of the packets from said buffer (to said mapper) at the payload rate not exceeding the payload rate of the egress link, while also performing the above-described conventional flow control on the ingress link.
It should be emphasized that whatever the payload rate of the intermediate link (PRB) is, the method will always be effective in preventing creation of bottleneck at the egress link. If the bottleneck happens to occur at the intermediate link, it is usually solved by conventional methods (such as the described conventional buffer of the synchronous link). The method is universal and can be used for any ratio between the payload rates at links A,B,C but is particularly useful when PRC<PRA and PRC<PRB.
In other words, the proposed method is advantageous when the "bottleneck" of the communication line is placed at the egress link, regardless the situation at the intermediate network link.
According to a second aspect of the invention, there is also provided a system for flow control of a packet based data transmitted along a communication line successively from a transmitter via an ingress link, an intermediate network link and an egress link to a receiver, the system being operative to regulate payload rate at said ingress link based on: monitoring packets to be transmitted via the intermediate link, and using preliminary obtained information concerning at least payload rate supported by the egress link, thereby enabling transmission of data via the communication line at payload rate not exceeding the payload rate supported by the egress link.
Actually, the system is capable of regulating the payload rate at the ingress link to dynamically adapt it to a lower one from two payload rates, one of said two rates being payload rate of the intermediate link and the other of said two rates being payload rate of the egress link. The system comprises a flow control unit including a monitoring unit and a metering means connected to one another, the monitoring unit being designed for scanning packets intended to be transmitted via the intermediate link and for determining a number of payload bytes in said packets, the metering means being adapted to obtain information about the number of said payload bytes from said monitoring unit, obtain said information concerning payload rate at the egress link (say, the data on link rate at the egress link and overhead required at the egress link), process all the obtained information, and in response to results of the processing, issue flow control commands to affect payload rate at the ingress link whenever required.
As has been mentioned, the flow control commands may be, for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.
According to one specific embodiment, the metering means comprises a register having two (a low and a high) thresholds and is adapted to: increase periodically (say, each time clock) a value of the register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) at the egress link, decrease the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to
a sum of a number of payload bytes of said monitored packet and a number of overhead bytes per packet required on the egress link (PPOH), compare said value with the low and the high thresholds of the register, and in response to the comparison result, make a decision whether any of said flow control commands is to be issued.
The proposed flow control unit as a whole, and its components separately (metering means and the monitoring unit) may be positioned at any location between (and including) the transmitter (say, at P ) and the suitable mapper-demapper ( K).
The metering means can be implemented either as a, hardware unit
(for example a logic unit, a register, etc.) or as a software program.
Preferably, the metering means is a programmable logic device. The system preferably comprises a conventional buffer capable of adapting payload rate of the ingress link to payload rate of the intermediate link to control storing of data packets transnαitted from the transmitter before mapping thereof into transport frames (for example, synchronous frames), the system being further adapted to perform at least one of the following operations:
- controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, by using said metering means, - double control of the payload rate at the ingress link, both by said metering means and by said buffer, thereby regulating input of the packets to said buffer.
The metering means and the monitoring unit can be associated with the buffer, for monitoring packets being stored in the buffer and processing information about them together with data about overhead required at the egress link and payload rate at the egress link. Alternatively, the monitoring can be provided before the input or upon the output of the buffer.
The control flow commands, whenever applied, are preferably processed by a logic unit. For example, if the flow control commands from the metering means are to be applied to the transmitter together with the flow control commands from the buffer, they can be preliminarily held by a logic unit implementing the Boolean function OR.
Further details of the invention will be disclosed as the description proceeds.
Brief description of the drawings
Fig. 1 schematically illustrates an exemplary communication line for which the proposed technology can be used.
Fig. 2 - schematically illustrates a block diagram of one model of the proposed data flow control system. Fig. 3 schematically illustrates a block diagram of an exemplary algorithm which can be used in the proposed flow control system with the metering register.
Fig. 4 schematically shows some possible locations of the proposed data flow control unit in the communication line.
Detailed description of the drawings Fig. 1 has been described in the summary of the invention. In the block diagram of one embodiment 10 of the data flow control system, illustrated in Fig. 2, client P comprises a transmitter 12 which transmits data packets over an ingress link 14 (such as an Ethernet link); the data rate (and consequently, the payload rate) over the link is controlled by a flow control unit 23 (described below) via a logics block 16. In this embodiment, the data packets are stored in a conventional buffer 18 intended for local data flow regulation between the ingress link 14 and an intermediate link 20 (it can be a link belonging to an MPLS network, but in this example it is a synchronous network link). The buffer 18 is a transmission rate adaptation buffer known in the art, that usually has an upper threshold (schematically shown as 18A) and a lower threshold (18B) for adapting the ingress HnJk rate to the synchronous link rate. Such a known buffer can be provided with various means to control the ingress data flow in response to degree of the buffer's fullness; e.g. for Ethernet interface, it is operative to cause generating a pause frame to be sent to the transmitter upon exceeding the upper threshold, and to cause generating a pause canceling frame when the buffer is filled below the lower threshold. The data packet buffer 18 is associated with a suitable mapper-demapper 22. The main part of the proposed flow control system is a flow control unit 23 formed by a metering means (e.g., register) 24 coupled with a monitoring block 26. The register 24 receives from the monitor 26 data on the number of payload bytes in each of the data packets transmitted towards the mapper; based on this information and data about the expected possible payload rate PRC at the egress link, the register 24 is
adapted to issue control commands to affect the payload rate at the ingress link.
The data about payload rate at the egress link can be presented by data on the link rate on the egress link LRC, and data about overhead required for transmitting payload bytes via the egress link: for example COH (constant overhead) and PPOH (per packet overhead) of the egress link.
The flow control unit 23 comprising two blocks 24 and 26 can be used for flow control in the communication line with or without additional local flow regulation between the ingress link and the synchronous link. For example, if the buffer 18 is absent, or its output control regulation is problematic (say, if it is integral with a mapper 22) the register 24 may issue a flow control command 1 for controlling the transmitter 12, and by intermittently applying and removing such commands via the logic 16 the payload rate at the ingress link 14 will be regulated.
In case the buffer 18 exists and its output control is possible, the register 24 may issue a command 2 (similar in nature to command 1) to perform controlled output from the buffer 18 to the mapper 22.
It should be noted that logic 25 may serve for obtaining both the flow control commands from the block 23, and for obtaining flow control commands from the mapper 22, and handling the obtained commands according to the logical OR function.
The command 1 from the register 24 will then be processed in the logic unit 16 together with a pause command 3 from the buffer 18, in order to control the transmitter 12 in a suitable manner. The command 2 from the register can be similarly handled by a logic unit 25, together with flow control signals from the mapper 22 (if any). The simplest implementation
of the logic units 16 and 25 is the Boolean function OR. According to that, the logic unit 16 will interrupt transmitting packets from the transmitter 12 if either the register 26 or the buffer 18 applies to the logic 16 a pause command.
Actually, the monitoring unit 26 is capable of monitoring packets at any location: packets outgoing the transmitter 12, packets incoming to or outgoing from the buffer 18. The metering register 24 and the monitoring unit 26 can be associated with the buffer (as in the drawing), while may actually be positioned at any location of the communication line. In the embodiment shown in Fig. 2, the system with the flow control unit 23 is capable of continuously monitoring packets being input/stored in the buffer and, based on this information and the information about the egress link payload rate, continuously making decisions whether a) to continue outputting the packets from the buffer or to make a pause in outputting thereof, or b) whether to affect transmission of packets from the transmitter 12 by issuing pause commands towards the transmitter.
Fig. 3 is a block diagram of an exemplary algorithm of operation of the proposed system of data flow control. Let the metering means 24 is a metering register.
The metering register (block 24) operates according to a specific algorithm: it increases its value proportionally to capacity of the egress link and decreases its value proportionally to payload data to be transmitted via the egress link. Value of the register must be compared with two thresholds or watermarks (L for low watermark and H for high watermark).
Information on capacity of the egress link and on the overhead required at this link is obtained at block 30. The information can be received from
NMS (network management system), from network protocols, etc. Block 32 illustrates that at each time clock (in our example - each microsecond) value of the register is increased by a number of bytes proportional (coefficient A) to the difference between egress link rate LR and the constant overhead COH required at the egress link. The value of COH can be preliminarily stated in the system or received ( also from NMS5 network protocols, etc.).
The remaining capacity of the egress link (LR-COH) is dedicated for transmitting there-through all the received payload information, but in packet's format of the egress link. Block 34 illustrates monitoring each of the transmitted packets to detect the number of payload bytes per each of the packets (PPPB), since the packets may differ in length. Block 36 proposes a formula for calculating the number of bytes required in the egress link for transmitting payload bytes of one packet which has been monitored. In case all these payload bytes are to be transmitted in a single (one and the same) egress packet, the formula is PPPB+PPOH, where PPPB is payload bytes per packet (of the incoming packet) and PPOH is overhead bytes per packet (on the egress link). If not a single packet (i.e., a part of a packet or more than one egress packet) are used for transmitting payload bytes of one incoming packet via the egress link, the formula may differ from the above-mentioned one.
The register (regardless it is a hardware one or a software one) should be capable of monitoring its current state betweea the two register thresholds or watermarks (blocks 38, 40 of the flow chart). Such a monitoring can be done periodically or upon changes in the register value
(e.g. when a frame is transmitted).
The register thresholds can be used so that exceeding one of them would cause a pause condition (block 39 - say, in outpixtting the packets from the buffer 18), and exceeding the other one of th.em would cause continuation of the outputting ( block 41). Example of calculations in the metering register:
Let COH = IMbps; LR = 100 Mbps; PPOH = 20 bytes, for the Ethernet egress link.
Let the register has a virtual volume 64 Kb that is presented by a 16 bites register. The lower threshold is 30 Kb and the higher threshold is 34 Kb. Each microsecond, the register value will be increased by (100-I)Mb = 99 bytes.
For a packet monitored by the monitoring unit and comprising 68 bytes from which only 64 bytes are payload, the register value will be decreased by 64+20 = 84 bytes. Fig. 4 schematically shows possible locations of the proposed data flow control unit 23 in the communication line 50. The intermediate link can also be composed from a number of partial sub-links. The flow control unit 23 is shown for both directions of the line, and intended for regulating data flow via a link considered an egress link in respect of two links preceding thereof (here called an intermediate link and an ingress link). The intended regulation is performed by affecting data flow at the ingress link. In the line 50, a network node 52 (which can be a switch, a router, a server, a network processor, etc.) is connected by a link 54 to a mapper/demapper 56, further via an intermediate network 58 to a mapper/demapper 60, via a link 62 to a client with a receiver 64, and then to a further communication link 66.
In this eκample, each of the ingress link A and the egress link G may be formed by a logical channel over a bus interface 54 (such as SPI,
POSPHY5 UTOPIA, etc.). The intermediate link B may belong to an MPLS or SDH/SONET network, while the egress link C and the ingress link D may be arranged in a physical bi-directional Ethernet link. The control unit 23 can be located at a transmitter 52 ( before the bus), it can be a separate (stand alone unit), or can be coupled to a local buffer (not shown), associated with the mapper 56. The blocks 24 and 26 of the unit 23 can be located on different devices. The logic (OR) units (see blocks 16 and 25 in Fig. 2) can either be integrated with the flow control unit 23, or be associated with other device(s). The proposed method and system of end-to-end flow control allow avoiding bottleneck conditions at the egress link without arranging large buffers between the intermediate link and the egress link, and without arranging cumbersome and time consuming communication between these buffers and the ingress link.