PARC Universal Packet

Last updated

The PARC Universal Packet (commonly abbreviated to PUP or PuP, although the original documents usually use Pup) was one of the two earliest internetworking protocol suites; it was created by researchers at Xerox PARC in the mid-1970s. (Technically, the name "PUP" only refers to the internetwork-level protocol, but it is also applied to the whole protocol suite.) The entire suite provided routing and packet delivery, as well as higher level functions such as a reliable byte stream, along with numerous applications.



The PUP protocol was created in roughly the same time frame as the earliest parts of the development of TCP/IP for the Internet and also the same time period as the early Ethernet local area network at PARC. [1] The fundamental design of the PUP suite was substantially complete by 1974.

In the 1980s Xerox used PUP as the base for the Xerox Network Systems (XNS) protocol suite; some of the protocols in the XNS suite (such as the Internetwork Datagram Protocol) were lightly modified versions of the ones in the PUP suite, but others are quite different, reflecting the experience gained with PUP and IP.

Basic internetwork protocol

The main internetwork layer protocol is PUP, which roughly corresponds to the Internet Protocol (IP) layer in TCP/IP. A full PUP network address consists of an 8-bit network number, an 8-bit host number, and a 16-bit socket number. The network number has a particular special value which means 'this network', for use by hosts which do not (yet) know their network number.

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.

PUP packets are up to 554 bytes long (including the 20 byte PUP header), and the checksum. This is a smaller packet size than IP, which requires all hosts to support a minimum of 576 bytes (but allows packets of up to 65K bytes, if the hosts support them); individual PUP host pairs on a particular network might use larger packets, but no PUP router is required to handle them. Larger packets can be fragmented.

A protocol named the Gateway Information Protocol (an ancestor of RIP) is used as both the routing protocol, and for hosts to discover routers.

PUP also includes a simple echo protocol at the internetwork layer, similar to IP's ping, but operating at a lower level.

Transport layer protocols

To establish a transport connection, two protocols came into play. The first, the Rendezvous and Termination Protocol (RTP), which was used to initiate communication between two entities, as well as manage and terminate the connection. The second was the primary transport layer protocol, Byte Stream Protocol (BSP), which was analogous to TCP.

Once RTP had started the connection, BSP took over and managed the data transfer. Like TCP, BSP's semantics and operation were in terms of bytes; this was discarded in favour of packets for the equivalent protocol in XNS, Sequenced Packet Protocol.

Application protocols

PUP supported a large number of applications. Some of them, such as Telnet and File Transfer Protocol, were basically the same protocols as used on the ARPANET (much as occurred with the TCP/IP suite).

Others were novel, including protocols for printer spooling, copying disk packs, page-level remote access to file servers, name lookup, remote management, etc. (although some of these capabilities had been seen before, e.g. the ARPANET already made heavy use of remote management for controlling the Interface Message Processors which made it up).


PuP showed that internetworking ideas were feasible, influenced the design work on TCP/IP, and laid a foundation for the later XNS protocols. At one point, Vint Cerf and Bob Kahn organized meetings at Stanford, and Xerox Researchers Bob Metcalfe and John Shoch attended. However, the Xerox attendees were told by a Xerox lawyer that they could not talk about PuP. During design discussions, the Xerox attendees kept pointing out flaws in the ideas that were suggested, until one of the Stanford researchers blurted out, "You guys have already done this, haven’t you?" [2]

The biggest impact of PuP was probably as a key component of the office of the future model first demonstrated at Xerox PARC; that demonstration would not have been anything like as powerful as it was without all the capabilities that a working internetwork provided.

The Gateway Information Protocol's descendant, RIP (with minor modifications to carry the addresses of any protocol family), remains in use today in other protocol suites, including TCP/IP. One version of RIP served as one of the initial so-called interior gateway protocols for the growing Internet, before the arrival of the more modern OSPF and IS-IS. It is still in use as an interior routing protocol, in small sites with simple requirements.

In terms of flaws, the PUP protocol family was not device independent, in modern terminology the IP and MAC layers were combined into a single layer, which made wide scale adoption difficult. PUP's 8-bit network and 8-bit host could scale to at most 64k machines, before an inter-network bridge or gateway would be needed. For this reason a successor, the XNS (Xerox Networking System) was developed by the Xerox Office Systems Division using many of the ideas of PUP, but also including a globally unique 48-bit host identifier (which became MAC address in DIX v2 and later IEEE 802.3) which solved these problems: [3]

See also

Related Research Articles

Internetworking is the practice of interconnecting multiple computer networks, such that any pair of hosts in the connected networks can exchange messages irrespective of their hardware-level networking technology. The resulting system of interconnected networks are called an internetwork, or simply an internet.

