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.
...
designed to work over
serial port
In computing, a serial port is a serial communication 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 paralle ...
s and
router connections. It is documented in . On personal computers, SLIP has largely been replaced by the
Point-to-Point Protocol (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 (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmab ...
, 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 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 set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
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 del ...
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 unit ...
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 boar ...
of 8 data
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
bit
The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented a ...
s, no parity
Parity may refer to:
* Parity (computing)
** Parity bit in computing, sets the parity of data for the purpose of error detection
** Parity flag in computing, indicates if the number of set bits is odd or even in the binary representation of the r ...
, and either EIA hardware flow control, or CLOCAL mode (3-wire null-modem) UART
A universal asynchronous receiver-transmitter (UART ) is a computer hardware 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 signific ...
operation settings.
SLIP does not provide error detection
In information theory and coding theory with applications in computer science and telecommunication, error detection and correction (EDAC) or error control are techniques that enable reliable delivery of digital data over unreliable communic ...
, being reliant on upper layer protocols for this. Therefore, SLIP on its own is not satisfactory over an error-prone 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. It is however still useful for testing operating systems
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
' response capabilities under load (by looking at flood- ping statistics).
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 Dennis Hayes for the Hayes Smartmodem 300 baud modem in 1981.
The command set consists of a series of short text strings which can be ...
, 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
Van Jacobson TCP/IP Header Compression is a data compression protocol described in , specifically designed by Van Jacobson to improve TCP/IP performance over slow serial links. Van Jacobson compression reduces the normal 40 byte
The byte is ...
. 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 protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is common ...
(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 unit ...
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 packets) to other hosts on an Internet Protocol (IP) networ ...
(UDP) datagrams.
See also
* Parallel Line Internet Protocol
* Slirp
Slirp (sometimes capitalized SLiRP) is a software program that emulates a PPP, SLIP, or CSLIP connection to the Internet using a text-based shell account. Its original purpose became largely obsolete as dedicated dial-up PPP connections and b ...
* 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 (TNC)
*Consistent Overhead Byte Stuffing Consistent Overhead Byte Stuffing (COBS) is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed ...
References
External links
* RFC1055:
* RFC1144: — introduced the Van Jacobson TCP/IP Header Compression
Van Jacobson TCP/IP Header Compression is a data compression protocol described in , specifically designed by Van Jacobson to improve TCP/IP performance over slow serial links. Van Jacobson compression reduces the normal 40 byte
The byte is ...
used by CSLIP
{{Authority control
Internet protocols
Link protocols
Logical link control