240 likes | 365 Views
Understanding and Mitigating the Complexity in Network Configuration and Management. Aditya Akella UW-Madison Joint work with Theo Benson (UW-Madison) and Dave Maltz (MSR). Modern networks are complex. Intricate logical and physical topologies Diverse network devices
E N D
Understanding and Mitigating the Complexity in Network Configuration and Management Aditya Akella UW-MadisonJoint work with Theo Benson (UW-Madison) and Dave Maltz (MSR)
Modern networks are complex • Intricate logical and physical topologies • Diverse network devices • Operating at different layers • Different command sets, detailed configuration • Operators constantly tweak network configurations • New admin policies • Quick-fixes in response to crises • Diverse goals • E.g. QOS, security, routing, resilience Complex configuration
Changing configuration is tricky Adding a new department with hosts spread across 3 buildings (this is a “simple” example!) • Interface vlan901 • ip address 10.1.1.2 255.0.0.0 • ip access-group 9 out • ! • Router ospf 1 • router-id 10.1.2.23 • network 10.0.0.0 0.255.255.255 • ! • access-list 9 10.1.0.0 0.0.255.255 • Interface vlan901 • ip address 10.1.1.5 255.0.0.0 • ip access-group 9 out • ! • Router ospf 1 • router-id 10.1.2.23 • network 10.0.0.0 0.255.255.255 • ! • access-list 9 10.1.0.0 0.0.255.255 • Interface vlan901 • ip address 10.1.1.8 255.0.0.0 • ip access-group 9 out • ! • Router ospf 1 • router-id 10.1.2.23 • network 10.0.0.0 0.255.255.255 • ! • access-list 9 10.1.0.0 0.0.255.255 Opens up a hole Department1 Department1 Department1
Getting a grip on complexity • Complexity misconfiguration, outages • Can’t measure complexity today • Ability to predict difficulty of future changes • Benchmarks in architecture, DB, software engineering have guided system design • Metrics essential for designing manageable networks • No systematic way to mitigate or control complexity • Quick fix may complicate future changes • Troubleshooting, upgrades harder over time • Hard to select the simplest from alternates Complexity of n/w design #1 #2 #3 Options for making a changeor for ground-up design
Our work: Measuring and mitigating complexity • Metrics for layer-3 static configuration [NSDI 2009] • Succinctly describe complexity • Align with operator mental models, best common practices • Predictive of difficulty • Useful to pick among alternates • Empiricial study and operator tests for 7 networks • Network-specific and common • Network redesign (L3 config) • Discovering and representing policies [IMC 2009] • Invariants in network redesign • Automatic network design simplification [Ongoing work] • Metrics guide design exploration (1) Useful to pick among alternates Metrics Complexity of n/w design #1 #2 #3 Options for making a changeor for ground-up design Few consolidatedrouting process Many routing processwith minor differences (2) Ground-up simplification
Two types of design complexity • Implementation complexity: difficulty of implementing/configuring reachability policies • Referential dependence: the complexity behind configuring routers correctly • Roles: the complexity behind identifying roles (e.g., filtering) for routers in implementing a network’s policy • Inherent complexity: complexity of the reachability policies themselves • Uniformity: complexity due to special cases in policies • Determines implementation complexity • High inherent complexity high implementation complexity • Low inherent complexity simple implementation possible
Naïve metrics don’t work • Size or line count not a good metric • Complex • Simple • Need sophisticated metrics that capture configuration difficulty
Referential complexity: Dependency graph • An abstraction derived from router configs • Intra-file links, e.g., passive-interfaces, and access-group • Inter-file links • Global network symbols, e.g., subnet, and VLANs • 1Interface Vlan901 • 2 ip 128.2.1.23 255.255.255.252 • 3 ip access-group 9 in • 4 ! • 5 Router ospf 1 • 6 router-id 128.1.2.133 • 7 passive-interface default • 8no passive-interface Vlan901 • 9 no passive-interface Vlan900 • 10 network 128.2.0.0 0.0.255.255 • 11distribute-list in 12 • 12redistribute connected subnets • 13 ! • 14 access-list 9 permit 128.2.1.23 0.0.0.3 any • 15access-list 9 deny any • 16 access-list 12 permit 128.2.0.0 0.0.255.255 ospf 1 ospf1 Route-map 12 Vlan30 Vlan901 Access-list 12 Access-list 10 Access-list 11 Subnet 1 Access-list 9
Referential dependence metrics • Operator’s objective: minimize dependencies • Baseline difficulty of maintaining reference links network-wide • Dependency/interaction among units of routing policy • Metric: # ref linksnormalized by # devices • Metric: # routing instances • Distinct units of control plane policy • Router can be part of many instances • Routing info: unfettered exchangewithin instance, but filtered across instances • Reasoning about a reference harder with number/diversity of instances • Which instance to add a reference? • Tailor to the instance
Empirical study of implementation complexity • No direct relationto network size • Complexity based on implementation details • Large network could be simple
Metrics complexity Task: Add a new subnet at a randomly chosen router • Enet-1, Univ-3: simple routing redistribute entire IP space • Univ-1: complex routing modify specific routing instances • Multiple routing instances add complexity • Metric not absolute but higher means more complex
Inherent complexity • Reachability policies determine a network’s configuration complexity • Identical or similar policies • All-open or mostly-closed networks • Easy to configure • Subtle distinctions across groups of users • Multiple roles, complex design, complex referential profile • Hard to configure • Not “apparent” from configuration files • Mine implemented policies • Quantify similarities/consistency
Reachability sets • Networks policies shape packets exchanged • Metric: capture properties of sets of packets exchanged • Reachability set (Xie et al.): set of packets allowed between 2 routers • One reachability set for each pair of routers (total of N2 for a network with N routers) • Affected by data/control plane mechanisms • Approach • Simulate control plane • Normalized ACL representation for FIBs • Intersect FIBs and data plane ACLs FIB ACL FIB ACL
Inherent complexity: Uniformity metric R(A,C) • Variability in reachability sets between pairs of routers • Metric: Uniformity • Entropy of reachability sets • Simplest: log(N) all routers should have same reachability to a destination C • Most complex: log(N2) each router has a different reachability to a destination C A B E R(B,C) D C R(D,C) R(C,C)
Empirical results • Simple policies • Entropy close to ideal • Univ-3 & Enet-1: simple policy • Filtering at higher levels • Univ-1: • Router was not redistributing local subnet BUG!
Our foray into complexity: Insights • Studied networks have complex configuration, But, inherently simple policies • Network evolution • Univ-1: dangling references • Univ-2: caught in the midst of a major restructuring • Optimizing for cost and scalability • Univ-1: simple policy, complex config • Cheaper to use OSPF on core routers and RIP on edge routers • Only RIP is not scalable • Only OSPF is too expensive
Policy units • Policy units: reachability policy as it applies to users • Equivalence classes over the reachability profile of the network • Set of users that are “treated alike” by the network • More intuitive representation of policy than reachability sets • Algorithm for deriving policy units from router-level reachability sets (IMC 2009) • Policy unit a group of IPs Host 1 Host 2 Host 3 Host 5 Host 4
Policy units in enterprises • Policy units succinctly describe network policy • Two classes of enterprises • Policy-lite: simple with few units • Mostly “default open” • Policy-heavy: complex with many units
Policy units: Policy-heavy enterprise • Dichotomy: • “Default-on”: units 7—15 • “Default-off”: units 1—6 • Design separate mechanisms to realize default-off and default-off network parts • Complexity metrics to design the simplest such network [Ongoing]
Deconstructing network complexity • Metrics that capture complexity of network configuration • Predict difficulty of making changes • Static, layer-3 configuration • Inform current and future network design • Policy unit extraction • Useful in management and as invariant in redesign • Empirical study • Simple policies are often implemented in complex ways • Complexity introduced by non-technical factors • Can simplify existing designs
Many open issues… • Comprehensive metrics (other layers) • Simplification framework, config “remapping” • Cross-vendor? Cross-architecture? • ISP networks vs. enterprises • Application design informed by complexity