ARP ¡Traffic ¡Study ¡ Jim ¡Rees, ¡Manish ¡Karir ¡ Research ¡and ¡Development ¡ Merit ¡Network ¡Inc. ¡
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 ¡ exp2-v4-8c 1600 80 IPv4 ¡ Combined ARP Msgs CPU ¡Load: ¡ ARP Requests ARP Replies 1400 CPU Load 70 Normal: ¡10, ¡Peak: ¡30 ¡ • nmap ¡scans ¡from ¡outside ¡ 1200 60 the ¡network ¡ Packets per Second 1000 50 Router CPU Load • Measure ¡ARP/ND ¡traffic ¡ 800 40 600 30 spikes ¡ 400 20 • Monitor ¡CPU ¡load ¡on ¡ 200 10 access ¡switch ¡ 0 0 exp2-v6-8c 1600 80 Combined ND Msgs • Possible ¡to ¡cause ¡ IPv6 ¡ ND Requests ND Replies CPU ¡Load: ¡ 1400 CPU Load 70 transient ¡spikes ¡in ¡ARP/ Normal: ¡10, ¡Peak: ¡20 ¡ 1200 60 ND ¡traffic ¡ Packets per Second 1000 50 Router CPU Load 800 40 • Effect ¡on ¡CPU ¡load ¡is ¡ 600 30 greater ¡for ¡ARP ¡than ¡ND ¡ 400 20 200 10 0 0
I: ¡Effect ¡of ¡External ¡Scans ¡(single) ¡ exp2-v4-zoom 1600 80 Combined ARP Msgs ARP Requests ARP Replies 1400 CPU Load 70 1200 60 Packets per Second 1000 50 Router CPU Load CPU ¡Load ¡ 800 40 600 30 400 20 exp2-v6-zoom 1600 80 200 10 Combined ND Msgs ND Requests ND Replies 1400 CPU Load 70 0 0 1200 60 Packets per Second 1000 50 Router CPU Load Combined ¡ARP/ND ¡Traffic ¡Rate ¡ 800 40 600 30 400 20 200 10 0 0
II: ¡Effect ¡of ¡Number ¡of ¡Hosts ¡ exp3-v4-s10 600 80 Combined ARP Msgs IPv4 ¡ ARP Requests ARP Replies CPU Load 70 StarNng ¡up ¡up ¡to ¡500 ¡hosts ¡ • 500 100,200,300,400,500 ¡ CPU ¡Load ¡~ ¡40 ¡ 60 400 Stop ¡all ¡hosts ¡in ¡between ¡batch ¡ • Packets per Second 50 Router CPU Load starts ¡ 300 40 Measure ¡startup ¡ARP/ND ¡traffic ¡ • 200 ¡pps ¡ 30 and ¡CPU ¡Load ¡ 200 20 Increase ¡overall ¡traffic ¡load ¡ • 100 roughly ¡5x ¡from ¡100 ¡– ¡500 ¡ 10 100 ¡ 200 ¡ 300 ¡ 400 ¡ 500 ¡ hosts ¡ 0 0 exp3-v6-s10 600 80 IniNal ¡spike ¡in ¡CPU ¡load ¡similar ¡ IPv6 ¡ • Combined ND Msgs ND Requests ND Replies for ¡both ¡v4/v6 ¡ CPU Load 70 500 Roughly ¡linear ¡increase ¡in ¡ARP/ • 60 CPU ¡Load ¡~ ¡40 ¡ ND ¡traffic ¡ 400 Packets per Second 50 Router CPU Load Higher ¡ARP ¡traffic ¡rate ¡as ¡ • 300 40 compared ¡with ¡ND ¡ 200 ¡pps ¡ 30 ¡ ¡ 200 20 100 10 0 100 ¡ 200 ¡ 300 ¡ 0 400 ¡ 500 ¡
IIb: ¡Effect ¡of ¡Traffic ¡ exp5-v4 1200 80 Combined ARP Msgs ARP Requests StarNng ¡up ¡500 ¡hosts ¡ • ARP Replies CPU Load 70 1000 Hosts ¡aKempt ¡to ¡contact ¡varying ¡ • 60 number ¡of ¡acNve/inacNve ¡hosts ¡ 800 Packets per Second 50 (500/0, ¡400/100, ¡300/200, ¡ Router CPU Load 200/300, ¡100/400) ¡ 600 40 Highest ¡possible ¡rate ¡zero ¡sleep ¡ • 30 400 Stop ¡all ¡hosts ¡in ¡between ¡changes ¡ • 20 to ¡traffic ¡paKern ¡ 200 10 Measure ¡startup ¡ARP/ND ¡traffic ¡ • and ¡CPU ¡Load ¡ 500/0 ¡ 300/200 ¡ 100/400 ¡ 0 0 exp5-v6 IniNal ¡spike ¡in ¡CPU ¡load ¡slightly ¡ • 1200 80 Combined ND Msgs higher ¡for ¡both ¡ARP ¡ ND Requests ND Replies CPU Load 70 1000 CPU ¡load ¡spike ¡roughly ¡same ¡ • 60 across ¡traffic ¡paKerns ¡ ¡ 800 Packets per Second 50 Roughly ¡linear ¡increase ¡in ¡ARP/ND ¡ • Router CPU Load traffic ¡ 600 40 Higher ¡ARP ¡traffic ¡rate ¡as ¡ • 30 400 compared ¡with ¡ND ¡ 20 ¡ 200 10 500/0 ¡ 300/200 ¡ 100/400 ¡ 0 0
IIc: ¡Effect ¡of ¡Number ¡of ¡Hosts/Traffic ¡ exp5b-v4 500 80 Combined ARP Msgs ARP Requests ARP Replies StarNng ¡up ¡all ¡500 ¡hosts ¡ • CPU Load 70 400 Contact ¡list ¡includes ¡all ¡500 ¡hosts ¡plus ¡ • 60 a ¡varying ¡number ¡of ¡inacNve ¡hosts(0, ¡ Packets per Second 50 Router CPU Load 300 100, ¡200, ¡300, ¡400) ¡ 40 Sleep ¡2 ¡seconds ¡between ¡connects ¡ • 200 30 Stop ¡all ¡hosts ¡in ¡between ¡experiments ¡ • 20 100 Measure ¡startup ¡ARP/ND ¡traffic ¡and ¡ • 10 CPU ¡Load ¡ 0 0 500+0 ¡ 500+200 ¡ 500+400 ¡ IniNal ¡spike ¡in ¡CPU ¡load ¡similar ¡for ¡ • exp5b-v6 500 80 both ¡v4/v6 ¡ Combined ND Msgs ND Requests ND Replies CPU Load 70 Roughly ¡linear ¡increase ¡in ¡ARP/ND ¡ • 400 traffic ¡ 60 Slight ¡increase ¡in ¡CPU ¡load ¡for ¡v6 ¡ • Packets per Second 50 Router CPU Load 300 Higher ¡ARP ¡traffic ¡rate ¡as ¡compared ¡ • 40 with ¡ND ¡ 200 30 ¡ 20 100 10 500+0 ¡ 500+200 ¡ 500+400 ¡ 0 0
IId: ¡Effect ¡of ¡Traffic ¡Load ¡ exp4-v4 1600 35 Combined ARP Msgs ARP Requests • Start ¡Traffic ¡generator ¡on ¡ ARP Replies 1400 CPU Load 30 500 ¡hosts ¡ 1200 25 Packets per Second 1000 Router CPU Load • Vary ¡the ¡amount ¡of ¡load ¡ 800 20 by ¡reducing ¡Nme ¡between ¡ 600 15 communicaNon ¡events ¡ 400 10 (50, ¡20, ¡10, ¡5, ¡2, ¡1 ¡ 200 50 ¡ ¡ ¡20, ¡10, ¡ ¡5, ¡ ¡2, ¡ ¡ ¡1 ¡ seconds) ¡ 0 5 18:40:0018:45:0018:50:0018:55:0019:00:0019:05:0019:10:0019:15:0019:20:0019:25:00 Time exp4-v6 • Measure ¡ARP/ND ¡Traffic ¡ 1600 35 Combined ND Msgs ND Requests ND Replies 1400 and ¡CPU ¡load ¡on ¡switch ¡ CPU Load 30 1200 • ARP/ND ¡increases ¡roughly ¡ 25 Packets per Second 1000 Router CPU Load linearly ¡across ¡ 800 20 experiments ¡ ¡ 600 15 400 10 200 0 5 50 ¡ ¡ ¡20, ¡10, ¡ ¡5, ¡ ¡2, ¡ ¡ ¡1 ¡ 05:00 10:00 15:00 20:00 25:00 30:00 35:00 40:00 45:00 50:00 Time
Recommend
More recommend