Lynx (protocol)
Encyclopedia
Lynx Is a protocol for the transfer of files over modem
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...

s. The protocol uses a windowed
Flow control
In data communications, flow control is the process of managing the pacing of data transmission between two nodes to prevent a fast sender from outrunning a slow receiver. It provides a mechanism for the receiver to control the transmission speed, so that the receiving node is not overwhelmed with...

 batch data transmission protocol designed to achieve efficient, reliable, and flexibile file transfers. It was developed by Matthew Thomas in 1989.

Techniques

The Lynx protocol is based on the assumption that a connection between two sites is capable of full-duplex transmission. Lynx will send a stream of data while simultaneously polling
Polling (computer science)
Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. Polling is most often used in terms of input/output , and is also referred to as polled or software driven .Polling is sometimes used...

 the receive-buffer for any interruptions from the other end. On half duplex links this will not work, but almost all modem
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...

s in use today are capable of full-duplex operation. Lynx makes use of full-duplex operations to insure efficient transfer speed. On certain occasions, after a file header is transmitted or after recovering from a line error, Lynx will wait for the other end to resynchronize.

Lynx can transfer up to 99 files in a single batch. Information which is passed from sender to receiver concerning each file includes:
  • File name (8 character body, 3 character extension)
  • Original time/date stamp (optional)
  • File length (exact length of files is preserved by Lynx)
  • Lynx version number (practically useless)


Lynx data transmissions are protected with CRC-32 error detection, and are recoverable either automatically by the protocol (Lynx will attempt to recover from up to twenty contiguous errors) or manually, by reconnecting (hoping for a cleaner connection) and using the resume option of Lynx. The resume option alerts the Lynx receive protocol to automatically test for the presence of a partially downloaded file before beginning the transfer, and to initiate the download at the point in the file where the last one ended, instead of resending the entire file.

During the course of the transmission, Lynx will adjust the block size from 2 packets up to 16 packets to optimize for speed on clean connections. A packet contains 64 bytes of data. The benefit of increasing the block size on error-free connections is in the fact that the overhead of block numbers, control sequences, and CRC-32 bytes is decreased for the entire file, actually decreasing the total number of bytes that must be transferred. Lynx will also shrink block sizes if continuous errors are detected in the connection. The benefit of this technique is that on an error-prone connection, short blocks take less time to retransmit (which is a natural occurrence during error recovery).

Lynx tests each block for compressibility before transmitting it. RLE compression is used for this operation. Generally, a block containing text information will be compressible. Archived, ZIPPED
ZIP (file format)
Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is...

, or other compressed files will likely not be further condensed by this technique. Note that Lynx will always optimize transmission of each block, if RLE decreases the block length, it will be used; otherwise, the uncompressed packet will be sent. In some implementations of RLE encoding, the compression technique may actually increase the length of the data being encoded. This is not the case with Lynx.

Lynx supports CTS/RTS hardware handshaking. This type of handshaking is generally required when using Lynx at high speeds (9600 baud or faster). Modems such as the ATI 2400etc, the USR HST 14400, and other MNP
Microcom Networking Protocol
The MNP family of error-correcting protocols were commonly used on early high-speed modems. Originally developed for use on Microcom's own family of modems, the protocol was later openly licensed and used by most of the modem industry, notably the "big three", Telebit, USRobotics and Hayes...

 or buffered modems require this type of handshaking
Handshaking
In information technology, telecommunications, and related fields, handshaking is an automated process of negotiation that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins...

.

Features

  • Run-length encoding
    Run-length encoding
    Run-length encoding is a very simple form of data compression in which runs of data are stored as a single data value and count, rather than as the original run...

     data compression
    Data compression
    In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....

     on a block by block basis
  • 32-bit CRC
    CRC
    - Organizations :* California Rehabilitation Center, a state prison in the USA* Cambridge Regional College, a further education college* Cambridge Regional College F.C., a semi-professional football club in England* Canada Research Chair* Capital Research Center...

     on each block for reliable error detection
  • Fast recovery from data transmission errors
  • Continuous data flow from the sender
  • Block scaling for noisy connections
  • Resume mode for recovery of crashed transmissions
  • Passing full file name, size, date and time
  • Up to 99 files may be transferred in a single batch
  • Retaining exact file size
  • Stamp received files with current or original time/date
  • RTS/CTS handshaking
    Handshaking
    In information technology, telecommunications, and related fields, handshaking is an automated process of negotiation that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK