Problem-1: Create the network topology
Write a python script to create the topology given in the Fig.1. In this topology H1, H2, H3, and H4 are hosts and S1, S2, S3, and S4 are OpenFlow switches. Specify bandwidth, delay and loss rate for each link of your choice. Assign appropriate port numbers to the switch interfaces and accordingly use in your implementation.
Please refer attached document for topology(Figure)
Problem-2: Push the flow rules
Implement a controller which pushes flow rules on switches to satisfy following traffic constraints.
· No traffic should be allowed between H3 and H1.
· The HTTP traffic between H4 and H1 should be routed through Switch S2 and any other traffic between H4 and H1 should be routed through Switch S3.
· The traffic between H3 and H2 should be routed through Switch S3.
· The traffic between remaining nodes should follow shortest path.
Problem-3: Link Bandwidth Measurement
Once the flow rules are pushed, create necessary traffic flows to calculate instantaneous bandwidth for the following:
· Measure and print the instantaneous bandwidth on the links connected to the Switch S2.
Problem-4: Packet loss Count for a specific traffic flow
· Calculate the packet loss count between the switches S4 and S1 for the HTTP traffic flow
H4 —S4 — S2 — S1 — H1
· Calculate the packet loss count between the switches S4 and S1 for the non-HTTP traffic flow
H4 —S4 — S3 — S1 — H1
1) Topology implementation file: prob1.py
2) Controller implementation file: prob2.py
3) Controller implementation file: prob3.py
4) Controller implementation file: prob4.py