Triple Point Connection



next up previous
Next: TCP Connection Transfer Up: Communication Model Previous: Communication Model

Triple Point Connection

  When using regular TCP on a roaming host, the wireless link and the periods of disconnected operation may cause problems.

When using links with drop-outs and periods of heavy noise, TCP interprets the cause of packet loss as network congestion, and initiates congestion control. This, together with the retransmission policy used by TCP, can seriously degrade throughput, as pointed out by both [CI94] and [BB94]. The GSM data service includes the Radio Link Protocol (RLP), which ensures reliable transmission on the wireless part of the serial link. Actual packet loss is reduced to a level comparable to ordinary telephone lines, but RLP may delay packet delivery due to data link level retransmission. These delays will also be interpreted as packet loss by the TCP layer, and cause the same problems as described above.

During periods of disconnected operation, the TCP connections of the mobile host may be forced to close by a connection timeout. One endpoint of a TCP connection may terminate the connection in two cases:

To avoid these problems, the TCP connections of the roaming host are implemented as two separate TCP connections, one covering the wired network part from the peer host to the MSG, and one covering the serial link from the MSG to the mobile host. The MSG will acknowledge and pass on data to and from mobile hosts. From both the mobile host's and the stationary host's point of view, data has been passed on to it's peer when it has been acknowledged by the MSG. As opposed to the point-to-point connections of regular TCP, this can be viewed as a triple point connection, where the MSG is the center point. This center point consists of two endpoints, which are proxy endpoints for the real endpoints. This is depicted in Figure 2, where the endpoints E'i are proxies for the endpoints Ei. These proxy endpoints act as the real endpoints, using the same sequence numbers for data transfer as the real endpoints. This makes it possible to insert and remove them without changing the state of the real endpoints. The idea of splitting the TCP connections in two parts, which has previously been used in [KRA94], [YB94], and [BB94], solves the main problems. As opposed to these, our design allows the mobile host to change between the point-to-point and triple point connections.

  
Figure 2: Connection schemes

The serial link part of the connection is isolated, so drop-outs, transmission errors, and packet delays on the serial link do not affect performance of the wired network part of the TCP connection. On the serial link part, the protocol used for data transfer may be optimized for the special link characteristics. Measurements made by [YB94] show that special purpose protocols only moderately improve performance compared to regular TCP, when used on connections using wireless links only. We have chosen to use TCP/IP with PPP [Sim94] as the serial link protocol, as this allows us to use the same TCP, UDP, and IP layers on the mobile host both when fixed and roaming. As PPP includes TCP/IP header compression, the header overhead is reduced to an acceptable level on the serial links.

During the periods, where the mobile host has no connection with the wired network, the TCP connections of stationary hosts do not timeout, as data are acknowledged by the MSG. A modification of the TCP layer of the mobile host and the MSG allows the TCP timers of the wireless part of the connection to be suspended, while the mobile host is disconnected, such that timeouts do not occur.

Furthermore, retransmissions over slow serial lines are minimized, since retransmissions due to failure in the fixed network do not affect the mobile host, only the MSG.

 

 


Figure 3: Protocol layers used by roaming host

These benefits arise from sacrificing the end-to-end semantics of TCP connections. This should cause no problems for applications developed for regular TCP. They are unaware of the end-to-end semantics, as they have no information about the status of data delivery. Thus, the triple point connection behaves like regular TCP from the applications' point of view. The additional copying and buffering introduces extra communication overhead, but as the serial links have a high round trip time (hundreds of msecs), this should not be significant.

Application level protocols using UDP or other connection-less services pose a difficult problem. As no simple mechanism exists for making the different application level protocols perform well, we chose simply to forward all non-TCP packets without modifications.

The communication model is summarized in Figure 3, where TCP' is our modified TCP layer. Both the mobile host protocol stack and both sides of the MSG protocol stack are modified in order to make the synchronization described in Section 2.2 possible. The TrAnsparent COmmunication (TACO) layer handles data scheduling and serial link management.



next up previous
Next: TCP Connection Transfer Up: Communication Model Previous: Communication Model



Jørgen Hansen
Wed Mar 20 11:49:24 MET 1996