Assessed Coursework
Advanced Networked Systems – ANS(H) COMPSCI 4091
18/03/2022
20 hours per person
Copyright By PowCoder代写 加微信 powcoder
See ‘What to submit’ on page 3
Code of Assessment Rules for Coursework Submission
Deadlines for the submission of coursework which is to be formally assessed will be published in course documentation, and work which is submitted later than the deadline will be subject to penalty as set out below.
The primary grade and secondary band awarded for coursework which is submitted after the published deadline will be calculated as follows:
(i) in respect of work submitted not more than five working days after the deadline
a. the work will be assessed in the usual way;
b. the primary grade and secondary band so determined will then be reduced by two secondary bands
for each working day (or part of a working day) the work was submitted late.
(ii) work submitted more than five working days after the deadline will be awarded Grade H.
Penalties for late submission of coursework will not be imposed if good cause is established for the late submission. You should submit documents supporting good cause via MyCampus.
Penalty for non-adherence to Submission Instructions is 2 bands
Course Name
Coursework Number
Deadline Time:
% Contribution to final
course mark
Solo or Group Solo
Anticipated Hours
Submission Instructions
Please Note: This Coursework cannot be Re-Done
Advanced Networked Systems – ANS(H) Assessed Exercise: 2021-22
Date issued 07/02/22 Final submission deadline 18/03/2022
This is the main exercise for the ANS(H) module; it is worth 20% of the assessment for the course (the remaining 80% is for the Spring examination).
Description
You are asked to demonstrate and measure the effects of congestion occurring in the below networked topology using Mininet. Having multiple paths leading to the same destination offers redundancy and the possibility of exploring load balancing capabilities. However, a generic controller will not use such features if simply following the default flow rule installation. You need to modify the controller to achieve load-balancing through using all the available paths between s1 and s6.
The links should be configured with a maximum bandwidth of 10Mbps, a 2ms latency, and a queue size of 8. The above values will help demonstrate what would happen in links with limited capacity, as expected in a real network. The host IP and MAC addresses should be allocated according to their id with the prefix being 10.0.0.X and 00:00:00:00:00:0X, respectively, where X reflects the host id number (e.g., for host h5: 10.0.0.5, 00:00:00:00:00:05). The controller will be implemented using Ryu and OpenFlow1.3 to install/modify rules to the switches. You should use NetworkX to calculate paths and other routing decisions.
During the first stage of this assessment, you need to deploy the above topology and install the corresponding flow rules using the material from labs 5 and 6. Generate TCP and UDP traffic in separate experiments, initially with varying rates from one host, and then by simultaneously using more than one host. Multiplexing different types of traffic is not required. You can obtain the measurements either through using standard tools (e.g., iperf3, tc, tcpdump) or Ryu’s API. Report your findings on traffic patterns, losses, buffer overflows, and other statistics you think are important/interesting. The number of hosts and links that are tested does not need to be exhaustive, just enough to demonstrate congestion.
2 Continued Overleaf/
ANS(H) 2021-2022 Assessed Exercise
Once you have identified certain shortcomings stemming from the controller in-use, you need to re- write parts of the controller (or start from scratch, if you prefer) in order to mitigate the issues that impact performance. This is the second stage of the assessment. More specifically, you should use built- in load-balancing features that are enabled using specific OpenFlow tables and actions. Consult the documentation of PI, the OpenFlow Specification, OvS, and NetworkX, as well as any official documentation publicly available from these sources.
You will need to write a brief report (2000 words max) which will include your findings, reasoning, how your code works, and the achieved results.
You should start from small-scale experiments before deploying your controller in the above topology. Installing CLI rules in the beginning can help you identify what is/isn’t working and will help you develop the controller with fewer launches of the entire setup and topology which can take time. When your controller is configured to enable load balancing, some measurements might not be impacted as much as you might have expected. You should provide an explanation of why this happens in the report.
Assessment
Implementation (70%):
Marks will be awarded based on the variety of the tools you have used to test and measure different aspects of congestion (losses, overflows, etc). Your controller will be marked based on whether it achieves load-balancing, how efficiently it calculates and subsequently installs the rules, and how it can handle network changes and different topologies. Marks will also be awarded for professionally written code with comments, etc.
Report (30%): Marks will be awarded for coherent reports that address the main points of the relevant sections outlined above. Specifically, the issues that have been identified for the first/default controller configuration and the rationale behind your experiments. Explanations of how each tool was used to achieve the outcome are also expected. You should include measurements of the controller you developed and reflections on behaviour and performance. Report any omissions and incomplete implementations.
What to submit
Coursework will be submitted electronically via Moodle no later than 16.30 on Friday, 18th March 2022. Submission links will be provided on Moodle ANS page for the following items:
Softcopy version of your system – all of the source code for your system (Python files, launch scripts, etc.) should be produced as a single .zip file, called
Softcopy version of your report – a single .pdf file called GUID.pdf.
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com