Recent from talks
Contribute something
Nothing was collected or created yet.
Middlebox
View on WikipediaA middlebox is a computer networking device that transforms, inspects, filters, and manipulates traffic for purposes other than packet forwarding.[1] Examples of middleboxes include firewalls, network address translators (NATs), load balancers, and deep packet inspection (DPI) devices.[2]
The term middlebox was coined in 1999 by UCLA computer science professor Lixia Zhang.[1][3]
Usage
[edit]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.[4] 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.[2]
Examples
[edit]The following are examples of commonly-deployed middleboxes:
- Firewalls filter traffic based on a set of predefined security rules defined by a network administrator. IP firewalls reject packets "based purely on fields in the IP and transport headers (e.g., disallow incoming traffic to certain port numbers, disallow any traffic to certain subnets etc.)"[1] Other types of firewalls may use more complex rulesets, including those that inspect traffic at the session or application layer.[5]
- Intrusion detection systems (IDSs) monitor traffic and collect data for offline analysis for security anomalies. Unlike firewalls, IDSs do not filter packets in real time, as they are capable of more complex inspection and must decide whether to accept or reject each packet as it arrives.[6]
- Network address translators (NATs) replace the source and/or destination IP addresses of packets that traverse them. Typically, NATs are deployed to allow multiple end hosts to share a single IP address: hosts "behind" the NAT are assigned a private IP address and their packets destined to the public Internet traverse a NAT, which replaces their internal private address with a shared public address.[7] These are widely used by cellular network providers to manage scarce resources.[8]
- WAN optimizers improve bandwidth consumption and perceived latency between endpoints. Typically deployed in large enterprises, WAN optimizers are deployed near both sending and receiving endpoints of communication; the devices then coordinate to cache and compress traffic that traverses the Internet.[9]
- Load balancers provide one point of entry to a service, but forward traffic flows to one or more hosts that actually provide the service.
- Cellular networks use middleboxes to ensure scarce network resources are used efficiently as well as to protect client devices.
Criticism and challenges
[edit]Middleboxes have generated technical challenges for application development and have incurred "scorn" and "dismay" in the network architecture community[10] for violating the end-to-end principle of computer system design.[11]
Application interference
[edit]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.[12][13][14]
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".[8]
Other common middlebox-induced application challenges include web proxies serving "stale" or out-of-date content,[15] and firewalls rejecting traffic on desired ports.[16]
Internet extensibility and design
[edit]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.[17] 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.[10][18] This progressive reduction in flexibility has been described as protocol ossification.[19][20]
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
[edit]References
[edit]- ^ a b c Brian Carpenter (2002). "Middleboxes: Taxonomy and Issues". Ietf Datatracker. doi:10.17487/RFC3234. RFC 3234.
- ^ a b Shan Huang; Steve Uhlig; Félix Cuadrado (2017). "Middleboxes in the Internet: A HTTP perspective". 2017 Network Traffic Measurement and Analysis Conference (TMA). pp. 1–9. doi:10.23919/TMA.2017.8002906. ISBN 978-3-901882-95-1. S2CID 34925433.
- ^ Kromhout, Wileen Wong (February 2, 2012), "Lixia Zhang named to UCLA's Jonathan B. Postel Chair in Computer Science", UCLA Newsroom, archived from the original on April 25, 2019, retrieved 2015-06-14
- ^ Ido Dubrawsky and Wes Noonan. "Broadband Routers and Firewalls". CISCO Press. Retrieved 15 July 2012.
- ^ Magalhaes, Ricky. "The Difference Between Application and Session Layer Firewalls". Retrieved 17 July 2012.
- ^ "Understanding Intrusion Detection Systems". Retrieved 17 July 2012.
- ^ K. Egevang and P. Francis (2001). "The IP Network Address Translator (NAT)". Ietf Datatracker. doi:10.17487/RFC3022. RFC 1631.
- ^ a b Zhaoguang Wang, Zhiyun Qian, Qiang Xu, Z. Morley Mao, Ming Zhang (August 2011). "An Untold Story of Middleboxes in Cellular Networks" (PDF). ACM SIGCOMM Computer Communication Review. 41 (4). Association for Computing Machinery: 374–385. doi:10.1145/2043164.2018479.
{{cite journal}}: CS1 maint: multiple names: authors list (link) - ^ Poe, Robert. "What Is WAN Optimization, and How Can It Help You?". Retrieved 17 July 2012.
- ^ a b Michael Walfish, Jeremy Stribling, Maxwell Krohn, Hari Balakrishnan, Robert Morris, and Scott Shenker (2004). "Middleboxes No Longer Considered Harmful" (PDF). 6th Symposium on Operating Systems Design and Implementation. USENIX Association: 215–230.
{{cite journal}}: CS1 maint: multiple names: authors list (link) - ^ Walfish; et al. (2004). "Middleboxes no longer considered harmful" (PDF). OSDI. Retrieved 17 July 2012.
- ^ J. Rosenberg; et al. (2008). "Session Traversal Utilities for NAT (STUN)". Ietf Datatracker. doi:10.17487/RFC5389. RFC 5389. S2CID 6777753.
- ^ "NAT-PMP". Ietf Datatracker. Retrieved 17 July 2012.
- ^ "Port Control Protocol Working Group". Retrieved 17 July 2012.
- ^ "BlueCoat Knowledge Base: Proxy is displaying stale content". Retrieved 17 July 2012.
- ^ "Using FaceTime and iMessage behind a firewall". Retrieved 17 July 2012.
- ^ Honda; et al. (2011). "Is it still possible to extend TCP?" (PDF). Internet Measurement Conference.
- ^ Bryan Ford; Pyda Srisuresh; Dan Kegel (2005). "Peer-to-Peer Communication Across Network Address Translators" (PDF). 2005 USENIX Annual Technical Conference. USENIX Association: 179–192. arXiv:cs/0603074. Bibcode:2006cs........3074F.
- ^ 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. doi:10.1109/COMST.2016.2626780. hdl:2164/8317. ISSN 1553-877X. S2CID 1846371.
- ^ Corbet, Jonathan (January 29, 2018). "QUIC as a solution to protocol ossification". lwn.net. Retrieved 2020-03-14.
Middlebox
View on GrokipediaDefinition and Fundamentals
Definition
A middlebox is defined as any intermediary device or software in a computer network that performs functions other than the basic, standard operations of an IP router on the datagram path between source and destination hosts.[1] These functions typically involve intercepting, inspecting, filtering, or transforming data packets beyond simple forwarding, and middleboxes commonly operate at layers 3 through 7 of the OSI model, encompassing network, transport, and application layers.[1] Unlike traditional routers or switches, which primarily forward packets based on header information at lower OSI layers (such as layer 2 or 3), middleboxes actively engage with traffic by modifying packets—such as rewriting headers or payloads—or executing non-forwarding tasks like content caching or protocol translation.[1] This active intervention distinguishes middleboxes as more complex intermediaries that can alter the path or content of communications in ways that exceed passive routing.[1] The term "middlebox" was coined in 1999 by Lixia Zhang, a computer science professor at UCLA, during discussions on evolving Internet architecture within the Internet Engineering Task Force (IETF).[1] It emerged as a descriptive label for the growing prevalence of such intermediary devices in response to the limitations of pure end-to-end networking designs. The end-to-end principle, a foundational concept in Internet architecture, posits that certain critical functions—like data integrity, security, and reliability—should be implemented fully by communicating endpoints rather than by intermediate network elements, with the network core providing only minimal datagram transport services.[6] Middleboxes contrast this by introducing intermediary processing that can impose dependencies and potential failure points in the communication path, though they address practical needs unmet by strict adherence to the principle.[1]Role in Computer Networks
Middleboxes are intermediary network devices positioned between client and server endpoints in various topologies, serving as critical chokepoints for traffic inspection and processing. In enterprise networks, they are commonly deployed at perimeters to protect internal resources from external threats, while in ISP gateways, they handle ingress and egress traffic at scale to enforce provider-level controls. Similarly, at cloud edges, middleboxes facilitate secure and optimized connectivity between on-premises systems and cloud services, often integrated with virtual private cloud (VPC) routing for traffic steering. This strategic placement ensures that all relevant flows pass through the devices without requiring endpoint modifications.[7][8] Functionally, middleboxes integrate into networks by bridging legacy and modern protocols, such as translating between private IP address spaces and public Internet routing to support connectivity in mixed environments. They enforce essential policies, including security measures like packet filtering and intrusion detection, as well as quality-of-service (QoS) rules to prioritize traffic and manage bandwidth in heterogeneous setups. This integration promotes scalability by allowing dynamic traffic steering and policy application across diverse network segments, reducing the need for uniform endpoint compliance.[9][10] Middleboxes significantly impact traffic flow by segmenting paths into controlled segments, effectively creating localized "network neighborhoods" where specific policies apply without affecting global routing. Their insertion can be transparent, where devices intercept and process packets without altering endpoint perceptions (e.g., via in-line deployment that preserves original addressing), or non-transparent, involving modifications like address rewriting that may introduce latency or require protocol adjustments. A 2017 study across 2,977 autonomous systems revealed middleboxes in 661 ASes, underscoring their widespread prevalence and influence on bidirectional traffic flows.[11]History
Origins
The emergence of middleboxes can be traced to the late 1980s, when informal precursors began addressing nascent security and connectivity challenges in early internetworks. Following the Morris Worm incident in November 1988, which infected thousands of computers and exposed vulnerabilities in the nascent ARPANET and early Internet, network administrators sought basic mechanisms to filter unauthorized traffic.[12] This led to the development of the first packet-filtering firewalls, prototyped by Digital Equipment Corporation (DEC) in 1988 as simple screening routers that inspected packet headers to enforce access controls.[13] These devices, often embedded in routers, represented an ad hoc departure from pure end-to-end forwarding, marking the initial practical use of intermediary functions to mitigate threats in expanding networks.[12] Early motivations for such intermediaries stemmed from dual pressures: escalating security risks and the performance demands of rapidly growing internetworks. The Morris Worm, created by Robert Tappan Morris as an experimental program to gauge Internet size, instead caused widespread disruptions by exploiting buffer overflows and weak authentication, prompting a shift toward defensive network architectures.[14] Concurrently, the exponential growth of connected hosts in the late 1980s and early 1990s strained bandwidth and routing efficiency, necessitating devices like early proxies to cache content and optimize traffic flows between stub networks.[15] These informal solutions, though not yet termed middleboxes, laid the groundwork for intermediaries that balanced security with the scalability needs of an Internet transitioning from research to commercial use. A pivotal trigger for widespread middlebox adoption occurred in the mid-1990s amid IPv4 address exhaustion, which threatened the Internet's expansion as the 32-bit address space neared depletion. To conserve addresses without immediate migration to IPv6, Network Address Translation (NAT) was proposed as a temporary workaround, allowing multiple private hosts to share a single public IP address through port mapping at network borders. Formalized in RFC 1631 in May 1994 by K. Egevang and P. Francis, NAT represented the first broadly deployed middlebox, rapidly integrated into routers and gateways to extend the IPv4 lifespan. Its success in alleviating address scarcity while introducing stateful packet manipulation solidified the role of such devices in practical networking. The term "middlebox" itself was formalized in 1999 during Internet Engineering Task Force (IETF) workshops, where researcher Lixia Zhang coined it to describe the growing class of non-standard intermediaries—such as firewalls and NATs—that were disrupting end-to-end protocol evolution by altering or inspecting traffic.[1] Zhang's proposal highlighted how these "middleboxes" violated Internet architectural principles yet were indispensable for addressing real-world constraints like security and resource limitations.[16] This nomenclature, later codified in RFC 3234 (2002), encapsulated the tension between innovation and protocol purity in the late 1990s Internet.[1]Evolution and Adoption
The proliferation of middleboxes accelerated in the 2000s, coinciding with the widespread adoption of broadband internet, which increased demand for traffic management and security features. Network Address Translation (NAT), introduced earlier but rapidly deployed during this period to address IPv4 address exhaustion amid growing user bases, became a cornerstone middlebox for conserving scarce addresses and enabling cost-effective scaling. In 2002, RFC 3234 formalized the terminology and taxonomy of middleboxes, defining them as intermediary devices performing non-standard functions beyond simple IP forwarding, which spurred standardized discussions and deployments. The emphasis on security prompted the rise of Deep Packet Inspection (DPI) middleboxes for content filtering, intrusion detection, and monitoring, enhancing regulatory compliance in enterprise and ISP networks.[17][18] By the 2010s, middleboxes integrated deeply into cloud and mobile networks, with load balancers emerging as essential components in data centers to distribute traffic efficiently across virtualized resources. A 2019 measurement study revealed middleboxes in approximately 39% of internet paths, underscoring their pervasive role in shaping global traffic flows.[18] Outsourcing middlebox functions to cloud providers gained traction, allowing enterprises to leverage scalable infrastructure for functions like caching and optimization without dedicated hardware.[18] Several factors drove this adoption: cost savings from NAT mitigating IPv4 limitations, regulatory requirements for DPI in lawful interception and policy enforcement, and the virtualization wave enabling software-based middleboxes via Network Function Virtualization (NFV). A key milestone around 2015 marked the shift from proprietary hardware appliances to virtual instances, facilitated by the maturation of Software-Defined Networking (SDN), which decoupled control planes and allowed dynamic orchestration of middlebox chains in NFV environments. This transition reduced capital expenditures and improved flexibility, as evidenced by early NFV proofs-of-concept in telecom and cloud sectors.[18][19]Types and Classifications
Common Types
Middleboxes are commonly categorized by their primary functions, which span security, connectivity, performance optimization, and content management. These categories reflect the diverse roles middleboxes play in intercepting and processing network traffic to enforce policies, enhance efficiency, or mitigate threats.[1] Security-Focused MiddleboxesFirewalls are a foundational type, operating through stateful inspection to track the state of network connections and permit or block packets based on established rules and session context, rather than just individual packet headers. Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS) complement firewalls by monitoring traffic for anomalies or signatures indicative of attacks; IDS passively detects and alerts on suspicious patterns, while IPS actively blocks them in real-time.[20] In enterprise networks, firewalls and IDS/IPS constitute a significant portion of deployed middleboxes, with one study of a large enterprise reporting 166 firewalls and 127 network-based IDS instances among 636 total middleboxes.[21] Address and Connectivity Middleboxes
Network Address Translation (NAT) devices enable multiple internal devices to share a single public IP address by translating private IP addresses to public ones, often using port address translation (PAT) to multiplex connections via transport-layer ports, as defined in early NAT specifications.[22] Proxies function as application-layer gateways, intercepting and forwarding traffic while potentially modifying requests or responses to enforce access controls or anonymity.[23] NAT is ubiquitous in home routers, serving as a standard mechanism for address conservation and basic perimeter defense in residential networks.[24] Performance and Optimization Middleboxes
Load balancers distribute incoming traffic across multiple servers using algorithms such as round-robin, which cycles through destinations sequentially to ensure even workload distribution and prevent overload.[21] WAN optimizers improve wide-area network efficiency by applying techniques like data compression to reduce transmission size and deduplication to eliminate redundant content across transfers.[21] These types are prevalent in enterprise settings, where load balancers numbered 67 and WAN optimizers 44 in the same studied network.[21] Content and Management Middleboxes
Caches, such as web proxies, store frequently requested HTTP content closer to users to reduce latency and bandwidth usage by serving responses from local storage rather than remote origins.[25] Deep Packet Inspection (DPI) appliances perform detailed analysis of packet payloads beyond headers to identify application types, enforce policies, or detect specific content patterns.[26] Proxy caches were deployed at a scale of 66 units in the examined enterprise, highlighting their role in content delivery optimization.[21]
