HOME

TheInfoList



OR:

The Serial Line Internet Protocol (SLIP) is an encapsulation of the
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. IP ...
designed to work over
serial port A serial port is a serial communication Interface (computing), interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in Pa ...
s and router connections. It is documented in . On personal computers, SLIP has largely been replaced by the
Point-to-Point Protocol In computer networking, Point-to-Point Protocol (PPP) is a data link layer (layer 2) communication protocol between two routers directly without any host or any other networking in between. It can provide loop detection, authentication, transmissio ...
(PPP), which is better engineered, has more features, and does not require its IP address configuration to be set before it is established. On
microcontrollers A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
, however, SLIP is still the preferred way of encapsulating IP packets, due to its very small overhead. Some people refer to the successful and widely used RFC 1055 Serial Line Internet Protocol as "Rick Adams' SLIP",: "Requirements for an Internet Standard Point-to-Point Protocol" to avoid confusion with other proposed protocols named "SLIP". Those other protocols include the much more complicated appendix D Serial Line Interface Protocol.


Description

SLIP modifies a standard
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
datagram A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The de ...
by: * appending a special "END"
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
to it, which distinguishes datagram boundaries in the byte stream, * if the END byte occurs in the data to be sent, the two byte sequence ESC, ESC_END is sent instead, * if the ESC byte occurs in the data, the two byte sequence ESC, ESC_ESC is sent. * variants of the protocol may begin, as well as end, packets with END. SLIP requires a serial port
configuration Configuration or configurations may refer to: Computing * Computer configuration or system configuration * Configuration file, a software file used to configure the initial settings for a computer program * Configurator, also known as choice board ...
of 8
data Data ( , ) are a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted for ...
bits, no parity, and either EIA hardware flow control, or CLOCAL mode (3-wire null-modem)
UART A universal asynchronous receiver-transmitter (UART ) is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to ...
operation settings. SLIP does not provide error detection, being reliant on upper layer protocols for this. Therefore, SLIP on its own is not satisfactory over a link which is error-prone, such as a poor quality
dial-up Dial-up Internet access is a form of Internet access that uses the facilities of the public switched telephone network (PSTN) to establish a connection to an Internet service provider (ISP) by dialing a telephone number on a conventional telepho ...
connection. SLIP escape characters were also required on some modem connections to escape
Hayes command set The Hayes command set (also known as the AT command set) is a specific command language originally developed by Dale Heatherington and Dennis Hayes for the Hayes Smartmodem in 1981. The command set consists of a series of short text string ...
, allowing therefore to pass binary data through those modems that would recognize some characters as commands.


CSLIP

A version of SLIP with header compression is called Compressed SLIP (CSLIP). The compression algorithm used in CSLIP is known as Van Jacobson TCP/IP Header Compression. CSLIP has no effect on the data payload of a packet and is independent of any compression by the serial line modem used for transmission. It reduces the
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
(TCP) header from twenty
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
s to seven bytes. CSLIP has no effect on
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in Network packet, packets) to other hosts on an Internet Protoco ...
(UDP) datagrams.


History

RFC 1055, a "non-standard" for SLIP, traces its origins to the 3COM UNET TCP/IP implementation from the 1980s. Rick Adams added SLIP to the popular 4.2BSD in 1984 and it "quickly caught on". By the time of the RFC (1988), it is described as "commonly used on dedicated serial links and sometimes for dialup purposes". The last version of FreeBSD to include "slattach" (a command for connecting to slip) in the manual database is FreeBSD 7.4, released 2011. The manual claims that auto-negotiation exists for CSLIP. The FreeBSD version is inherited from 4.3BSD. Linux formerly used the same code base for SLIP and KISS (TNC). The split occurred before the start of kernel git history (Linux-2.6.12-rc2, 2005). The SLIP driver offers a special "6-bit" escaped mode to accommodate modems incapable of handling non-ASCII characters. The Linux slattach command (written independently) also has the ability to auto-detect CSLIP support. "Other possible values are slip (normal SLIP), adaptive (adaptive CSLIP/SLIP)...


See also

* Parallel Line Internet Protocol * Slirp * KA9Q * Direct cable connection *
In-band signaling In telecommunications, in-band signaling is the sending of control information within the same band or channel used for data such as voice or video. This is in contrast to out-of-band signaling which is sent over a different channel, or even o ...
* KISS (amateur radio protocol) * Consistent Overhead Byte Stuffing


References

{{Authority control Internet protocols Link protocols Logical link control