2015 · 95 citations · 42 references
ComputingComputer ScienceComputer SystemsDistributed SystemsSystems ProgrammingVirtualizationNetwork ProgrammingNetwork VirtualizationRoutingSoftware-defined NetworkingEfficient Resource UseIn-network ProcessingNetwork Function SteeringNetwork FunctionsPacket ProcessingTraffic SteeringVirtual Machines
Current approaches to in-network traffic processing involve the deployment of monolithic middleboxes in virtual machines. These approaches make it difficult to reuse functionality across different packet processing elements and also do not use available in-network processing resources efficiently. We present Slick, a framework for programming network functions that allows a programmer to write a single high-level control program that specifies custom packet processing on precise subsets of traffic. The Slick runtime coordinates the placement of fine-grained packet processing elements (e.g., firewalls, load balancers) and steers traffic through sequences of these element instances. A Slick program merely dictates what processing should be performed on specific traffic flows, without requiring the programmer to specify where in the network specific processing elements are instantiated or how traffic should be routed through them. In contrast to previous work, Slick handles both the placement of fine-grained elements and the steering of traffic through specific sequences of element instances, allowing for more efficient use of network resources than solutions that solve each problem in isolation.
42
A Set of Measures of Centrality Based on Betweenness
Linton C. Freeman · Sociometry · 1977 · 10.2K citations
Nick McKeown, Tom Anderson, Hari Balakrishnan et al. · ACM SIGCOMM Computer Communication Review · 2008 · 8.4K citations
Eddie Kohler, Robert Morris, Benjie Chen et al. · ACM Transactions on Computer Systems · 2000 · 2.4K citations · Full text
Bro: a system for detecting network intruders in real-time
Vern Paxson · Computer Networks · 1999 · 2.4K citations