78
An Application of Active Congestion Control in Abdollah Aghassi A thesis submitted in conformity with the requirernents for the degree of Master of Applied Science Graduate Department of Electrical and Computer Engineering University of Toronto O Copyright by Abdollah Aghassi 2000

An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Embed Size (px)

Citation preview

Page 1: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

An Application of Active Congestion Control in

Abdollah Aghassi

A thesis submitted in conformity with the requirernents for the degree of Master of Applied Science

Graduate Department of Electrical and Computer Engineering University of Toronto

O Copyright by Abdollah Aghassi 2000

Page 2: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

National Library I*I of Canada Bibliothéque nationale du Canada

Acquisitions and Acquisitions et Bibliographie Services services bibliographiques

395 Wellington Street 395. rue Wellington Ottawa ON K1A ON4 Ottawa ON K i A ON4 Canada Canada

Vwr Ne Vmre Rfcimce

Our 6k Notre reterence

The author has granted a non- exclusive licence dowing the National Library of Canada to reproduce, loan, distribute or sel1 copies of this thesis in rnicrofonn, paper or electronic formats.

L'auteur a accordé une licence non exclusive permettant à la Bibliothèque nationale du Canada de reproduire, prêter, distribuer ou vendre des copies de cette thèse sous la fome de microfichelfilm, de reproduction sur papier ou sur format électronique.

The author retains ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts fiom it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation.

Page 3: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

An Application of Active Congestion Control in TCP-Vegas

Abdoilah Aghassi

Master of Applied Science, 2000

Department of Electrical and Cornputer Engineering

University of Toronto

Abstract

TCP-Vegas, with its innovative congestion avoidance technique. achieves a better

link utilization than other TCP vaiants. However, it fails to fairly allocate the available

bandwidth arnong the usen. In particular, it penalizes the old connections in favor of the

new connections. Furthemore, TCP-Vegas has the potential to induce persistent

congestion in the network. These drawbacks al1 stem from the problem of over-

estimation of propagation delay.

To improve the faimess performance of TCP-Vegas, this thesis proposes a

probing mechmism based on the active networking approach. The mechanism requires

support from the active network nodes to immediately forward the probe packets. The

acknowledgments of probe packets at the sender provide a better estimate of the

propagation delays. Our simulation resuits show that our proposed active TCP-Vegas

fairly allocates the bandwidth arnong the connections. In addition, the better estimation of

propagation delays leads to reduced packet backiog in the buffer, and hence results in a

lower level of network congestion than the original TCP-Vegas.

Page 4: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Acknowledgement

1 would like to express my sincere gratitude and appreciation to my supervisor,

Professor A. Leon-Garcia, for his invaluable guidance, patience, advice and

encouragement throughout the course of my M.A.Sc. program and preparation of this

thesis.

1 would dso like to thank Professor 1. F. Blake, Professor J. Choe, Professor E.

Law and Professor S. W. Davies for their advice and comments dunng my final oral

presentation.

I wish to acknowledge in particular my fellows and friends in the

Communications group for their fruitful discussion and proof-reading of the thesis.

The financial support from ITRC is gratefully acknowledged.

Page 5: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Table of Contents

................................................................ 1 . INTRODUCTION 1 ................................................................................. 1.1 Motivation -3

.................................................................................... 1.2 Objective 4

...................................................................... 1.3 Thesis Organization S

........................... 2 . TCP CONGESTION CONTROL OVERVIE W 7

................................................................................ 2.1 Introduction .8

.......................................... 2.2 Problems with Current TCP Implementation 9

.......................................................... 2.3 Proactive Congestion Control 10

................................ 2.3.1 Vegas Congestion Avoidance Mechanism 12

............... 2.4 Major Drawback of Delay-Based Congestion Control Algorithrns 14

................................. 2.4.1 Errors in Round Trip Delay Mesurement 14

.................................................................... 2.5 TCP-Vegas Pro blems 15

...................................................................... 2.5.1 Unfairness 16

......................................................... 2.5.2 Persistent Congestion 31

...................... 3. ACTIVE NETWORKlNG and CONGESTION . 24

.............................................................................. 3.1 Introduction 2 5

............................................. 3.2 Explonng the Network by Smart Packets 28

................................. 3.2.1 In-Band and Out-Band Monitor Packets.. 30

............................ 3.3 Major Drawbacks of the Active Networking Appronch 32

..................................... 4 . ACTIVE CONGESTION CONTROL 34 ............................................................................... 4.1 Introduction 35

................................................................... 4.2 Enhanced TCKVegas 36

................................... 4.2.1 Faimess Evduation of Enhanced Vegas 36

........................................................ 4.3 Vegas and DRR at the Gatew ay 40

Page 6: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

.............................................................................. 4.4 Active Vegas 41

...................................................... 4.4.1 Preliminary Simulations 43

................................... 4.4.2 Single Bottleneck Network Simulations 45

4.4.2.1 Round Trip Time Measurement ...................................... 51

4.4.2.2 Fairness Evaiuation .................................................... 52

...................................................... 4.4.2.3 Buffer Occupancy 54

4.4.2.4 S u m q of Simulation Results .................................... -55

.............................................. 4.4.3 Multi-hop Network Simulation 56

................................................................................. 5.1 Discussion 61

................................................................................ 5 -3 Draw backs 62

............................................................. 5.3 Future Research Directions 63

.................................................................. 5.4 Research Contributions 64

Page 7: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

List of Figures

. ................................ Figure 2.1. General pattern of round trip time vs window size 8

Figure 2.2. Window algorithm of TCP.Vegas .................................................. 13

Figure 2.3. Network mode1 ........................................................................ 16

............................................. Figure 2.4. Simulation results when C = 0.5Mbps 19

................ Figure 2.5. Network topology after the new connection joins the network ..20

.................. Figure 2.6. Simulation results after the new connection joins the network 20

33 ......................................... Figure 2.7. Congestion window for each connection .-- Figure 3.1. Traditional passive network pmdigm ............................................ 2 5

Figure 3.2. Active network pattern ............................................................... 26

Figure 4.1: Connection goodputs and instantaneous queue lengths for enhanced Vegas.38

Figure 4.7: Connection podputs and congestion windows for old and new connections39

Figure 4.3. Packets in transit for active Vegas ................................................. .42

Figure 4.4. Priority queue at the gateway ........................................................ 42

Figure 4.5. Network mode1 ....................................................................... -43

................................. Figure 4.6. Connection goodputs for 3 active Vegas sources 44

................................. Figure 4.7. Connection goodputs for 4 active Vegas sources 45

Figure 4.8. Network topology .................................................................... -46 . .......................... Figure 4.9. Goodput vs connection index for 4 different scenarios 47

.................................. Figure 4.10. Buffer occupancies for the different scenarîos .48

........ Figure 4.1 1: Mean goodput of each connection under different Vegas algorithm A9

Figure 4.12. Buffer occupancy for original Vegas (infinite buffer size) ..................... 50

Figure 4.13. Connection BaseRï73 for ail scenarios ........................................... 51

. ................ Figure 4.14. Faimess vs bottieneck link bandwidth (link delay = 20msec) 53

Figure 4.15: Faimess vs . bottleneck Iink propagation delay (link capaci ty = 4Mbps) . . - 3 4

Figure 4.16. MuIti-hop network mode1 ........................................................... 56

........................ Figure 4.17. Average congestion windows for different connections 57

. Figure 4.18. Goodput vs connection index for active and original Vegas .................. 58

Page 8: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

List of Tables

........................ Table 4.1 : Connection throughput for 3 different versions of Vegas 44

................... Table 4.2. Buffer occupancies for 4 different implementations of Vegas 55

.................................................... Table 4.3. Summary of simulation results - 3 5

................................. Table 4.4. BaseRTT estimation for active and original Vegas 59

vii

Page 9: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

List of Acronyms

AACC

ACC

ATM

CARD

DAWA

DiffSew

DRR

ECN

FIFO

FrP

HTTP

IntServ

IF'

M'Tu

RED

RSVP

R n

SACK

TCP

Tri-S

VC

WFQ

WRR

Adaptive Admission Congestion Control

Active networking Congestion Control

Asynchronous Transfer Mode

Congestion Avoidance using Round-trip Delay

Defense Advanced Research Projects Agency

Differentiated Service

Deficit Round Robin

Explicit Congestion Notification

First In First Out

Fi le Transfer Protoco 1

HyperText Transfer Protocol

Integated Service

Internet Protocol

Maximum Transmission Unit

Random Early Detection

Resource ReserVation Protocol

Round Trip Time

Selective ACKnowledgement

Transmission Control Protocol

Slow Start and Search

Virtual Circuit

Weighted Fair Queuing

Weighted Round Robin

Page 10: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Chapter 1

Introduction

The existence of both new and old technologies in computer networks with

different link capacities leads to congestion. When the network load is light, the network

is able to provide the requested throughput. As the load increases beyond the network

capacity, the buffers start building up, and the throughput stops increasing. This is the

point at which congestion starts to occur. Any attempt to increase the load beyond this

point will result in further loss and less throughput. To rernedy these problems, a

congestion detectiordcontrol algorithm is required. Moreover an increaseldecrease

algorithm in the sender provides a rnechanism for preventing congestion after it is

detected in its early stages.

Congestion detectiodcontrol, which regulates the amount of traffïc, is a

distributed algorithm. It can be divided into two sub-algorithms: the link algorithm,

which is executed inside the network to detect congestion and retum this information to

the sender; and the source algorithm, which is executed at the edge of the network to

adjust the sending rate based on the congestion condition inside the network. In a simple

word, the role of congestion detectiodcontrol is to balance supply and demanà

Page 11: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

As a supplier, when demand increases, the link algorithm increases the link price,

and as a consumer, when pnce increases, the source algorithm decreases demand.

Therefore in a limited time interval, the system will converge to a senling region. in the

congestion detectiodcontrol algorithm, the link pnce represents a congestion measure

inside the network,

How can the congestion measure be retumed to the sender? In other words, how

cm the source algorithm estimate the available supply? Ideally, one cm design the source

and link algorithms jointly so that they c m communicate and uansfer information back

and forth to move the level of congestion inside the network to a desirable operating

point. However in the current Intemet, there is no explicit feedback from the network.

and there is no direct communication between the source and link algorithms. There are

some implicit signs in the network that imply the congestion measure, the status of the

congestion in the network. In other words, source algorithm should estimate the availabie

bandwidth, the supply, with some implicit indicators. For example, packet drop is one of

these indicators, when the network gets congested packets start dropping. Another sign is

round trip delay. when the network gets congested, packets expenence longer round trip

delay. It is worth mentioning that packet drop and round trip delay correlate direc tly to

the type of link algorithms used.

Apart from providing other services, the transport layer is responsible for

regulating the traffic flow. This prevents a fast host from over-running the network

capacity, and plays the role of the source algorithm in the congestion control mechanism.

Transmission control protocol (TCP) is one of the main protocols in the transport layer of

the current Intemet. Many of the popular Intemet services, including HTTP, FïP,

TELNET, and so on rely on the services provided by TCP. There are several varieties of

TCP, including TCP Tahoe, Reno, New-Reno, SACK, and Vegas. Al1 TCP variants,

except Vegas, estimate the link price with packet dropl. Packet drop is an essential part of

their congestion control mechanisms, as stated previously, packet drop is a measure of

congestion and link pnce. Packet drop is equivaient to an increase in link pice that

should result in a decrease in demand, which is represented by the congestion window.

With a drop tail buffer however, Reno continually cycles between sinking into congestion

- - -

' We inchde the explicit congestion notification (ECN) rnarking in the category of packet &op.

2

Page 12: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

and recovenng from it. To remove this condition from Reno and its variants. random

early detection (RED). as a link algorithm. tries to create an early packet &op to signal

the presence of the congestion to Reno. Packet &op results in an inefficient use of the

available bandwidth due to many retransmissions of the sarne packet after packet drops

occur. In addition. since Reno will eventually force al1 connections to have the same

congestion window size. it sipificantly discriminates against connections with longer

