# PARC Universal Packet

El paquet universal PARC (PUP o PuP, encara que els documents originals solen utilitzar Pup) va ser una de les dues primeres suites de protocols de connexió a Internet; va ser creat per investigadors de Xerox PARC a mitjans dels anys setanta. (Tècnicament, el nom "PUP" només es refereix al protocol a nivell d'internetwork, però també s'aplica a tota la suite de protocols.) Tota la suite proporcionava l'encaminament i el lliurament de paquets, així com funcions de nivell superior, com ara un flux de bytes fiable, juntament amb nombroses aplicacions.

## Història

El protocol PUP es va crear aproximadament en el mateix període de temps que les primeres parts del desenvolupament de TCP/IP per a Internet i també el mateix període de temps que la primera xarxa d'àrea local Ethernet a PARC. El disseny fonamental de la suite PUP es va completar substancialment el 1974.
A la dècada de 1980, Xerox va utilitzar PUP com a base per a la suite de protocols Xerox Network Systems (XNS); alguns dels protocols de la suite XNS (com ara l'Internetwork Datagram Protocol) eren versions lleugerament modificades dels de la suite PUP, però d'altres són força diferents, reflectint l'experiència adquirida amb PUP i IP.

## Protocol bàsic d'Internet

El protocol principal de la capa d'Internet és PUP, que correspon aproximadament a la capa de protocol d'Internet (IP) en TCP/IP. Una adreça de xarxa PUP completa consta d'un número de xarxa de 8 bits, un número d'amfitrió de 8 bits i un número de sòcol de 16 bits. El número de xarxa té un valor especial particular que significa "aquesta xarxa", per a l'ús d'amfitrions que (encara) no coneixen el seu número de xarxa.
Unlike TCP/IP, socket fields are part of the full network address in the PUP header, so that upper-layer protocols did not need to implement their own demultiplexing; PUP also supplies packet types (again, unlike IP). Also, an optional 2-byte checksum covers the entire packet.
Els paquets PUP tenen una longitud de fins a 554 bytes (incloent la capçalera PUP de 20 bytes) i la suma de verificació. Es tracta d'una mida de paquet més petita que la IP, que requereix que tots els amfitrions suportin un mínim de 576 bytes (però permet paquets de fins a 65K bytes, si els amfitrions els admeten); Els parells d'amfitrió PUP individuals d'una xarxa determinada poden utilitzar paquets més grans, però no cal cap encaminador PUP per gestionar-los. Els paquets més grans es poden fragmentar.
Un protocol anomenat Gateway Information Protocol (un avantpassat del RIP) s'utilitza com a protocol d'encaminament i perquè els amfitrions descobreixen encaminadors.
PUP també inclou un protocol d'eco simple a la capa d'interconnexió, similar al ping d'IP, però que funciona a un nivell inferior.

## Protocols de la capa de transport

Per establir una connexió de transport, van entrar en joc dos protocols. El primer, el Protocol de Rendezvous i Termination (RTP), que s'utilitzava per iniciar la comunicació entre dues entitats, així com gestionar i finalitzar la connexió. El segon va ser el protocol de la capa de transport principal, Byte Stream Protocol (BSP), que era anàleg a TCP.
Un cop RTP va iniciar la connexió, BSP es va fer càrrec i va gestionar la transferència de dades. Igual que TCP, la semàntica i el funcionament de BSP eren en termes de bytes; això es va descartar a favor dels paquets per al protocol equivalent a XNS, Sequenced Packet Protocol.

## Protocols d'aplicació

PUP va donar suport a un gran nombre d'aplicacions. Alguns d'ells, com Telnet i File Transfer Protocol, eren bàsicament els mateixos protocols que s'utilitzaven a ARPANET (tal com passava amb la suite TCP/IP).
Altres eren nous, inclosos els protocols per a la col·locació de la impressora, la còpia de paquets de disc, l'accés remot a nivell de pàgina als servidors de fitxers, la cerca de noms, la gestió remota, etc. gestió remota per controlar els processadors de missatges d'interfície (IMP) que el conformaven).

## Referències

* ↑ «Xerox PARC: A Nod to the Minds Behind the GUI, Ethernet, Laser Printing, and More» (en anglès americà), 10-10-2021. [Consulta: 17 novembre 2023].
* ↑ Panzaris, Georgios. Machines and romances: the technical and narrative construction of networked computing as a general-purpose platform, 1960-1995 (en anglès). Universitat Stanford, 2008, p. 128.
* ↑ «History of computers, part 2 — TCP/IP owes a lot to Xerox PUP» (en anglès americà). [Consulta: 17 novembre 2023].
* ↑ David R. Boggs; Boggs, David R.; Shoch, John F.; Taft, Edward A.; Metcalfe, Robert M. «Pup: An Internetwork Architecture». IEEE Transactions on Communications, 28, 4, 4-1980, pàg. 612–624. DOI: 10.1109/TCOM.1980.1094684.