You are required to create a software program using the Python programming language that correctly displays Throughput (T) and Utilisation (U) on an Ethernet network for a set of predefined conditions (successful completion of this task will equate to a minimal pass).
For additional marks; enhance the program to show how throughput and utilisation are affected by varying the packet size and other network parameters. (additional marks will be given in order of complexity).
Throughput on a computer network is the number of raw data bits transmitted, without including any protocol overheads. So, if the throughput is 70 Mbit/s in a 100 Mbit/s connection, the channel efficiency (another word for throughput) is 70% i.e. 70Mbits of actual data are transmitted every second. Network utilisation is a term related to the use of raw data bits and the overheads which normally consist of preamble sequences, frame headers and acknowledge packets. For example: in an Ethernet network the maximum frame size is 1526 Bytes (a maximum 1500 Byte payload + 8 Byte preamble + 14 Byte header + 4 Byte trailer). An additional minimum interframe gap corresponding to 12 Bytes is inserted after each frame. This corresponds to a maximum utilisation of 1526 / (1526+12) x 100% = 99.22%, or a maximum channel use of 99.22 Mbit/s. The maximum throughput is then 1500 / (1526+12) = 97.5 Mbit/s i.e. the data throughput without the protocol overhead. The aim of this assignment is to develop a good understanding of the Python programming language and how it can be applied to the data throughput and channel utilisation of an Ethernet network. Please consider the following network parameters:-
Id = Intermodal distance (i.e. the distance between each node on the network) (meters)
L = Distance between end nodes (i.e. the distance between the first and last node on the network) (meters)
N = Number of nodes on the network
c = Signal velocity (approximately 2/3 the speed of light in copper) = 2 x 108 m/s
T = Packet transmission time (s)
PL = Packet size / length (bits)
R = Channel transmission rate (bps)
P = Propagation delay (s)
U = Channel Utilisation
S = Throughput (bps)
Please consider the following basic equations:
L = Id(N – 1) Equation 1. (Distance between end nodes)
P = L/c Equation 2. (Propagation Delay)
T = P_L/R Equation 3 (Packet Transmission Time).
U = P/T Equation 4 (Utilisation)
S = UR Equation 5 (Throughput)
Consider a typical Ethernet type LAN with 10 stations and average inter-nodal distance of 200 meters, a transmission rate of 5Mbps and a packet size of 1000 bits. If the propagation speed is 2 x 108 m/s. Calculate data Throughput and channel Utililisation.
(minimum objective): Implement the above in a Python script file so that T (Throughput) and U (Utililisation) are clearly displayed.
(advanced objective): Enhance your Python programme to show how Utililisation and Throughput are affected for a packet size that varies between 1000 bits to 10000 bits (9 equal increments from 1000). You could also ask the user to enter parameters such as transmission rate and inter-nodal distance. You may also wish to consider plotting the data by either writing the data to a hard disk and importing it to Excel (or equivalent), or by using the graph plotting functions in matplotlib available in WinPython.
To get a feel for the assignment, it is recommended that you initially approach this task by sketching out a flow chart. Think about what functions you might need (I would suggest that at least throughput and utilisation are implemented as functions and saved in a separate file and imported into the main Python script; and what variables (network parameters) you might need from the user. It is also suggested that you adopt a procedural approach to this programming assignment, although an object-oriented approach will carry additional marks due to the added complexity. Whilst it is possible to get maximum marks using the facilities available in the computer labs in Newton building. It is recommended that you install WinPython on your own machines and use the functions in matplotlib to present your results graphically. (a link to the matplotlib web site is available on Blackboard).
Please make sure you comment your code well and save any Python Code to Appendices.
Report [70% for documenting the primary task + 30% for documenting the secondary task, both tasks are marked in accordance with the following guidelines].
Report structure, presentation and clarity [20%]
Software design and implementation [50%]
Software testing [20%]
Your individual report should be about 3000 words in length with appropriate diagrams.
Marks for your assessment will be allocated based on the above guide and also in more detail in the assessment guide at the end of this brief:
Feedback will be provided to you in the form of electronic annotation of your reports and will be available through Turnitin system from Friday of week 35 (22/05/2020)
You can obtain support for this assessment by e-mailing Dr. Hope. Alternatively you may discuss the assignment with either members of staff in the lectures or workshops. AskUS The University offers a range of support services for students through askUS.
The University takes all forms of academic misconduct seriously. This includes plagiarism, asking someone else to write your assessment for you or taking notes into an exam. You can find out how to avoid academic misconduct here.
If you have any questions about assessment rules, you can find out more here.
If personal mitigating circumstances may have affected your ability to complete this assessment, you can find more information about personal mitigating circumstances procedure here.
If you have any concerns about your studies, contact your Personal Tutor or your Student Progression Assistant.
If you fail your assessment, and are eligible for reassessment, you will be given a second chance to complete an individual version of the assessment. The reassessment is capped at the pass mark of 40%
The following must be submitted to the assignment area on Blackboard by the date outlined above: An individual report that outlines the design, development and testing of your software; it should include as a minimum an explanation of your design (flowchart), what parameters were chosen and why, screen captures of results, and any useful data particular to the network. The report should approximate the following structure: Title page, Contents page, List of figures, Introduction, Design and Implementation, Test results, Conclusions, Further work, Appendices (Python code). This report is expected to be around 3000 words in length. You must also reference all research sources that you use in your report. To avoid missing the deadline for any reports, please allow extra time when submitting your coursework to allow for potential network problems.
This assignment forms 25% of your possible marks for a 20-credit module. You would be expected to spend about 25 hours of time on it. All the submission (diagrams and text) must be in electronic format and submitted through the Turnitin system accessible within Blackboard.
Feedback on the demonstration will be given verbally directly after the presentation. Feedback on the Individual Report will be available through Turnitin system within 3 weeks after submission. i.e. by Friday (22/05/2020).
Your submission must be entirely your own work or that of your group as appropriate to the type of submission. You must not plagiarise other people’s work, or allow your work to be plagiarised by others. You should not look at other group’s work for inspiration, you should not discuss your groups work, you should not share your groups ideas. At least a fair attempt must be made at referencing in the submitted report. Reports that contain poor or non-existent referencing will be deemed to have failed to meet the learning outcomes of the assignment and will therefore not achieve a pass mark. Please read the declaration on the Turnitin submission page. By submitting the work you are assumed to have agreed to this declaration.
Python assignment help, Python homework help, Python programming assignment help, Python programming homework help, Python programming essay help, Best programming assignment help website,Computer programming homework help, Java programming assignment help, Computer science homework help, Urgent programming assignment help, Online programming assignment help
Holding a PhD degree in Finance, Dr. John Adams is experienced in assisting students who are in dire need...
55 - Completed Orders
Canada, Toronto I have acquired my degree from Campion College at the University of Regina Occuption/Desi...
52 - Completed Orders
Even since I was a student in Italy I had a passion for languages, in fact I love teaching Italian, and I...
102 - Completed Orders
To work with an organization where I can optimally utilize my knowledge and skills for meeting challenges...
109 - Completed Orders
JOB OBJECTIVE Seeking entry level assignments in Marketing & Business Development with an organization...
202 - Completed Orders
Current work profile Project manager- The Researchers Hub (2nd Jan 2016 to presently working) Researc...
20 - Completed Orders
Sales Assistant, Mito Marina Assigned to the Stationery dept – assisted in merchandising, stock taking...
100 - Completed Orders