ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution
Jiri Matousek1, Gianni Antichi2, Adam Lucansky3 Jan Korenek1, Andrew W. Moore2
1Brno University of Technology 2University of Cambridge 3CESNET
ClassBench-ng: Recasting ClassBench After a Decade of Network - - PowerPoint PPT Presentation
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution Jiri Matousek 1 , Gianni Antichi 2 , Adam Lucansky 3 Jan Korenek 1 , Andrew W. Moore 2 1 Brno University of Technology 2 University of Cambridge 3 CESNET Agenda Introduction
1Brno University of Technology 2University of Cambridge 3CESNET
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 2 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 3 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 4 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 5 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 6 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 7 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 8 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 9 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 10 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Distribution Prefix Length eqix_2015 eqix_2005
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 11 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Distribution Trie Depth eqix_2015 (2-children nodes) eqix_2015 (1-child nodes) eqix_2005 (2-children nodes)
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 12 / 39
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Average Skew Trie Depth eqix_2015 eqix_2005
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 13 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 Distribution Prefix Length eqix_2015 eqix_2005
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 14 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 Distribution Trie Depth eqix_2015 (2-children nodes) eqix_2015 (1-child nodes) eqix_2005 (2-children nodes)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 Average Skew Trie Depth eqix_2015 eqix_2005
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 15 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 Distribution Prefix Length eqix_2015 eqix_2013
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 16 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 Distribution Trie Depth eqix_2015 (2-children nodes) eqix_2015 (1-child nodes) eqix_2013 (2-children nodes)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 Average Skew Trie Depth eqix_2015 eqix_2013
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 17 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 18 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 19 / 39
EM AR LO HI WC WC HI LO AR EM 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Destination port class Source port class
EM AR LO HI WC WC HI LO AR EM 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Destination port class Source port class
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 20 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 21 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % in_port mac_src mac_dst eth_type vlan_id vlan_prio ip_tos ip_proto ip_src ip_dst l4_src l4_dst Distribution Header Fields specified wildcarded Rule Set in port mac src mac dst eth type ip proto ip src ip dst l4 src l4 dst
123 27 593 1 3 478 109 4 48 (0.866) (0.032) (0.047) (<0.001) (0.003) (0.046) (0.009) (0.029) (0.022)
140 19 791 1 3 390 97 4 8227 (0.864) (0.081) (0.050) (<0.001) (0.001) (0.028) (0.007) (<0.001) (0.927)
182 45 1176 1 3 498 119 6 8237 (0.599) (0.042) (0.041) (<0.001) (<0.001) (0.020) (0.004) (0.001) (0.742) ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 22 / 39
0 % 5 % 10 % 15 % 20 % 25 % 30 % 35 % 4 7 8 512 516 519 524 527 788 789 796 1024 1032 1304 1305 1551 2048 Distribution Rule T ype Number OpenFlow rules from combined of1+of2 rule set ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 23 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2015-06-19 2015-06-20 2015-06-21 2015-06-22 2015-06-23 2015-06-24 2015-06-25 2015-06-26 2015-06-27 2015-06-28 2015-06-29 2015-06-30 2015-07-01 2015-07-02 2015-07-03 2015-07-04 2015-07-05 2015-07-06 2015-07-07 2015-07-08 2015-07-09 2015-07-10 2015-07-11 2015-07-12 2015-07-13 2015-07-14 Rate of Changes Day of Origin ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 24 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 25 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Distribution Trie Depth seed (2-children nodes) generated (2-children nodes) ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 26 / 39
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Average Skew Trie Depth seed generated ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 27 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 28 / 39
1 branching probability adjustment (↓) 2 skew distribution adjustment (↑) 3 prefixes length distribution adjustment (↓)
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 29 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 30 / 39
1 uses Improved ClassBench to generate given number of IPv4
2 removes IPv4 5-tuple fields that are not part of the given
3 adds OpenFlow-specific header fields that are part of the
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 31 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 32 / 39
n
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 RMSE Trie Depth ClassBench-ng (2-children nodes) ClassBench (2-children nodes) ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 33 / 39
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 RMSE Trie Depth ClassBench-ng ClassBench ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 34 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 4 5 7 8 512 516 517 519 524 525 527 788 789 796 1024 1032 1304 1305 1548 1549 1551 2048 Distribution Rule Type Number seed generated ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 35 / 39
0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 % any c2:81:09 fa:16:3e ff:ff:ff 00:e0:2b 00:00:00 01:00:0c 01:00:00 01:80:c2 Distribution mac_dst seed generated ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 36 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 37 / 39
ClassBench-ng: Recasting ClassBench After a Decade of Network Evolution 38 / 39