程序代写代做代考 graph Account

Account
Dashboard
Courses
Groups Calendar Inbox History PebblePad
Accessibility statement
LinkedIn Learning
Help
!
Advanced Networking Assignments TCP Dynamics
2020/21
Home
Modules
Announcements
Assignments
Discussions Grades People Panopto Zoom
TCP Dynamics Due Friday by 17:00
This is a substan!ally re-worked version of previous years’ exercises.
Submit Assignment
File types pdf
Points 25
Available 26 Oct at 9:00 – 14 Nov at 23:59 20 days
a file upload
Submi!ng
tcpdynamics.uk (ironically, a server located in Amsterdam) has a problem. It is dropping packets. This makes its network performance somewhat poor, as the packets have to be retransmi”ed. Your task in this exercise is to analyse and explain the behaviour of TCP in the face of packet loss.
This exercise is open-ended: in previous years, each year we have uncovered something new that we did not previously know about modern TCP implementa!ons. I have run some basic tests on this year’s set-up but I am doing so from home, where my networking has some unusual features.
Your student accommoda!on networks will be disparate (or, for some of you, desperate), so there will be more varia!on in past years.
There are forty ports available on tcpdynamics.uk, with different characteris!cs.
Port 4000 is an h”p server which does not lose packets (or at least, not inten!onally).
Ports 4001–4009 lose 5, 10, 15…45% of packets in both direc!ons (ie, the packets it sends to you, and the packets you send to it). They are otherwise “standard Linux”.
The same pa”ern repeats for port 4010 to 4019, except selec!ve acknowledgement is disabled. The same pa”ern repeats for port 4020 to 4029, except window scaling is disabled.
The same pa”ern repeats for port 4030 to 4039, except window scaling AND selec!ve acknowledgement are disabled.
In each case, 40X0 loses no packets, 40X1 loses 5%, up to 40X9 losing 45%.
[[ Please note: the method I have used to disable sack and wscale is rather new. I am confident this works, but if you see problems — window scale or selec!ve acknowledgement leaking into packets on these ports — please tell me as soon as possible. ]]
There are files with a range of sizes available as test data: the names are self-explanatory. 16K 64K 256K 1M 2M 4M 8M 16M 32M 64M
If you fetch a file, with for example
h”p://tcpdynamics.uk:4035/256K
you will see the loss: acknowledgements will need to be resent, and there will be some gaps in packets arriving.
You can use port 4000, 4010, 4020, 4030 to compare non-lossy connec!ons with different characteris!cs.
The best command to use is probably
curl -v -4 -o /dev/null h”p://tcpdynamics.uk:4003/256K
but anything equivalent will work (wget, socat, a web-browser)
Part 1 (40%): using an appropriate tool (tcpdump, wireshark, ethereal, etc) and looking at ports 4030 through 4039, describe the strategy the server and the client use to maintain (some) throughput. These ports disable selec!ve acknowledgement and window scaling so should be the easiest to work with.
Part 2 (30%): compare the behaviour of ports 4030 to 4039: what is the overall drop in performance as packets are lost? You will need to think carefully about how you get representa!ve sta!s!cs.
Port 3 (30%): Using ports 4000 to 4009 (which have both selec!ve acknowledgement and window scaling enabled) and ports 4010 to 4019 (no SA) and 4020 to 4029 (no window scaling), how does the performance compare with the base case of using neither?
This exercise will almost certainly throw up problems with network stacks, both on my machine and yours. Therefore, I might need to change the precise setup of the machine over the course of the assignment. Make a note in your submission of when you gathered the data.
tcpdynamics.uk is available on both IPv4 and IPv6. It is set up the same on both, but I suspect that the characteris!cs of the hos!ng company’s network will be different. If you see differences, tell me.
I expect a report describing what you did and the results. It doesn’t need to be too long: 15 pages is more than enough. Graphs help.