TCP Congestion Control

TCP uses sliding window protocol for end-to-end flow control.

The receiver specifies in its acknowledgement (ACK) the amount of bytes it is willing to receive in advertised window. The advertised window ensures that the receiver’s buffer will never overflow, since

TCP uses a congestion window in the sender side to avoid congestion. The congestion window indicates the maximum amount of data that can be sent out on a connection without being acknowledged.

Advertised window size is used to ensure that receiver’s buffer will not overflow however, buffers at intermediate routers between source and destination may overflow

Congestion occurs when total arrival rate from all packet flows exceeds R over a sustained period of time.

Buffers at multiplexer will fill and packets will be lost.

Sources must control their sending rates so that aggregate arrival rate is just before knee.

TCP sender maintains a congestion window (cwnd) to control congestion at intermediate routers. Effective window is minimum of congestion window and advertised window. Problem: source does not know what its “fair” share of available bandwidth should be

Solution: adapt dynamically to available BW.

Sources probe the network by increasing cwnd.

When congestion detected, sources reduce rate, Ideally, sources sending rate stabilizes near ideal point

TCP detects congestion when it fails to receive an acknowledgement for a packet within the estimated timeout.

In such a situation, it decreases the congestion window to one maximum segment size ( MSS), and under other cases it increases the congestion window by one MSS.

There also exists a congestion window threshold, which is set to half the congestion window size at the time when a re-transmit was required.

The operation of TCP congestion control algorithm may be divided into three phases and

Multihomed AS: large corporation (no transit): multiple connections to other AS’s, it carries only local traffic and does not support transit traffic.

Transit AS: provider, it has multiple connections to the outside world and can carry transit and local traffic.

Intra-AS Routing

Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols:

oRIP: Routing Information Protocol o OSPF: Open Shortest Path First o IGRP: Interior Gateway Routing Protocol (Cisco proprietary)

Routing Information Protocol (RIP)

The Routing Information Protocol ( RIP) is a dynamic routing protocol used in local and wide area networks.

it is classified as an interior gateway protocol (IGP) using the distance-vector routing algorithm.

A RIP run on top of UDP, port number 520 is used.

RIP is a distance-vector routing protocol, Which employs the hop count as a routing metric.

Suitable for small networks (local area environments)

The maximum number of hops allowed with RIP is 15 , and the hold down time is 180 seconds.

Value of 16 is reserved to represent infinity, i.e. node is not reachable.

Small number limits the count-to-infinity problem.

Originally each RIP router transmits full updates every 30 seconds by default.

A router expects to receive an update message from each of its neighbors within 180 seconds in the worst case

If router does not receive update message from neighbor X within this limit, it assumes the link to X has failed and sets the corresponding minimum cost to 16 (infinity) Originally, routing tables were small enough that the traffic was not significant.

RIP implements the split horizon, route poisoning and holddown mechanisms to prevent incorrect routing information from being propagated. These are some of the stability features of RIP.

RIP is available in two versions, i.e. RIP1 and RIP2.

In many current networking environments RIP would not be the preferred choice for routing as its time to converge and scalability are poor compared to EIGRP, OSPF The hop limit severely limits the size of network it can be used in.

The periodic routing updates do not carry subnet information, lacking support for variable length subnet masks (VLSM). This limitation makes it impossible to have different-sized subnets inside of the same network class.