
2000 Digital Wireless Corporation 17 042000
SNAP DATAGRAM PROTOCOL (SDP)
Overview
The SNAP Datagram Protocol (SDP) is a UDP (datagram) protocol implemented in the
SNAP to communicate remote radio data to and from workstations on the network. The
use of UDP datagrams permits the SNAP to unicast, multicast, or broadcast remote radio
data to multiple workstations on the network. The SDP datagrams transmitted by the
SNAP are sequenced so that a receiving workstation can detect datagrams that do not get
delivered. The SNAP caches SdpCache number of datagrams so that a receiving
workstation can request a retransmit of a particular datagram. The number of cached
datagrams, SdpCache, defaults to eight and can be configured on the SNAP.
A specific unit of information regarding the SDP or a remote radio is referred to as a
“message” and are defined in detail below. Each SDP datagram consists of a header and
one or more messages. The sum of the lengths of the header and all of the messages
within the datagram will not exceed SdpMax bytes, which is a configurable parameter
and defaults to 512 bytes. The SNAP builds a datagram as the messages accumulate. As
the SNAP builds a datagram, if the next message to be added to the datagram will cause
the datagram to exceed SdpMax bytes in length, the datagram currently being built is
transmitted by the SNAP to all recipients. The SNAP then begins building a new
datagram with the current message. If 20 milliseconds elapse after the last message is
added to the datagram being built, then that datagram is transmitted by the SNAP to all
recipients. If there are no messages to send for 500 milliseconds after the last datagram
has been transmitted, the last datagram is retransmitted by the SNAP to all recipients. If
there are still no messages to send for 1 second after this, the last datagram is once again
transmitted by the SNAP to all recipients. The retransmission of the last datagram aids in
the detection of datagrams that fail to be delivered.
Datagrams that are sent by workstations to the SNAP(s) have a similar format to those
sent by the SNAP to the workstations. There is currently no provision for
acknowledgement or request-for-retransmit of datagrams sent by workstations to the
SNAP. One of the messages that a workstation may send to a SNAP in a datagram is
used to request the retransmission of a datagram. If the datagram indicated by the
sequence number in the request is currently cached by the SNAP, that datagram will be
transmitted by the SNAP directly to the host requesting the retransmission.
SDP Header
The header for an SDP datagram is eight bytes long. The first four bytes are a magic
number in network byte order which is used to identify/qualify the datagram. When
transmitting a datagram, the SNAP places the value SDP_SNAP_MAGIC in the magic
field of the header. When receiving a datagram, the SNAP expects the value
SDP_USER_MAGIC in the magic field of the header. The next byte is the sequence
number which increments for each datagram transmitted by the SNAP. The next three
bytes of the header are the unique-ID of the “radio A” for the SNAP.