Purdue CS 63600 - ROUTER ALGORITHMICS

Unformatted text preview:

CS 636 Internetworking CS#636#Internetworking#ROUTER#ALGORITHMICS#Final#Review#1 CS 636 InternetworkingCS 636 Internetworking Measurement#CS 636 Internetworking 23 IP#Network#Management# What is happening in my network ?  How much traffic flows towards a given destination ?  What are the popular applications in my network?  How much should I charge my customer ?  … Network Operator Flow Measurement helps answer these questions ! CS 636 Internetworking4 Flow#Measurement#• Flow#is#a#combinaEon#of#various#header#fields#• Measuring#characterisEcs#of#a#flow#such#as##– number#of#packets,##– number#of#bytes,##– protocol#specific#flags#such#as#SYN/FIN/RST#etc.#• Ag gregates#computed#from#individual#flow#records#collected#from#various#routers#– Popular#applicaEons#obtained#via#aggregaEon#on#port#number#– Customer#traffic#metered#based#on#aggregaEon#on#desEnaEon#(and/or#source)#IP#address/prefix#CS 636 Internetworking5 NetFlow#• Widely#used#and#supported#in#routers#• Flow#is#a#five‐tuple#consisEng#of#SIP,#DIP,#SP,#DP,#Protocol#• Flow#records#contain#number#of#packets,#bytes,#Emestamps,#TCP#flags#• For#every#packet,#if#flow#exists,#update#counters,#otherwise,#create#a#flow#record#• Flow#records#expired#based#on#– TCP#flags#(FIN#or#RST),#inacEve#Emeout,#acEve#Emeout#(30#mins)#• At#high#line#rates,#all#the#three#resources,#memor y,#CPU#and#reporEng#bandwidth#become#boYlenecks#CS 636 Internetworking6 Flow#Measurement#at#Routers#Update flow record Packet Arrival Create flow if first packet Bottleneck 3: Reporting Bandwidth Bottleneck 2: Memory Utilization Bottleneck 1: CPU Processing Smart sampling (size dependent): Bandwidth Sample and hold: Memory, Bandwidth Packet sampling: CPU, Memory, Bandwidth Report expired flows to monitoring station CS 636 Internetworking7 Sampled#NetFlow#• Sample#packets#with#1#in#N#probability#– Configurable#N#to#reduce#memory,#processing#and#bandwidth#requirements#– Flow#records#updated#only#for#sampled#packets#– MulEply#by#N#for#each#flow#record#when#it#expires#• Problems#with#Sampled#NetFlow#– One#parameter#to#control#all#resources#limits#flexibility#– Strong#dependence#on#traffic#mix;#small#flows#exhaust#memory#and#affect#accuracy#CS 636 Internetworking8 AdapEve#NetFlow#[estan04]#• Divides#Eme#into#equal#measurement#bins#• Adapt#sampling#probability#in#each#bin#based#on#traffic#mix#– Begin#with#high#sampling#rate,#reduce#sampling#rate#as#memory#fills#up#• Problems#with#ANF#– High#memory#uElizaEon#as#it#needs#two#sets#for#seamless#operaEon#– Large#flows#get#reported#many#different#Emes#– Every#renormalizaEon#step#requires#extra#CPU#cycles#CS 636 Internetworking9 Flow#Slices:#Pudng#it#all#together#Packet sampling with probability q Flow Slicing with probability p Multifactor Smart Sampling Packet arrival Flow record sent to monitoring Reduces Bottleneck 1: CPU Reduces Bottleneck 2: Memory Reduces Bottleneck 3: Bandwidth CS 636 Internetworking10 Flow#measurement#soluEons#Reduce CPU Reduce Memory Reduce Bandwidth Packet arrival Flow record sent to monitoring Smart sampling Multifactor smart sampling Smart sampling Smart sampling N/A NetFlow Adaptive flow slicing probability Static sampling probability Adaptive Sampling Probability Static Sampling Probability Flow Slices Adaptive NetFlow Sampled NetFlow CS 636 Internetworking11 Flow#Slices:#Control#CPU#Packet Arrival lookup Entry not found Packet Sampling with probability q • Packet#sampling#stage#controls#CPU#usage#• Choose#q#as#maximum#probability#required#to#operate#within#CPU#constraints#Flow memory CS 636 Internetworking12 Flow#Slices:#Control#Memory#• Probability#‘p’#controls#the#rate#at#which#records#are#created#• Every#record#expired#ager#a#slice#duraEon#of#‘t’##• Slice#duraEon#controls#staleness#of#data##• Configurable#inacEvity#Emeout#• Can#adapt#slicing#probability#based#on#traffic#mix#any#Eme.#Flow slicing with probability p Packet Arrival lookup Entry not found Create flow Flow memory Packet Sampling with probability q Time out after slice duration or after inactivity timeout CS 636 Internetworking13 Unbiased#esEmators#• Produces#unbiased#esEmators#for#packet,#byte#and#SYN#counters##– Proofs#in#the#paper#• When#a#new#flow#is#created#ager#it#passes#the#flow#slicing#stage:#– Set#the#packet#counter#to#1/p##– Set#the#byte#counter#to#b/p#(b#is#size#of#the#first#packet)#– Set#the#“SYN#counter”#to#1/p,#if#packet#has#a#SYN#flag,#0#otherwise#CS 636 InternetworkingCS 636 Internetworking Usage‐based#Sampling#CS 636 Internetworking 14ObjecEve#CS 636 Internetworking 15CS 636 Internetworking Heav y#HiYers#CS 636 Internetworking 16Why#are#heavy#hiYers#important?#• Network#monitoring:#Current#tools#report#top#applicaEons,#top#senders/receivers#of#traffic#• Security:#Malicious#acEviEes#such#as#worms#and#flooding#DoS#aYacks#generate#much#traffic#• Capacity#planning:#Largest#elements#of#traffic#matrix#determine#network#growth#trends#• AccounEng:#Usage#based#billing#most#important#for#most#acEve#customers#17 CS 636 InternetworkingProblem#definiEon#• Iden%fy(and(measure(all#streams#whose#traffic(exceeds(threshold#(0.1%#of#link#capacity)#over#certain#Eme#interval#(1#minute)#– Streams#defined#by#fields#(e.g.#desEnaEon#IP)#– Single#pass#over#packets#– Small#worst#case#per#packet#processing#– Small#memory#usage#– Few#false#posiEves#/#false#negaEves#18 CS 636 InternetworkingMeasuring#the#heav y#hiYers#• Unscalable#soluEon:#keep#hash#table#with#a#counter#for#each#stream#and#report#largest#entries#• Inaccurate#soluEon:#count#only#sampled#packets#and#compensate#in#analysis#• Ideal#soluEon:#count#all#packets#but#only#for#the#heavy#hiYers#19 CS 636 InternetworkingHow#do#mulEstage#filters#work?#Array of counters Hash(Pink) 20 CS 636 InternetworkingHow#do#mulEstage#filters#work?#Collisions are OK 21 CS 636 InternetworkingHow#do#mulEstage#filters#work?#Stream memory stream1 1 Insert Reached threshold stream2 1 22 CS 636 InternetworkingStage 2 How#do#mulEstage#filters#work?#Stream memory stream1 1 Stage 1 23 CS 636 InternetworkingConservaEve#update#Gray = all prior packets 24 CS 636 InternetworkingConservaEve#update#Redundant Redundant 25 CS 636


View Full Document

Purdue CS 63600 - ROUTER ALGORITHMICS

Download ROUTER ALGORITHMICS
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view ROUTER ALGORITHMICS and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view ROUTER ALGORITHMICS 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?