ARP Traffic Study Jim Rees, Manish Karir Research and - - PowerPoint PPT Presentation

arp traffic study
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

ARP ¡Traffic ¡Study ¡

Jim ¡Rees, ¡Manish ¡Karir ¡ Research ¡and ¡Development ¡ Merit ¡Network ¡Inc. ¡

slide-2
SLIDE 2

Outline ¡

  • Goals ¡
  • Experiment ¡Setup ¡and ¡Architecture ¡
  • Experiments ¡

– Scanning ¡ – Number ¡of ¡hosts ¡ – Traffic ¡load/paKerns ¡ – Host ¡failures ¡ – VM ¡MigraNons ¡ – Emulator ¡

  • Conclusions ¡
slide-3
SLIDE 3

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 ¡ ¡

slide-4
SLIDE 4

Network ¡Topology ¡

slide-5
SLIDE 5

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 ¡ ¡

slide-6
SLIDE 6

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 ¡ ¡
slide-7
SLIDE 7

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) ¡
slide-8
SLIDE 8

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 ¡

slide-9
SLIDE 9

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 ¡

slide-10
SLIDE 10

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 ¡

slide-11
SLIDE 11

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 ¡

slide-12
SLIDE 12

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 ¡

slide-13
SLIDE 13

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 ¡

slide-14
SLIDE 14

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 ¡

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Emulator ¡Topology ¡

Emulator ¡has ¡two ¡parts, ¡a ¡sender ¡and ¡a ¡responder ¡

slide-18
SLIDE 18

Emulator ¡ ValidaNon ¡

Real ¡(top) ¡vs ¡emulator ¡(boKom) ¡

slide-19
SLIDE 19

High ¡Emulator ¡Load ¡

  • 8000 ¡pps ¡for ¡30 ¡

minutes ¡

  • Equivalent ¡to ¡

several ¡thousand ¡ real ¡hosts ¡ depending ¡on ¡ traffic ¡profile ¡ ¡

  • Sustained ¡70% ¡

switch ¡cpu ¡load ¡

slide-20
SLIDE 20

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 ¡