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 ...
bit The bit is the most basic unit of information in computing and digital communication. 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 as ...
s, no parity, and either EIA hardware flow control, or CLOCAL mode (3-wire
null-modem Null modem is a communication method to directly connect two data terminal equipment, DTEs (computer, computer terminal, terminal, printer (computing), printer, etc.) using an RS-232 serial cable. The name stems from the historical use of RS-232 ...
)
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 In information theory and coding theory with applications in computer science and telecommunications, error detection and correction (EDAC) or error control are techniques that enable reliable delivery of digital data over unreliable communi ...
, being reliant on
upper layer protocol Encapsulation is the computer-networking process of concatenating layer-specific headers or trailers with a service data unit (i.e. a payload) for transmitting information over computer networks. Deencapsulation (or de-encapsulation) is the ...
s 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 Compression may refer to: Physical science *Compression (physics), size reduction due to forces *Compression member, a structural element such as a column *Compressibility, susceptibility to compression * Gas compression *Compression ratio, of a ...
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 Direct Cable Connection (DCC) is a feature of Microsoft Windows that allows a computer to transfer and share files (or connected printers) with another computer, via a connection using either the serial port, parallel port or the infrared port o ...
*
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 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

{{Authority control Internet protocols Link protocols Logical link control