{'fraction_non_alphanumeric': 0.021109770808202654, 'fraction_numerical': 0.0018094089264173703, 'mean_word_length': 5.557312252964427, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Performance Comparison of Software-Defined Network Controllers

The concept of Software-Defined Networking (SDN) was introduced to replace the current network infrastructures suffering from being highly hardware-based, inflexible to change and development, error-prone for the configuration of proprietary devices, etc. Optimistically though, SDN is set to address these challenges by its intrinsic merits including its centralized software-based architecture with vendor-neutral devices, flexibility to change and development, the programmability of data transmission functionalities. Nevertheless, it has yet to be fully developed and implemented. One major reason behind this setback is believed to be a lack of advancement of a controller for centralized management of the SDN environment. To achieve a highly advanced and reliable controller, first, it is vital to find the most essential features and capabilities of the current controllers. With this, the paper intends to first, compare ten major existing SDN controllers against various essential criteria and then evaluate the scalability and performance based on various topologies using mininet, an SDN network emulator. Ultimately, after conducting both evaluative stages, the key results and contributions of this paper are 1. A detailed list of all the key features and capabilities that every controller must entail 2. Python-based controllers cannot meet the high performance and low latency in large networks whereas Java and C-based controllers can offer better scalability and performance 3. A verdict on the most suitable controller based on the Multi-Criteria Decision Making technique.