Answered step by step
Verified Expert Solution
Question
1 Approved Answer
im working on my final year project , Topic is A network traffic simulation environment tailored for testing the resilience and performance of the network
im working on my final year project Topic is "A network traffic simulation environment tailored for testing the resilience and performance of the network infrastructure of NDMA Data Network"
please implement these steps
### Milestone : Represent the NDMA Network with Python Code
Step : Define the RouterNode Class
Create a Python class named Router to represent each routernode in the network.
The class should include the following properties:
forwardingcapacity egTbpsGbps
brand eg Huawei, Mikrotik
ports eg a list of tuples representing port numbers and their capacities, such as GbpsGbps
Step : Define the Link Class
Create a Python class named Link to represent each link in the network.
The class should include the following properties:
linktype eg fibre, microwave
capacity egGbpsGbpsMbps
sourcerouter reference to the Router object at one end of the link
destinationrouter reference to the Router object at the other end of the link
Step : Instantiate Router and Link Objects
Instantiate objects for each router and link in the NDMA network using the classes defined above.
Ensure all routers and links are interconnected according to the actual network topology.
Step : Visualize the Network Optional
Implement a method to visualize the network topology, possibly using a library such as NetworkX and Matplotlib for graphical representation.
### Milestone : Create MatricesTables that Represent Traffic Flows
Step : Define the Traffic Flow Class
Create a Python class named TrafficFlow to represent traffic flows between devices.
The class should include the following properties:
sourcedevice eg IP address or identifier of the source device
destinationdevice eg IP address or identifier of the destination device
amountoftraffic egMbps
Step : Create the Traffic Flow Matrix
Create a matrix or table to represent traffic flows.
Each row should correspond to a traffic flow with columns for From Device, To Device, and Amount Traffic.
Step : Populate the Traffic Flow Matrix
Populate the matrix with sample data representing typical traffic flows within the NDMA network.
### Milestone : Represent the Routing Table in the Code for Each Router
Step : Define the Routing Table Class
Create a Python class named RoutingTable to represent the routing table for each router.
The class should include properties and methods to store and manage routes eg destination network, next hop, metric
Step : Integrate Routing Tables with Routers
Add a routingtable attribute to the Router class, which is an instance of the RoutingTable class.
Implement methods to add, remove, and lookup routes within the routing table.
Step : Populate Routing Tables
Populate the routing tables for each router with initial routes, based on the NDMA network's routing configuration.
### Milestone : Input the Traffic Flow Matrix and Use the Code for the Routing Table to Show How Much Load is Put on Each Link
Step : Define the Traffic Simulation Function
Create a function that takes the traffic flow matrix as input and simulates the traffic flow through the network.
Use the routing tables to determine the path each traffic flow will take.
Step : Calculate Link Load
For each traffic flow, determine the links it traverses and calculate the load placed on each link.
Update the link objects with the current load based on the traffic flows.
Step : Output Link Load Data
Create a method to output or visualize the load on each link.
This could be in the form of a table, log file, or graphical representation.
### Milestone : Setup a Method so the User Can Vary the Traffic Flow Matrix
Step : Implement User Input for Traffic Flow
Create a user interface CLI or GUI that allows users to modify the traffic flow matrix.
Implement input validation to ensure the traffic flows are correctly formatted.
Step : Rerun Simulation with New Traffic Flows
Allow the user to rerun the traffic simulation with the modified traffic flow matrix.
Update the link load data based on the new traffic flows.
Step : Provide Feedback to the User
Output the new link load data to the user.
Highlight any changes in load and potential bottlenecks or overloads in the network.
Step :Optional Save and Load Traffic Scenarios
Implement functionality to save traffic flow matrices to a file and load them for future simulations.
This allows users to quickly test different scenarios without reentering data.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started