Imalive Packets

TABLE OF CONTENTS:

  1. Introduction and Background
  2. The Sequence of Activities
  3. The Utility of this Imalive Packet Type
  4. Formats
  5. Distribution Methods
  6. Further Help
  7. Imalive Contents

INTRODUCTION AND BACKGROUND:
This is the packet used by the GCN/TAN system to monitor the status of the Internet socket connection between GCN/TAN and the remote computer at the site. These "imalive" packets are sent by the GCN/TAN computer to each actively connected socket site and read back. If there is a write error or nothing is read back, then this automatically signals the GCN/TAN program that the socket connection is broken and it then initiates the reconnection sequence.

THE SEQUENCE OF ACTIVITIES:
1) The GCN/TAN system starts out in a loop of pinging each "machine.domain" listed in the "sites.cfg" file that are scheduled for Internet socket distribution method.
2) If a successful "ping" reply is received, then a connection is opened.
3a) The GCN/TAN program then drops into an infinite loop of sending an Imalive packet to the remote site once every 60 seconds. The serial number and sending times are recorded for each site.
3b) If an error during the write operation is detected, that site is marked as being disconnected (and then a series of reconnection attempts are made).
4) After sending Imalives to all the actively connected socket connection sites, it drops into a sub-loop of trying to read back the echoed Imalive packet. All packets read back are checked for the proper serial number and the total round-trip travel time is recorded in a log file. All errors are also recorded in the log file.

THE UTILITY OF THIS IMALIVE PACKET:
There is a two-fold utility to these Imalive packets. The first is that it allows the GCN/TAN system to monitor the status of the socket connection (both ways) to be able to detect when the connection is broken or even in a disabled state (poor transmission time or intermitant transmission). The other is that it allows the remote site to monitor the status of the connection. If the remote site does not get an Imalive packet every 60 seconds, then it knows (a) the connection is broken and it should drop back into an initialized state of waiting for a new connection attempt, or (b) the GCN/TAN system is not functioning (for any of several causes).

The roundtrip travel time is also recorded. This provides a measure of the responsiveness of the Internet. It is therefore important that the sites write the Imalive packet back to the socket immediately after reading (with no intervening processing at your end) so that the roundtrip time is a realistic measure of the Internet and not of your machine's load-factor. And for more information on the Internet socket connection method and a histogram of roundtrip travel times.

FORMATS:
The format of the Imalive packet is described in the socket definition document to get the details (this is packet_type=3). A brief description of the format and contents are also listed below.

DISTRIBUTION METHODS:
Imalive packets are available only throught he socket connection and dedicated phone connection methods. It would be absurd to send imalives to sites via the e-mail or pager methods [people already get too much e-mail ;-)].

FURTHER HELP:
For more information, please contact me:
Phone: 301-286-3106
E-mail: scott@lheamail.gsfc.nasa.gov


IMALIVE CONTENTS:
The Imalive packet consists of 40 four-byte quantities.  It is used to monitor
the socket connection between GCN/TAN and the remote site.  The order and contents
are listed in the table below.  They have the same function, meaning, and
content as the items of the same name in the packet types 1 & 2.

Declaration  Index   Item         Units           Comments
Type                 Name
-----------  -----   ---------    ----------      ----------------
long         0       pkt_type     integer         Packet type number (=3)
long         1       pkt_sernum   integer         1 thru infinity
long         2       pkt_hop_cnt  integer         Incremented by each node
long         3       pkt_sod      [centi-sec]     (int)(sssss.sss *100)
long         4-38    spare[35]    integer         140 bytes for the future
long         39      pkt_term     integer         Pkt Termination (always = \n)


Return to GCN/TAN homepage.
This file was last modified on 21-Oct-97.