Internetwork Packet Exchange (IPX) is the network layer protocol in the IPX/SPX protocol suite. IPX is derived from Xerox Network Systems' IDP. It also has the ability to act as a transport layer protocol.

The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, an error is indicated when a requested service is not available or that a host or router could not be reached. ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications.

<span class="mw-page-title-main">Internet Protocol version 4</span> Fourth version of the Internet Protocol

Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.

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.

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 suite are the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and the Internet Protocol (IP). In the development of this networking model, early versions of it were known as the Department of Defense (DoD) model because the research and development were funded by the United States Department of Defense through DARPA.

<span class="mw-page-title-main">Router (computing)</span> Device that forwards data packets between computer networks

A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions between networks and on the global Internet. Data sent through a network, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork until it reaches its destination node.

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 commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

<span class="mw-page-title-main">Packet switching</span> Method for transmitting data over a computer network

In telecommunications, packet switching is a method of grouping data into packets that are transmitted over a digital network. Packets are made of a header and a payload. Data in the header is used by networking hardware to direct the packet to its destination, where the payload is extracted and used by an operating system, application software, or higher layer protocols. Packet switching is the primary basis for data communications in computer networks worldwide.

The Routing Information Protocol (RIP) is one of the oldest distance-vector routing protocols which employs the hop count as a routing metric. RIP prevents routing loops by implementing a limit on the number of hops allowed in a path from source to destination. The largest number of hops allowed for RIP is 15, which limits the size of networks that RIP can support.

Xerox Network Systems (XNS) is a computer networking protocol suite developed by Xerox within the Xerox Network Systems Architecture. It provided general purpose network communications, internetwork routing and packet delivery, and higher level functions such as a reliable stream, and remote procedure calls. XNS predated and influenced the development of the Open Systems Interconnection (OSI) networking model, and was very influential in local area networking designs during the 1980s.

The Address Resolution Protocol (ARP) is a communication protocol used for discovering the link layer address, such as a MAC address, associated with a given internet layer address, typically an IPv4 address. This mapping is a critical function in the Internet protocol suite. ARP was defined in 1982 by RFC 826, which is Internet Standard STD 37.

Chaosnet is a local area network technology. It was first developed by Thomas Knight and Jack Holloway at MIT's AI Lab in 1975 and thereafter. It refers to two separate, but closely related, technologies. The more widespread was a set of computer communication packet-based protocols intended to connect the then-recently developed and very popular Lisp machines; the second was one of the earliest local area network (LAN) hardware implementations.

The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between nodes on a network segment across the physical layer. The data link layer provides the functional and procedural means to transfer data between network entities and may also provide the means to detect and possibly correct errors that can occur in the physical layer.

EFTP was a very simple file transfer protocol developed as part of the PARC Universal Packet protocol suite at Xerox PARC in the late 1970s. It was the inspiration for the Trivial File Transfer Protocol (TFTP) in the TCP/IP suite.

The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the destination host specified by an IP address. The internet layer derives its name from its function facilitating internetworking, which is the concept of connecting multiple networks with each other through gateways.

John F. Shoch is an American computer scientist and venture capitalist who made significant contributions to the development of computer networking while at Xerox PARC, in particular to the development of the PARC Universal Protocol (PUP), an important predecessor of TCP/IP.

In computer networking, the link layer is the lowest layer in the Internet protocol suite, the networking architecture of the Internet. The link layer is the group of methods and communications protocols confined to the link that a host is physically connected to. The link is the physical and logical network component used to interconnect hosts or nodes in the network and a link protocol is a suite of methods and standards that operate only between adjacent network nodes of a network segment.

A long-running debate in computer science known as the Protocol Wars occurred from the 1970s to the 1990s when engineers, organizations and nations became polarized over the issue of which communication protocol would result in the best and most robust computer networks. This culminated in the Internet–OSI Standards War in the late 1980s and early 1990s, which was ultimately "won" by the Internet protocol suite ("TCP/IP") by the mid-1990s and has since resulted in most other protocols disappearing.


  1. Panzaris, Georgios (2008). Machines and romances: the technical and narrative construction of networked computing as a general-purpose platform, 1960-1995. Stanford University. p. 128. Despite the misgivings of Xerox Corporation (which intended to make PUP the basis of a proprietary commercial networking product), researchers at Xerox PARC, including ARPANET pioneers Robert Metcalfe and Yogen Dalal, shared the basic contours of their research with colleagues at TCP and Internet working group meetings in 1976 and 1977
  2. Taylor, Bob (October 11, 2008), "Oral History of Robert (Bob) W. Taylor" (PDF), Computer History Museum Archive, CHM Reference number: X5059.2009
  3. Yogen Dalal; Robert Printis (October 1981). "48-bit absolute internet and ethernet host numbers" (PDF). SIGCOMM '81 Proceedings of the seventh symposium on Data communications . pp. 240–245.

Further reading