Upload
tusharjadhav2611
View
846
Download
5
Embed Size (px)
Citation preview
Automatic Test Packet
Generation
Tushar Jadhav
Contents
Introduction
Problem Statement
Concept
Conclusion
References
Introduction
Outages in world
Network Troubleshooting
Downtime:
25%take over an hour to resolve. (estimated $60K-110K/hour ).
Current tools:
Ping, Traceroute, SNMP.
70%asked for better tools, automatic tests
Automatic Test Packet Generation
(ATPG) generates packets :
- To test the liveness of the underlying
topology .
- To test the compatibility between
data plane state and configuration
specifications.
- To test performance assertions such
as packet latency.
Problem Definition
Most common causes of network
failure
1) Hardware failures
2) Software bugs
Others failure’s include reachability
failures and throughput/latency
degradation.
Our goal is to automatically detect
these types of failures.
Goals
Automatically generate test packets to
test the network state, faults before
being
noticed by application.
Augment human wisdom and intuition.
Reduce the downtime.
Save money.
Concept
ATPG System :
Roadmap
Reachability Analysis
Test Packet Generation & Selection
Fault Localization
Implementation & Evaluation
Reachability Analysis
Header Space Analysis
All-pairs reachability : Compute all
classes of packets that can flow
between every pair of ports.
All-pairs reachability
Test Packet Generation &
Selection
All-pairs reachability
Test Packet Selection
Packets in all-pairs reachability table
are more than necessary.
Goal :
Select a minimum subset of packets
whose histories cover the whole rule
set.
Min Set Cover
Test Packet Selection
Min Set Cover
-Exercise all rules
-Sent out
Periodically
- “Redundant”
- Will be used in
Fault Localization
Fault Localization
Fault Localization
In ATPG: we can choose packets!
Step 1:
Use results from regular test packets– F (potentially broken rules) = Union from all failing packets
– P (known good rules) = Union from all passing packets
– Suspect Set = F –P
Step 2 :
Use reserved test packets
- Pick packets that test only one rule in the suspect set, and send them out for testing
- Passed: eliminate
- Failed: label it as “broken”
Step 3:
Brute force
- Continue with test packets that test two or more rules in the suspect set, until the set is small enough
Implementation
Putting Them all together :
Cisco/Juniper Parsers
-Translate router configuration files and forwarding tables (FIB) into Header space representation.
Test Packet Generation/Selection
- Hassel: A python header space library
- Min-Set-Cover
- Python’s multiprocess module to parallelize
SDN can simplify the design
ATPG for Performance
Testing
ATPG can also be used for detecting and localizing performance problems.
Intuition: generalize results of a test from success/failure to performance (e.g. latency)
Users can inject performance errors
Limitations
Dynamic/Non-deterministic boxes
- e.g. NAT
“Invisible” rules
- e.g. backup rules
Transient network states
Ambiguous states (work in progress)
- e.g. ECMP
Conclusion
Test’s the forwarding state by
generating minimal link, queue, rule
cover automatically.
Efficient liveness testing,reachability
testing.
Better tool than ping & traceroute.
Brings more testing and coverage of
networks
References
P. Kazemian, G. Varghese, and N. McKeown, “Header space analysis : Static checking for networks,” in Proc. NSDI, 2012, pp. 9–9.
Y. Bejerano and R. Rastogi, “Robust monitoring of link delays and faults in IP networks,” IEEE/ACM Trans. Netw., vol. 14, no. 5, pp.1092–1103, Oct. 2006
A. Dhamdhere, R. Teixeira, C. Dovrolis, and C. Diot, “Netdiagnoser:Troubleshooting network unreachabilities using end-to-end probes and routing data,” in Proc. ACM CoNEXT, 2007, pp. 18:1–18:12.