Middlebox Explained

A middlebox is a computer networking device that transforms, inspects, filters, and manipulates traffic for purposes other than packet forwarding. Examples of middleboxes include firewalls, network address translators (NATs), load balancers, and deep packet inspection (DPI) devices.[1]

UCLA computer science professor Lixia Zhang coined the term middlebox in 1999.

Usage

Middleboxes are widely deployed across both private and public networks. Dedicated middlebox hardware is widely deployed in enterprise networks to improve network security and performance; however, even home network routers often have integrated firewall, NAT, or other middlebox functionality. One 2017 study counted more than 1,000 deployments in autonomous systems, in both directions of traffic flows, and across a wide range networks, including mobile operators and data center networks.[1]

Examples

The following are examples of commonly-deployed middleboxes:

Criticism and challenges

Middleboxes have generated technical challenges for application development and have incurred "scorn" and "dismay" in the network architecture community[3] for violating the end-to-end principle of computer system design.

Application interference

Some middleboxes interfere with application functionality, restricting or preventing end host applications from performing properly.

In particular, network address translators (NATs) present a challenge in that NAT devices divide traffic destined to a public IP address across several receivers. When connections between a host on the Internet and a host behind the NAT are initiated by the host behind the NAT, the NAT learns that traffic for that connection belongs to the local host. Thus, when traffic coming from the Internet is destined to the public (shared) address on a particular port, the NAT can direct the traffic to the appropriate host. However, connections initiated by a host on the Internet do not present the NAT any opportunity to "learn" which internal host the connection belongs to. Moreover, the internal host itself may not even know its own public IP address to announce to potential clients what address to connect to. To resolve this issue, several new protocols have been proposed.

Additionally, because middlebox deployments by cell operators such as AT&T and T-Mobile are opaque, application developers are often "unaware of the middlebox policies enforced by operators", while operators lack full knowledge about application behavior and requirements. For example, one carrier set an "aggressive timeout value to quickly recycle the resources held by inactive TCP connections in the firewall, unexpectedly causing frequent disruptions to long-lived and occasionally idle connections maintained by applications such as push-based email and instant messaging".[2]

Other common middlebox-induced application challenges include web proxies serving "stale" or out-of-date content, and firewalls rejecting traffic on desired ports.

Internet extensibility and design

One criticism of middleboxes is they can limit the choice of transport protocols, thus limiting application or service designs. Middleboxes may filter or drop traffic that does not conform to expected behaviors, so new or uncommon protocols or protocol extensions may be filtered out. Specifically, because middleboxes make hosts in private address realms unable to "pass handles allowing other hosts to communicate with them", they have hindered the spread of newer protocols like the Session Initiation Protocol (SIP) as well as various peer-to-peer systems.[3] [4] This progressive reduction in flexibility has been described as protocol ossification.[5] [6]

Conversely, some middleboxes can assist in protocol deployment by providing a translation between new and old protocols. For example, IPv6 can be deployed on public endpoints such as load balancers, proxies, or other forms of NAT, with backend traffic routed over IPv4 or IPv6.

See also

Notes and References

  1. Book: Shan Huang . Steve Uhlig . Félix Cuadrado . 2017 Network Traffic Measurement and Analysis Conference (TMA). 2017 . 1–9 . 10.23919/TMA.2017.8002906 . Middleboxes in the Internet: A HTTP perspective . 978-3-901882-95-1 . 34925433 .
  2. Zhaoguang Wang, Zhiyun Qian, Qiang Xu, Z. Morley Mao, Ming Zhang . An Untold Story of Middleboxes in Cellular Networks . ACM SIGCOMM Computer Communication Review . August 2011 . 41 . 4 . 374–385 . 10.1145/2043164.2018479 . Association for Computing Machinery.
  3. Michael Walfish, Jeremy Stribling, Maxwell Krohn, Hari Balakrishnan, Robert Morris, and Scott Shenker . Middleboxes No Longer Considered Harmful . 6th Symposium on Operating Systems Design and Implementation . 2004 . 215–230 . USENIX Association.
  4. Bryan Ford . Pyda Srisuresh . Dan Kegel . Peer-to-Peer Communication Across Network Address Translators . 2005 USENIX Annual Technical Conference . 2005 . 179–192 . USENIX Association. 2006cs........3074F . cs/0603074 .
  5. Papastergiou. Giorgos. Fairhurst. Gorry. Ros. David. Brunstrom. Anna. Grinnemo. Karl-Johan. Hurtig. Per. Khademi. Naeem. Tuxen. Michael. Welzl. Michael. Damjanovic. Dragana. Mangiante. Simone. 2017. De-Ossifying the Internet Transport Layer: A Survey and Future Perspectives. IEEE Communications Surveys & Tutorials. 19. 1. 619–639. 10.1109/COMST.2016.2626780. 1553-877X. 2021-09-22. live. https://web.archive.org/web/20210922191041/https://aura.abdn.ac.uk/bitstream/handle/2164/8317/De_ossifying_the_internet_transport_layer.pdf. 2164/8317. 1846371. free.
  6. Web site: QUIC as a solution to protocol ossification. lwn.net. 2020-03-14. Jonathan. Corbet. January 29, 2018.