TY - JOUR
T1 - A Verified Session Protocol for Dynamic Service Chaining
AU - Zave, Pamela
AU - Carvalho, Fabricio B.
AU - Ferreira, Ronaldo A.
AU - Rexford, Jennifer
AU - Morimoto, Masaharu
AU - Zou, Xuan Kelvin
N1 - Funding Information:
Manuscript received November 13, 2019; revised July 20, 2020; accepted November 1, 2020; approved by IEEE/ACM TRANSACTIONS ON NETWORK-ING Editor D. Malone. Date of publication November 19, 2020; date of current version February 17, 2021. This work was supported in part by the NSF under Grant CNS-116112, in part by the Brazilian National Council for Scientific and Technological Development (CNPq) under Grant 201983/2014-1, in part by the Brazilian National Research and Educational Network (RNP) under Grant 2956, and in part by the INCT InterSCity. (Corresponding author: Ronaldo A. Ferreira.) Pamela Zave and Jennifer Rexford are with the Department of Computer Science, Princeton University, Princeton, NJ 08540 USA.
Publisher Copyright:
© 1993-2012 IEEE.
PY - 2021/2
Y1 - 2021/2
N2 - Middleboxes are crucial for improving network security and performance, but only if the right traffic goes through the right middleboxes at the right time. Existing traffic-steering techniques rely on a central controller to install fine-grained forwarding rules in network elements - at the expense of a large number of rules, a central point of failure, challenges in ensuring all packets of a session traverse the same middleboxes, and difficulties with middleboxes that modify the 'five tuple.' We argue that a session-level protocol is a fundamentally better approach to traffic steering, while naturally supporting host mobility and multihoming in an integrated fashion. In addition, a session-level protocol can enable new capabilities like dynamic service chaining, where the sequence of middleboxes can change during the life of a session, e.g., to remove a load-balancer that is no longer needed, replace a middlebox undergoing maintenance, or add a packet scrubber when traffic looks suspicious. Our Dysco protocol steers the packets of a TCP session through a service chain, and can dynamically reconfigure the chain for an ongoing session. Dysco requires no changes to end-host and middlebox applications, host TCP stacks, or IP routing. Dysco's distributed reconfiguration protocol handles the removal of proxies that terminate TCP connections, middleboxes that change the size of a byte stream, and concurrent requests to reconfigure different parts of a chain. Through formal verification using Spin and experiments with our prototype, we show that Dysco is provably correct, highly scalable, and able to reconfigure service chains across a range of middleboxes.
AB - Middleboxes are crucial for improving network security and performance, but only if the right traffic goes through the right middleboxes at the right time. Existing traffic-steering techniques rely on a central controller to install fine-grained forwarding rules in network elements - at the expense of a large number of rules, a central point of failure, challenges in ensuring all packets of a session traverse the same middleboxes, and difficulties with middleboxes that modify the 'five tuple.' We argue that a session-level protocol is a fundamentally better approach to traffic steering, while naturally supporting host mobility and multihoming in an integrated fashion. In addition, a session-level protocol can enable new capabilities like dynamic service chaining, where the sequence of middleboxes can change during the life of a session, e.g., to remove a load-balancer that is no longer needed, replace a middlebox undergoing maintenance, or add a packet scrubber when traffic looks suspicious. Our Dysco protocol steers the packets of a TCP session through a service chain, and can dynamically reconfigure the chain for an ongoing session. Dysco requires no changes to end-host and middlebox applications, host TCP stacks, or IP routing. Dysco's distributed reconfiguration protocol handles the removal of proxies that terminate TCP connections, middleboxes that change the size of a byte stream, and concurrent requests to reconfigure different parts of a chain. Through formal verification using Spin and experiments with our prototype, we show that Dysco is provably correct, highly scalable, and able to reconfigure service chains across a range of middleboxes.
KW - NFV
KW - Session protocol
KW - middleboxes
UR - http://www.scopus.com/inward/record.url?scp=85096827737&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85096827737&partnerID=8YFLogxK
U2 - 10.1109/TNET.2020.3037049
DO - 10.1109/TNET.2020.3037049
M3 - Article
AN - SCOPUS:85096827737
SN - 1063-6692
VL - 29
SP - 423
EP - 437
JO - IEEE/ACM Transactions on Networking
JF - IEEE/ACM Transactions on Networking
IS - 1
M1 - 9264708
ER -