{'fraction_non_alphanumeric': 0.023662551440329218, 'fraction_numerical': 0.006172839506172839, 'mean_word_length': 4.723529411764706, '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}}
Design and implementation of TCP BBR in ns-3

Bottleneck Bandwidth and Round-trip propagation time (BBR) is a congestion based congestion control algorithm recently proposed by Google. Although it can be deployed with any transport protocol that supports data delivery acknowledgement, BBR is presently implemented alongside TCP (known as TCP BBR) in Linux kernel since 4.9 and is the default congestion control used in Google Cloud Platform. However, to the best of our knowledge, TCP BBR is not yet supported in popular network simulators such as ns-3. This limitation is a major hindrance in thoroughly studying the benefits of TCP BBR since carrying out large-scale and real-time experimental evaluations is a non-trivial task. In this paper, we discuss the design and implementation of a new model for TCP BBR in ns-3. We validate the proposed model by performing different sets of simulations to ensure that the model in ns-3 exhibits key characteristics of TCP BBR.