SEAlink

SEAlink

SEAlink is a file transfer protocol that is backward compatible with XMODEM but features a sliding window system for improved throughput. SEAlink was written in 1986 as a part of the SEAdog FidoNet mailer written by System Enhancement Associates, creators of the famous ARC program. It was licensed with a simple "give credit" requirement, but nevertheless was not very widely used except in FidoNet mailers. SEAlink, and most other XMODEM enhancements, were quickly displaced following the introduction of ZMODEM.

XMODEM breaks down the file to be sent into a numbered series of packets of 128 bytes each. Packets are sent one at a time to the receiver, who either acknowledges the proper reception by sending an ACK character, or requests it to be resent by sending a NAK instead. The transfer then continues.

Although the time needed to send the ACK or NAK is almost zero, the propagation delay of the phone system itself introduces a latency. A latency of 0.1 seconds is not at all uncommon, and can be much longer on overseas links. That means that the maximum transfer rate of XMODEM is a function of the phone system more than the speed of the modems themselves. At 300 bit/s this is not a serious concern, as the packet will take about 3.5 seconds to send, the 0.1 delay being insignificant. However, at 9600 bit/s the packet only takes about 0.1 seconds to send, meaning that at least half of the potential throughput is lost while the sender waits for the ACK or NAK to arrive.

SEAlink addresses this through the use of a "sliding window". In this case the sender does not wait for the ACK or NAK, and instead simply sends out its packets in a continual stream. The receiver still has to ACK or NAK the packets, but does so by attaching a packet number to each one, allowing the sender to identify which packets to re-send, if any. The "window" refers to the number of packets that can be sent before an ACK or NAK is required. In the case of SEAlink, the window was six packets, allowing up to 768 bytes of data to be sent at once.

SEAlink was designed to be completely backward compatible with existing XMODEM implementations. On the receiver side, all that was required was that the receiver send back the packet number (contained in all XMODEM packets) along with the normal ACK or NAK character. On reception of the very first ACK or NAK, the SEAlink sender would "notice" the packet number and continue to use windows. If the packet number was missing, it was assumed it was sending to a non-SEAlink XMODEM, and set the window size to one.

SEAlink also included a number of features included in other XMODEM derivatives. Notable was the use of a "zero packet", which was introduced in the Fido-related TeLink protocol in order to send file information and support batch file transfers. SEAlink made one minor modification to this "standard", adding a byte in position 40 of the packet to indicate whether or not to use "overdrive". When turned on (any non-zero number), the receiver no longer expected ACK messages, but only NAKs. This was intended to reduce the bandwidth required from the receiver back to the sender, which was an important consideration on many of the early high-speed modems, which featured a very slow backchannel (75 bit/s in the Telebit modems, for instance).

A later addition was "RESYNC", allowing for file transfers to be restarted from where they left off. RESYNC added another indicator in the zero packet, byte 42, to indicate that the sender supports the feature. In this case, the receiver always checks to see if an identical filename exists locally, and if so, sends a SYN character instead of the normal ACK or NAK. The SYN is followed by the packet number at which to restart.

Sliding windows are not the only way to improve throughput on high-latency links. Another solution is to simply increase the block size; this does nothing for the latency itself, but reduces the amount of packets that could be sent in that "dead time". Interestingly SEAlink did not support this feature, although it was introduced in XMODEM-1k. The two techniques were combined in WXMODEM, which used both windowing (the W in the name) as well as variable packet sizes up to 512 bytes.

External links

* [http://www.cpeterso.com/protocols/SEALINK.TXT SEAlink documentation]
* [http://www.cpeterso.com/protocols/CLINK120.ARJ SEAlink 1.20 program and source code]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Sealink — Infobox Defunct Company company name = Sealink company fate = Privatised 1984, resold 1991 (becoming Stena Line (UK)) foundation = location = Great Britain and adjacent waters industry = Maritime key people = products = Sea transport num… …   Wikipedia

  • SeaLink Travel Group — The SeaLink Travel Group is a group of companies including Kangaroo Island SeaLink, which operates vehicle and passenger ferry services to Kangaroo Island. This page is about SeaLink Travel Group NZ which operates vehicle ferry services on the… …   Wikipedia

  • Kangaroo Island SeaLink — Infobox Company company name = Kangaroo Island SeaLink company company type = Ferry and tour operator company slogan foundation= 1989 location = Adelaide key people = Chief Executive Officer Jeff Ellison num employees = industry = revenue = net… …   Wikipedia

  • MV Manx Viking — Career Name: 1974–1976: Monte Cruceta 1976–1978: Monte Castillo 1978–1987: Manx Viking 1987: Manx 1987–1989: Skudenes 1989: O …   Wikipedia

  • Kangaroo Island — For other places with the same name, see Kangaroo Island (disambiguation). Kangaroo Island Native name: Karta (Island of the Dead) Map of Kangaroo Island …   Wikipedia

  • MS Nindawayma — The MS Nindawayma was a passenger and automobile ferry, whose last active service was on Lake Huron, operated by the Owen Sound Transportation Company Limited; under contract to the Ontario Ministry of Transportation. In Canadian service she… …   Wikipedia

  • British Channel Island Ferries — ( BCIF ) was a ferry operator who ran services between the United Kingdom and the Channel Islands.HistoryChannel Island FerriesThe company was founded in late 1984 as Channel Island Ferries by a consortium made up of Brittany Ferries, Huelin… …   Wikipedia

  • British Rail Class 99 — When British Rail implemented the TOPS system for managing their operating stock, some of their Sealink shipping fleet was incorporated into the system as Class 99, in order to circumvent some of the restrictions of the application software. This …   Wikipedia

  • XMODEM — Contents 1 XMODEM 1.1 Packet structure 1.2 Transfer details 1.3 …   Wikipedia

  • MS Normandy — is a cruiseferry owned by the Singapore based oil service company Equinox Offshore Accommodation, under charter the Morocco based ferry operator Ferrimaroc. She was built in 1981 by Götaverken, Gothenburg, Sweden, and first entered service in… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”