Parallel Line Internet Protocol
From Wikipedia, the free encyclopedia
The Parallel Line Internet Protocol (PLIP) is an encapsulation of the Internet Protocol designed to work over a personal computer parallel port via a null-printer cable. It is the analogous to what SLIP is for serial ports and null-modem cables, but allows transfer of four bits at times rather than one, and generally works at higher speeds.
For most uses PLIP has been replaced by increasingly-common Ethernet protocol based networking support and cross-cable setups –– or other point-to-point connections such as an USB host-to-host bridge/cable –– used to transfer files between two computers where a network is not necessary or available.
[edit] Description
The null-printer cable connects five output pins of a parallel port to five input pins on the other port, and vice versa. Due to the lack of an internal timing in the parallel ports, synchronization is done via software handshaking: of the five input or output pins, four are used for data transfer and one is used for synchronization. The logical values at these pins can be read and written directly by the software via an io instruction.
Transmission of a byte is done by first breaking it into two nibbles of four bits each. Each nibble is then transmitted by first setting the four data lines according to the four nibble bits and then toggling the acknowledge line. This toggle indicates the receiving host that the nibble is ready to be read. Once the receiving host has read the nibble, it toggles its synchronization line to tell the transmitter that the nibble has been read and that a new one can be send. Both hosts use a toggle on their acknowledge lines to indicate that the operation (read or write) has been performed; as a result, each host has to wait for a toggle from the other host before proceeding with a new read or write.
As an example, the transfer of nibble 0010 is done as follows:
t->r lines r->s lines operation 00010 0xxxx transmitter sets data lines to 0010 10010 0xxxx transmitter toggle ack line receiver detects toggle and reads 0010 10010 1xxxx receiver toggle ack line transmitter detects toggle
When the transmitter detects the toggle, this procedure is repeated for the next nibble.
Every IP packet is sent over the line by first encapsulating it into a plip packet, which is then sent using the above protocol. The encapsulated packet is as follows:
- packet length: 2 bytes, little endian
- ethernet header (mostly used for backward compatibility)
- the IP packet
- checksum: 1 byte, sum modulo 256 of bytes in the packet
The length and checksum are calculated over the second and third field only, so that for example the actual total length of the packet is three more than the length as reported in the first two bytes of the packet.
[edit] See also
[edit] External links
- TLDP: PLIP-Install-HOWTO
- A description of the PLIP protocol by Alessandro Rubini