{'fraction_non_alphanumeric': 0.02111324376199616, 'fraction_numerical': 0.0, 'mean_word_length': 5.135294117647059, '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}}
Implementing MPLS with label switching in software-defined networks

Label-based switching schemes, such as MPLS, have been known to be an effective mechanism in overcoming many challenges in core networks. Softwaredefined networking, while a much more recent development, is seen to have the potential to revolutionize networking. But some network researchers, even within the SDN community, believe, for SDN to flourish, it must adopt a more structured model with an intelligent edge and a fast but simple label switched core. This is an excellent use case for MPLS on OpenFlow. But, while there have been other implementations of MPLS in OpenFlow, they abandon the spirit OpenFlow by requiring sophisticated hardware. This thesis discusses our hybrid-OpenFlow implementation of MPLS that requires only commodity hardware in the core network. We accomplish this by compiling the MPLS labels that would have been encountered along a path through the network into a single label, which is stored in the packets’ destination MAC address field.