beautypg.com

Udp considerations, Function code list – Delta RMC101 User Manual

Page 4

background image

DMCP User Guide

Page 4 of 9

October 23, 2001

UDP Considerations

DMCP is designed to work over either TCP or UDP. However, because UDP does not
support retrying packets and does not guarantee that packets will arrive in the order sent,
a couple of additional issues should be considered. However, if used correctly, UDP will
give higher performance than TCP and gives the user better control over timeouts, so
advanced users may want to do the following:

If IP packets are routed between networks, as opposed to be limited to a single

network, they can arrive at the target out of order from when they are sent. TCP
sequences the data before passing it to the application data, but UDP does not.
Therefore, for UDP you must use the SeqNum field in the DMCP header to match
responses with requests. Typically you will increment the SeqNum field in each new
request.

If a packet is lost, then eventually the client must decide to retry the packet. The

client should use the DMCP response packet as the positive acknowledgement and a
timeout as a negative acknowledgement. Therefore, the client must be designed such
that it handles the case in which the response from the RMC is lost or delayed and
that response comes back after the retry is sent. Therefore, two replies would come in
a row. The client must discard the second unexpected reply.

Function Code List

Four function codes are currently defined for use outside Delta:

0x10

Read Device Registers (little Endian)

0x11

Write Device Registers (little Endian)

0x12

Read Device Registers (big Endian)

0x13

Write Device Registers (big Endian)

These function codes will be described below in numerical order.

This manual is related to the following products: