TKK |
Tietoverkkolaboratorio
| Opetus
S-38.188 Computer Networks (Spring-03)
Group work FAQ
Exercise class 19.3.2003
- More information on the RFC793edu TCP agent at
http://www.ce.chalmers.se/~fcela/rfc793edu.html
- In part two, where you are asked to calculate how many TCP flows are needed to keep the bottleneck full.
You can approximate the value by calculating the bandwidth delay product etc. or you can just try different values and check that the load of the bottleneck link is large enough. It is important that you have enough traffic and thus some congestion on the link.
It is also important that you have enough TCP sources so that the throughputs you get are statistically good estimates.
- When creating the TCP RFC793edu agent, don't forget to attach the ftp application to the RFC793edu agent!
Exercise class 2.4.2003
- Information on RFC793edu parameter choices (in my opinion trying out the different parameter values is not too difficult,
but due to popular demand, here are the answers). Parameters initialtimeout through expbackoff leave unchanged, others false if not true:
- Additive increase: additiveinc = true
- Additive increase + slow start: slowstart = true
- Additive increase + slow start + fast retransmission: slowstart = true, fastrtx = true
- In addition, setting ssthresh affects how the congestion window behaves at the beginning of the simulation
- You are allowed and encouraged to increase the simulation time!!!
- In 3.1. For parameter choices, experiment or justify your choice for the bottleneck parameters.
For window sizes, try the different window sizes at least in part 3.2., so that you can explain how the window size affects the congestion control
algorithms and so that you can justify your choice of maximum window size, used in other parts of the assignment.
- In 3.2. you are asked to simulate the congestion window, so your answer should include pictures of the congestion window and
analysis and comparisons of these pictures.
- In 3.4.5 EXTRA You need to come up with a procedure that monitors when the short TCP flow has sent all its packets.
There are different ways of doing this. One is to trace the TCP flow in question. Another type is the following (put it after the procedure, where you generate the TCP flows).
set so [open sessionover.dat w]
#When a TCP flow has sent all it has, write data into file
Agent/TCP instproc done {} {
global nssim so
puts $so "[$nssim now] -1 [$self set fid_] [$self set ndatapack_] [$self set ndatabytes_] [$self set nrexmitbytes_]"
$self close
$self init
}
Exercise class 9.4.2003
- In 3.3.7 the idea is to monitor and calculate the same things as in parts 5 and 6. So monitor
congestion windows for 2 sources per access link (4 in total) and calculate throughputs.
Questions answered in otax news
- The queuemonitoring procedure must be inserted into the code before the flowstats procedure. One possible reason that I can think of
is that the flowstats procedure is evoked only at the end of the simulation, but the queuestats procedure during the whole simulation time.
- In the manual there is a chapter on the FTP application, there you should find information how to send a given amount of ftp traffic.
This new procedure is in place of the command #nssim at 0 "$ftp start", from the command it is quite easy to see that the only word that can be changed is
start.
- The variables $tcp($i) are arrays so the variable name is $tcp and its 5th element is $tcp(5). When you have a procedure, you need to define
the variable tcp, but when you access a given element (e.g. 5th element) then you write $tcp(5).
- On how many TCP sources to choose in 3.3. I have given values of 15-25 per access link, it depends on the bottleneck link parameters. If you have too many
the TCP window sizes may be too small and real differences are hard to monitor, if you don't have enough sources, the calculation of average throughputs and variances (or standard deviations)
may not be statistically good estimates (this is also discussed in the FAQ bullets of the first exercise class).
If the information on this page is unclear mail to eeva.nyberg@hut.fi
Tietoverkkolaboratorio on nyt osa Tietoliikenne- ja tietoverkkotekniikan
laitosta. Tällä sivulla oleva tieto voi olla
vanhentunutta.
Kurssien ajantasainen tieto on MyCourses-palvelussa.