Subject: [Idr] draft-przygienda-idr-compressed-updates real life experiments

From: matecs <[email-masked]>
Date: Mon, 7 Aug 2017 08:03:31 +0200

hi,

i'm the author of http://freerouter.nop.hu/, and i've just finished the 
implementation of this draft,

and as a netadmin at as1955, i've enabled it on our infra to see the 
results.

first of all, my code puts a single prefix to an update, and immediately 
compresses it,

which is the worst case from the compression point of view, but the 
numbers are still nice!

1 and 2 are from dn42.net, ~600 prefixes, resulted 30% of the original.

3 and 4 are from my lab, ~100 prefixes, resulted 20% of the original.

5 and 6 are from live internet as seen at as1955,

rr1 is a subset, 2k prefixes, resulted 21% of the original.

rr2 is full table, 700k prefixes, resulted 14% of the original.

rr3 is not freerouter, so currently not supports compression.

7 and 8 are the detailed byte(packet) counters, connection means the 
bytes hit the line,

uncompressed is the bytes before the compression, without the 16 bytes 
marker.

9 and 10 are the raw compression and decompression times.

in summary, this feature taken the full table convergence time far below 
1 minute in our

geo-redundant rr cluster, and the implementation was fairly easy, so 
consider supporting it!

regards,

csaba mate

niif/hungarnet

1)
working-demo#show ipv4 bgp 1 compression
as          rx    tx    rx     tx     neighbor
4242428666  true  true  31.9%  34.7%  172.23.43.93
4242421955  true  true  24.6%  31.9%  172.23.199.100
4242428666  true  true  30.0%  32.1%  172.23.43.65
4242428666  true  true  22.9%  23.9%  172.23.43.66
4242428666  true  true  30.0%  32.1%  172.23.43.67
4242428666  true  true  30.0%  32.1%  172.23.43.68

2)
working-demo#show ipv6 bgp 1 compression
as          rx    tx    rx     tx     neighbor
4242421955  true  true  22.9%  17.5%  fd40:bad:dead:babe::4
4242428666  true  true  18.0%  18.0%  fd40:2343:64:fa52::1
4242428666  true  true  27.0%  28.5%  fd40:2343:64:fa52::ccc:1
4242428666  true  true  21.3%  21.4%  fd40:2343:64:fa52::ccc:2
4242428666  true  true  27.0%  28.5%  fd40:2343:64:fa52::ccc:4

working-demo#

3)
safe-rr#show ipv4 bgp 65535 compression
as     rx     tx     rx     tx     neighbor
65535  true   true   88.8%  22.9%  10.1.252.252
65535  true   true   88.8%  22.8%  10.1.252.253
65535  true   true   88.3%  22.9%  10.1.252.254
65535  true   true   88.8%  22.8%  10.1.252.255
65535  true   true   89.2%  22.9%  10.4.4.254
65535  true   true   69.7%  22.8%  10.10.10.12
65535  false  false  ??%    ??%    10.10.10.16
65535  true   true   89.6%  22.7%  10.10.10.88
65535  false  false  ??%    ??%    10.10.10.220
65535  true   true   81.0%  22.8%  10.10.10.221
65535  true   true   88.1%  22.7%  10.10.10.222
65535  true   true   76.2%  22.7%  10.10.10.224
65535  true   true   62.9%  22.8%  10.10.10.225
65535  true   true   54.3%  22.7%  10.10.10.226
65535  false  false  ??%    ??%    10.10.10.227

4)
safe-rr#show ipv6 bgp 65535 compression
as     rx     tx     rx     tx     neighbor
65535  true   true   50.6%  17.0%  2001:db8:1101::12
65535  false  false  ??%    ??%    2001:db8:1101::16
65535  true   true   66.9%  17.0%  2001:db8:1101::88
65535  true   true   67.1%  17.0%  2001:db8:1101::4254
65535  false  false  ??%    ??%    2001:db8:1101::220:220
65535  true   true   61.4%  17.0%  2001:db8:1101::221:221
65535  true   true   66.4%  17.0%  2001:db8:1101::222:222
65535  true   true   61.8%  17.0%  2001:db8:1101::224:224
65535  true   true   51.7%  17.0%  2001:db8:1101::225:225
65535  true   true   49.0%  17.0%  2001:db8:1101::226:226
65535  false  false  ??%    ??%    2001:db8:1101::227:227
65535  true   true   67.6%  16.9%  2001:db8:1101::252:252
65535  true   true   67.2%  17.0%  2001:db8:1101::252:253
65535  true   true   67.2%  17.0%  2001:db8:1101::252:254
65535  true   true   66.9%  17.0%  2001:db8:1101::252:255

safe-rr#

5)
kaputt.debrecen3#show ipv4 bgp 1955 compression
as    rx    tx     rx     tx neighbor
1955  true  true   21.6%  110.3% <rr1>
1955  true  true   13.1%  110.3% <rr2>
1955  true  false  ??%    ??%     <rr3>

6)
kaputt.debrecen3#show ipv6 bgp 1955 compression
as    rx    tx     rx     tx     neighbor
1955  true  true   21.3%  55.0%  <rr1>
1955  true  true   14.1%  90.7%  <rr2>
1955  true  false  ??%    ??%    <rr3>

kaputt.debrecen3#

7)
kaputt.debrecen3#show ipv4 bgp 1955 neighbor <rr2> status | begin conn
connection = tx=266(12) rx=12240655(707665) drp=0(0)
uncompressed = tx=241(4) rx=93246779(707657) drp=0(0)
buffer = max=1024000 rx=0 tx=1024000

8)
kaputt.debrecen3#show ipv6 bgp 1955 neighbor <rr2> status | begin conn
connection = tx=127(11) rx=772121(41130) drp=0(0)
uncompressed = tx=140(2) rx=5445920(41121) drp=0(0)
buffer = max=256000 rx=0 tx=256000

kaputt.debrecen3#

9)
mc36@kaputt:~$ time zip zzz /data/bmp.mrt
   adding: data/bmp.mrt
         zip warning:  file size changed while zipping /data/bmp.mrt
  (deflated 80%)

real    0m8.248s
user    0m7.329s
sys     0m0.124s
mc36@kaputt:~$

10)
mc36@kaputt:~$ time unzip zzz
Archive:  zzz.zip
   inflating: data/bmp.mrt

real    0m1.790s
user    0m1.428s
sys     0m0.208s
mc36@kaputt:~$