U.S. patent application number 10/285221 was filed with the patent office on 2004-05-06 for method for flow control of packets aggregated from multiple logical ports over a transport link.
Invention is credited to Bordogna, Mark A., Cidambara, Sundararajan, Healey, Adam B..
Application Number | 20040085904 10/285221 |
Document ID | / |
Family ID | 32175119 |
Filed Date | 2004-05-06 |
United States Patent
Application |
20040085904 |
Kind Code |
A1 |
Bordogna, Mark A. ; et
al. |
May 6, 2004 |
Method for flow control of packets aggregated from multiple logical
ports over a transport link
Abstract
A method is disclosed for controlling the flow of packets
aggregated from multiple logical ports over a transport link. A
directed flow control indicator is provided to the transmitting end
station that causes a detected congestion condition. The directed
flow control indicator causes the transmitting end station to
suspend the transmission of further packets. The linear expansion
header of the Generic Framing Procedure (GFP) linear mapping scheme
is extended to include the flow control indicator, such as a bit
that is set to a predefined binary value to indicate a potential
overload condition. A directed flow control indication can be
provided in one or more packets that are sent to the transmitting
end station over the transport network without increasing the
network overhead. If packets are not being sent to the appropriate
transmitting end station, a packet generator can generate one or
more packets with the flow control indicator to inform the
appropriate transmitting end station of the congestion
condition.
Inventors: |
Bordogna, Mark A.; (Andover,
MA) ; Cidambara, Sundararajan; (Andover, MA) ;
Healey, Adam B.; (Newburyport, MA) |
Correspondence
Address: |
Ryan, Mason & Lewis, LLP
Suite 205
1300 Post Road
Fairfield
CT
06430
US
|
Family ID: |
32175119 |
Appl. No.: |
10/285221 |
Filed: |
October 31, 2002 |
Current U.S.
Class: |
370/236 ;
370/252 |
Current CPC
Class: |
H04L 47/30 20130101;
H04L 47/35 20130101; H04L 47/10 20130101; H04L 47/26 20130101 |
Class at
Publication: |
370/236 ;
370/252 |
International
Class: |
H04J 001/16 |
Claims
We claim:
1. A method for controlling a flow of packets aggregated from a
plurality of logical ports for transmission over a transport
network to one or more destinations, said method comprising the
steps of: detecting a potential overflow condition in a buffer that
stores packets for at least one of said one or more destinations;
and providing a directed flow control indicator to one of said
logical ports that is a source of said potential overflow
condition.
2. The method of claim 1, wherein said directed flow control
indicator is included in a header of a packet being sent to said
one of said logical ports that is a source of said potential
overflow condition.
3. The method of claim 1, wherein said directed flow control
indicator is a bit that is set in a header of a packet being sent
to said one of said logical ports that is a source of said
potential overflow condition.
4. The method of claim 3, wherein said directed flow control
indicator is a bit that is set in a header of each packet being
sent to said one of said logical ports that is a source of said
potential overflow condition for a predefined interval.
5. The method of claim 3, wherein said directed flow control
indicator is a bit that is set in a header of each packet being
sent to said one of said logical ports that is a source of said
potential overflow condition until said potential overflow
condition is relieved.
6. The method of claim 3, wherein said directed flow control
indicator is a bit that is set to a predefined binary value in a
linear expansion header of the Generic Framing Procedure (GFP)
linear mapping scheme to indicate a potential overflow
condition.
7. The method of claim 1, wherein said detecting step further
comprises the step of monitoring a maximum buffer level
threshold.
8. The method of claim 1, wherein said detecting step is performed
by a GFP mapping function that maps between a constant bit stream
on said transport network and asynchronous packets for delivery to
said one or more destinations.
9. The method of claim 1, wherein said directed flow control
indicator causes said one of said logical ports that is a source of
said potential overflow condition to suspend transmission of
further packets for a predefined minimum interval
10. The method of claim 1, wherein said directed flow control
indicator causes said one of said logical ports that is a source of
said potential overflow condition to suspend transmission of
further packets until notification that said potential overflow
condition has been remedied.
11. The method of claim 1, wherein said directed flow control
indicator is mapped to a port-based pause indicator before being
provided to said one of said logical ports that is a source of said
potential overflow condition.
12. The method of claim 1, wherein said directed flow control
indicator is mapped to a logical port-based pause indicator before
being provided to said one of said logical ports that is a source
of said potential overflow condition.
13. A flow control method performed by a gateway that aggregates
packets from a first logical port with packet flows from additional
logical ports for transmission over a transport network, said
method comprising the steps of: receiving a directed flow control
indicator over said transport network, said directed flow control
indicator indicating that said first logical port is a source of a
potential overflow condition; and notifying said logical port that
said logical port is a source of said potential overflow
condition.
14. The method of claim 13, wherein said logical port is an
Ethernet port and said notifying step further comprises the step of
generating a port-based pause frame that is sent to said Ethernet
port.
15. The method of claim 13, wherein said logical port is a logical
channel and said notifying step further comprises the step of
generating a logical port-based pause indicator that is provided to
said logical channel.
16. The method of claim 13, wherein said flow control indicator is
included in a header of a packet being sent to said one of said
logical ports that is a source of said potential overflow
condition.
17. The method of claim 13, wherein said flow control indicator is
a bit that is set in a header of a packet being sent to said one of
said logical ports that is a source of said potential overflow
condition.
18. The method of claim 13, wherein said directed flow control
indicator causes said first logical port to suspend transmission of
further packets for a predefined minimum interval
19. The method of claim 13, wherein said directed flow control
indicator causes said first logical port to suspend transmission of
further packets until a notification that said potential overflow
condition has been remedied.
Description
FIELD OF THE INVENTION
[0001] The present invention relates generally to flow control
techniques for a communications network, and more particularly, to
techniques for controlling the flow of packets aggregated from
multiple logical ports over a transport link.
BACKGROUND OF THE INVENTION
[0002] Communication networks transfer information, such as data,
voice, text or video information, among communication devices
connected to the networks. Most enterprises employ local area
networks (LANs), such as those based on the Ethernet protocol, to
interconnect the various devices within the enterprise. Most LANs
are connectionless, where frames are transmitted without error to a
high degree of probability, but there is no guarantee of delivery.
If a frame is not properly received, the receiving station will
simply discard the frame without notifying the sender.
[0003] In addition, even when a frame is successfully transmitted,
a frame can be lost due to buffer unavailability at the receiving
station. If a receiving station is unable to receive and process
data at a rate greater than or equal to the transmission rate of
the transmitting station, the buffer at the receiving station can
overflow. The loss of a frame due to buffer unavailability has the
same effect as a frame that is lost due to a bit error. Thus, it is
desirable to suspend or reduce the arrival of data packets rather
than permit an overflow condition to occur at the buffer. A number
of techniques have been proposed or suggested for flow control in
LANs.
[0004] The IEEE 802.3.times.data communication protocol specifies a
port-based flow control arrangement for full duplex Ethernet links
based on a flow control message, such as a "pause" frame. A
transmitting station that receives the pause frame enters a pause
state in which the transmission of frames on the network is
suspended for a specified time, thereby relieving congestion at the
receiver. For a more detailed discussion of the pause function,
see, for example, R. Seifert, Gigabit Ethernet: Technology and
Applications for High-Speed LANs, 100-11 (1998), incorporated by
reference herein. The pause function was contemplated for use by
two end stations communicating over a dedicated full duplex
Ethernet link. A pause frame includes a destination address in the
form of a predefined multicast address. The use of a multicast
address relieves the sender of a pause frame from having to know
the specific address of the other device on the link.
[0005] A number of LANs are often connected in a larger network,
such as a wide area network (WAN). While the Ethernet protocol is
well suited to the LAN environment, the Ethernet protocol is not a
viable option for WANs, primarily because the Ethernet collision
avoidance mechanism limits the permissible distance of the furthest
station and privacy issues related to separation of traffic over a
transport network. Thus, in order to permit communication between
LANs in an efficient, seamless and reliable manner, high-speed
transport links between various LANs was needed.
[0006] In order to meet increased bandwidth demands, fiber optic
systems, such as Synchronized Optical Networks (SONETs), are often
employed as transport links in a WAN. Typically, a number of
Ethernet packets from one or more source LANs are aggregated for
transport over a SONET link to one or more destination LANs. If a
station that is receiving packets from a remote transmitting
station over a WAN link is unable to receive and process the
packets at a rate greater than or equal to the transmission rate of
the remote transmitting station, the buffer at the receiving
station can overflow.
[0007] A port-based pause function based on the IEEE
802.3.times.data communication protocol has been proposed to
control the flow of packets aggregated over a transport link. The
multicast address of a pause frame, however, would cause the pause
frame (if delivered at all) to be broadcast to all transmitting
stations associated with the aggregated packets of a given flow.
Thus, all such transmitting stations that receive the pause frame
will suspend the transmission of frames even though only the buffer
of one receiving station has a potential overflow condition. Thus,
a need exists for an improved method for controlling the flow of
packets aggregated from multiple logical ports over a transport
link. A further need exists for a method for suspending the flow of
only a single station that transmits packets over an aggregated
transport link.
SUMMARY OF THE INVENTION
[0008] Generally, a method is disclosed for controlling the flow of
packets aggregated from multiple logical ports over a transport
link. According to one aspect of the invention, a flow control
indicator is provided to the transmitting end station that causes a
potential congestion condition. The flow control indicator may be,
for example, a bit that is set to a predefined binary value in the
linear expansion header of the Generic Framing Procedure (GFP)
linear mapping scheme. The flow control indicator causes the
appropriate transmitting end station to suspend the transmission of
further packets for a predefined minimum interval or until the
transmitting end station is notified that the congestion condition
has been remedied. Thus, the invention can provide a directed flow
control indication to the end station that is the source of the
congestion over the transport network without increasing the
network overhead.
[0009] The flow control indicator can be set upon congestion and
carried in the opposite direction of the congestion across the
transport network to inform the appropriate transmitting end
station to stop sending packets. The flow control indicator can be
set in one or more packets sent to the transmitting end station for
a predefined minimum interval or until the transmitting end station
is notified that the congestion condition has been remedied. If
packets are not being sent to the appropriate transmitting end
station that caused the congestion condition, a packet generator
can generate one or more packets containing a GFP header with the
flow control indicator set to inform the appropriate transmitting
end station of the congestion condition.
[0010] A more complete understanding of the present invention, as
well as further features and advantages of the present invention,
will be obtained by reference to the following detailed description
and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 illustrates a conventional technique for controlling
the flow of packets aggregated between multiple end stations
communicating over a transport network;
[0012] FIG. 2 illustrates a conventional pause frame in accordance
with the flow control frame format of the IEEE 802.3 standard;
and
[0013] FIG. 3 illustrates a Generic Framing Procedure (GFP) linear
expansion header that includes a flow control indicator in
accordance with the present invention.
DETAILED DESCRIPTION
[0014] FIG. 1 illustrates a conventional technique for controlling
the flow of packets between two local area networks 110, 160
communicating over a transport network 150, such as a SONET
network, a Synchronous Digital Hierarchy (SDH) network or an
Optical Transport Network (OTN). As shown in FIG. 1, a plurality of
end stations 105-1 through 105-N connected to local area network
110 transmit packets that are aggregated for transport over a SONET
link 150 to one or more end stations 170-1 through 170-N connected
to local area network 160. The local area networks 110, 160 can be
based, for example, on the Ethernet protocol, to interconnect the
various end stations 105-1 through 105-N within an enterprise. The
packets are aggregated and prepared for transport on the transport
network 150 by a GFP mapping function gateway 130 employing the
Generic Framing Procedure (GFP) linear mapping scheme. The GFP
mapping function 130 assembles the asynchronous packets from the
Ethernet-based local area network 110 into a constant bit rate
stream, suitable for transport over the SONET network 150, in a
known manner. Similarly, a GFP mapping function 155 converts the
constant bit rate stream received on the SONET network 150 into
asynchronous packets suitable for the Ethernet-based local area
network 160.
[0015] The GFP mapping function 155 includes a buffer (not shown)
for storing packets for each end station 170-n on the local area
network 160. In addition, the GFP mapping function 155 includes a
congestion detection mechanism that determines if a buffer
threshold is exceeded. If the buffer threshold is exceeded, the GFP
mapping function 155 will transmit a port-based pause frame on the
end-to-end path across the SONET network 150 to each of the
transmitting stations 105-1 through 105-N. As previously indicated,
the multicast address of a pause frame (if delivered at all) causes
the pause frame to be broadcast to all transmitting stations
associated with the packets aggregated from multiple logical ports.
Thus, all such transmitting stations 105-1 through 105-N that
receive the pause frame will suspend the transmission of frames
even though only the buffer associated with one receiving station
has a potential overflow condition.
[0016] FIG. 2 illustrates the format for a conventional pause frame
200 in accordance with the flow control frame format of the IEEE
802.3 standard. As shown in FIG. 2, the MAC flow control frame
format includes a preamble 210, a start-of-frame delimiter 220, a
destination address 230, a source address 240, a type field 250, a
MAC control opcode 260, a MAC control parameter 270, a reserved
field 280 and a frame check sequence 290. In order to send a pause
frame, the destination address 230 is populated with a predefined
multicast address, 01-80-C2-00-00-01, the type field 250 is set to
88-08 indicating a MAC control frame, the MAC control opcode 260 is
set to 00-01 indicating a pause frame and the MAC control parameter
270 is populated with the pause time.
[0017] The present invention provides a method for controlling the
flow of packets aggregated from multiple logical ports that are
transmitted over a transport link. As used herein, a logical port
is a packet source or destination of traffic, where the traffic
originates from a physical port, such as an Ethernet 10/100 port,
or where the traffic originates from a fraction of the bandwidth of
a physical port, such as on an Ethernet Virtual LAN (VLAN). Thus,
the present invention controls the flow of packets aggregated from
multiple logical port-based interfaces, such as a packet bus, as
well as from multiple port-based interfaces, such as Ethernet
LANs.
[0018] According to one aspect of the invention, the conventional
GFP linear mapping scheme is enhanced with a flow control indicator
that permits the flow of only a single station that transmits
packets over an aggregated transport link to be suspended. In this
manner, the present invention provides a directed flow control
message to the transmitting end station 105-n causing the detected
congestion condition. In one implementation, the flow control
indicator is a bit in the GFP header of each packet that may be set
in the opposite direction of a detected potential overflow
condition to a predefined binary value to indicate a potential
overload condition. Thus, another aspect of the invention can
provide the flow control indication to the offending end station as
part of the data flow sent across the transport network. As
discussed further below, the flow control indicator is mapped by
the GFP mapping function 130, 155 associated with the offending
transmitting end station 105-n to a port-based pause frame that is
sent only to the offending transmitting end station 105-n
(identified by the customer identifier 310).
[0019] While the present invention is illustrated herein in the
context of an exemplary SONET network 150 that transports
aggregated Ethernet packets, the present invention may be employed
in any optical transport network that maps asynchronous packets to
a constant bit rate stream, for example, using the Generic Framing
Procedure (GFP) linear mapping scheme.
[0020] FIG. 3 illustrates a GFP linear expansion header 300 in
accordance with the present invention that is associated with each
encapsulated packet in the aggregrated network environment of FIG.
1. Generally, all Ethernet packets are encapsulated within the GFP
layer that is transmitted across the SONET network 150. A GFP
linear expansion header 300 is placed on each packet. As shown in
FIG. 3, the GFP linear expansion header 300 includes a customer
identifier (CID) 310 to identify the end station 105-n that
generated the packet, a spare byte 315, discussed below, an
extension header 320 and a payload 325, which is the Ethernet
packet(s) to be transmitted.
[0021] As shown in FIG. 3, the spare byte 315 includes a flow
control (FC) bit in an exemplary embodiment of the present
invention that may be set to a predefined binary value to indicate
a potential overflow condition. The flow control indicator is set
by the GFP mapping function 130, 155 that detects the congestion
condition and is mapped at the GFP termination point to a per
client service flow control indication in the opposite direction of
the detected potential overflow condition. In other words, the GFP
mapping function 130, 155 associated with the offending
transmitting end station 105-n will receive a packet with the flow
control indicator set and will send a pause frame only to the
offending transmitting end station 105-n (identified by the
customer identifier 310) in accordance with the Ethernet standard.
Since the flow control indicator is part of the GFP linear header
300, the flow control mechanism can be applied on a per customer or
end station basis.
[0022] While the exemplary GFP mapping functions 130, 155 described
herein provide a port-based interface to translate the flow control
indicator to a port-based pause frame that is sent to an Ethernet
end station 105-n, the GFP mapping functions 130, 155 could also
provide a logical port-based interface to translate the flow
control indicator to a logical channel, such as those associated
with an SPI-3 packet bus, defined by the Optical Internetworking
Forum (OIF), for transmitting packets over a SONET bus.
[0023] Thus, for aggregated links, the flow control indicator of
the present invention can be set upon congestion and carried across
the SONET network 150 to inform the transmitting end station 105-n
to stop sending packets. In one implementation, the flow control
indicator is set in every packet associated with the transmitting
end station 105-n for a predefined minimum interval or until the
transmitting end station 105-n is notified that the congestion
condition has been remedied. Thus, any failure to deliver the first
flow control indicator (for example, due to a lost or corrupted
packet) would be resolved by subsequent packets since they also
contain the flow control indicator. For example, the flow control
indicator can be set to a first binary value in every packet
generated when a congestion condition is present and to a second
binary value in every packet when a congestion condition is not
present. In a further variation, a flow control indicator in a
received packet can start a timer indicating a predefined time
interval for which the offending end station 105-n should suspend
transmission. Of course, a number of variations exist, including
the use of coded messages over a plurality of frames, as would be
apparent to a person of ordinary skill in the art.
[0024] If packets are not already being sent to the transmitting
end station 105-n that caused the congestion condition, and
therefore a flow control indicator cannot be relayed to the source
of the congestion, a packet generator can generate a packet
containing a GFP header with the flow control indicator set. In
this manner, the transmitting end station 105-n that caused the
congestion condition is informed of the congestion condition.
[0025] In order to provide lossless service, the GFP mapping
functions 130, 155 should include buffers that are capable of
storing packets between the detection of a congestion condition and
the time when the transmitting end station 105-n reacts and
suspends transmission of further packets. Generally, a congestion
condition is detected when a buffer level exceeds a predefined
maximum level. Likewise, a congestion condition is typically
remedied when the buffer level falls to a predefined minimum level.
In a further variation, a congestion condition can be detected by a
receiving end station 170-n, and a port-based pause frame can be
sent from the LAN 160 to the GFP mapping function 155. The GFP
mapping function 155 maps the port-based pause frame to a flow
control indicator in the GFP linear expansion header 300 for
transmission across the transport network to the offending end
station 105-n in accordance with the present invention.
[0026] It is to be understood that the embodiments and variations
shown and described herein are merely illustrative of the
principles of this invention and that various modifications may be
implemented by those skilled in the art without departing from the
scope and spirit of the invention.
* * * * *