Network operator intent : a basis for user-friendly network configuration and analysis [article]

Andrew Curtis-Black, University Of Canterbury
2022
Two important network management activities are configuration (making the network behave in a desirable way) and analysis (querying the network's state). A challenge common to these activities is specifying operator intent. Seemingly simple configurations such as "no network user should exceed their allocated bandwidth" or questions like "how many network devices are in the library?" are difficult to formulate in practice, e.g. they may require multiple tools (like access control lists,
more » ... s, databases, or accounting software) and a detailed knowledge of the network. This requires a high degree of expertise and experience, and even then, mistakes are common. An understanding of the core concepts that network operators manipulate and analyse is needed so that more effective, efficient, and user-friendly tools and processes can be created. To address this, we create a taxonomy of languages for configuring networks, and use it to evaluate three such languages to learn how operators can express their intent. We identify factors such as language features, testing, state modeling, documentation, and tool support. Then, we interview network operators to understand what they want to express. We analyse the interviews and identify nine orthogonal dimensions which frequently appear in expressions of operator intent. We use these concepts, and our taxonomy, as the basis for a language for querying both business- and network-domain data. We evaluate our language and find that it reduces the number and complexity of queries needed to answer questions about networks. We also conduct a user study, and find that our language reduces novices' cognitive load while increasing their accuracy and efficiency. With our language, users better understand how to approach questions, can more easily express themselves, and make fewer mistakes when interpreting data. Overall, we find that operator intent can, at one extreme, be expressed directly, as primitives like flow rules, packet counters, or CLI commands, and at another extreme as [...]
doi:10.26021/12540 fatcat:ngvrjlrzbbe75c5nd2d2w5wrua