Performance Enhancing Proxy

From Wikipedia, the free encyclopedia

Performance Enhancing Proxies (PEPs) are network agents designed to improve the end-to-end performance of some communications protocol such as Transmission Control Protocol. PEPs function by breaking the end-to-end connection into multiple connections and using different parameters to transfer data across the different legs. This allows the end systems to run unmodified and can overcome some problems with TCP window sizes on the end systems being set too low for satellite communications.

The following picture shows a system using transport layer PEPs to improve TCP performance over a satellite link. The end systems use standard TCP with no modifications, and do not need to know of the existence of the PEPs in between. The transport layer PEPs intercept the TCP connections from the end systems and terminate them. The PEPs then use some other protocol to transfer data between them before translating back to TCP to send the data to the destination.

Image:Transport Layer PEP2.jpg

[edit] Standards

Performance Enhancing Proxies standards are defined in RFC 3135 (Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations).

[edit] Classification

Available PEP implementations use different methods to enhance performance.

  • Proxy Type : A PEP can either 'split' a connection or 'snoop' into it. In the first case, the proxy pretends to be the opposite endpoint of the connection in each direction, literally splitting the connection into two. In the latter case, the proxy controls the transmissions of the TCP segments in both direction, by ack filtering and reconstruction in the existing connection (see Protocol spoofing).
  • Distribution : PEPs can be either integrated or distributed. Integrated PEP will run on a single box, while distributed PEP will require to be installed on both sides of the link that cause the performance degradation. This is quite common in commercial PEP devices, which act as a Black box, using more or less open protocols to communicate between them in the place of the TCP.
  • Symmetry :A PEP implementation may be symmetric or asymmetric. Symmetric PEPs use identical behavior in both directions, the actions taken by the PEP occur independent from which interface a packet is received.Asymmetric PEPs operate differently in each direction, which can cause for example only one link direction performance to be enhanced.


[edit] See also