The risk of congestion collapse on the Internet is becoming a reality
given the increasing number
of audio/video applications that use UDP as their main transport! E4 M* b1 {/ q/ R
protocol. Unlike TCP, these
traffic do not respond to congestion signal; i.e., a packet loss. As a
result, audio/video
applications may take an unfair share of the network bandwidth and
also cause persistent
congestion. To avoid congestion collapse, the IETF has proposed that9 Z6 ]/ G2 u$ Y2 Z( _4 C& v7 Z
audio/video applications
use equation based congestion control (see Lecture‐7 and the reference
given on the next
page).
In this assignment, you will simulate n
sources that uses
equation based congestion control to
set their transmission rate. From your simulation, you will determine
whether equation based
congestion
control is effective in reducing packet loss, and hence congestion.
The above network can then be simulated as follows:
Initialization
Set the router’s queue size to N, meaning it can hold up to N packets.
For each sender, set an initial transmission rate, and determine the9 ~' T$ t! q& F0 k7 [- _ G
time when the first packet is
to be generated.
Body
FOR t=1 to SIM_TIME DO
{
1. IF the router’s queue is not empty then dequeue a packet, and
enqueue that packet in
the corresponding receiver’s queue.
2. IF a sender has a packet to send THEN
‐ Check if the router’s queue is full. If not, enqueue the sender’s
packet. Otherwise,
discard the packet.
3. Determine whether any packet loss rate messages are generated by! P l* T# a& a) g- y1 d3 y
receivers. If yes,
then re‐compute the sender’s transmission rate. Determine the new time
when the
next packet will be generated. I.e, t+k, where k is the time interval
until the next packet
arrives.
4. Collect all required statistics.
}
In your simulation, collect the (a) queue length over time, (b)
average queue length, (c) average
end‐to‐end packet delay, and (d) Jain’s fairness index. Determine the
effect of the following
factors: (i) increasing source and receiver pairs, (ii) varying N6 n9 @3 A" k5 q, J' Z
values, (iii) different packet loss
reporting periods, (iv) loss calculation methods, (v) load p, (vi)
router’s transmission rate;
instead of one packet per‐tic, try k packets, and (vii) z
number of new flows2 f7 r" O+ Q2 U. h$ f6 O* T8 {
arriving at time t .
Do with sources
using a token/leaky bucket to control their transmission rate.
Another difference is that each source has an application that
generates bursty traffic, where
multiple packets arrive in consecutive time intervals.
To generate bursty traffic, use the following method:
In the diagram above, an application generates a packet when it is in
the ON state. With
probability k, it will transition to the OFF state where it will remain idle. In6 }1 L/ S7 r, X! l5 j" A& S0 `
this state, it has
probability z of moving back to the ON state.
The pseudo‐code is as follows:
1. Start at a random state: ON/OFF.
2. At every simulation tic, do
a. Select a random number R in 0<= R <=1.
b. If in state=ON: l, H" [/ P1 j$ {8 v2 W1 Q6 \6 A
AND R>=k, set state=OFF.
c. If in state=OFF AND R>z, set state=ON.
d. If state equals ON, generate a packet.
Design an algorithm to control the token/leaky‐bucket rate of each
source (or all sources
simultaneously) such that congestion does not happen. Note, you must
experiment with
different k' T; w: [, H4 [8 h" r! [
and z& R: u4 \3 F4 J1 w6 a; C
values and determine6 G' D- t/ I* P. C2 w8 |3 r
their impact on congestion.
Reference
S. Floyd, M. Handley, J. Padhye,
and J. Widmer (2000) Equation-based Congestion Control for Unicast
Applications, ACM SIGCOMM, May,
2000.
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |