ts, which is described next. One issue for implementing a DiffServ domain is the compatibility with the original IP RFC791, in which the first three bits are used as a precedence indicator. This is only partially compatible with RFC2474. In order to maintain compatibility between DiffServ and older IPv4 network, it is assumed that all traffic coming from a non-DiffServ aware network are remarked at the edge nodes. There are multiple ways to discard packets from the output queues. The best known algo- rithms are RED (as developed by Floyd and Van Jacobson) and Weighted RED (WRED). RED is a smart mechanism to discard packets from the tail of a queue which is designed to interact well with the TCP protocol functioning on higher layers. Hence, in order to understand why we need a discard mechanism such as RED, it is necessary to see how the TCP protocol functions. When a TCP connection between two end nodes is set up, both exchange information about the available buffer space at the two ends of the connection, but no knowledge is available on the speed of the link and the level of congestion. Hence, some form of conges- tion control is needed between the two nodes. For this reason, both hosts keep a so-called "congestion window" which accounts for data that may be "in flight." At no point in time is the sender allowed to put more data on the line than the size of this congestion window. This keeps the sender from initially overloading the link. When a connection is set up, the sender starts with a congestion window of 1. After the first sent segment is acknowledged to have been received by the other side, the window is increased by 1 segment. Thus, after one Round Trip Time (RTT), two segments may be sent. Whenever these two segments are acknowledged, the window is increased by 2, etc. This procedure is called slow start (even though it is not very slow) and effectively doubles the congestion window every RTT. The exponential growth of the window stops when its value becomes larger than a certain fixed value. After t