Sierra Wireless DART 300 Modem User Manual


 
User’s Guide Protocols and Packet Assembly Features
2110212 Rev 1.0 Page 43
6.3. Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP) is an advanced transmission protocol that adds substantial
functionality to the underlying Internet Protocol it is built on. Because of this structure it is often
referred to as TCP/IP. The advantage of TCP is reliability of data transmission; achieved by using
positive acknowledgements with automatic retransmission if required. The main disadvantage is
the overhead needed to provide this reliability under various conditions.
Unlike UDP, TCP offers both reliable and connected data transmission service. Lost, delayed,
duplicated, or out of sequence packets are detected and automatically corrected. A logical point-
to-point connection is established and maintained throughout the communications session. It
requires very little other than session establishment, sending data over the serial port, and session
termination to get a basic application operational.
The price for this reliability is the number of extra data packets used and the time required to
process them. Both need to be considered when selecting an application protocol.
The DART 300 is capable of acting as a client – originating sessions by “dialing” a remote IP and
port, or as a server – opening a session when a connection request arrives from a remote client.
Once a session is opened, the modem handles packet assembly and disassembly for outgoing and
incoming data respectively. For details on packet assembly and forwarding see Section 6.6 below.
6.3.1. TCP Handshaking
Connection establishment requires a three-way handshake between the caller (client) and the
receiver (server). Once established, there is an optional inactivity timer available in the modem to
monitor the connection. If the connection is idle for the time specified, the session is closed.
There is also a closing handshake between TCP partners. This is the significant advantage in
using TCP with “dumb” local hosts. The modem can act as a server, opening the session when
requested by the polling client. The client can then close the session when done and the
DART 300 modem will also close the server side of the session, without the need of commands
from the local host. UDP is not capable of doing this.
6.3.2. TCP Server Features
When acting as a server, the modem can restrict connections to specified “friendly” IP addresses
(Section 5.1 above). Server sessions can be answered automatically or under AT command
control from the local host.
The modem will listen to a specific port (set in +WS212) for client requests. All callers must
send packets to the modem’s IP address (NEI) and this port number. Packets addressed to a
different port will be discarded.
6.3.2.1. Answering TCP Server Sessions
Server sessions are opened when the modem answers a calling client. The modem can be set to
auto-answer (S0=1), the default, or have the host control answering (S0=0). When a TCP
connection request arrives, the modem notifies the host with the Ring Indicator (RI) signal and
RING message, under the flow control described in Section 4.4.2 above. When answered, the
modem sends the CONNECT message and asserts the DCD signal.
When a session is opened, the modem handles packet assembly and disassembly for outgoing and
incoming data respectively. For details on packet assembly and forwarding see Section 6.6 below.
The session belongs to the calling client IP address and port exclusively. While the session is
open, connection requests from other clients will be quietly declined.