PEP is a proxy placed between the end points of the communication link. There are different types of PEPs available for Wireless Wide Area Networks(WWANs), satellite connections and Wireless Local Area Networks (WLANs).
a. Distributed PEPs
In these types of PEPs the TCP connection is split into three segments as shown in the diagram given below: one between the sender (content provider) and the PEP component (GW PEP, in the diagram); another between the two PEP components (ST PEP and GW PEP, in the diagram) and the last one between the receiver and the PEP component (ST PEP, in the diagram).
Fig 1: Distributed PEP in satellite network.
Here one can find that there is a client-server optimisation (C/S) as there is a client and server component on both sides of the wireless link (satellite, in the diagram). Thus it is called as Distributed PEP.
Just like we have one content provider in the above example, we can also have multiple PEP gateways for accessing documents of different security levels (say, one placed in the ‘public folder’ of a web server and other in a VPN network). This implies that the PEP architecture allows us to increase the complexity of the network on both sides of the wireless link. This architecture requires additional software components on client side of the link.
b. Centralised PEPs
In this case, the PEP component on the client side will be absent. This is essentially a client-less optimisation (CLS) and the PEP is located only on one side of the wireless link (Integrated PEP, in the diagram). Hence it is termed as Centralised PEP.
The connection is illustrated in Fig 2.
c. Transport layer PEP (TCP PEP)
As the name suggests these types of PEPs operate at transport layer and are able to meddle with the transport layer in order to improve the overall performance. However the application layer operates on an end-to-end basis. A classical example for this, is the case where ACKs gets cumulated and causes burst in the network. In this case, a TCP PEP can be employed to change the ACK spacing [RFC 3135]. They can also be deployed in the networks having large BDP.
TCP spoofing is a common technique employed by TCP PEPs.
We can classify TCP PEPs into three :
Those keep the end-to-end semantics principle of internet (Snoop is an example for this type – Here the PEP is essentially a ‘TCP aware’ link layer PEP which can locally retransmit the data).
Split connection PEPs – Here the TCP connection is split and it uses TCP spoofing for intercepting the data in the middle and act as the recipient for the sender. Then it will retransmit the data to the receiver. ACKs are sent accordingly. I-TCP and M-TCP are examples for PEPs of this type. W-TCP is another PEP which can locally retransmit data to mobile users.
PEPs using custom protocols – They are designed to avoid issues like the three way TCP handshake and the slow start phase of TCP. GPRSWeb is good candidate for this type of a PEP.
d. Application Layer PEP (and Session layer PEP)
These PEPs operate at application layer and are designed mainly to address issues related to performance and service availability. They also handle the reliability aspects of the service offered. Two popular proxies are proxy for web catches and relay Mail Transfer Agents [RFC 3135]. These proxies are recommended if the application running in the server uses larger or inefficient header encoding, large round trips etc [RFC 3135].
There are proxies that can perform DNS and URL-rewriting. They may also handle parsing and pushing of objects towards the users as the request. These types of proxies are called Session layer PEPs.
e. Multilayer PEPs
Along with application layer based techniques, many proxies use transport layer based optimisation techniques as well (hence using more than one layer). They are classified under Multilayer PEPs. Mowgli ,which uses a custom transport layer protocol and implements optimisations for application layers, is a good example for this type. FlashNetworks NettGain and Bytemobile Macara are two other popular PEPs under this category, which are commercially available.