HOME

TheInfoList



OR:

Lynx is a
file transfer File transfer is the transmission of a computer file through a communication channel from one computer system to another. Typically, file transfer is mediated by a communications protocol. In the history of computing, numerous file transfer protocol ...
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
for use with
modem A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by modulating one or more c ...
s, and the name of the program that implements the protocol. Lynx is based on a
sliding window protocol A sliding window protocol is a feature of packet-based data transmission protocols. Sliding window protocols are used where reliable in-order delivery of packets is required, such as in the data link layer ( OSI layer 2) as well as in the T ...
with two to sixteen packets per window (or "block"), and 64 bytes of data per packet. It also applies
run length encoding Run-length encoding (RLE) is a form of lossless data compression in which ''runs'' of data (sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original ...
(RLE) to the data on a per-block basis to compress suitable data. Lynx was developed by Matthew Thomas, who released it as
shareware Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer ...
in 1989. The protocol was supported primarily by the Lynx program, and appears to have seen little or no support in
bulletin board system A bulletin board system (BBS), also called computer bulletin board service (CBBS), is a computer server running software that allows users to connect to the system using a terminal program. Once logged in, the user can perform functions such ...
s (BBSs) or
online service An online service provider (OSP) can, for example, be an Internet service provider, an email provider, a news provider (press), an entertainment provider (music, movies), a search engine, an e-commerce site, an online banking site, a health site, ...
s.


Techniques

The Lynx program was run from the
command line A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
to start transfers, there is no documented example of a 3rd party
terminal emulator A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote ter ...
supporting the system. The protocol was relatively simple, largely identical to WXMODEM with the exception that it used fixed-size 64-byte packets in windows of two to sixteen packets, rather than one to four 128-byte packets in WXMODEM. Error recovery was handled by reducing the window size rather than the packet size.
CRC-32 A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to digital data. Blocks of data entering these systems get a short ''check value'' attached, based on t ...
was used to detect errors. Like TeLink, Lynx also included a separate header packet that contained file information: * 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) This allowed file transfers to be automated, sending multiple files in a single session by having the receiver extract the names of the files as they were received. The Lynx program allowed up to 99 files to be sent in a batch, although there is no limit in the protocol itself. Lynx tests each block for compressibility before transmitting it. RLE compression is used for this operation. Generally, a block containing text information will be compressed. Archived,
ZIPped A zipper, zip, fly, or zip fastener, formerly known as a clasp locker, is a commonly used device for binding together two edges of fabric or other flexible material. Used in clothing (e.g. jackets and jeans), luggage and other bags, camping g ...
, or other compressed files will likely not be further condensed by this technique. Note that Lynx will always optimize the transmission of each block, if RLE decreases the block length, it will be used; otherwise, the uncompressed packet will be sent. Lynx required 8-bit clean links and did not include any sort of escaping. It only supports CTS/RTS hardware handshaking, {{code, XON/XOFF is considered valid data.


See also

*
List of file transfer protocols This article lists communication protocols that are designed for file transfer over a telecommunications network. Protocols for shared resource, shared file systems—such as 9P (protocol), 9P and the Network File System—are beyond the scope ...


References


Lynx 3.02 program

Lynx documentation
BBS file transfer protocols Computer-related introductions in 1989