propagation delays [Il .

In contrast to Reno and its variants, TCP-Vegas estimates the level of congestion

by monitoring the difference between the rate it is expecting to see and the rate it is

actually sending. To cdculate the expected rate, actual rate, and their difference. Vegas

needs to measure the round trip delay, including the propagation delay. In other words,

round trip delay is a measure of congestion and link price. Increase in round trip delay

cm be assumed as an increase in link price. Again, based on supply and demand rule, the

congestion window, which indicates the demand, should be decreased.

1.1 Motivation It is clear that TCP-Vegas does not introduce any additional losses in the network

when it estimates the available bandwidth; therefore it utilizes bandwidth more efficiently

han Reno, due to fewer retransmissions. Experirnental results presented in [2] and [3]

show that Vegas achieves between 37 to 71 percent better throughput than Reno. With

this improvement in throughput, TCP-Vegas is a possible solution for the future Intemet.

But at lest two concems remained unsolved: does TCP-Vegas achieve a fair allocation

of resources; and does Vegas lead to persistent congestion. In particular, Vegas

discriminates against old connections when a new connection joins the network. The

main reason for this discrimination is in the calculation of expected rate.

The expected rate cm be achieved when there is no congestion in the network (no

queuing delay component in the round trip delay). When a new connection joins to an

aiready congested network, it includes the conesponding queuing delay in the round trip

delay measurement, which in turn results an error in its expected rate measurement.

Briefly stated, new connection over-estimates the expected rate. This results in an unfair

distribution of resources among old connections.

Page 13: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Furthemore, Vegas' strategy is to adjust the congestion window in an anempt to

keep the ciifference between expected and actual rates in a limited interval. This is

equivalent to keeping a small number of packets buffered in the routen along the path,

e.g., between 1 to 3 packets for each connection. The over-estimation of propagation

delay or minimum round trip delay causes an under-estimation of the number of packets

backlogged in the buffers; therefore it pushes more packets in the buffen, and creates

persistent congestion.

1.2 Objective We believe, for TCP-Vegas to be deployed in the future Intemet, it requires to be

modified to improve the unfaimess among different usen. To improve the overall

performance of Vegas, either the source algorithm should be changed or a compatible

link algonthm should be investigated or both.

The objective of this research is to improve the fairness performance of TCP-

Vejas. As mentioned previously, the unfair behavior of Vegas has its root in delay

measurement erron. The measurement of round trip delay that does not include my

queuing delay is our main concern.

The most straightfonvard kind of mechanism is to send a packet along the route,

being forwarded without experiencing any queuing delay as it goes; we cd1 these active

mechanisms. This monitor/controI packet experiences the minimum round trip delay.

Active mechanisms require support from the gateways; each gateway along the route

must forward the active packet with a high pnority order.

The aim of this research is to investigate the idea of active probing to improve the

performance of a transport protocol, in particular its faimess. To achieve this goal: first

the necessary changes to the source aigorithm, TCP-Vegas, should be added to enable the

protocol to send active packets; second the necessary active mechanisrn in the gateways,

link aigorithm, should be implemented.

To demonstrate the validity of our proposai, we want to implement our active

Vegas protocol in the ns-2 simulator 1151. To support fast fonvarding, a prionty drop tail

buffer will dso be irnplemented in the buffers. The specific types of measurements we

would like to perfom are:

Page 14: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

r Faimess Perfionnance. Evaluate the fairness performance of active Vegas, and show

the level of improvement.

a Persistent Congestion. Demonstrate the effectiveness of active Vegas to decrease the

number of buffered packets compared to original Vegas.

In particular, the single bottleneck and multi-hop networks will be considered.

1.3 Thesis Organization The remainder of this thesis is arranged in the following order. In Chapter 2, an

overview of several methods of TCP congestion control will be presented, then important

problems of current TCP implementation, TCP-Reno, will be explained. nien we will

focus on congestion avoidance methods based on round trip delay, in particular. TCP-

Vegas. We will also show that over-estimation of round trip delay causes major problem

in TCP-Vegas that leads to an unfair treatrnent of old connections, and persistent

congestion in the network.

Since Our proposai is based on the probing mechanism with active packets, in

Chapter 3 we describe how a monitor/control packet c m improve the performance of a

large complex network by obtaining the information from the core of the network and

using this information to update the end point entity parameters, namely congestion

control parameten. In this chapter, we describe and enurnerate the advantages of using

monitor packets for exploring the network and surnmarize the applications of in-band and

out-band approaches.

In Chapter 4, we introduce Our own methodology, Active Vegas, to resolve the

unfaimess of TCP-Vegas. It begins by examining performance issues of the current

enhancements to the TCP-Vegas proposal to overcome its failure. Then, based on

simulation results, it discusses the limitations of these enhancements. To remedy these

limitations, this chapter presents a probing mechanism to estimate the minimum round

trip time accurately. We investigaie the effectiveness of active Vegas in providing a Fair

allocation of resources to al1 connections. Furthemore, we will show that active Vegas

backiogs fewer packets in the buffers compared to the original Vegas.

Page 15: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Finally, in Chapter 5, we discuss the advantages and disadvantages of our

proposal. There are also many other open issues conceming the congestion conuol

mechanism in TCP-Vegas including rerouting, and the format of the control packet that

wili be explained in the future research direction of this chapter. We finally enurnerate

the research contributions of this thesis.

Page 16: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Chapter 2

TCP Congestion Control Overview

The transmission control protocol (TCP) is an ad-hoc mechanism to provide a

highly reliable end-to-end protocol in a packet-switch network. To have a diable

transmission, a handshaking mechanism between the sender and the receiver is required.

WC793 is one of the early documents that specifies this handshaking mechanism. One of

the main duties of TCP protocol is flow control. That means, TCP controls the arnount of

data sent out by the source. In other words, the role of TCP apart from ensuring a reliable

delivery of packets, is to adapt the sending rate of the source to the capacity of the

network and the destination. Usually the part of the flow control mechanism that deals

with capacity inside the network is called congestion control.

In this chapter, an overview of several methods of TCP congestion control will be

given and then important problems of curent TCP implementation (TCP-Reno) will be

explained. We will focus mainly on congestion control avoidance rnethods based on

round trip delay, in paaicular, TCP-Vegas. We will also show that over-estimation of

round trip delay causes a major problem in TCP-Vegas that leads to an unfair treatrnent

of old connections, and persistent congestion in the network.

Page 17: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

2.1 Introduction

In order to use network bandwidth efficiently, TCP controls its flow rate. To

control its flow rate, TCP needs to estimate the available bandwidth in the network using

a bandwidth estimation scheme. Bandwidth estimation is dificult since there is no

explicit feedback from the network and in most of the current implementations, they

assume the network is a black box with no explicit feedback. For this reason. they are

called implicit feedback schemes.

Flow control of TCP is based on a window mechanism, which consists of lirniting

the number of outstanding packets. The value of window size represents the source

throughput. Without flow control, the source can satunte one or several routers inside the

network, which c m introduce many losses and retransmission, resulting in a low goodput

(The goodput is the rate of useful data delivered by the network). Figure 2.1 shows

general patterns of round trip time (Rn) and goodput as a function of window size.

I I I

Delay I I I I

I l 1

W* Wzdow Size

Figure 2.1 General pattern of round trip time and goodput as a function of window size

Unfortunately, due to the heterogeneity of the network, the optimum value for W*

of the window size is not known beforehand. TCP must choose the optimum vaiue of the

window size based on its estimation of the current available bandwidth, How can the

available bandwidth inside the network be estimated? Usually, there are some implicit

signs in the network that implies the congestion measure, the status of the congestion in

the network. For example, packet drop is one of these signs, when the network gets

Page 18: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

congested packets start dropping. Another sign is round trip delay, when the network gets

congested, packets experience longer round trip delay. Furthemore, packet drop and

round trip delay depend on the queue management and service scheduling in the network.

In other words, how packets are treated in the network highly affects the packet drop and

round trip delay. Therefore, bandwidth estimation by the TCP mechanism is tightiy

correlated to the link rnechanism that provides these implicit signs. For example, random

early detection (RED) as a link mechanism provides necesSay &op signds for the TCP-

Reno to estimate the available bandwidth. It's worth noting that bandwidth estimation in

Reno is based on packet &op. Now imagine a TCP mechanism that does not use packet

drop as a congestion measure, therefore it will not be compatible with a link algorithm

like RED. An important point is the compatibility between the source aigorithm. TCP

mechanism in this study, and the link algorithm, scheduling and queue management.

Regarding the available bandwidth estimation methods, TCP congestion control

schemes c m be classified into two categories; proactive and reactive methods [4].

Reactive methods come into play after congestion is developed. Based on the feedback

from the congested network, they will take some action that drives the network out of this

state. The Jacobson congestion avoidance mechanism [SI is one of the reactive methods

that is activated mainly by packet drop which happens &ter the congestion occurs.

Proactive methods come into play before congestion is developed to avoid, and reduce

the possibility of network congestion. Proactive methods try to prevent congestion from

occumng. Admission control and traffic shaping can be categorized in proactive

methods. However, in this research, we are not to compare the performance of proactive

and reactive methods. It is certainly clear that proactive methods perform better than

reactive methods; when a network is congested, packets are Iost, bandwidth is wasted,

and more.

2.2 Problems with Current TCP Implementation

The cument implementation of TCP, TCP-Reno, has no mechanism to detect the

congestion just at the beginning because it needs to create losses to estimate the available

Page 19: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

bandwidth of the connection [6]. In other words, Reno's mechanism to estimate the

available bandwidth is continually increasing the window size, using up buffers dong the

connection's path, until it makes the network congested and packets are lost. Therefore,

Reno is continually congesting the netwotk and creating its own losses to estimate the

current available bandwidth. In this regard, TCPReno is reactive rather than proactive.

The Jacobson method uses the additive increase and multiplicative decrease

algorithm as a measure to probe the network and estirnate the available bandwidth. Due

to the nature of adàitive increase and multiplicative decrease of window size, there is an

inherent osciIIation problem in the Jacobson method and consequently in TCP-Reno. In

other words, in Reno, the window size oscillates between the maximum window size

(maximum window size which does not introduce any &op) and half the maximum

window size. Consequently, oscillation in window size leads to oscillation in queue

length and this oscillation in queue length leads to oscilIation in round trip delay of

packets. (This is clear in Figure 2.1). Furthemore, variation in the queue length also

results in larger delay jitter (we are not interested in the jitter variation, since TCP is not

carrying real time traffic that are sensitive to high jitter variation). In addition, such a

probing mechanism is very inefficient to utilize the available bandwidth because of many

retransmissions of the same packet after the packet drop occurs.

Another major problem with the Jacobson method is its unfairness to the users

with longer round trip delays. In other words, TCP-Reno significantly discriminates

against connections with longer propagation delays [l]. This is again created by inherent

characteristics of the additive increase and multiplicative decrease algorithm. Because it

will eventually force al1 of the users to have the sarne window size, this will result in

lower throughputs for connections with larger propagation delays.

2.3 Proactive Congestion Control

The are several proposed approaches to proactive congestion control. Since

congestion control consists of several phases (e.g. slow start, congestion avoidance, . . .), by being proactive we are focusing mainly on the congestion avoidance phase. One of

Page 20: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

the methods which is reported in the literature is based on round trip delay variation. In

other words, instead of approaching to the optimal vaiue of the window size by

introducing packet drops in the network, with the additive increase and multiplicative

decrease operation, it attempts to use round trip delay variation to estimate the available

bandwidth.

Jain et al [7], [8] propose a mechanisrn called "Congestion Avoidance using

Round-trip Delay" or C . W . The whok idea in this proposd is Y e r y simple. Back to the

Figure 7.1, when the source window size increases. the queues in each node will build up,

and consequently, the round trip time will increase. Since increasing the window size is

equivalent to an increase in load, it means that increase in load will eventually lead to an

increase in round trip delay. In other words, optimum value of window size Leads to

maximum throughput and minimum round trip delay. They define power as the ratio of

throughput and round trip delay. By maximizing power they try to achieve the optimum

value for window size. Moreover, for window controlled networks, the connection

throughput is approximately equal to the ratio of the number of outstanding packets and

the round trip delay, which is the ratio of window size and round trip delay. If the

network is not congested and load is low, changes in window size does not result in

changes in round trip delay. On the other hand, when the network is congested, any small

increase in window size will lead to a large increase in round trip delay. In this way, the

gradient of the round trip delay venus the window size c m be used as a good measure to

estirnate available bandwidth and to adjust window size, very close to the optimal vaiue

of window size.

Wang and Crowcroft [9] propose another method called "Slow Start and Search"

or Tri-S. The main idea in Tri-S is simila. to CARD, which is the flattening of the

throughput when the network is congested. M - S uses the current throughput gradient to

search for the optimum value of window size instead of using delay gradient as in CARD.

In addition, sirnilar to CARD, Tri-S is still dependent on round trip delay rneasurement to

calculate the changes in the throughput dopes.

Brakmo [2],[10] proposes another congestion avoidance mechanisrn based on

round trip delay measurement called TCP-Vegas. In the next part we explain the

congestion avoidance mechanisrn of Vegas in detail.

Page 21: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

23.1 Vegas Congestion Avoidance Mechanism

The main idea behind congestion avoidance mechanism in Vegas is to measure

and control the arnount of data in transit by looking at changes in throughput. When the

network is not congested, the actual thmughput will be very close to the expected

throughput. In contrat, when the network is congested, the actual throughput will be

srnalier than the expected throughpur. Vegas uses rhis Merence in throughput as a

measure for window adjustment instead of using changes in throughput slope as in Tri-S.

In the congestion avoidance phase, the connection is not being overfiowed.

therefore, the expected throughput is given by:

Erpected = WindowSize / BaseRTï

where WindowSize is the size of the current congestion window, which in the congestion

avoidance phase with no packet &op, is equd to the number of packets in transit and

BaseRTT is the minimum of al1 measured round trip delays. The maximum value for

expec ted

throughput is achieved when there is no congestion in the network. That means, a good

estimate of BaseRTT should not include any queuing delay and theoretically it will be

equal to twice the propagation delay plus transmission delay.

The calculation of actual throughput cm be done by recording two values; the

sending time for a specific segment and the number of packets sent until the acknowledge

of that specific segment arrives and dividing the number of packets transrnitted by the

actud round trip delay of that specific segment. The maximum number of segments in

transit c m not be greater than window size, and it cannot be far less than window size if

no packet drops. Therefore, we c m approximate the actual throughput as:

Actual = WindowSize / rn

where rn is the actuai round trip delay of a segment.

Based on the value of diff = (Erpected - ActuaZ)BaseRîT, the congestion window will

increase by one segment, decrease by one segment, or remain unchanged. diff will be the

Page 22: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

estimated backlogged queue size, if BaseRTT is measured accurately and does not

include any queuing delay, (no &op in the congestion avoidance phase). Vegas tries to

keep this backlogged queue size in a lirnited interval. The forrnal algorithm for window

update is as follows:

diff < a

diff >

o th envise

The window algorithm can also be illustrated pphically as shown in Figure 2.2.

Size

Figure 2.2 Window aigorithm of TCP-Vegas

As mentioned before, without congesting the network, Vegas tries to be proactive

by estimation of available bandwidth. This mechanism is totally different from Reno's

congestion avoidance mechanism. That means, it does not need to introduce losses in the

Page 23: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

network to estimate the available bandwidth; therefore, it utilizes the bandwidth more

efficiently than TCP-Reno. The main result reported in [2] is that Vegas cm achieve

between 37 and 71 percent better throughput than Reno. Here we are not trying to

evaluate those results or compare the performance of Vegas and Reno. For more detailed

compatison and evaluation see [3], [Il], [U].

2.4 Major Drawback of Delay-Based Congestion Control Algorithms

A congestion conwl scheme is to maintain the balance of demand and supply in

the network to achieve two basic objectives: link capacity is fully utilized and resources

are shared arnong users in a fair manner.

Although TCP-Vegas is vying to propose a better utilization of the link capacity

and less variation of delay jitter, it suffers from a main disadvantage. This drawback is

not only limited to TCP-Vegas but aiso to almost al1 of the delay-based approaches to

congestion control. Since delay-based congestion control algorithms are heavily

dependent on measurement and estimation of round trip delays, any over or under-

estimation of round trip delays will affect their performances and degnde the proposed

improvements.

2.4.1 Errors in Round Trip Delay Measurement

In this part we are trying to investigate why and when there will be an error in

round trip delay estimation. End-to-end delay can be divided into severai components:

transmission delay, propagation delay, packet processing delay, and queuing delay.

Transmission delay is the time required for a packet to be sent physically. In other words,

it is the tirne ffom the first bit in a packet is sent until the last bit in the packet is sent.

Packet processing delay is the time required for a router to forward a packet. Packet

processing delay is the time ciifference between picking up the packet and sending it on

the attached link. Packet processing delay does not include the queuing delay.

Page 24: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

In our theoretical analysis. we assume that the processing time is negligible and

packet processing delay can be ignored. Furthermore, we assume that the capacities of

the access links are large enough that they do not incur any transmission delay. Hence,

the transmission delay for each packet will be 1IC second, where C is equal to the

bottieneck link bandwidth (packet per second). Therefore, round trip delay can be divided

into two parts: propagation delay and queuing delay. Each of these two parts c m create

errors in the round trip delay measurement.

Since the topology of the network changes from time to time due to the failures of

the links and changing the route of the segments (rerouting), propagation delay for an

already established connection could vary because of the changes in the path of the

connection. Consequently, propagation delay at time t is not necessarily equal to

propagation delay at time t + A ( A > O). Therefore rerouting causes the propagation

delay to be changed and therefore may create error in round trip delay. In Our resemh.

we did not take the possibility of route changes into consideration.

Moreover, since the state of the congestion in the network changes a11 the time,

the queue length in every router will Vary. Depending on the trafic characteristic. the

queuing delay will also Vary, which may create error in round trip delay.

2.5 TCP Vegas Problems

As we saw in the previous section. there could be an error in round trip delay

estimation due to the rerouting and the congestion. Since B a s e R n has an important role

in the congestion detection and the congestion avoidance mechanisms of TCP-Vegas, i t is

crucial to have a good estimate of BaseRZT.

In the following sections, we are trying to show how any inaccurate estimation of

round trip delay c m lead to an unfair share of the total bandwidth (131. Furthermore, the

overestimation of the propagation delay pushes up buffer backlogs that leads to

persistent congestion 1141.

Page 25: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

2.5.1 Unfairness In order to show that Vegas fails to achieve the second goal of congestion control,

i.e. fairness, we define a scenario and show both anaiytically and experimentally that

TCP-Vegas treats old connections unfairly.

Figure 2.3 Network model

The network model that we will use in this scenario is described in Figure 2.3.

The mode1 consists of three sources (Sl. S2, S3), three destination (Dl , D2. D3), two

intermediate routers (RI, FU) and links connecting those elements. Suppose the

bottleneck link is between R1 and R2 (al1 of other queues are empty so there is no

queuing delay associated with thrm). Therefore, the only place that queue may built up

is on RI . Let the bottleneck link capacity be equal to C (segmentkecond) and

propagation delay between S , and D, be equal to r, (sec). Suppose source S 1 and source

S2 establish a connection to destination Dl and destination D2 respectively at the same

time and source S3 establishes its connection to destination D3 afienvards. Queue

management in R1 is Drop Tai1 with enough bufTer space, which introduces no &op.

Before connection 3 joins. we can deduce fiom Equation (2.1) that S 1 and S2

congestion windows reach to a settling point such that a < diff' c P (i = 1,Z). Therefore

we have:

Windo wSi'e, Windo wSize, a < ( BaseRTI;

) . BaseRTT, < p , rtt,

Page 26: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Since there is no queuing delay involved before connection 3 joins, BaseRlT, would be 1

measured accurately as 2 ri + - (assuming high access link bandwidth). Consequently C

we have:

From Equation (7.3), we cm observe one of the advantages of Vegas over Reno

that is not to force al1 of the connections to have the same value of window size. As

mentioned before, Reno eventuaily forces al1 of the users to have the same window size

which will result in lower throughputs for connections with Iarger propagation delays.

Here, in Vegas, as we see, window size is approximately proportional to propagation

delay and longer propagation connections will have larger window sizes which results in

a fair capacity allocation to ail of the connections. But there is an important requirement

that the measurement of BaseRTT. which the window mechanism of Vegas is based on,

should be perfect. Unfortunately, Vegas fails to achieve this requirement most of the

time, particularly when a connection is established in an aiready congested network.

To see how Vegas treats old connections when a new connection is established,

suppose connection 3 joins the network. Let and ,u4Pef be the mean queue size in

router R1 before and after connection 3 joins the network respectively. For connection I

and 2, Equation (2.3) still holds and mi (i = 1,2) cm be calculated as:

and

Page 27: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Since connection 3 docs not have

will set i ts BaseRTT to:

and,

a ieasonabb approximation of

(2.5b)

propagation delay, it

Therefore after reaching to the stable condition, the size of congestion window for

connection 3 will be:

If we consider the same propagation delay for ail of the connections ( 5 = r , for i = 1.2,3)

and compare Equations (2.8) and (2.5b), we will observe that the congestion window for

connection 3 converges to a larger value than the congestion windows for connections 1

and 2. Thus the new connection cm achieve higher bandwidth than the old connections.

To confimi the above analysis, we run two simulations with Network Simulator

(ns-2) 1151. Network model, which used in the first simulation, was shown in Figure 2.3.

The following parameters were used: dl link bandwidths and propagation delays except

bottleneck link are lMbps and Smsec respectively, the bottleneck link propagation delay

is 20msec, and Vegas congestion control parameters are set to: a = I and f l = 3. Packet

sizes for d l connections are the sarne and are equal to IKbyte. Each simulation lasted for

Page 28: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

60 seconds. Sources SI and S2 establish their connections after 1 second and connection

3 joins to the network after 10 seconds.

Figure 2.4 Simulation results when C = 0.5 Mbps. (a) Connections goodputs

(b) P kfi- and Pu1,er

As i t can be seen From Figure U a , after comection 3 joins the network, the

goodputs of the previously established connections will decrease very much, compared to

the higher goodput of the last co~ection. Figure 2.Jb shows 4 packets backlogged in the

bottleneck queue before comection 3 joins. The reason behind this is that Vegas atternpts

to keep at least a packets but no more than ,û packets in the queues. Due to queuing

delay corresponding to this backlog, last comection over-estimates BaseRTT which

leads to opening its window size more than its share. This scenario will happen every

time a new comection joins the network and it may lead to a persistent congestion. In

order to validate, another simulation was run based on Figure 2.5. in this scenario we let

another connection, connection 4, join the network after 20 seconds. Al1 other parameters

are the sarne as the previous simulation. As it was expected, later comection

establishment of S4 leads to a very unfair allocation of bandwidth particularly for

connections 1 and 2.

Page 29: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

L

DI

S2 i

Bottfeneck link

u - Figure 2.5 Network topology after new connection joins the network

Figure 2.6 Simulation result when C=O.j Mbps. (a) Connections goodputs (b) Instantaneous queue lenght

As it was expected, the settling point of the congestion window for new connection is

larger than their shares and the reason is essentially due to over-estimation of baseRïT

Page 30: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

2.5.2 Persistent Congestion

It can be obsewed from Figure 2.6b that every time a new TCP-Veys connection

joins the network, the queue size jumps to a much higher value which is not desirable and

is the major drawback of TCP-Vegas. Corresponding to the parameter s e thg in our

simulation, we expect that each Vegas connection keeps between one to three packets in

the gateway. For example, in Figure 2.4b, four packets build up in the buffer, i.e. two

packets for each connection; before the third connection joins the networks. Therefore,

we expect that after connection 3 joins the network, the queue size should not be more

thm seven packets in the buffer. However, Figure 2.4b shows that the number of packets

in the buffer is 11 packets. The sarne result can also be seen in Figure 1.6b. Before

connection 3 joins the network, the queue size is four packets, d e r connection 3 joins,

the queue size is 11 packets and after connection 4 joins the network, the queue size is 15

packets. In other words, the queue length in the buffer is more than it should be and will

lead to a persistent congestion in the network.

Again, the reason behind this phenornenon is error in minimum round trip delay

estimation, which causes the new connections to keep more packets in the buffer. We

leamed that Vegas estimates the backlog in the buffer by d a (diff = (Expected - Actiial)BaseRTT) and tries to keep this backlog between a and 8. In the following, we

will show that any over-estimation of BaseRTT results in an under-estimation of the

backlog. In other words, the over-estimation of BaseRïT leads to greater backlog. Let us

assume that Vegas measures its BaseRïT as:

BaseRTT = real-minRïT + E (2.9)

where, real-min-MT is the minimum possible value for round trip delay when there is

no congestion, and E ~ S the error corresponding the queuing delay. Consequently. the

backlog will be:

WindowSize * real - min- R ï T WindowSize * E diff = ( WindowSize - - (2.10)

?tt rn

Page 31: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

WindorvSize * E Equation (2.10) shows an under-estimation of in the backlog. It means,

rtt

WindowSire * E Vegas will keep the actud baclog between a + and ,û +

rtt

WindowSize * E

rtt

To confirm this with simulation result, let us go back to Figure 2.6b. Because of

error in Basertt for comection 3, the number of backlogged packets for c o ~ e c t i o n 3 is 6

packets. To calculate the backlog estimation error. the congestion window size is sho~vn

in Figure 2.7. The congestion window, 6. real - m i n R T , and rtt for comection 3 are

equal to 6 packet. 64msec. 76msec, and 140msec respectively. Therefore,

F.VindotvSix * E will be approximately equal to 3 packets. which exactly matches with

rtt

our simulation result shown in Figure 2.6b.

+ Seriesl i Series2 A Series3 x Series4

Figure 2.7 Congestion window for each comection

Page 32: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

From the above analysis and observation, it can be concluded that over-estimation

of BaseRn aiso creates a large number of packets backlogged in the buffer that will lead

to a persistent congestion. Our expectation from Vegas is to maintain at most ,8 packets

per each source in the buffer. Therefore, with n active connections. queue len,gh should

be no more than n p , but our simulation results show that the current implementation of

Vegas accumulates more than n /3 packets in the buffer. Increasing the backlog queue

length with an increase in the number of active connections is still one of the weak points

of Vegas performance.

Page 33: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Chapter 3

Active Networking and Congestion

Active networking is a revolutionary networking technology that offers a change

in the traditional network paradigm by introducing programmability into the basic

infrastructure of the network. Explonng and justifying this change in the network

architecture requires understanding the advantages, disadvantages and trade-offs of the

new approach. There are two active network architectures: The programmable router

approach, and the capsule approach. In the first part of this chapter, we bnefl y overview

the active network concept and enurnerate the tmdeoff between flexibility and efficiency.

We note that congestion control is a prime candidate for active networking, since it is

especiall y an intra-network event and is potentiail y far removed from the applications. In

the second part of this chapter, we describe how smart packets improve the performance

of large complex network by obtaining the information from the core of the network and

using this information to update the end point entity parameters, namely congestion

control panmeters. In the 1 s t part of this chapter, the major drawbacks of the active

network approach will be explained.

Page 34: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

3.1 Introduction

Current networks face many problems, e-g., difficulty of integrating new

technologies, poor performance. a ~ d difficulty of accomrnodating new services in the

existing architecturai model. There are two main bottlenecks to the solutions of these

problems: the Intemet itself is hard to change, and current network evolution is limited by

the speed of standardization. The standardization process, which needs to be 3greed on by

a large number of vendors, manufacturen, and in general with different point of views, is

lengthy; thus it delays implementation of new services on a large scale. As a

consequence, the introduction of new network services at this level is very slow. For

example, there was a span of five or more years from the time that RSVP was proposed

to the time that it was deployed, even in a very limited manner. Active networking is to

be a remedy to these problems.

Although the idea of using active or smart packets is not new and has been

previously proposed in the literature [4] [16] 1171 [Ml, but the concept of active

networking resulted from the discussion within the DARPA in 1994 and 1995 on the

future direction of networking systems [19].

Traditional networks transparently transfer data from one end to the other, i.e., the

network is not sensitive to the packets it carries and they are transported between the end

systems without any modification. In other words. the packets are static and the network

nodes simply use routing information to forward the packets', and al1 packets are ueated

sirnilarly.

router/svPitches Pay load Only forwarding basai Payload

Figure 3.1 Traditional passive network paradigm

' With the implementation of DiffServ and InrServ and other complicated services. the network does not oniy forward the packets anymore.

Page 35: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Active networks introduce programmability into the basic infrastructure of the

network. Each user cm inject programs contained in messages into the network that is

capable of perfonning computation and manipulation on behalf of the user.

If we think of the iP header in the traditionai networks as input data to a virtual

machine, we c m imagine a packet in the active network containing rnethods as well as

data payload. In other words, the user specifies how the packet should be processed and

fowarded. Figure 3.2 descn hes the active network paradiem.

FI Pay load

Active Execution Environment

Pay load

Infrastructure

Figure 3.2 Active network pattern

The network c m be "active" in two ways:

Discrete or programmable switch/router; Switches perform computation on the user

data flowing through them. The injection of the methods into the network is separated

from the processing of messages.

Integrated or capsule; Lndividuals inject programs into the network. Each packet

contains both a program fragment and a piece of data.

These two active network architectures seem to be at the opposite extreme ends of the

design space. The programmable router approach introduces a little fiexibility into the

network, while rnaintaining the efficiency of packet forwarding. In contrast, the capsule

approach achieves almost full flexibility, but packet forwarding eficiency is sacrificed.

Hence there is a trade-off between programmability and efficiency. There is also a

paradox in using active network especially in the capsule approach. From one side, the

execution of each packet program increases the arnount of processing at the network. As

a consequence, the packets expenence longer per-hop latency. However, active networks

Page 36: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

are expected to improve the network performance such as per-hop latency, and end-to-

end delay. Although longer per-hop latency and other effects of active networking may

appear to degrade the network performance, they may actudly lead to a better overail

performance, perhaps because of reducing requested bandwidth. creating less congestion

and etc.

The important point is that with active networks, the network services are to

support the user's req~irenents. Althugh some application of actir-, nerworlÿng h n c

shown great promise, the advantages of the active network approach are still not obvious.

More concrete results are needed to mswer the following questions:

What existing important network services will be significantly improved by active

network?

What useful new services will be enabled?

The answen to these questions can faIl under two categories:

Some network services can be irnproved or supponed using information that is only

available inside the network. In other words, the network may have information that

is required by the applications and by the users to fully optimize performance.

Especially the timely use of that information can significantly improve the

performance. Examples of these services are:

- Accessing accurate information about the curent state of congestion in the network

[20].

- Locating the network hot spots in the network where requests for an object are high,

in order to perform caching in network nodes [2 11.

- Moving management decision points closer to the node being managed [22].

- Finding the location of packet Ioss in rnulticast distribution trees 1231.

To improve the performance of some other services, the network needs the

infornation from the users and the applications. Examples of diis type of information

include:

- How important is the user data unit? In many applications, retransmission of a lost

packet degrades the network performance.

Page 37: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

- Usability of the cached data, instead of real-time data.

In summary, the performance of active network should be evaluated in terms of

application-specific metrics.

3.2 Exploring the Network by Smart Packets

As it was mentioned in the introduction, congestion control and resource

management are prime candidates for active networking, since they are specifically an

intra-network events and are potentially fa. removcd from the applications. There are two

approaches of appl ying active networking technology to congestion control and resource

management: exploring the state of the network by the reports from entities inside the

network, and leming the network condition by some speciai packets generated by the

end points. These two methods are tightly coupled because without the active entities

inside the network sending rnonitor packets are not beneficial.

Having some congestion control policy implemented by entities inside the

network can have several advantages [24]:

Easy collection of necessary information from strategically placed network entities

for making congestion control decision.

Removing the corresponding round trip delay in accessing the relevant information

and hence faster response to changes.

End points are definitely responsible to eventually enforce the congestion control

decision. In contrast with traditional congestion control mechanisms, entities in the

network can give an explicit feedback to the end points.

Examples of active processing in the entities inside the network can be found in several

current congestion control mechanisms. We describe severai proposais based on active

entities inside the network.

Early packet drop, proposed in [17] and [Ml, is a type of active network

processing that improves the performance of ATM network. In an ATM network, packets

are fragmented into cells. Transmitting cells of a fragmented packet that one of its cells

has already been lost in the switch is wasting the bandwidth. In [17], Romanow and

Page 38: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

noyd propose an aggressive dropping mechanism to drop entire packets when the

congestion threshold is reached. Along the same line, Floyd and Jacobson in [18] propose

randorn early detection (RED) mechanism to randomly drop or mark the packet when the

average queue length exceeds a threshold. In both proposals, no smart packets are used,

instead, active entities implicitly return the congestion status to the end points.

Active networking congestion control (ACC) proposed in [25] is a system that

uses entities in each router to immediately rex t to congestion. . C C replaces the

conventionai end-to-end congestion control to a new hop-by-hop congestion control. In

time of congestion, each router reports the state of congestion back to the end point and

actively slows down the transmission rate as if the end point instantly reduces its sending

rate. This rnechanism has two advantages: first, the end points are informed of the

congestion much earlier because now, the feedback delay is less than a round trip delay;

and second. the intemal network nodes beyond the congested router do not expenence the

congestion. This can irnprove the aggregate throughput in the core network.

The second method for exploring the network is, generating some type of special

packets that are treated in a particular way in the network to gather the information about

the state of the network. These special packets have been called with several names in the

literature: sample packet, smart packet. control packet, rnonitor packet, scout packet,

sampling packet, probe packet, and so on. We use these names interchangeably. This

approacch has the extra advantage that it's easier to implement and more compatible with

the current Intemet architecture. It can also be integrated with other congestion control

means, resulting in an overall superior performance. The idea of using smart packets in a

computer network is not new and has already been proposed severai times to improve the

network performance. We describe severd proposals based on the smart packet idea. It

should be indicated that some active entities are still required inside the network to

update the information carried by smart packets.

In 1161, Kent and Mogul enurnerate the disadvantages of packet fragmentation in

the gateway. To avoid fragmentation, they propose a probing mechanism to discover the

minimum MTU (maximum transmission unit) dong the path the datagram will follow. In

this mechanism, the packet collects MTU information dong its route. We use a similar

rnechanism in our proposal to improve the performance of TCP-Vegas. As mentioned

Page 39: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

earlier. sending probe packets without having active entities inside the network will be

futile, therefore each router must update the probe according to the MTU of the hop it is

about to take. Furthemore, the collaboration between the two end systems is also

required, since the MTU information should be retumed to the sender.

In 141, Hass proposes the mechanism, adaptive admission congestion control

(AACC), to monitor the congestion status of the network by using a periodic transmission

of time-stamped sampling packets through the network. The moni todsample packet

travels through the network like the regular packet. At the other end, the receiver

calculates the virtual delay, which is the difference between the time-stamp and the value

of the local clock. This virtual delûy is retumed to the sender via the acknowledgement

packet. Then the sender compares the value of virtual delay for the last two consecutive

acknowledgment packets that is the difference between actual delays. Based on the

difference, the sender adjusts its congestion parameters. The larger difference means

higher level of congestion in the network.

In [26], Hicks et al describe a routing method using scout packet which is very

similar to the ATM VC-switching. Usen periodically send scout packets that explore the

network to search for a better route, and direct the flow of the regular data packets.

Furthermore, the scout packets comrnunicate with each other by leaving part of their

states at each router they visited. These states consist of some metric to represent the best

path so far. If the scout packet reaches the destination with the best metric, it announces

the best path by retuming aiong its route to the sender and installing an entry in the

routing table of each router in the path. As a result, the regular data packets are sent aiong

the path just set up by the reuiming scout packets.

3.2.1 In-Band and Out-Band Monitor Packets In the previous section, we describe and enumerate the advantages of using

monitor packets to explore the network. In this section, we see how these monitor packets

will be processed inside the network. There are two approaches for monitor packets: in-

band and out-band.

In the in-band approach, monitor packets are treated the same way as regular data

packets. They receive the same level of forwarding, routing and other services as other

Page 40: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

data packets. Therefore, both the data and monitor packets are subject to being delayed

or even dropped when the node is congested. This might be an advantage or

disadvantage, depending on the application. For exarnple, if we are interested in

rneasuring and analyzing the packet delay distribution, the in-band approach will be a

suitable choice. Furthermore, by examining the arriva1 of the monitor packets, one c m

aiso obtain a sarnple of the current congestion level of the data-forwarding path, as

proposed in [4]. On the other hand, if propagation delay mesurement is important, using

the in-band approach may not be appropriate. In a simple word, for control algorithms

that are sensitive to queuing delay, the in-band approach cannot be used. However, this

approach is simple to implemented, and has less overhead compared to the out-band

method.

In the out-band approach, the control packets receive special, usually better

services, than the regular data traffic, at the intenor node. It requires a special

mangement in the forwarding module of an interior node. such as quick forwarding of

the out-band monitor packets. For example, in resource reservation protocol (RSVP) [27].

the PATH. RECV. and other control messages receive special treatment to reserve

resources dong a path inside the network. The special treatment for the PATH message

is, fonvarding them if it originates from a new source to request a reservation. With out-

band packets, it's possible to schedule different flows through the interior node so that

any kind of specific requirement can be met.

As mentioned above, the out-band approach with a priority scheduling

mechanism is more appropriate for a round-trip-delay sensitive control algorithm.

However, there could be a scaling problem at the active network node since potentially

there may be millions of monitor packets waiting to receive special treatment. This

problem also affects the in-band monitor packets when they collect interior node status

for management and other purposes. We will summarize the major drawbacks of the

active network approach in the next section.

Page 41: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

3.3 Major Drawbacks of the Active Networking

Approach

It has been demonstrated that active networking technology c m provide a better

performance and enable new services, but what is the price for these improvements?

What are the problerns created by this new prcposal? mat does this new tcchnology

degrade to improve its strength? In this section, we briefly answer to these questions.

Processing power

Perhaps the primary role of the active network is communication, from which

resource management and congestion control are trernendous win for the active network

approach. In addition, active networks allow the computation to move from the edge of

the network into the intenor node where the important information can be timely

accessed. Computation inside the network requires extra processing power in the network

intenor nodes, which is not neressary for a simple forwarding in the traditional network.

Therefore, the major drawback of the active networking approach is the extra processing

overhead introduces. In the active network paradigrn, not only is bandwidth vaiuable, but

also the processing power has a price. Najafi and Leon-Garcia [28] propose a mode1 to

include the cost of processing as well as bandwidth. The new cost mode1 can be used to

find the optimum openting point for trade-off between the processing power and the

bandwidth.

Safety and security

Another difficulty that is concerned with the active network approach, is safety

and security. As an illustration, if an active node is to allow any arbitrary C program to be

executed in the node, then it will be a vulnerable point for malicious attacks.

Irnplementing safety and security in active network requires run-time checking

mechanism. For example, in the srnart packet paradigrn, the authentication of the packet

should be checked to venfy the identity of the user, and Iimit the resource access. This in

turn adds more burdens on the processing requirements.

Page 42: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Scaiability

Scalability is another bottieneck in active network technology. Generally

speaking, active network is not scalable because there may be huge number of active

packets from thousands of users requesting special services and treatments in the active

nodes. For example, the integrated services IP with RSVP control mechanism is not

scaiable because a path needs to set up for every flow, and keeping the state of each flow

inside the network is riot possible when the nrimber of usen is e x ~ n e l y largc.

Interoperability

To be deployed in the cumnt IP network, the active networking technology

should perform in a heterogeneous environment. To achieve this goal, active network

proposals should minimize the amount of global agreement required.

To conclude this chapter, it's worth mentioning that in this research we focus

mainly on the idea of smart/monitor/scout packets to explore the network state; the other

extreme of active network technology. capsule approach. is not our main interest. In

Chapter 4. we describe Our proposed active TCP-Vegas that takes advantage of the

monitor packets to obtain better estimation of the propagation delay of the connection

path.

Page 43: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Chapter 4

Active Congestion Control

The main conclusion frorn chapter 2 is that TCP-Vegas is unfair to old

connections, and creates persistent congestion in the buffer. The reason for these

drawbacks is basically in over-estimation of minimum round trip delay. In the previous

chapten, it has been shown that the over-estimation of the propagation delay for a given

connection leads to an increase in its rate, and results in unfairness. Furthemore, over-

estimation causes more packets to be accumulated in the buffer.

Perhaps, the main weakness of TCP-Vegas is its propagation delay estimation.

Hasegawa et al [13] propose enhanced TCP-Vegas to overcome this failure. In the first

part of this chapter, we will review their proposal and based on the simulation results,

major weakness of this method will be descnbed.

Other researchers [29] as well as Hasegawa [30] propose DRR (Deficit Round

Robin) as a rnechanism to increase the faimess of TCP-Vegas. In the second part of this

chapter, we bnefly overview this proposal and enumerate its problem.

In the third part of this chapter, we introduce Our own methodology, Active

Vegas, to resolve the unfaimess of TCP-Vegas.

Page 44: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

4.1 Introduction

Flow control, which regulates the amount of traff~c, is a distributed algorithm. It

can be divided into two parts: the link algorithm that is executed inside the network, and

the source algorithm that is executed at the e d p of the network. These two algonthms are

tightly related to each other, and they provide the required framework for Bow control.

Flow sontrol can be saan as a generai mechanism ùiat covers most of conuol mec hanisms

that maintain good system performance. For example. in a differentiated services

network, there are control mechanisms on the boundary of the network, e.g., rnarking,

policing and shaping (source algonthms), and there are other control mechanisms at the

core network, e.g.. queuing and scheduling (link algorithms).

The main duties of the link algonthm are congestion detection inside the network

and retuming this information to the source algorithm. It is worth mentioning that in the

curent Intemet, there is no explicit way for the link algorithm and the source algorithm

to communicate with each other. After receiving congestion information from the link

algonthm implicitly, the source algorithm adjusts the rate of sending trdtic. As an

illustration, FIFO, RED, and RED with ECN are link algorithms. RED detects congestion

by setting a threshold on the average queue size and informs the sender implicitly by

dropping a packet randornly when average queue size is greater than the threshold. RED

with ECN detects congestion the same way as RED does, but instead of dropping the

packet randomly, it marks the packet randomly to explicitly inform the sender.

As far as the source algorithm is concerned, there are many TCP fiow control

algorithms to adjust the rate at which traffic is injected into the network in response to

congestion feedback notification from the link algorithm. To that extent, coordination

between the link alprithm and source algorithm is very crucial. For example, RED and

TCP- Reno cm work together because Reno rate adjustment is based on packet drop and

RED detects congestion and notifies Reno by packet drop. In contrast, RED is not

compatible with TCP-Vegas because Vegas rate adjusment is not only based on packet

drop but also on round trip measurement. Therefore, to improve the overall performance

of Vegas, either source algorithm should be changed or compatible link algorithm should

be investigated or both.

Page 45: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

4.2 Enhanced TCP-Vegas

Probably the most innovative feature of TCP-Vegas is its congestion detection

mechanism during congestion avoidance, which leads to a stable window size that does

not oscillate enormously like TCP-Reno. Hasegawa [13] claims that the condition of

unchanging window sizes results in most of TCP-Vegas drawbacks, particularly in

uniaimess to old connecuons and creaung persistent congestion inside the network.

Hasegawa [13] proposes an algorithm, Enhanced TCP-Vegas, to intentionally force the

window size to oscillate around the appropriate value and prevent the convergence of the

window size to a stable point. Their aigorithm is based on setting a equd to fl in TCP-

Vegas. Intuitively, the idea came from the fact that TCP-Reno and its ancestor. TCP-

Tahoe. do not penalize the old connections after a new connection is established.

Therefore, making the window size performance closer to TCP-Reno can be helpful.

Referring to Equation (U), making a equd to fi introduces more oscillation in

congestion window size. As previousl y mentioned, Vegas tries to keep the backlogged

queue size in a lirnited interval, namel y between a and /? . When the bac klogged queue

size is less than a , congestion window size is increased by one and when backlogged

queue size is greater than /? , congestion window size is decreased by one. Having set a

equal to /? , the congestion window will oscillate around the convergence point.

4.2.1 Fairness Evaluation of Enhanced Vegas

Enhanced Vegas proposai only focused on the simple network topology, a single-

hop network with onIy two connections where they are homogenous. The homogenous

connections have the same propagation delays. Back to Equation (2.8), it can be seen that

any over-estimation of the propagation deiay for a connection still leads to an increase in

window size. In the next part, we will see from the simulation results that the congestion

window size oscillation, proposed by Hasegawa, is not able to cornpensate this effect.

Page 46: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Here, we conducted two sets of simulation with different values of a and 1 to

evaluate the performance of the Enhanced Vegas algorithm. The network mode1 is

shown in Figure 2.3. The following parameters were used: al1 link bandwidths and

propagation delays ,except bottleneck link's, are l Mbps and jms, respectively. The

bottleneck link capacity and propagation delay are OSMbps and 20msec respectively.

Packet sizes for al1 connections are the sarne and are equal to 1Kbyte. Each simulation

lastcd for 50 sscondst Sourzzs SI and S2 eatablinli tlieir co~mections aiter 1 second and

connection 3 joins to the network d e r 10 seconds. As it can be seen in Figure 4.1, the

allocated bandwidth to the new connection is almost three times greater than the old

connections. Furthemore, before the third co~ec t ion joins the network, the congestion

windows of the old connections oscillate, but after that the queue size reaches steady state

and there will be no longer enough oscillation in the congestion window sizes. This is

unexpected from the algorithm.

9 - c

I m r i c

L a m p

I C I U l i I

i

Page 47: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Figure 4.1 Comection goodputs and instantaneous queue lengths for enhanced Vegas

Why is congestion window not oscillating in our simulation result? The reason is

that; when diff is equal to a . the congestion window remains unchanged (Equation

(2.1)). In order to remove the stability from window size, this condition should be

removed from window update algorithm (the equali ty condition should be included either

in the increasing or in the decreasing sections). To that extent. the enhanced Vegas

algorithm has been changed and implemented in ns-2 as follows:

WindowSize + 1 diff < a PVindo rvSke =

Part (b) of the above simulation (a = p = 2) is repeated with this new algorithm. based

on Equation (44 , and the results are shown in Figure 4.2. Despite the oscillation in the

window size, due to over-estimation of BaseRn, the last connection still receives more

bandwidth than its fair share. Even worse, the actual throughput is slightly smaller than

that of original Vegas implementation. with different threshold on window size, due to

window size oscillation.

Page 48: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Lower throughput for enhanced Vegas can be expected because its oscillating

window size behavior is very similar to TCP-Reno, which has less goodput than Vegas.

The main conclusion from this section is that oscilIation in window size cannot

compensate the over-estimation of BaseRIT.

nt t . 1

î *#) ' a m 8 '. r . . . . *

8 . C .. Y . . . . A . .

r r n m c

S L I P - .- - *¶m-

1mPC

4-+

*m.-

1 P P -

I I l L P . -

Figure 4.2 Comection goodputs and congestion windows for old and new connections

Page 49: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

4.3 Vegas and DRR at the Gateway

Perhaps one of the simplest link algorithms to provide isolation between flows to

achieve faimess in terms of throughput is weighted round robin (WRR). The buffer at the

router is divided into multiple queues and each queue is served in round robin order. To

be as fair as possible, the WRR server must know the average packet size before hand.

This is not pncticai when packet size is variable. To eliminate this drawback, deficit

round robin (Dm) [31] keeps the state of each queue to measure the "deficit" or past

unfairness by use of a deficit counter for each queue. The queuing discipline

corresponding to each queue is FIFû. However, a new algorithm is proposed in [30],

DRR+, that combines RED and DRR. In other words, the queue management in each

logical queue is RED instead of FIFO.

Deploying Vegas, and choosing a better scheduling algorithm at the gateway

might be a remedy for the intrinsic unfairness of Vegas. In this way, by using DRR

gateways to provide the necessary isolation among different usen, the unfaimess of

Vegas c m be resolved [29], [30]. To provide perfect isolation arnong the users. a separate

logical queue will be required for each user, which is alrnost impossible for a large

nurnber of different users. In other words, as the number of connections increases, it is

impossible that DRR can assign a separate logical queue to each connection: therefore,

severai connections should share one logical DRR queue. Eventually, we return to the

sarne problem of original Vegas and a shared FIF0 buffer, which leads to an unfair

allocation of bandwidth among those connections sharing a single queue. Moreover, to

provide fairness, DRR needs to keep the state of each logical queue. This will incur ex tn

processing time overhead. In a nutshell, using complicated scheduling algorithm, e.g.,

weighted fair queuing (WFQ) and DRR, usually ends up in scalability problems. Using

DRR+ at the gateway does not help to irnprove the fairness problem of Vegas because of

the incompatibility between RED and TCP-Vegas.

Page 50: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

4.4 Active Vegas

As repeated several times in the literature. Vegas has achieved a better throughput

than TCP-Reno, but it fails to keep the faimess arnong different usen, and creates

persistent congestion. In the previous sections, we enumerated recent proposals to

overcome this problem and explained their weaknesses. We believe, for TCP-Vegas to be

deployed in the future Intemet, it requires to be modified to improve the unfaimess

arnong different users. In this section, we introduce Our own algorithm, called "Active

Vegas".

From the previous simulations and proposals, it c m be observed that a better

estimation of the BaseRïT is highly required. On the other hand, using a separate queue

for each flow to achieve faimess is not practical from the point of view of scalability. A

better estimation of propagation delay can be achieved if queuing delay can be removed

from the BaseRïT rneasurement.

To remove the delay corresponding to the backlog queue in the gateway from the

measurement, we propose a new algorithm. It is based on the active network approach

described in chapter 3, to combine a modification in Vegas and a prionty queuing in the

gateway. In other words. our proposal is based on out-band monitor packets. Active

extension of Vegas allows us to employ an strategy in which the gateway is enhanced

dynarnically to improve the faimess of the Vegas. In the default implementation, there is

a single Drop Tai1 queue shared by al1 of the connections. By receiving an activelmonitor

packet. the gateway changes its queuing mechanism to a priority queue. To provide an

out-band path, it creates a fast route for the monitor packet. The buffer at the gateway is

logically divided into two separate queues, one with higher priority than that of the other.

In this way, high priority packets will be forwarded without expenencing any queuing

delay at the gateway. Every time TCP-Vegas enters the congestion avoidance phase

(congestion window greater than slow start threshold), it transmits the first packet as a

high priority packet, an out-band urgent packet, to monitor the network. Its

acknowledgement can provide a better estimation of propagation delay. Further, we

assume no delayed acknowledgment to be installed at the receiver. The expedited packet

can be either a regular data packet or a separate monitor/control packet. If the regular data

Page 51: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

packet is used to perform monitoring operation, it has the advantage of reducing the

overhead of consuming extra bandwidth for sending separate monitor packet. This cm

mitigate active Vegas scheme overhead. Moreover, if the high pnority packet is lost, we

presume that active Vegas is intelligent enough to send another monitor packet until it

receives its acknowledgement. Since there is no packet loss in our simulation, we did not

implement this mechanism in our simulation.

Slow Start Congestion Avoidance A

Sender -1

Figure 4.3 Packets in transit for active Vegas

As mentioned in chapter 2, every tirne a new comection is established. due to

delay corresponding to backlog queue. last connection over-estimates BuseRTT, which

results in opening its window size more than its share. Now with Active Vegas, there will

be no or very minor queuing delay for the marked expedited packets. Therefore, there

will be very small over-estimation in BaseRn, and more faimess will be achieved.

Flow from al1 connections 1

I I . . . I I

D m Low priority I I I 1 1 1 1 1 0 0 1 - - 1 - - - 1 1

Figure 4.4 Prionty queue at the gateway

Page 52: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Figure 4.4 shows our dynamic queue modification in response to monitor active

Vegas packet. It is also possible to send urgent packet penodically to check if there is any

change in the routing path. We will discuss this in ~e future research section. In the next

part, we run the fint preliminary simulations to see the algonthm problems and

weaknesses.

Simulations

In the firçt part of this section, we use the network topology shown in Figure 4.5 to

examine the performance of Active Vegas. Instead of drop tail, a pnonty packet

scheduling has been implemented in R1 and al1 sources send priority packets when they

enter to congestion avoidance phase after a slow start. It is worth mentioning that cr and

/3 are set to 1 to 3, respectively. The propagation delay for al1 links are jmsec and

packet size is 1 Kbyte. The first and second connections are established afier one second

and the third c o ~ e c t i o n joins the network after I O seconds.

4

S1 Dl

Figure 4.5 Network mode1

It can be seen kom Figure 4.6 that the faimess has been achieved in this simple

simulation. However, extensive simulation is required to evaluate this proposal.

Therefore, as a first step, in the next part we run the simulation with 4 Active Vegas

sources.

Page 53: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Figure 4.6 Comection goodputs for 3 Active Vegas sources

In Table 4.1, three algorithms (original Vegas. enhanced Vegas and active Vegas) are

compared from the point of view of achieved average goodput (packet/second, packet

size = 1KByte). The network mode1 and simulation scenario are the same for three

algorithms.

Table 4.1 Comection throughput for 3 different version of Vegas

1'' comection znd comection zrd connection

In the next part, a forth connection joins the network after 20 seconds. Recall

from the simulation in Chapter 2 (Figure 2.6) that later connection establishment of S4

leads to a very unfair allocation of bandwidth, particularly for co~ect ions 1 and 2. The

results with active Vegas simulation are s h o w in Figure 4.7. As it cm be observed, not

only faimess has been irnproved , the number of packets backiogged in the gateway

buffer has also been decreased to 12 packets, the number that we expected. Each

connection keeps at most 3 packets in the bufEer: so, 12 packet is the maximum number

of packets in the buffer.

Original Vegas a 4 . P = 3

20.0667 20.1333

25.52

Enhanced ~ e g & a = p = 2

19.93 3 19.1

26.86

Active vegas a 4, f l =3

2 1.65 22.45 20.8

Page 54: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Figure 4.7 C o ~ e c t i o n goodputs and instantaneous queue size for 4 Active Vegas sources

it is worth mentioning that buffer size is large enough to avoid any drop. From

Figure 4.7, it can be seen that a better faimess has been achieved with Active Vegas

compared to original Vegas im plementation.

4.4.2 Single Bottleneck Network Simulations

In this section. we simulate Our proposa1 with many senders and receiven. The

simple network mode1 that was simulated in this section is the one descrîbed in Figure

4.8. I t consists of a single bottleneck s h e d by 30 point-to-point connections. For all

cases, the shared link has 1Mbps bandwidth. Also, a lMbps access link connects each

hosts to the router such that a flow is setup fiom host Sx to host Dx and is identified by a

flow Idx. Packet size for dl of the connections is 1Kbyte. The Propagation delay of the

access links and the shared link are 5ms and 20ms, respectively. Six sets of simulations

were conducted under this topology with different TCP algorithms at senders and

different packet scheduling algorithms at the router. To compare some of the simulation

results, different buffer sizes were also investigated. Successive connections (i= 1. . . . .30) joins the network every one second. Al1 of the senders tum off after 100 seconds and

each simulation lasted for 1 10 seconds.

Page 55: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Bandwidth = lMbps

Access Links Bandwidth = LMbps

Delay = Srnsec

Figure 4.8 Network topology

In the fint four mns of simulation, buffer size is set to 100 packets and the following

scenarios are simulated.

Scenario 1: Active Vegas, a = 1 and #? = 3

Scenario 3: Active Vegas, a = ,î3 = 2

Scenario 3: Original Vegas with Drop Tail, a = L and /? = 3

Scenario 4: Original Vegas with Drop Tail, a = /? = 2

Page 56: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

In Figure 4.9, the average and the standard deviation of each connection goodput

are shown. Each figure corresponds to a different scenario. The x-axis and y-axis

represent the index of the co~ec t ion and the corresponding goodput, respectively. The

stars and vertical bar; correspond to the mean and the standard deviation of the rate

oscillation. The number of received packets in one second is calculated as the connection

goodput.

V

O 5 10 15 20 25 30 connedon index

l5 i+ alpha- 1 ,beta=3,PropTail 4.

alpha. b a . 2 . PQ

L O 5 10 15 20 25 30

connectior. index

-" O 5 10 15 20 25 30

connedon index

-" O 5 10 15 20 25 30

connection index

Figure 4.9 Goodput vs. connection index for 4 different scenarios

Figure 4.9 illustrates that active Vegas provides a better faimess among the

connections. Setting equal values for a and ,û gives an even better fairness than two

different values for a and 8. However, it produces more variation in the window size

and hence in the throughput. On the other hand, cr # ,û will converge to a settiing point

very quickly and therefore less oscillation in the window size and the throughput.

Page 57: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

The performance of original Vegas with Drop Tai1 at the gateway is very poor and

surpnsingly, it does not behave as we expected. From the previous simulations, we

expect that original Vegas with Drop Tai1 at the gateway allocates more bandwidth to the

new connections than old connections. This is not the case in the current simulation. To

find out the reason, buffer occupancies of active Vegas and original Vegas with Drop

Tai1 are shown in Figure 4.10.

Figm 4.10 Buffer occupancies for the different scenarios, buffer size 100 packets

Page 58: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Active Vegas not only improves the faimess but also leads to less nurnber of

packets logged in the buffer. Figure 4.10 answers our question about the behavior of

original Vegas and Drop Tai1 buffer at the gateway. Potentially, originai Vegas induces

persistent congestion and creates large queues at the gateway up to the point that Reno

like behavior kicks in; buffer overflows, packet drops, and the window size is halved.

Since 100-packet buffer size is not enough for original Vegas, after 30 sec, packets start

to dm:, and the perfommce hecomes sirnilx to Reno.

As mentioned in [ I l ] , [2], if the buffer is not suficiently large. equilibrium

cannot be achieved, loss cannot be avoided, and Vegas will go back to Reno. It's worth

mentioning that creating less congestion is another advantage of active Vegas compared

to original Vegas.

To have a better view of the two algorithms in the same conditions. we repeated

the last two scenarios of the simulation with enough buffer size to avoid any loss. which

resulted in no packet drop. To remove al1 of the start up transient fiom the calculations.

mean goodputs for al1 connections under different scenarios were calculated in the last 60

seconds of simulation and they are shown in Figure 4.11.

+Active Vegas, alphacbeta -t- Active Vegas, alpha=beta -t- Original Vegas, alpha~beta +Original Vegas, alpha=beta

Figure 4.1 1 Mean goodput of each connection under different Vegas algonthms

Page 59: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Figure 4.1 1 confirmed our previous observation that active Vegas with equal a and /9 results in a fair allocation among the connections. To investigate the nurnber of

backlogged packets for active Vegas and original Vegas, we conducted the simulation

again for original Vegas with infinite buffer size. Buffer occupancy for original Vegas is

show in Figure 4.12. Comparing Figure 4.12 and Figure 4.10, it c m be observed that

active Vegas creates Iess congestion in the buffer compared to original Vegas.

Figure 4.12 Buffer occupancy for original Vegas (infinite buffer size)

Afier al1 connections join the network, original Vegas back logged 170 packets in

the buffer while active Vegas back log queue size is about 65 packets. This is two and a

haif times less than original Vegas. One of the features of TCP-Vegas is that Vegas

attempts to keep at l e s t a packets but no more than f l packets in the queues. Active

Vegas, by its monitor packets and prionty queuing, cm provide and support this feature

with a good approximation. Frorn the simulation with 30 connections, we expect the

backlog queue size to be Iess than 90 packets ( f l = 3). This was satisfied by active

Vegas. In contrast, as it cm be observed, original Vegas cannot achieve this feature and

creates more congestion in the network.

Page 60: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

4.4.2.1 Round Trip Time Measurement

To compare BaseRn measurement and estimation in both active Vegas and

original Vegas, we show the values of BaseRïT measured by different connections in

Figure 4.13. Again. the x-axis represents the connection index.

1st rtt measurement i 2nd rtt update A 3rd rtt update

Active Vegas, alpha=l , beta=3 Active Vegas, alpha=beta=2

Connection index

Original Vegas, al pha=l , beta=3

O 10 20 30 40

Connectron index

Connection index

Original Vegas, alpha=beta=2

O 1 O 20 30 40

Connection index

Figure 4.13 BaseRïT of connections for al1 scenarios

Page 61: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

The main point behind Figure 4.13 is that original Vegas cannot estimate the

BasRm properly. End-to-end delay c m be calculated as follows:

(End-to-end delay) = (Transmission delay) + (Propagation deZay)

+ (Packet Processing delay) + (Querting delay)

Considering the access link transmission delays in our calculation, the BrrreRTT should

be around 80 to 100msec. Since the packet size is IKbyte, and link capacities are lMbps,

the transmission delays corresponding to the bottleneck link and the access links wiil be

around 8msec. Moreover the propagation delay is 30msec; hence, adding al1 together, the

BaseRTT will be 84msec. As it can be seen in Figure 4.13, active Vegas gives a very

accurate value (88msec) for BaseRlT for al1 connections. In contrast. original Vegas

BaseRlT estimates becorne wone and worse when a new connection joins the network

such thl3t the BaseRTTestimate for the last connection is more than 1 second.

4.4.2.2 Fairness Evaluation

The faimess criterion has been widely studied in the litenture but no single

metric has been comrnonly accepted [32]. In this research, we consider a "fair share per

link" metric; when n users share a bottleneck link, each flow bas the right to llnth of the

capacity of the bottleneck bandwidth. lain's faimess index [33] is applicable in this

context. For n flows, with flow i being allocated an xi on the bottleneck link, the faimess

index is defined as follows:

Fairness

Page 62: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission
Page 63: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

+Active Vegas, alpha<beta +Active Vegas, alpha=beta

+Original Vegas, alphacbeta +Original Vegas, alpha=beta

Bottleneck link propagation delay

Figure 4.15 Faimess vs. bottleneck link propagation delay (link capacity = 4Mbps)

Observation frorn Figure 4.15 reveals that original Vegas faimess increases with

an increase with propagation delay. In other words, original Vegas perfoms better in

long TCP co~ection. The reason is that in long TCP co~ect ion, the share of the queuing

delay in the total end-to-end delay becomes smaller. As a result, the over-estimation error

in Base R 7T becomes smaller; and consequently unfaimess will be reduced.

4.4.2.3 Buffer Occupancy Although active Vegas does not suggest a way to completely eliminate persistent

congestion, it mitigates the level of the congestion in the network. As we discussed in

section 2.5.2, the over-estimation of BaseRTT results in larger backlog. The simulation

results with 30 sources and destinations also confirm the fact that original Vegas undcr-

estimates the number of packets in the burer, due to over-estimation of BaseRlT for new

connections. On the other hand, active Vegas achieves the expected number of packets in

the buffer, which is n p for n active connections. Comparing Figure 4.10 and Figure 4.12

reveals that active Vegas mitigates the level of congestion in the network with less

number of backlogged packets. Table 4.2 summarizes the buffer occupancies.

Page 64: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Table 4.2 Buffer occupancies for 4 different implementations of Vegas

Buffet Occupanc y

(pac ke t)

4.4.2.4 Summary of Simulation Results

in this section, we surnrnarize Our simulation results for the single buttleneck

network with 30 sources and destinations in tabular format, which is shown in Table 4.3.

1 1 Active Vegas 1 Active Vegas 1 Original Vegas 1 Original Vegas

Onginal Vegas

c r = F = z

Osciliatory

L 62

Active Vegas

a=i.j3=3

Stable

68

Active Vegas

a = B = 2

Oscillatory

64

Miuirnurn faimess

metric

Minimum fairness

me tric

Original Vegas

a = i , p = 3

Stable

170

Maximum BaseRTï

(mil tisecond)

CU =i. f l =3

1

0.998 1

Minimum BuseRn

(milliseconci)

Maximum mean

throughput

( pac ketkec)

throughput

(pac ketfsec)

I

a =/? = 2

0.9805

0.9166

1120 I I

84.96

6.42

Minimum mean 1 1

Table 4.3 Summary of simulation results

92.64

1

L

B uffer occupancy

1 (packet)

a =i. /? =3

0.9 106

0.785

84.96

4.26

= p = ?

0.8333

0.6673

92.64

68

1 180.64

84.96

9.1

84.96

10.54

64 170 162

Page 65: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

4.4.3 Multi-hop Network Simulations

To M e r study the fairness performance of active Vegas under situations where

connections experience different round trip delay and traverse different number of

gateways, a rnulti-hop network topology, as illustrated in Figure 4.16, is implemented in

ns-2.

Figure 4.16 Multi-hop network mode1

S 1 SS S7

Core links

Bandwidth = lOMbps Bandwidth = lMbps

It consists of 8 connections. The shared links have lMbps capacities. Also, a lOMbps

access link connects each host to the router. A flow is setup from host Sx to host Dx and

is identified by a flow Idx. Packet size for al1 of the connections is 1Kbyte.The

propagation delays of the access links and shared links are 5msec and SOmsec,

respectively. Two sets of simulations were conducted under this topology with active

Vegas (a = f l = 2), and original Vegas ( a = /3 = 2) with no packet &op. Successive

Delay = Smsec Delay = 50msec . D8

:

Page 66: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

connections (i = 8,7, .. ., 1) join the network every two seconds. Al1 of the senders turn

off after 100 seconds and each simulation lasted for 1 10 seconds.

Fim of d l , Ict us look at average congestion windows during congestion

avoidance phase for difiierent connections under active Vegas and original Vegas, which

is s h o w in Figure 4.17.

Ri Active Vegas Mriginai Vegas

a 1 2 3 4 5 6 7 8 Connection index

Figure 4.17 Average congestion windows for different connections

Since the First four co~ec t i ons are homogeneous, they should have the sarne window

size to share the bandwidth equaily. Figure 4.17 illustrates that original Vegas cm not

achieve this. The average congestion window sizes are 10.2 1 and 18.39 for c o ~ e c t i o n 4

and c o ~ e c t i o n 2 respectively, which has a difference of 7 packets. On the other hand,

active Vegas can force al1 of the homogenous connections to have the sarne window size,

e.g. average congestion window sizes are 1 1.47 and 11.84 for connection 4 and

connection 1 respectively

Another important thing io note, which is cornmon to both active and onginai

Vegas, is that Vegas in general does not penalize long TCP connections. As it can be seen

in Figure 4.1 7, short TCP connections have smaller window size compared to long TCP

Page 67: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

connections (connection 8 has the smallest propagation delay and connections 1,2,3, and

4 have the longest propagation delays). This will result in fair allocation of bandwidth

among al1 of the connections. To have a quantitative idea, Figure 4.18 describes the

connection goodputs versus different connections.

i L I I

1 l

20.=[ , :

20

L

19.5 O 2 4 6 6

connection index

Origine) Vegas

+ l

I &

t 1

' * - e l .

r * C

connedan index

Figure 4.18 Goodput vs. connection index for active and original Vegas

Same as single bottleneck topology, the average and the standard deviation of

each c o ~ e c t i o n goodput is illustrated in Figure 4.18. To remove the startup transient

from the calculation, mean goodputs were averaged in the last 80 seconds of the

simulation. Again, active Vegas performs better and allocates the bandwidth more fairly

than original Vegas. The differences between maximum and minimum mean values of

the connection goodputs are 2.46, and 11.77 packetfsec for active and original Vegas

respectively, which shows a better f ahess with active Vegas. As mentioned before,

active Vegas does not penalize long TCP connections, i.e. co~ec t i ons 1, 2, 3 and 4 with

Page 68: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

longer propagation delays receive the same share as connection 8 with srnailest

propagation delay.

To compare BaseRTT measurement and estimation in both active Vegas and

original Vegas, we show the values of BuseRï7' in millisecond measured by different

connections in Table 4.4. In this table blank slots mean that BoseRTT was not ,updated

during the simulation, because the first measurement had the smallest value.

Table 4.4 BaseRTT estimation for active and original Vegas

For the fint 4 homogeneous connections, the minimum possible value for BaseRTT

theoretically is 561.6msec. The transmission delay for the R1, R2, R3, R4, and R5 is

âmsec, for R6 is O.8msec. The propagation delay is 260msec. As it c m be seen in Table

4.4, active Vegas estimates BaseRn with a much better accuracy than original Vegas.

BmeRTT measured by active Vegas is 571.008msec and BaseRn measured by original

Vegas is 721.024msec. The error comsponding to original Vegas is almost more than

LOOmsec, which leads to a very unfair bandwidth allocation.

BaseRTT Fit mesurement Last update

Ori_eind

665.024

72 1.024

633.024

585.024

526.704

364.384

256.08

129.983

Active

- -

568

568

- 346.642

240

-

Active Onginal

-

672

- - 480

360

340

-

1

7 - 3

4

5

6

7

8

573.632

565.632

571.008

571.008

462.703

348.384

240.08

129.984

Page 69: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Chapter 5

Conclusion

In this thesis, we have first focused on evaluating the essential characteristic of

TCP, mainly TCP-Vegas. We have obtained the results that TCP-Vegas sometimes fails

to keep faimess among connections. From those results, we have proposed the active

version of TCP-Vegas, which has better fairness than the original Vegas. This proposai is

based on a probe mechanism to better estimate the propagation delûy and measure the

smallest round trip delûy.

To what extent is the network performance improved? What is the ptice of this

improvement? What are the problems created by this new proposal? This chapter answers

the above questions, and concludes the thesis with a summary of areas for future work,

and research contributions.

Page 70: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

5.1 Discussion We noted that the measurement of the propagation delay in TCP-Vegas is not

robust .The primary goal of this thesis is to decrease the effect of enor in round trip delay

estimation from TCP-Vegas algorithm (a delay-based congestion control mechanism). In

the generd case where the route remains the sarne during the connection time, the

propagation delay can only be over-estimated because of the queuing delay. We observed

that over-estimation of propagation delay leads to unfair resource allocations of the old

connections. As stated previously. TCP-Vegas intends to keep between a and

packets in the buffen. However, with the over-estimation of BoseRTT. although it

beiieves that it has between a and #3 packets in transit, in fact it has many more packets

in transit. In other words, biased BaseRTTcauses more packets to be backlogged in the

buffers. This induces persistent congestion in the network.

Throughout the course of this research, we leamed that a probing mechanism is

useful for discovering the path characteristics, such as deiay, queue length and

bandwidth. Along the same Iine, we propose active TCP-Vegas which consists of an

extension to original Vegas. This change requires support both frorn gateways and host IP

la yen.

Assuming no changes in the connection route, we have demonstrated that sending

a high pnority probe packet by TCP-Vegas, and fast forwarding rnechanisms at the

gateways resolve the problem of BaseRZT over-estimation. Our simulation results with a

single bottleneck and multi-hop networks are shown that this simple enhancement to

TCP-Vegas improves the fairness and reduces the number of packets in transit; and hence

level of the congestion in the network.

The most innovative feature of TCP-Vegas is the window control mechanism

based on delay measurement, which results in stable window size and higher throughput.

However, a packet loss would still lead to a congestion window reduction by a large

amount. Therefore to achieve the improvements proposed by TCP-Vegas, packet drops

should be prevented. Otherwise, the Reno behavior will kick in, congestion window will

oscillate, many retransmissions will occur, and throughput will be decreased.

Page 71: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Since the performance improvernent heavily depends on probe packet

acknowledgement, we further assume that probe packets and their acknowledgments are

not dropped or lost. Moreover, we assume that probe packets cary the same T'OS and IP

security options as the regular data packets will. In a nutshell, we assume the sarne route

for data and probe packets.

We believe that we c m encourage TCP-Reno usea with a proper incentive to

switch to -4ctive TCP-Vegas by using a simple priority drop tail scheduling mechmism a:

the gateways to provide better throughput and less delay. The only concern is the

incompatibility of Vegas and Reno, 3s stated in the literature [12]. In other words, Reno

and any variant of Vegas, enhanced or active, c m not share the s m e buffer. To remedy

this problem, a DRR scheduling mechanism to provide the necessary isolation between

the Reno usen and the Vegas users cm be proposed.

5.2 Drawbacks The important drawbacks of Our proposa1 are as follows:

Coordination and support between Active TCP-Vegas and IP layer is required, since

the active Vegas probe packet should be marked at IP header. For Ipv4. this c m be

done using the IP type of service (TOS) octet, although six bits of this byte has

already been assigned to differentiated services code point (DSCP). In Ipv6, there is

an IP priority field that cm be used for marking active Vegas probe packet.

Support from gateways should be provided to probe packets. The major drawback of

our proposal is that a priority &op tail scheduling algorithm should be implernented

at every gateway in the network. This condition might not always be fulfilled.

One of the advantages of Our proposal is that no changes in the current receiver

implementation are required. However, receivers can not install delayed

acknowledgement. This condition is not limited to our proposal and is comrnon

among dl delay-based congestion control mechanisms.

Page 72: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

5.3 Future Research Directions Although this research has addressed an important problem of delay-based

congestion control mechanism, particularly TCP-Vegas, several issues remain for further

investigations. The following lists some of the future research directions.

1. Rerouting also causes error in propagation delay estimation. When the route

changes dunng the connection time, the propagation delay may increase. The

sender believes, this increase in round trip delay is a result of congestion in the

network, and consequently decreases its transmission rate. This will result in a

poor utilization of the network. With rerouting, we face an under-estimation of

BaseRTT. One solution to this problem is sending probe packets periodically. One

of the problems that needs further investigation is: what is the effect of the

frequenc y of probe packets?

II. We did not consider the effect of other traftic in the performance of active TCP-

Vegas. What types of mechanisms are required to isolate the active Vegas flows

from other trafic? Can active Vegas and Reno share the same buffer? if so, what

type of queue mniagement and scheduling is appropriate in the buffer? These are

the questions that need to be addressed.

III. Although the in-band approach is simple to implement, and creates less overhead,

in Our proposai, probe packets are out-band. It is also possible that instead of fast

forwarding of the probe packets (out-band approach), they are forwarded like

regular data packets (in-band approach). in the in-band approach, gateways dong

the route must update the probe packet the queuing delay it experiences.

Furthemore, in-band mechanism also requires support from the peer hosts. Once

the probe packet reaches the end of its route, the queuing delay information it has

collected must be piggybacked in the acknowledgement.

N. Since TCP-Vegas was aiready implemented as a patch to the LENLTX kernel,

active Vegas extension c m also be implernented in the LINUX kernel to further

study the performance in a reai network.

Page 73: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

5.4 Research Contributions This thesis has addressed a number of issues regarding the congestion control

mechanism of TCP-Vegas. With simulation analysis, this thesis has presented severai

drawbacks of TCP-Vegas, which have their root in round trip delay estimation. To

improve the faimess performance of TCP-Vegas, this thesis proposed a mechanism based

on the active networking approach. We develop "Active TCP-Vegas" that efficiently

estimates the path propagation delay. The simulation results from Our work lead to the

following observations and conclusions.

Faimess Performance. We investigate the faimess performance of active TCP-Vegas

and compare it with original TCP-Vegas. We expenment with both a single

bottleneck and a multi-hop network. Our results show that active Vegas fairly

allocates the bandwidth arnong the connections, and does not penalize the old

connections in favor of the new connections.

Persistent Congestion. We examine the buffer occupancy of active Vegas. We show

that better estimation of BaseRTT leads to a smaller number of packets backlogged in

the buffers compared to original Vegas. This decreases the level of congestion in the

network.

Page 74: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

References

T. V. LAshman, U. Madhow, "Performance Analysis of Window-Based Flow

Control using TCPIIP: The Effect of High Bandwidth-Delay Products and Random

Loss", Proceeding of HPN'94. 1994.

L. S. Brakmo, L.L. Peterson, 'TCP Vegas: End-to-End Congestion Avoidance on a

Global Internet", IEEE Journal on Selected Areas in Commiinications, Oct. 1995,

pp. 1465-1480.

J.S.Ahn, P.B. Danzig, 2. Liu and L. Yan, "Evaiuation of TCP Vegas: Emulation

and Experiment", Compziter Cornmrinication Review. ACM SIGCOMM, 1995, pp.

185-195.

Z. Haas, " Adapti ve Admission Control". Cornputer Cornmcinications Review. ACIM

SIGCOMM, Jan. 1991, pp. 58-67.

V. Jacobson, "Congestion Avoidance and Control", SIGCOMM Symposiirm on

Communications Arcltitectzires and Protocols, 1988, pp. 3 14-329.

V. Jacobson, "Modified TCP Congestion Avoidance Algorithm". Technical report,

Apr. 1990, ftp://ftp.ee.lbl.gov/email/vanj.90apr30.txt.

R. Jain, "A Delay-Based Approach for Congestion Avoidance in Interconnected

Heterogeneous Computer Networks", Cornputer Communications Review. ACM

SIGCOMM, Oct. 1989, pp. 56-71.

K.K. Rarnakrishan, R. Jain, "An Explicit Binary Feedback Scheme for Congestion

Avoidance in Computer Networks with a Connectionless Network Layer", Proc.

ACM SIGCOMM, Aug. 1988, pp. 303-3 13.

2. Wang, J. Crowcroft, "A New Congestion Control Scheme: Slow Start and Search

Uri-S)", Computer Commiinication Review, ACM SIGCOMM, 1990.

[IO] L. S. Brakmo, S. W. O'Malley and L. L. Petenon, 'TCP Vegas: New Techniques

for Congestion Detection and Avoidance", Proc of ACM SIGCOMM'94, Oct. 1994.

pp.24-35.

Page 75: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

[Il] T. Bonald, "Comparison of TCP Reno and TCP Vegas via Fluid Approximation",

Technicd Report, m, 1998. Availabie at

http://www .dmi .en~.fr/%7ernistraYtcpworkshop. html.

[12] J. Mo, R.J.La, V. Anathararn and J. Walrand, "Analysis and Comparison of TCP

Reno and Vegas", Globecomm '99.

[13] G. Hasegawa, M. Murata and H. Miyahara, "Faimess and Stability of Congestion

355,262, Control Mechanisrn of TCP", 11''' ITC Specinlis? Seminar, Ocr. 1998, pp. -dd

[14] S. H. Low, L. Peterson, and L. Wang, "Understanding TCP Vegas: Theory and

Practice", TR 6 i 6-00, Feb. 2000. AvaiIabIe at

h ttp://www .ee.mu.oz.au/staff/slow/papers/vegas.ps.

[15] ns-2 Simulator, Available at http://www-rnash.cs.berkeley.edu/ns/.

[16] C. Kent and J. MoguI, "Fragmentation Considered Harmful", K M SIGCOMM87,

Aug. 1987.

[17] A. Romanow and S. Floyd, "Dynamics of TCP Trflic over ATM Networks", IEEE

Journal of Selected Area in Communications, May 1995.

[18] S. Floyd, snd V. lacobson, "Random Early Detection Gateways for Congestion

Avoidance", IEEUACM Transactions on Networking, Aug. 1993, pp. 397413.

[19] D. L. Tennenhouse, and D. J. Watherall, "Towards an Active Network

Architecture", ACM Cornputer Cornmirnication Review, Apr. 1996, pp. 5- 18.

[20] S. Bhattachajee, K. Calvert and E. Zegura, "An Architecture for Active

Networking". froc. High Perf: Networking 97, 1997.

[21] D. L. Wetherall, U. Legedza and J. Guttag, "Introducing New Internet Services:

Why and How", IEEE Nenvork Magazine, JulyIAugust 1998.

[22] B. Schwartz, A. W. Jackson, W. T. Strayer, W. Zhou, D.Rockwel1 and C. Partridge,

"Smart Packets for Active Networks", OPENARCH'99, Mar. 1999.

[23] S. Kasera, S. Bhattacharyya, M. Keaton, D. Kiwior. J. Kurose, D. TowsIey, and S.

Zabele, "Scalable Fair Reliable Multicast Using Active SeMces", IEEE Nework

Magazine (Special Isszte on Mirlticast), January/Fe bruary 2000.

[24] E. Takahashi, P. Steenkiste, J. Gao, A. Fisher, "A Programming Interface for

Network Resource Management", OPENARCH'99, Mar. 1999.

Page 76: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

(251 T. Faber, "ACC: Using Active Networking to Enhance Feedback Congestion

Control Mechansirns", IEEEE Neîwork Magazine, MayIJune 1998.

[26] M. Hicks et al. "PLANET: An Active Intemetwork", INFOCOMM '99, Mar. 1999.

[27] L. Zhang, S. Deering, D. Estrin, S. Shenker and D. Zappala, "RSVP: A New

Resource ReSerVation Protocol", IEEE Network Magazine. Sept. 1003, pp. 8- 18.

[28] K. Najafi, A. Leon-Garcia, "A Novel Cost Mode1 for Active Networks",

Proceeding of ?nt. Conf. on Communication Technologies, World Cornputer

Congress 2000.

[29] R.J.L. and V. Anatharam, "A Case Study for TCP Vegas and Deficit Round-

Robin Gateways", Available at http://www.path.berkeley.edu/-hyongla. Dec. 1998.

[30) G. Hasegawa, T. Matsuo, M. Murata and H. Miyahara, "Cornparison of Packet

Scheduling Algorithms for Fair Service among Connections on the Intemet".

Proceedings of iWS'99. Feb. 1999, pp. 193-200.

[31] M. Shreedhar and G. Varghese, 'Efficient Fair Queuing Using Deficit Round

Robin", Proceeding of ACM SIGCOMM'95, Sept. 1995.

[32] S. Floyd, "Connections with Multiple Congested Gateways in Packet-Switched

Networks, Pari 1 : One-way Traffic", ACM Computer Communications Review, Oct.

1991, pp. 30-47.

[33] D. Chiu and R. Jain, "Analysis of the increase and Decrease Algorithm for

Congestion Avoidance in Computer Networks". Computer Networks and ISDN

Systems, 17(1989) pp. 1-14

Page 77: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

Appendix

In this section, the simulation tool and experiment setup topology are descnbed

(most of the information in this part is brought from ns web page [15]).

A.l ns network Simulator

One of the goals of this thesis is to implement Our active Vegas proposai in ns

network simulation environment. ns is an event-driven network simulator. An extensible

simulation engine is implemented in C++ that uses MIT'S Object Tool Language, OTCL

as the command and configuration interface. The interface to ns must be written in TCL.

To run the simulator, one needs to be able to program TCL. It's usually convenient to

represent the results in xgraph form. However, some of graph is sketched with

MATLAB.

A network topology is realized using three primitive building blocks: nodes, links

and agents. The Simulator class has methods to createkonfigure each of these building

blocks. Agents are the objects that actively drive the simulator. Agents can be thought of

as the processes andor transport entities that run on nodes that may be hosts or routers.

TrafXc sources and sinks are al1 example of agent.

A. 1.1 Links

Links are created between nodes to form a network topology. In this project, we

used a duplex-link method that sets up a bi-directional link. Link bandwidth and

propagation delay c m be set. Since we are investigating Priority-Queuing scheduling

algorithm, PQ objects are attached to each link. PQ objects are a subclass of Queue

objects that implement priority based queuing. The only parameter that could be set is

limited to the queue size in packet. Default value of queue size is 50.

Page 78: An Application of Active Congestion Control in · An Application of Active Congestion Control in ... adjust the sending rate based on the congestion condition inside the ... Transmission

A.1.2 Source and Traffic Types

T ~ c object created data for a transport protocol to send. In our simulations we

used TCP as transport protocols. However, we implemented active Vegas as a subclass of

TCP agent. Al1 of TCP parameters are set as default (e.g.. window size is 20 packets). For

TCP protocol, FTP and TELNET source object c m be used. FlT objects produce bulk

data for a TCP object to send.

A.1.3 Trace and Monitoring

There are a number of ways of collecting output or trace data on a simulation.

Generaily trace data is either displayed directly during execution of the simulation. or

(more cornmonly) stored in a file to be post-processed and analyzed. The trace records

each individual packet as it arrives, deparis, or is dropped at link or queue. We can also

open files in the program to read / wnte any particular variable frodto it.

A.2 Measured Statistics

In this thesis, we mainly focused on two parameters, the end-to-end delay per

flow for each source (since al1 f sources transport one type of flow, it could be assumed

as end-to end delay for each source) and allocated bandwidth for each source, i.e. source

goodput.

As explained earlier, trace data is stored in a file. This file includes almost dl the

information from the simulation. Since the amount of data is very large, it's impractical

to inspect the records without some tools. Therefore several scripts for processing the

records was developed in AWK.

The raw trace records are first sorted by unique-id of each packet. Then fiom this

sorted file we extract those record belong to each flow and then we can calculate end-to-

end delay by subtracting the enque time from the source node and receiving time by the

destination node. After extracting necessary data h m the trace record, this information

will be ported to MATLAB to find the delay histogram and mean and variance for the

corresponding distribution.