Using Python, C++, or JAVA, write a programme to simulate flood routing in a network with at least fifteen nodes. Each packet should contain a counter (n=10) that is decremented on each hop. 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 in either direction). Nodes should include a buffer to queue any additional packets.
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:
• Production of a well written report with clear explanation of the problem, and your
solution;
• A clear description of the flooding algorithm implemented, and of the network
topology used;
• Graphical presentation of the results for each node;
• Analysis and discussion of the results, and proposed solution for reducing the
problem of duplicate packets;
• Well-structured, working code.