04 21483
Computer and Communication Networks 2024 - 2025
Coursework Assignment
Introduction
A company is developing a hardware baby monitor that will allow parents to view and speak to their child remotely using an app. The monitor will be branded with a unique QR code that, when scanned, will provide identity information for the device and connection details for the inbuilt media server. In this assignment you will consider questions of security and privacy around the network connection to the device, before moving on to simulate the issues caused by flood routing of traffic.
Assignment Brief
Section A (50 marks available)
Part 1: Explain why DES keys are considered to provide suitable security for use in individual sessions, even though they are not regarded as best practice for long-term use in public systems. A good answer will refer to the key exchange problem, and the computational complexity of symmetric and public key encryption systems. (20 marks)
Part 2: In order to protect the video from the baby monitor as it passes over the network, the baby monitor company plan to make use of a combination of Rivest–Shamir–Adleman (RSA) public / private keys and Data Encryption Standard (DES) session keys to encrypt the data stream between the camera and the app. By drawing a diagram of the data exchanges between the app and the monitor, illustrate how this is achieved. You should also provide a narrative description of the processes shown in your diagram. You may assume that the company provides its own Certificate Authority system for verification of the device’s identity, and a good answer will include this verification step alongside the various key and data exchanges between the two devices. (30 marks)
Section B (50 marks available)
Part 1: Using Python write a programme to simulate flood routing in a network with at least twenty-five nodes connected with a fixed probability of 0.25. Each packet should contain a counter (n=10) that is decremented every time the packet moves between nodes. When the counter gets to zero, the packet is discarded. Time is discrete, and each link can handle only one packet per time interval (i.e. only one packet in total may traverse the link at one time). Nodes should include a buffer to queue any additional packets (i.e. if two packets arrived in the previous timestep, at least one must wait in the queue for the outbound links to clear). Present your results in terms of the number of duplicate packets produced, and the congestion at each node, and suggest a possible solution for reducing this problem. You will be marked based on the following:
• A clear description of the flooding algorithm implemented, and of the network topology used; (10 marks)
• Graphical presentation of the results for each node (specifically, the number of queued packets over time); (10 marks)
• Analysis and discussion of the results, and proposed solution for reducing the problem of duplicate packets; (20 marks)
• Well-structured, working code with appropriate instructions to run the simulation as comments at the start of the file. (10 marks)
Individual Work
You are expected to work individually on this assignment. Submissions will be checked, and any cases of plagiarism will be treated according to University policy. Guidance on plagiarism is available online at https://intranet.birmingham.ac.uk/as/studentservices/conduct/plagiarism/guidance- students.aspx
Use of Generative AI
The University has adopted a set of common principles that shape institutional and programme-level work to support the ethical and responsible use of Generative AI (https://www.birmingham.ac.uk/university/hefi/gai). The use of Generative AI is not permitted in this assignment. As part of the cover page of your report (see below submission information) you must provide a full written answer to the following statement:
I confirm that no generative AI tools, such as ChatGPT (or any equivalent alternative), have been used in the preparation of this assignment. (Yes/No)
Use of English
The following criteria on the use of English will be incorporated into your mark. To achieve a pass and above, your work must:
• Be written / spoken to an acceptable standard of English
• Use spelling, punctuation, vocabulary, sentence construction, and textual coherence
of an acceptable standard.
Your assignment will receive a failing mark if it includes:
• A poor standard of written / spoken English, making it difficult to understand the points being made.
• Weaknesses of writing / speaking either so frequent or serious that they impede communication.
Assignment Submission
Your assignment should be submitted in the form of a technical report. The report should be single-spaced, have a minimum font size of 12 point, and be a maximum of 6 pages in length including all figures, references, and appendices. A cover page should be added (which is not counted as part of the page limit) that should include the module name, the date and time submission is due, your name, your student ID, and the statement on the use of Generative AI.
Your code should be submitted as a single .py file alongside your report and will be subject to plagiarism checking.
The assignment is worth 45% of your overall mark for the module.
Report submission will be via Canvas. Your report is due by 12:00 (noon) on Tuesday 6th of May 2025. Any submissions received after this point will incur a penalty of 5% per day (or part thereof), so make sure you allow plenty of time for your submission.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。