From Network Complexity

Revision as of 12:52, 29 April 2010 by M.Behringer (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

On this page we are trying to get a consensus on what Network Complexity means. It is a working page, and is expected to change, expand over time.

Network complexity contains the following elements:


The Complexity of the Network Itself

  • network elements: routers, switches, ..., which contain:
    • the operating systems running on those elements
    • applications, scripts, protocols, etc
  • transmission infrastructure:
    • fibres, cables, etc
    • repeaters, etc

The Complexity of External Systems

  • Network management systems
  • DNS systems
  • AAA systems
  • Time sources
  • power supply and management

The Complexity of the Operations

  • Network operators, including their knowledge and experience
  • Processes, procedures
  • Policies
    • internal policies: security policies, QoS policies, etc.
    • external ones: peering policies, filtering policies, etc.

Collection of Definitions from Workshop

"Network Complexity may be defined as the state of the network being hard to separate, analyze, or solve in case of a deviation from its intended, pre-determined behavior of its components interacting." [Burkhard]

Note 1: Components may comprise hardware boxes (e.g., routers, switches, meters) or software modules (e.g., protocols, configurations) - in the context of the definition above, they contain all intended, needed, and even unnecessary capabilities offered (providing features) by that network. [Burkhard]

Note 2: The difference between (a) complicated and (b) complex is that for (a) the issues considered are not simple, but ultimately knowable by putting in some effort during the design, implementation, or operation process. But for (b) the issues under consideration are not simple, but it is impossible to determine the interrelations between all components in a reasonable effort, since the number of variables interacting (and their numerical values) is too large. Of course, in the context of human's ability to "learn", this notion of "complex" may shift over time for experts to "complicated". [Burkhard]

Note 3: The "pre-determined behavior" does have two different aspects: (1) the objective measure of the specified behavior (well-known in networking: e.g., service or protocol specs) and (2) the perceived perception of "a" or "the" behavior a user, human being, or operator may see or wants to see being offered to him/her. [Burkhard]

Network complexity is proportional to state, dependencies between components, and rate of change in a network. Too much complexity can cause unpredictable, non-linear behaviour. M.Behringer 16:03, 27 April 2010 (UTC)

Other Definitions of "complexity", thoughts, etc

Add your personal thoughts and definitions here. Please add your name.

  • Network complexity is probably proportional to the total cost of ownership of a network. Mbehringer 11:01, 3 March 2010 (UTC)
  • I would suggest that network complexity is related to its understandability, which in turn relates to the reliability of any change to it. For example, adding a laptop to a WiFi network is trivial, but may require a login through a web page or 802.1X. Adding an edge LAN is similarly simple: add a router or router port, and connect that to a set of ports perhaps using a VLAN. The further one gets into the network the more painful it gets. If changing the network is simple and predictable, that's one thing; when added considerations come into play, it gets harder, and that comes across as "complexity". Fred Baker 22:20 UTC 5 March
  • I dont know whether it is the scope of the workshop or not, but i am more interested in the service aspect of network complexity (which is related to the "network" complexity), i.e. how do you provide quality services to customers, how to manage content and services. Tractability of network status is an important notion when it comes to manage content and services. Christophe.
  • A network becomes complex when the behaviour of that network reaches a point unpredictability; the point at which events and interactions taking place in that network lead (or are expected to lead) to unexpected outcomes. Network complexity may be considered to be separate from operational complexity, where the operation and management of a network becomes 'difficult' - the underlying network may still be 'simple' or 'predictable'. Joel Obstfeld 12:31 UTC 27 April
  • A draft definition for Perceived Complexity: the amount of seemingly arbitrary parameters and behaviour exposed by the network. Bklauser 21:41, 27 April 2010 (UTC)
  • Also below the refined version to capture/model our combined attempts at identifying and defining the elements: FIle:20100427-Complexity-bklauser-v02.jpg Bklauser 21:43, 27 April 2010 (UTC)

More Notes from the Workshop

Complicated: You can still model a network, although the modelling may be hard. Complication is related to the number of features on a network.

Complex: a network is 'complex' when it becomes economically unfeasible to predict significant aspects of its behaviour in detail.

Complex systems are built out of a myriad of simple components which interact, and exhibit behaviour that is not a simple consequence of pairwise interactions, but rather, emerges from the combination of interactions at some scale.

General agreement:

  • Complication can create complexity
  • A complicated network is more likely to be complex than a simpler one, but a simple network can also display complex behavior (Marc's hospital STP example).
  • As a network gets more complex, more signs will appear
  • Growth can lead to complexity.
  • Complexity may be proportional to total cost of ownership
  • Complexity negatively affects predictability; security requires predictability.
  • "Not understanding" is a sign of complication - not necessarily complexity

General goals:

  • Predictability: You can predict the behaviour of a network
  • NOT maximum simplicity - a certain level of complexity is good, results in robustness.
  • Automatic assertion of network state and behaviour.
  • Human interface, structured in horizontally and vertically: horizontally for different skill levels, vertically for different task groups.
  • Automation
Personal tools