IKnowWhatYourPacketDidLastHopUsingPacketHistoriestoTroubleshootNetworksNikhilHandigolBrandonHellerVimalkumarJeyakumarDavidMazieresNickMcKeownnikhilhbrandonhcsstanfordedujvimalnickmstanford ID: 391417
Download Pdf The PPT/PDF document "USENIX Association 11th USENIX Symposium..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation71 IKnowWhatYourPacketDidLastHop:UsingPacketHistoriestoTroubleshootNetworksNikhilHandigol,BrandonHeller,VimalkumarJeyakumar,DavidMazieres,NickMcKeownnikhilh,brandonh@cs.stanford.edu,jvimal,nickm@stanford.edu,\rStanfordUniversity,Stanford,CAUSATheseauthorscontributedequallytothiswork\r\f\r\f 1 7211th USENIX Symposium on Networked Systems Design and Implementation USENIX Association \r\f\n\t\b\b\b\t\t\f\r\t\t\r\f\r\t\t\t\t\t\t\b\t\r\r\b\n\t\f\r \f\f\f\b\n\r\r\f\t\t\t\n\t\t\n\t\t\t\r\b\r\t\t\n\t\b \f\n\t\f\r\t\r\f\b\n\t\b\t\t\f\n\n\f\t\r\r\t\f\r\t\f\r\b\n\t \f\r\n\t\t\t\f\b\n\r\t\f\n\t\r\r\r\f\n\t\r\r\b\r\f\t\b\t\t\r \f\n\r\r\t\t\f\n\t\f\b\b\f\n\f\t\f\t\t\f\r\n\f\t\r\r\r\b\t\b\t\f\r\f\r\r\r\b\t\b\t\b \f\b\t\n\r\n\r\f OurprototypeusesOpenFlowbutthedesigndoesnotrequireit.\r\f\f\f\n\t\b\t\r\b\n\f\f\f\b\t\n\t\b\t\r\b\n\f\f\f\b\t \n\t\b\t\t\b\tFigure1:Apackethistoryshowsthepathtakenbyapacketalongwiththemodicationsandswitchstateencounteredbyitateachhop.\r\r\r\n\r\b\f\b\n\f\t\f\b\t\r\r\r\n\f\b\b\r\n\t\f\t\f\t\b\r\f\f\r\t\t\r\b\t\b\t\b\b\t\t\f\t\b\n\f\f\f\r\f\n\t\t\t\n\t\b\t\f\r\t\f\n\f\nMotivatingPacketHistories\b\t\t\t\r\n\r\t\f\n\t\b\r\t\t\f\t\t\f\f\r\t\n\t\t\n\r¡\r\b\b¢¡\n\t\r\f\b\t\n\f\f\b\t\r\n\t\b\b\t\n\t\b\t\f\r\n\t\b\f\b\r\t\t\b\f\t\t\r\f\t\f\t\t\t 2 USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation73 \r\f\f\n\t\f\n\b\f\f\r\f\f\n\f\r\f\n\f\n\f\r\f\f \n\n\f\n\r\f\f\f\f\n\f\r\f\n\f\f\r\f\f\n\f\n\t\b\b\r\f\b\b\r\f\f\f\b\r\f\n\f\n\b\r\f\n\f\f \n\f\n\f \n\b\n\n\f\n\f\f\f\n\n\f\f\n\f\f\r\nTheNetSightAPI\r\n\f\f\f\n\t\b\f \f\r\r\f\n\n\f\n\b \t\b\t\b\r\n\n\f\f\f\t\b\f\f\f\f\n\t\n\b\r\r\n\t\b\n\t\b\t\n\t\b\t\n\t\b\t\n\t\b\t\n \r\f\f\f\r\n\f\r\t\t\b \r\f\f\f \f\f\fApplications \n\n \f\n\r\n\f\f\f Theotherimportantfunctionis 3 7411th USENIX Symposium on Networked Systems Design and Implementation USENIX Association :InteractiveNetworkDebugger\r\f\n\t\b\r\t\t\b\r\n\r\f\r\r\t\t\b\r\r\r\f\n\t\r\r\r\n\b\r\f\t\n\r\r\r\r\t\r\t\b\f\t\r\b\r\n\r\r\r\b\r\r\f\t\t\r\r\n\r\t\r\t\t\t\r\f\n\n\t\b\f\f\n\n\f \f\t \f \r\f\r\r\r\t\t \r\r\r\r\r\r\f\b\r\r\f\b\r\n\r\r \r\f\t\r\t\t\r\r\r \f\r \f\b\r \f\r\r\r\r\r\r\n\r\r\r\n\r\r\r\r\r\t\t\f\n\r\t\t\f\r\r\n\r\r\r\f\r\r\t\r\r\r\r\r\r\r\t\r\t\r\t \b\r\t\t\t\n\f \t\r\t\n\r\r\r\f\r\r\r\f\b\n\r\r\t\r\r\f\f\n\n\r\f\n\r\t\r\t\r\n\t\r\t\n\t\r\t\n\r\t\r\t\t\r\b\t\b\n\n\n\n\r\n\r\n\t\r\t\t\n\t\t\r:LiveInvariantMonitor\r\t\r\f\n\r\r\t\r\t\n\b\r\f\t\r\r\n\r \f\t\r\r\b\r\r\r\n\r\r\r\r\r\t\f\b\n\r\n\r\t \r\b\n\r\f\b\t\r\r\t\t\r\r\n\r\r\r\r\t\b\b\r\r \r\r\t\r\t\f\f \f \f\f\f\r\r\t\r \f\n\n \f\n\n \f\n\n \f\n\n\t\b\t\r\b\t\b\r\r\t\t\r\r\r\b\n\r \r\f\r\r\r\r\n\r\t\n\t\r\n\r\t\r\r\r\t\b\r\r\t\r\r\f\r\t\f\r\r\t\t\f\r\r\f\f\n\n\f\f\r\r\n\r\r\n\r\b\t\r\t\r\t\t\r\t\f\r\r\t\n\r\r\r\r\r\r\r\t:Network-widePath-AwarePacketLogger\t\r\n\b\r\r\r\r\r\r\n\r\f\t\r\t\t\r\f\r\t\n\n\r\r\t\t\r 4 USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation75 \r\f\r\r\n\t\b\r\r\t\r\r\t\r\f\f\r\r\n\r\r\r\t\r\n\f\t\n\r\n\r\f\r\r\r\t\f\r\t\r\r\r\r\r\r\r\r\n\r\f\t\r\t\t\t\n\r\n \f\r\r\r\f\f\r\r\r\r\r\f\f\r\r:HierarchicalNetworkProler\r\t\f\r\f\r\f\r\r\f\f\r\f\f\r\r\f\t\n\r\n\r\r\n\t\n\r\t\r\f\t\f\r \f\r\f\r\t\f\f\t\r\r\r\f\r\r\r\r\r\r\r\t\f\r\r\r\f\n\r\f\r\r\f\f\r\r\r\t\r\f\n\t\r\f\r\r\r\r\t\r\r \n\r\n\t\f \r\r\r\r\r\r\f\r\r\t\r\n\f\n\r\r\n\f\r\r\f\r\r\t\f\n\r\t\r\r\t\r\n\r\r\t\r\r\r\n\t\r\r\r\r\r\n\r\t\r\t\r\r\f\n\n\t\t\r\t\r\t\f\r\r\n\t\fHowNetSightWorks\r\r\r\r\r\f\r\f\r\r\f\f\r\r\n\f\r\r\r\t\r\t\f\n\r\f\t\f\r\r\r\t\r\r\n\r\f\r\f\n\t\r\f\f\r\r\r\r\r\r\n\r\r\r\f\r\n\r\n\n\r\f\f\f\f\r \f\r\f\n\n\f\r\f\r\r\n\r\r\r\r\n\r\r\n\r\r\f\r\t\n\r\r\f\r\r\r\r\t\r\r\r\r\n\r\f\r\r\f\f\r\r\t\f\r\f\t\r\r\n\t\r\r\f\r\r\t\r\f\r\n\r\f\r\r\r \r\r\t\r\n\r\r\n\r\f\r\r\f\r\r\n\r\r\n\n\r\f\t\r\n\r\f\f\r\r History Plane NetSightCoordinator ndbnetwatchnetsharknprof Forwarding Element Data Plane NetSightAPIforwarding state changespackets network admin Control Element Control Plane postcards Postcard Generation Postcard Generation NetSight Servers Figure2:NetSightarchitecture.\n\r\r\n\r\r\f\r\n\r\f\r\r\n\r\r\r\f\r\r\r\r\r\r\r\n\n\r\f\r\r\r\f\r\f\r\t\r\r\rNetSightPhilosophy\r\r\f\r\r\r\t\r\r\r\n\r\t\r\r\r\r\r\r\n\r\t\f\r\r\r\r\n\r\f\r\r\f\t\f\r\r\f\n\r\n\t\f\r\r\r\n\r\f\r\n\r\r\r\n\r\t\t\n\t\r\r\r\r\f\r\n\r\r\r\n\r\r\r\t\r\f\r\r\r\r\r \r\r\r\f\r\r\n\r\n\r\n\r\t\r\r\n\r\f\r\r\r \f\r\r\r\r\r\r\n\r\n\n\r\r\n\r\n\r\n\r\r\f\f\t\r\r\r\n\f\r\r\r\r\n\r\rSystemArchitecture\t\r\r\r\r\r\t\f\r\r\r\r\f\r\f\n\r\t\f\f\r\r\f\f\r\n\r\r\r\r\f\t\r\r\n\r\n\t\r\r\r\n\r\r\t\r\r\r\r\n\r\t\r\n\r\r\r\r\n\r\r\r\r\n\r\r\f\f\r\r\n\f\f\r\n 5 Postcard Generation Postcard Generation Postcard Generation Postcard Generation 7611th USENIX Symposium on Networked Systems Design and Implementation USENIX Association postcards headers version switch outport Postcard ProcessingHistoryProcessing... headers data compressedpostcard listshash based(5-tuple)all postcards from a switchall postcards compressed packet histories headers state headers state headers state switch,portsswitch,portsswitch,ports {pcard} {pcard} {pcard} {pcard} s switches ...n servers ...n servers ...d disks stage Figure3:ProcessingowusedinNetSighttoturnpacketsintopackethistoriesacrossmultipleservers.\r\f\n\n\n\t\b\r\nLifeOfaPostcard\n\b\n\n\r\f\r\r\r\t\n\b\n\n\n\n\r\r\n\n\b\t\t\t\n\n \b\n\r\n\r\f\t\f\n\n \r\t\b\b\b\n\b\n \r\n\r\r\n\t\r\b\r\r\n\t\r\f\r\r\n\b\n\n\n\n\n\b\n\r\n\r\t\n\r\n\n\b\t\n\r\b\r\b\n\b\n\r\r\n\t\r\b\n\r\t\n\t\r\r\n\b\f\r\n\r\f\r\r\n\t\r\r\n\r\r\b\r\r\b\b\t\n\n\f\n\t\n\n\n\t\b\n\n\t\b\n\r\r\n\n\t\b\n\n\r\r\n\b\f\r\f\t\n\t\n\r\t\t\b 6 Postcard Generation packets USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation77 \r\f\n\t\t\r\b\r\n \n\f\r\n\n\r \n\n\n\r \n\n\r \f\r\f\n\r \n\r\r\f\r\r\n\t\b\n\f\n\n\n\r\r\f\r\f\r\f\n\r\n\t\b\r\f\r\n\n\f\r\n\rRelaxingtheAssumptions\f\r\r\f\f\n\r\r\f\n\r\f\n\r Inthecurrentimplementationthetopologydataneedstobeexter-nallyfedintoNetSight.Alternatively,withtheSDNimplementationdescribedin,theproxycandynamicallylearnthetopology.Ideallythelesystemislog-structured,torestoreindividualroundsatthefulldiskthroughput,withminimalseeking[\n\n\r\n\r\t\b\b\n\f\r\f\n\n\r\n\f \f \n\n\n\f\n\n\r\r\n\n\r\n\r\n\n\n\f\r \rNetSightImplementation\f\n\r \n\n\n\n\f \r \n\f¢\r \n\n££\n\n\rPostcardGeneration \f\n\f\n Thesecanindicateanunexpectedswitchcongurationtoo,aswesawthersttimeusingNetSightonanetwork(Thatis,ifmiddleboxesdontmesswithpacket 7 7811th USENIX Symposium on Networked Systems Design and Implementation USENIX Association \r\f\n\t\n\b\r\r\r\f\r\r\r\n\r\r\n\f\r\f\r\r\t\n\n\n\r\n\n\r\f\n\r \r\n \r\n\r\n\r\n\t\r\nCompression\r\n\r\n\n \r\n\n\r\f\n\r\n\r\n\r\n\n\f\f\r\n\f\t \t \n\n\r\n\n\r\r\f\r\n\n\n\r\n\n\n Totintothelimitedtagspace,NetSightusesalocallycreatedpseudoswitchID(PSID)andmaintainsaninternalmappingfromthe8BdatapathIDtothePSID. \rPHFMatching \b\n\n\b\b¡ ¡ \f\n¢\n\b\n\r\b\n\n\t\r£¤\n\fTestDeploymentAnecdote\n\n\n\n\n\r\n\n\n\n\r\r\n\r\r\b\n\n\f\n\r\r\n\r\r\r\r\n\n\r\n\n\n\r\n\n\b\n\b\n\rEvaluation\n\f\n\n\f\r\rCompression\n\n\r\r\n\n\n\r\r¥ 8 USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation79 CompressionTypeDescription WireRawpacketsonthewire AllIPpackets,truncateduptoLayer-4headers PCAPcompressedbygziplevel6 NetSight(NS)VanJacobson-stylecompressionforallIP5-tuples NetSight+gzipCompresspacketdifferenceswithgziplevel1 Table1:Compressiontechniques.\r\f\n\t\b\n\r\t\f\b\b\r \r\r\f\b\b\b\b\r \r\b \r\b\b\b\f \b\r\b\b\f \f \b\f\r\r\r\r\b\f\r\b\f \b\f \f\b\b\r\b\b\f\f\r\f\n\r\n\r\n\f \r\b \b\b\r\b Figure4:NetSightreducesstoragerelativetoPCAPles,atalowCPUcost.CombiningNSwithgzip(NS+GZ)reducesthesizebetterthangzip,atafractionofgzipsCPUcosts.TheWANtracescompresslessasweobservefewerpacketsinaowcomparedtoothertraces.\b\r \b\r¡\b\b\b\b\r\f¢\b\b\b\b\b\f\b\b\b\b\r\r\r\f¡\r\n\b\r\b\b\r¡\r\b\b\f\r\f\n\t\r\b\r\r\r\r\r\t\b\b\f£\n\r\b\b\f\r\b\f£\b\r \r\n\b\b\b\f \r\b\b\r¡\r\b\f \f¤\r¥¤¦§\f¨¨\r\b\f§\r\b\b\b\f£\r\f¥£§ \b\b 9 8011th USENIX Symposium on Networked Systems Design and Implementation USENIX Association Figure5:PacketcompressionqualityforNS+GZasafunc-tionofpacketsseeninthetrace.Inourtracesfromthreeoperatingenvironments,wendthatNetSightquicklyben-etsfromcompressionafterprocessingafew100softhou-sandsofpackets.ScenarioEnterpriseWANDataCenter CPUcost0.725s0.434s0.585perpacketTable2:DecompressionSpeeds.\r\f\n\t\b\f\r\r\f\r\r\f\f\r\r\f\r\r\f\r \f\n\f\r\r\r\t\r\f \f\r \b\n \f \f\f\r\f\f Packet History Length Latency (us) .*X X.*X X.*X.*X .*X.* no-match match no-match Figure6:PHFmatchinglatencymicrobenchmarkforvari-oussamplePHFsandpackethistoriesofincreasinglength.\f\f\r\rPacketHistoryAssembly\f\f\r\f\r \r\f\r\f\t\r\r\f \f \r\f TriggeringandQueryProcessing\f\t\r\f\f\f\r\f\r\t \n\t \r\t\r\f\t\r\t\t\n\t\r 10 USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation81 any hostip-172.19.3.83 hostip-130.127.120.221 wireless dc campus dc_loc-campus_loc dc_both-campus_both dc_hdr-campus_hdr 0.0 0.2 0.4 0.6 0.8 1.0Latency (us) Figure7:RepresentativeresultsfromthemacrobenchmarksuiteofqueriesrunontheClemsontrace.Themostexpen-sivequerieswerethosewithcomplexBPFexpressions.\r\f\n\t\b\r\t\n \n\t\n\n\n\r\f\n\n\n\r\f\n\r\r\n\t \n\n\t\n\n\t\n\r\n\t\f\n\r\n\r\f\f \f\f\f\r\n\r\t\r\rProvisioningScenario\n\n\n\n ¡¢ \n\n\n\n\n\n\n\r\r\f\n\t\n\b\t\n\n\fScalingNetSight\t\n\n\n\n£ \n\n\r\n \n\t\n\t\n¤ hops \n \n \n\n Ifweovercomethemin-sizerequirementbyaggregatingthe40bytepostcardsintolargerpacketsbeforesendingthem,thebandwidthoverheadreducesto19%. 11 8211th USENIX Symposium on Networked Systems Design and Implementation USENIX Association NetSight-SwitchAssist Hypervisors SwitchesDedicated Servers NetSightNetSight-HostAssistsingle postcards in min-size packetspostcard listspackets identity-marked packets packets compressed header postcard lists Postcard Generation Postcard Generation eld(2) append to postcard list(3) send listsuncompressed mini-postcardlists compressed postcard lists in max-size packets (1) hash packet header(2) append to postcard list(3) compress lists(4) send lists Postcard Generation Figure8:NetSightusesonlydedicatedservers,butaddingswitchprocessing(-SwitchAssist)andVMservers(-HostAssist)canreducebandwidthcostsandincreasescal-ability.Postcardgenerationiscommontoallapproaches.\r\f\n\t\n\r\n \r\n\r\r\n\r\r\n\r\f\r\b\n \f\b \n\r\n\f\n\n\r\b\n\n\r\n\n\r\f\n\n\t\b\n\f\b\n\r\n\r \f\b\r\n \r\r\n\n\n\r\r\r\n\r\n\f\n\t\b\r\n\r\n\r\n\r\r\nRelatedWork\r\r\n\r\r\r 12 Postcard Processing History Processing History Processing Postcard Processing Identity Postcard Gen Mark Packet Identity Postcard Processing History Processing packets USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation83 \r\f\n\t\b\r\f\t\t\r\r\t\t\t\r\t\r\r\f\t\t\r \t\f\f\t\f\r\t\r\t \f\b\r\t\f\r\r\r\r\f\f\r\r\t\r\t\r\t\r\r\f\r\t\f\r\t\t\r\r\t\t\f\f\t\f\b\f \f\f\r\f\t\b\t\t\t\r\t\t\t\f\f\t\r\b\r\t\t\t\f\t\f\n\t\t\f\t\t\f\f\n\t\f \r\r\t\t\r\b\f\t\t\r\t\t\r\r\r\b\f\t\t\r\t\t\r\f\f\n\t\t\f\t\b\t\b\t\r\f\t\b\t\f\f\r\t\t\t\t\f\r\t\t\f\t\f\t\t\f\t\b\t\r\b\t\b\t\f\f\t\r\t\t\f\f\f\f\t\t\f\f\r\r\t\f\t\b\t\f\f\r\t\f\r\b\f\f\b\f\t\r\f\t\t\t\b\r\r\r\f\n\t\f\t\f\t\r\r\r\f\t\t\t\r\r\f\t\r\f\t\t\b\f\r\t\b\r\t\t\r\t\f\f\r\t\t\t\f \b\r\t\f\t\t\t\t\t\t\b\f\t\t\t\r\r\t\f\r\r\f\t\t¡¢\t\t\t\r\t\t\r\t\r£\t\r\t\f\t\t\f\f\t\f\n\t\f\t\b\f\t¤\t\r\f\n\t\r\r\f\f\t\t\f\t\r\t\t\t\f\t\r\t\t\f\f\t\t\f\r\t\t\f\t\r\t\b\t\t\f\b\f\t\t\t\b\t\r\t\t\r\t\r\t\t\f\t\t\t\f\t\t\t\r\b\t\t\b\t\f\t\t\f\f\t\r\r\r\b\f\t¥\t\f\r\b\f\t\t\r\f\f\t\r\b\t\b\t\r\t\t\b\t\t\b\t\f\t\b\t\t\f\t\t\r\t\t\t\b\r\f\r\t\t\f\r\f¦¦\f\r\t\t\f\r\t\t\f\t\r\r\t\f\t\f\t\b\t\t\r\r\t\t\r\t\t\r\t\t\r\r\t\r\r\t\f\r\r\t§\t\f\t\b\t\t\r\t\f\t\r§\t\t\f\t\t\f\t\f\f\t\t\t\r\f\r\b\f\t\t\t\t\f\r\tAcknowledgments¤\f\t\r\f\t¨©\t\f\t\t\b\b\f\r\f\t\t\r\b\r\r\t\f\f\f\f\t\f \r\t\t\t \f\r\t\fReferences 13 8411th USENIX Symposium on Networked Systems Design and Implementation USENIX Association \r\r\r\f\r\n\t\r\b\r\r\b\r\r\n\t\r\b\f\r\r\r\r\n\n\r\t \r\b\b\r\r\r\b\f\r \t\r\r\t\t\r\r\b\r\t\b\r\r\t\r\f\r \b\b\t\r\t\t\r\b\n\f\n\f\r\n\f\n\n\t\b\n\n\n\n\b\r\n\t\t\r\b\r\t\b\t\r\r \t\b\r\n\n\n\b\r\r\t\r\b\r\t\r\t\n\t\t\r\t\f\t\r \n\r\r\t\r\n\r\r\t\n\r\r\r\r\f\b\t\r\r\r\b\r\n\b\b\b\r\t\r\t\r\t\r\t\r\f\r\r\r\n\t\r\r\b\t\f\f \b\r\n\r\b\t\f\b\r\f \b\r\b\r\r\t\n\r\b\t\r \t \r\r\f\r\r\r\r\t\t\n\t\t\r¡\r\n\n\r\n\t\r\r\t\r\f\r\t\r\b\n\t¢\n\n\t\n\n\t\t\t\t\n\n\t\f\r£\r\r\r\f\t\f \r\r \r\n\f\b\f¡\r\b¡\b\b\r\r\r¤\r\f\t\n\r\f¥\r\t\n\n\n\t\r\r\r¡¦\r\f\t\r\n\r\b\f\b\t\t§¡\r\n\r\t\r\b\r\r\r\r\f\t¡\r\n\r\t\r\b\n\r\t\t\f¦\r\r\r\b\f\r\r\r\b¦¦\r\r\r\b\f\r\r\r\b\r\r\n\n\r\r\r\r\b\r\b\b\b\r\r\r\r\f\t\r \b\r\n\r\f\b\t\r¡\b\b\r\f\t\r\b\r\r\r\f¢\n\r\t\t\n\n\n\t¡\r\r\r\b\r\r\r\n\r\r\b\r\r\n\t\r\r\r\t\n\r\t\b\f\t\t§\b\b\r\t\r \r\r\n\r\f\f \b\r\b\n\t\n\t\n\t\n\f\f\f\t\t\t\b\n\n\t \n\t \r\b\n\t\n\n\r\r\b\b\n\n\n \b\b\n\t\n \n\n \t \b\t\b\b \b\r\r\r\t\n\t\n\n \b\r \r\b\r\r\n\t\b\n\r\f\r\r\t\t\n\n\r\r\r\b\b\r\b\r\r\t\t\r\b\f\n\r\t\r\t\n\r\b\b¡¦\r\b\b\r\r\n\n\f\b\n\n\f\r\r\t\b\r\r\t\t 14 USENIX Association 11th USENIX Symposium on Networked Systems Design and Implementation85 \r\f\n\t\b\n\n \r\f\r \r \r\b\n\t \r\f\n\n\t\b\b\t\n\r\n\n\r \f\n\b\r\n\r \r\t\r\n 15 I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot NetworksNikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, and Nick McKeown, Stanford Universityhttps://www.usenix.org/conference/nsdi14/technical-sessions/presentation/handigol This paper is included in the Proceedings of the11th USENIX Symposium on Networked SystemsDesign and Implementation (NSDI 14).April 2–4, 2014 • Seattle, WA, USAISBN 978-1-931971-09-6Open access to the Proceedings of the11th USENIX Symposium onNetworked Systems Design andImplementation (NSDI 14)is sponsored by USENIX