TCP Data Connections
This Section details TCP data connections ( current Transport Protocol (TP) [setting / parameter ] = 1).
TCP protocol implementation in the DS has the following differences from the standard:
TCP reconnects. When the data TCP connection between the DS and the network host is already established and another network host (with a different IP-address) attempts to connect to the data port of the DS this connection attempt is rejected (because the DS only allows for a single data connection at a time). However, if the second connection is attempted from the same IP-address (as the IP-address with which existing TCP connection is established) then the DS will "switchover" to this new connection. This means that the DS will forget the first connection and accept the second one. Such behavior is implemented to avoid DS stalling by hanged connection. Consider this scenario: the application on the network host has a TCP connection to the DS in progress. Suddenly, the application crashes- connection is left hanging because it wasn't properly terminated. When the application is re-launched it attempts to establish a TCP connection with the DS again. If the reconnect feature wasn't implemented the DS would have considered this to be an attempt to establish a second concurrent data connection and would have rejected it. Owing to reconnect feature the DS will recognize that this new connection attempt has originated from the same IP-address and switch over to this new connection. The downside of this arrangement is that two (or more) applications communicating with the DS from the same host can interfere with each other's connections- each new connection attempt will take over the existing one.
TCP retransmissions. Standard protocol implementation defines "exponential backoff" retransmit times whereas each subsequent retransmissions is attempted after a longer and longer periods of time. Such behaviour is not very suitable for real-time systems. For any situation that requires a TCP packet to be retransmitted the DS will perform six retransmission attempts at even intervals. These intervals are defined, in 0.5 second increments, by the Retransmission Period (RP) setting . Default value of this setting is 6 (3 seconds). This default retransmission period works fine on most networks. Setting it to higher value may improve DS operation on networks with significant response delays, such as those including GPRS segments.