ARP Traffic Study Jim Rees, Manish Karir Research and - - PowerPoint PPT Presentation
ARP Traffic Study Jim Rees, Manish Karir Research and - - PowerPoint PPT Presentation
ARP Traffic Study Jim Rees, Manish Karir Research and Development Merit Network Inc. Outline Goals Experiment Setup and Architecture Experiments
Outline ¡
- Goals ¡
- Experiment ¡Setup ¡and ¡Architecture ¡
- Experiments ¡
– Scanning ¡ – Number ¡of ¡hosts ¡ – Traffic ¡load/paKerns ¡ – Host ¡failures ¡ – VM ¡MigraNons ¡ – Emulator ¡
- Conclusions ¡
ARP/ND ¡Traffic ¡Study ¡
- AKempt ¡to ¡understand ¡ARP ¡behavior ¡under ¡
various ¡condiNons ¡
- Recreate ¡various ¡environments ¡and ¡observe ¡ARP/
ND ¡traffic ¡
- Build ¡a ¡model ¡of ¡ARP/ND ¡based ¡on ¡experiments ¡
and ¡collected ¡data ¡
- Build ¡scalable ¡ARP/ND ¡emulator ¡for ¡large ¡scale ¡
experiments ¡which ¡can ¡mimic ¡various ¡ environments ¡for ¡evaluaNng ¡soQware/protocol ¡ impact, ¡and ¡perhaps ¡proposed ¡soluNons ¡ ¡
Network ¡Topology ¡
Experiment ¡Setup ¡
- VMWare ¡Cloud ¡Director ¡
– Resource ¡Pool ¡– ¡100GHz, ¡200GB ¡RAM, ¡3TB ¡Disk ¡ – 60 ¡Vapps ¡with ¡10 ¡VMs ¡each ¡ – Each ¡VM ¡4G ¡disk ¡256MB ¡RAM ¡– ¡Centos ¡5.5 ¡ – Single ¡flat ¡network ¡topology ¡/22 ¡network ¡block ¡ – Roughly ¡500 ¡VMs ¡used ¡in ¡tests ¡
- Herding ¡the ¡bot ¡
– Write ¡command/control ¡agent/controller ¡soQware ¡ – Allows ¡us ¡to ¡issue ¡commands ¡to ¡all ¡bots ¡to ¡start/stop ¡ services ¡ – Write ¡traffic ¡generator ¡soQware ¡to ¡generate ¡internal ¡and ¡ external ¡traffic ¡load ¡via ¡a ¡traffic ¡matrix ¡ ¡
Traffic ¡Generator ¡
- Runs ¡on ¡up ¡to ¡500 ¡hosts ¡
- Each ¡host ¡listens ¡for ¡commands ¡from ¡controller ¡and ¡
also ¡runs ¡web ¡server ¡
- Bot ¡controller ¡sends ¡UDP ¡broadcast ¡message ¡hosts ¡to ¡
start/stop ¡(no ¡ARP ¡traffic) ¡
- Each ¡host ¡has ¡list ¡of ¡other ¡hosts ¡to ¡contact ¡
- For ¡each ¡host ¡on ¡list: ¡
– wget ¡hKps://host ¡(v4/v6) ¡ – sleep(n ¡seconds ¡-‑ ¡configurable) ¡
- Host ¡list ¡updated ¡on ¡each ¡host ¡prior ¡to ¡experiment ¡ ¡
IniNal ¡Experiments ¡
- Effect ¡of ¡external ¡scans ¡
- Effect ¡of ¡number ¡of ¡hosts ¡and ¡relaNve ¡traffic ¡load ¡
- Effect ¡of ¡machine ¡failures ¡
- Effect ¡of ¡traffic ¡load ¡with ¡same ¡number ¡of ¡hosts ¡
- Effect ¡of ¡VM ¡migraNons ¡
- IPv6 ¡neighbor ¡discovery ¡behavior ¡(for ¡all ¡above) ¡
I: ¡Effect ¡of ¡External ¡Scans ¡
- nmap ¡scans ¡from ¡outside ¡
the ¡network ¡
- Measure ¡ARP/ND ¡traffic ¡
spikes ¡
- Monitor ¡CPU ¡load ¡on ¡
access ¡switch ¡
- Possible ¡to ¡cause ¡
transient ¡spikes ¡in ¡ARP/ ND ¡traffic ¡
- Effect ¡on ¡CPU ¡load ¡is ¡
greater ¡for ¡ARP ¡than ¡ND ¡
200 400 600 800 1000 1200 1400 1600 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp2-v4-8c Combined ARP Msgs ARP Requests ARP Replies CPU Load 200 400 600 800 1000 1200 1400 1600 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp2-v6-8c Combined ND Msgs ND Requests ND Replies CPU Load
IPv4 ¡ IPv6 ¡ CPU ¡Load: ¡ Normal: ¡10, ¡Peak: ¡20 ¡ CPU ¡Load: ¡ Normal: ¡10, ¡Peak: ¡30 ¡
I: ¡Effect ¡of ¡External ¡Scans ¡(single) ¡
200 400 600 800 1000 1200 1400 1600 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp2-v6-zoom Combined ND Msgs ND Requests ND Replies CPU Load 200 400 600 800 1000 1200 1400 1600 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp2-v4-zoom Combined ARP Msgs ARP Requests ARP Replies CPU Load
CPU ¡Load ¡ Combined ¡ARP/ND ¡Traffic ¡Rate ¡
II: ¡Effect ¡of ¡Number ¡of ¡Hosts ¡
- StarNng ¡up ¡up ¡to ¡500 ¡hosts ¡
100,200,300,400,500 ¡
- Stop ¡all ¡hosts ¡in ¡between ¡batch ¡
starts ¡
- Measure ¡startup ¡ARP/ND ¡traffic ¡
and ¡CPU ¡Load ¡
- Increase ¡overall ¡traffic ¡load ¡
roughly ¡5x ¡from ¡100 ¡– ¡500 ¡ hosts ¡
- IniNal ¡spike ¡in ¡CPU ¡load ¡similar ¡
for ¡both ¡v4/v6 ¡
- Roughly ¡linear ¡increase ¡in ¡ARP/
ND ¡traffic ¡
- Higher ¡ARP ¡traffic ¡rate ¡as ¡
compared ¡with ¡ND ¡ ¡ ¡
100 200 300 400 500 600 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp3-v6-s10 Combined ND Msgs ND Requests ND Replies CPU Load 100 200 300 400 500 600 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp3-v4-s10 Combined ARP Msgs ARP Requests ARP Replies CPU Load
IPv4 ¡ IPv6 ¡ 100 ¡ 200 ¡ 300 ¡ 400 ¡ 500 ¡ 100 ¡ 200 ¡ 300 ¡ 400 ¡ 500 ¡ CPU ¡Load ¡~ ¡40 ¡ 200 ¡pps ¡ 200 ¡pps ¡ CPU ¡Load ¡~ ¡40 ¡
IIb: ¡Effect ¡of ¡Traffic ¡
200 400 600 800 1000 1200 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp5-v6 Combined ND Msgs ND Requests ND Replies CPU Load 200 400 600 800 1000 1200 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp5-v4 Combined ARP Msgs ARP Requests ARP Replies CPU Load
- StarNng ¡up ¡500 ¡hosts ¡
- Hosts ¡aKempt ¡to ¡contact ¡varying ¡
number ¡of ¡acNve/inacNve ¡hosts ¡ (500/0, ¡400/100, ¡300/200, ¡ 200/300, ¡100/400) ¡
- Highest ¡possible ¡rate ¡zero ¡sleep ¡
- Stop ¡all ¡hosts ¡in ¡between ¡changes ¡
to ¡traffic ¡paKern ¡
- Measure ¡startup ¡ARP/ND ¡traffic ¡
and ¡CPU ¡Load ¡
- IniNal ¡spike ¡in ¡CPU ¡load ¡slightly ¡
higher ¡for ¡both ¡ARP ¡
- CPU ¡load ¡spike ¡roughly ¡same ¡
across ¡traffic ¡paKerns ¡ ¡
- Roughly ¡linear ¡increase ¡in ¡ARP/ND ¡
traffic ¡
- Higher ¡ARP ¡traffic ¡rate ¡as ¡
compared ¡with ¡ND ¡ ¡ 500/0 ¡ 100/400 ¡ 300/200 ¡ 500/0 ¡ 100/400 ¡ 300/200 ¡
IIc: ¡Effect ¡of ¡Number ¡of ¡Hosts/Traffic ¡
100 200 300 400 500 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp5b-v4 Combined ARP Msgs ARP Requests ARP Replies CPU Load 100 200 300 400 500 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load exp5b-v6 Combined ND Msgs ND Requests ND Replies CPU Load
- StarNng ¡up ¡all ¡500 ¡hosts ¡
- Contact ¡list ¡includes ¡all ¡500 ¡hosts ¡plus ¡
a ¡varying ¡number ¡of ¡inacNve ¡hosts(0, ¡ 100, ¡200, ¡300, ¡400) ¡
- Sleep ¡2 ¡seconds ¡between ¡connects ¡
- Stop ¡all ¡hosts ¡in ¡between ¡experiments ¡
- Measure ¡startup ¡ARP/ND ¡traffic ¡and ¡
CPU ¡Load ¡
- IniNal ¡spike ¡in ¡CPU ¡load ¡similar ¡for ¡
both ¡v4/v6 ¡
- Roughly ¡linear ¡increase ¡in ¡ARP/ND ¡
traffic ¡
- Slight ¡increase ¡in ¡CPU ¡load ¡for ¡v6 ¡
- Higher ¡ARP ¡traffic ¡rate ¡as ¡compared ¡
with ¡ND ¡ ¡
500+0 ¡ 500+400 ¡ 500+200 ¡ 500+0 ¡ 500+400 ¡ 500+200 ¡
IId: ¡Effect ¡of ¡Traffic ¡Load ¡
- Start ¡Traffic ¡generator ¡on ¡
500 ¡hosts ¡
- Vary ¡the ¡amount ¡of ¡load ¡
by ¡reducing ¡Nme ¡between ¡ communicaNon ¡events ¡ (50, ¡20, ¡10, ¡5, ¡2, ¡1 ¡ seconds) ¡
- Measure ¡ARP/ND ¡Traffic ¡
and ¡CPU ¡load ¡on ¡switch ¡
- ARP/ND ¡increases ¡roughly ¡
linearly ¡across ¡ experiments ¡ ¡
200 400 600 800 1000 1200 1400 1600 18:40:0018:45:0018:50:0018:55:0019:00:0019:05:0019:10:0019:15:0019:20:0019:25:00 5 10 15 20 25 30 35 Packets per Second Router CPU Load Time exp4-v4 Combined ARP Msgs ARP Requests ARP Replies CPU Load 200 400 600 800 1000 1200 1400 1600 05:00 10:00 15:00 20:00 25:00 30:00 35:00 40:00 45:00 50:00 5 10 15 20 25 30 35 Packets per Second Router CPU Load Time exp4-v6 Combined ND Msgs ND Requests ND Replies CPU Load
50 ¡ ¡ ¡20, ¡10, ¡ ¡5, ¡ ¡2, ¡ ¡ ¡1 ¡ 50 ¡ ¡ ¡20, ¡10, ¡ ¡5, ¡ ¡2, ¡ ¡ ¡1 ¡
III: ¡ ¡Effect ¡of ¡Machine ¡Failures ¡
- Start ¡Traffic ¡
generator ¡on ¡400 ¡ hosts, ¡80 ¡targets ¡
- Shutdown ¡targets ¡
in ¡groups ¡of ¡10 ¡
- Measure ¡ARP ¡traffic ¡
and ¡CPU ¡Load ¡
- ARP ¡traffic ¡
increases ¡as ¡ number ¡of ¡failed ¡ machines ¡increases ¡
100 200 300 400 500 02:35:00 02:40:00 02:45:00 02:50:00 02:55:00 03:00:00 03:05:00 03:10:00 03:15:00 03:20:00 03:25:00 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load Time exp1-5m-v4 Combined ARP Msgs ARP Requests ARP Replies CPU Load
10, ¡20, ¡30 ¡, ¡40 ¡, ¡50 ¡, ¡60, ¡70 ¡
IV: ¡Effect ¡of ¡VM ¡MigraNons ¡
- Start ¡Traffic ¡
generator ¡on ¡500 ¡ hosts ¡
- Roughly ¡36 ¡VMs ¡
- n ¡1 ¡blade ¡
- Place ¡blade ¡into ¡
maintenance ¡ mode ¡forcing ¡all ¡ VMs ¡on ¡that ¡blade ¡ to ¡migrate ¡to ¡
- ther ¡blades ¡
- Measure ¡ARP ¡
Traffic ¡ ¡
50 100 150 200 250 300 19:58:00 20:00:00 20:02:00 20:04:00 20:06:00 20:08:00 20:10:00 20:12:00 20:14:00 20:16:00 20:18:00 Packets per Second Time failover Combined ARP Msgs ARP Requests ARP Replies
V: ¡Highest ¡possible ¡Load ¡
- Start ¡traffic ¡
generator ¡on ¡500 ¡ hosts ¡
- All ¡hosts ¡
communicate ¡with ¡ all ¡other ¡hosts ¡as ¡ fast ¡as ¡possible ¡ (sleep ¡interval ¡= ¡0) ¡
- 30 ¡second ¡test ¡
- Maximum ¡4K ¡pps ¡
- f ¡ARP ¡pkts ¡and ¡a ¡
CPU ¡load ¡of ¡65 ¡
500 1000 1500 2000 2500 3000 3500 4000 4500 22:00 22:30 23:00 23:30 24:00 24:30 25:00 10 20 30 40 50 60 70 80 Packets per Second Router CPU Load Time s0-30s Combined ARP Msgs ARP Requests ARP Replies CPU Load
Emulator ¡Topology ¡
Emulator ¡has ¡two ¡parts, ¡a ¡sender ¡and ¡a ¡responder ¡
Emulator ¡ ValidaNon ¡
Real ¡(top) ¡vs ¡emulator ¡(boKom) ¡
High ¡Emulator ¡Load ¡
- 8000 ¡pps ¡for ¡30 ¡
minutes ¡
- Equivalent ¡to ¡
several ¡thousand ¡ real ¡hosts ¡ depending ¡on ¡ traffic ¡profile ¡ ¡
- Sustained ¡70% ¡
switch ¡cpu ¡load ¡
Conclusion ¡and ¡Next ¡Steps ¡
- There ¡appears ¡to ¡be ¡roughly ¡linear ¡relaNonship ¡between ¡ARP ¡traffic ¡
- There ¡appears ¡to ¡be ¡roughly ¡linear ¡relaNonship ¡between ¡ARP ¡traffic ¡
and ¡number ¡of ¡hosts ¡and ¡traffic ¡ and ¡number ¡of ¡hosts ¡and ¡traffic ¡
- There ¡can ¡be ¡scenarios ¡where ¡machine ¡failures ¡in ¡a ¡data ¡center ¡can ¡
- There ¡can ¡be ¡scenarios ¡where ¡machine ¡failures ¡in ¡a ¡data ¡center ¡can ¡
compared ¡with ¡ARP ¡
- Detailed ¡analysis ¡of ¡collected ¡ARP/ND ¡traffic ¡
- Build ¡model ¡of ¡ARP/ND ¡traffic ¡behavior ¡based ¡on ¡experimental ¡data ¡
- Build ¡ARP/ND ¡traffic ¡emulator ¡soQware ¡to ¡scale ¡up ¡the ¡experiments ¡
- Move ¡away ¡from ¡limitaNons ¡of ¡managing ¡real ¡VM ¡hosts ¡
- Repeat ¡measurements ¡for ¡live ¡producNon ¡environment ¡and ¡