← Back to Projects
SDN Router — POX/OpenFlow (Mininet)
Python SDN app on the POX controller. Implements routing and basic firewall over a campus‑style topology (Core, Faculty, Student Housing, IT, Data Center, Internet stubs). Handles ARP, per‑subnet forwarding, and policy enforcement.
~[X] msavg ICMP RTT (lab)
[Y]/[Y]tests passed
+[Z]%policy coverage
Objectives
- Forward IPv4 traffic across distinct LAN subnets via OpenFlow rules.
- Handle ARP separately (flood/learn) and avoid type errors on non‑IP frames.
- Enforce firewall policies (e.g., block guest → data‑center, allow trusted PCs).
Implementation
- Topology: s1 core; s2 Faculty; s3 Student Housing; s4 IT; s5 Data Center; Internet stubs on s1:6–8.
- Hard‑coded subnet→port mapping helper for deterministic routing.
- ARP handled first by ethertype; flood, learn, and cache sender IP↔MAC.
- Routing via
ip
matches and output ports; idle‑timeout flows reduce controller load. - Firewall rules installed at higher priority before general forwarding.
Results
- End‑to‑end connectivity across all subnets with stable throughput.
- Unauthorized guest→data‑center traffic blocked while preserving trusted access.
- Concise rule sets with clear control/data‑plane separation.