Elaborate the architecture of NOX and POX controllers of SDN with their comparison.
| Feature | NOX Controller | POX Controller |
|---|---|---|
| Language | C++ | Python |
| Architecture | Modular and Event-Driven | Modular and Event-Driven |
| Modules | Allows the implementation of various modules for specific functionalities. Each module can handle different aspects of network control. | Follows a modular architecture with separate components for different tasks. |
| Event Handling | Responds to events generated by the network, such as link changes or new hosts joining. | Event-driven architecture to handle network events efficiently. |
| Packet Processing | Processes packets in an event-driven way, making decisions based on the current state of the network. | Packet processing is a fundamental aspect, and decisions are made based on the network state. |
| Topology Discovery | Includes modules for discovering and maintaining the network topology, identifying the locations of switches and hosts. | Capable of discovering and managing network topology, ensuring an updated view of the network. |
| Flow Management | Manages flows in the network, determining how traffic should be forwarded based on network policies. | Handles flow management, deciding how data packets should traverse the network based on the established policies. |
| Programming Language Support | Primarily C++ | Primarily Python |
| Community Support | NOX development has slowed down, and it may have less active community support. | POX is a more recent development and may have a more active community. |