Parallel Line Internet Protocol: Difference between revisions

Content deleted Content added
Linuxlad (talk | contribs)
structure of link is 4 data connected to control pins
Nomragbal (talk | contribs)
No edit summary
 
(31 intermediate revisions by 23 users not shown)
Line 1:
The '''Parallel Line Internet Protocol''' ('''PLIP''') is a [[computer network]]ing [[Protocol (computing)|protocol]] for direct computer-to-computer communications using the [[parallel port]], normally used for connections to a printer.<ref name="WellsJang2000">{{cite book|author1=Nicholas Wells|author2=Michael Jang|title=Guide to Linux Installation and Administration|url=https://books.google.com/books?id=jQE-iUCjUKAC&pg=PA63|year=2000|publisher=Cengage Learning EMEA|isbn=0-619-00097-X|page=63}}</ref><ref name="Hantelmann2012">{{cite book|author=Fred Hantelmann|title=LINUX Start-up Guide: A self-contained introduction|url=https://books.google.com/books?id=q9ypCAAAQBAJ&pg=PA3|date=6 December 2012|publisher=Springer Science & Business Media|isbn=978-3-642-60749-3|page=3}}</ref>
The '''Parallel Line Internet Protocol''' ('''PLIP''') is an encapsulation of the [[Internet Protocol]] designed to work over
a [[personal computer]] [[parallel port]] via a [[laplink cable|null-printer cable]], sometimes called a'laplink' 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 [[bitrate|speed]]s. The method is based on the "Crynwr" standard devised by Russ Nelson.
 
PLIP provides [[link layer]] services for the [[Internet Protocol]], which is used for forming small [[local area network]]s and large computer networks, such as the [[Internet]]. This enables computers without standard dedicated networking hardware, such as [[Ethernet]], but with older parallel port devices, to communicate.
For most uses PLIP has been replaced by increasingly-common [[Ethernet]] [[Protocol (computing)|protocol]] based [[computer network|networking]] support and [[Ethernet crossover cable|cross-cable]] setups &ndash;&ndash; or other [[Link (telecommunications)#Point-to-point|point-to-point]] connections such as an [[USB]] host-to-host bridge/cable &ndash;&ndash; used to transfer files between two computers where a network is not necessary or available.
 
==DescriptionOperation==
The [[Internet Protocol Suite]] is the standards-based networking model and software specification for forming small and large computer networks, from local area networks to global communication systems like the Internet. It is usually implemented by software and hardware features that use [[Ethernet]] network interface cards, cabling, and networking switches or hubs.
 
Early [[personal computer]]s did not have Ethernet hardware in their design, and bus adapters were initially expensive. A solution was to use, at the time, a standard [[parallel port]], typically used for connection to a printer or similar output device. The ports on two computers are connected with a so-called null-printer cable, sometimes called a [[LapLink cable]].
The [[laplink cable|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.
 
The [[laplinkLapLink cable|null-printer cable]] connects five output pins of a parallel port to five input pins on the otheropposing port, andfor viceeach versadirection. Due to the lack of an internal timing in the parallel ports, synchronization is doneimplemented via software handshaking: of the five input or outputfour pins, four are used for data transfer and one is used for synchronization. The [[Truth value|logical values]] at these pins can beare read and written directly by the software via an ioinput or output instruction.
Note that the method does NOT connect the bidirectional data lines from the two devices together, to avoid both lines being active at the same time. The control lines error, slct, papout, ack and busy are connected to data pins d0 thru d4 respectively.
 
Note that theThis method does NOTnot connect the bidirectional data lines fromof the two devices together, to avoidprevent both lines from being active at the same time. The controlstatus lines errorERROR, slctSLCT, papoutPAPOUT, ackACK, and busyBUSY on one device are connected to data pins d0 thruthrough d4, respectively, on the other.
Transmission of a byte is done by first breaking it into two [[nibble]]s 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.
 
Transmission of aA [[byte]] is donetransmitted by first breakingdividing it into two [[nibble]]s 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 to 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 canmay be sendsent. Both hosts use a toggle on their acknowledge lines to indicate that the operation (read or write) operation has been performed;. asAs a result, each host has to wait for a toggle from the other host before proceeding with a new read or writeoperation.
As an example, the transfer of nibble <tt>0010</tt> is done as follows:
 
As an example, the transfer of nibble <tt>{{mono|0010</tt>}} is doneproceeds as follows:
<pre>
t->r lines r->s lines operation
00010 0xxxx transmitter sets data lines to 0010
10010 0xxxx transmitter toggle ackACK line
receiver detects toggle and reads 0010
10010 1xxxx receiver toggle ackACK line
transmitter detects toggle
</pre>
This procedure is repeated for the next nibble when the transmitter detects the toggle.
 
[[Internet Protocol]] packets are sent over the line after being encapsulated into PLIP packets before being transmitted over the line. The encapsulated packet has the following structure:
When the transmitter detects the toggle, this procedure is repeated for the next nibble.
* 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 fieldfields 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.
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:
 
==Similar methods==
* packet length: 2 bytes, [[little endian]]
aAn [[personalanalogous computer]]feature [[parallelfor port]]serial viacommunications a [[laplink cable|null-printer cable]], sometimes called a'laplink' cable. Itports is the analogous[[Serial toLine whatInternet [[SLIPProtocol]] is(SLIP), for serial ports andusing null-modem cables, but allows the transfer of four bits at timesa time rather than one,. andIt generally works at higher [[bitrate|speed]]s. The method is based on the "Crynwr" standard devised by [[Russ Nelson]].
* ethernet header (mostly used for backward compatibility)
* the IP packet
* checksum: 1 byte, sum modulo 256 of bytes in the packet
 
Ethernet may also be used as a direct computer-to-computer communications method using an [[Ethernet crossover cable]].
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.
 
Other [[Point-to-point link|point-to-point]] connections, such as [[USB]] host-to-host bridges or cables, are also used to transfer files between two computers where a network is not necessary or available.
 
==See also==
*PPP [[Point-to-Point Protocol]]
* [[Direct cable connection]]
*[[Serial Line Internet Protocol]] (SLIP)
 
== References ==
{{reflist}}
 
==External links==
* [[TLDP]]https: [//web.archive.org/web/20121204000631/http://www.tldpfreebsd.org/HOWTOdoc/PLIP-Installhandbook/network-HOWTOplip.html PLIP-Install-HOWTO explanation]
* [http://www.linuxfreebsddiary.it/~rubini/docs/pliporg/plip.htmlphp APLIP descriptioninstall of the PLIP protocolhow-to] by Alessandro Rubini
*[http://www.tldp.org/HOWTO/PLIP-Install-HOWTO.html PLIP-Install-HOWTO]
*[http://www.linux.it/~rubini/docs/plip/plip.html A description of the PLIP protocol] by Alessandro Rubini
 
[[Category:Internet protocols]]