Chaosnet

Last updated

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. [1] The more widespread was a set of computer communication packet-based protocols intended to connect the then-recently developed and very popular (within MIT) Lisp machines; the second was one of the earliest local area network (LAN) hardware implementations.

Contents

Origin

The Chaosnet protocol originally used an implementation over CATV coaxial cable modeled on the early Xerox PARC 3 megabit/second Ethernet, [2] the early ARPANET, and Transmission Control Protocol (TCP). It was a contention-based system intended to work over a 0–1000 meter range, [3] that included a pseudo-slotted feature intended to reduce collisions, which worked by passing a virtual token of permission from host to host; successful packet transmissions updated each host's knowledge of which host had the token at that time. Collisions caused a host to fall silent for a duration depending on the distance from the host it collided with. [4] Collisions were never a real problem, and the pseudo-slotting fell into disuse.

Chaosnet's network topology was usually series of linear (not circular) cables, each up to a maximum of a kilometer and roughly 12 clients. The individual segments were interconnected by "bridges" (much in the ARPANET mold), generally older computers like PDP-11s with two network interfaces. [5]

The protocols were also later implemented as a payload that could be carried over Ethernet (usually the later 10 megabit/second variety). Chaosnet was specifically for LANs; features to support WANs were left out for the sake of simplicity. [6]

Chaosnet can be regarded as a contemporary of both the PUP protocols invented by PARC, and the Internet Protocol (IP), and was recognized as one of the other network classes (other than "IN" and "HS") in the Domain Name System. [7] :§3.6 BIND uses a built-in pseudo-top-level-domain in the "CHAOS class" for retrieving information about a running DNS server. [8]

Chaosnet protocol

The Chaosnet protocol identifies hosts by 16-bit addresses, 8 bits of which identify the subnet, 8 bits of which identify the host within the subnet. [9] The basic protocol was a full-duplex reliable packet transmission between two user processes. The packet contents could be treated as bytes of 8 or 16 bits, with support for other word sizes provided by higher-level protocols. The connection was identified by a combination of the 16-bit addresses of each host and a 16-bit "connection index" assigned by each host to maintain uniqueness. "Controlled" packets within a connection were identified by a 16-bit packet number, which was used to deliver controlled packets reliably and in order, with re-transmission and flow control. "Uncontrolled" packets were not retransmitted, and were used at a lower level to support the flow-control and re-transmission. Chaosnet also supported "BRD" broadcast packets to multiple subnets. [10]

Initial establishment of the connection was made using "contact names." These names identified the network service and higher-level protocol. For example, "STATUS" was the contact name which requested basic network statistics from a host. "TELNET" was a contact name for the Arpanet TELNET protocol. "FILE" was a contact name for the Lisp Machine network file service. Other contact names included "SUPDUP", "MAIL", "NAME" for the Arpanet Finger protocol, "TIME", "SEND" for interactive messaging, "ARPA" for a gateway service to Arpanet. "DOVER" was the contact name for sending print jobs to Chaosnet hosts with a Xerox Dover printer attached (an early laser printer). [11] Developers could easily experiment with new protocols by inventing new contact names. In ITS, a new server for that protocol could be installed by creating a link to the program in the location DSK:DEVICE;CHAOS <cname> where <cname> was up to six letters of the contact name.

Simple transactions could be completed by a single "RFC" packet containing a contact name, answered by a single "ANS" packet with the relevant information. For example, an RFC to contact name "TIME" would result in a single ANS packet containing a 32-bit number indicating the time. [12]

The original GNU Manifesto mentioned that it aimed to, among other things, support the Chaosnet protocol.

Symbolics, a maker of the Lisp machines, licensed the MIT Chaosnet hardware and software implementation from the CADR computer design.

Notes

  1. Moon 1981 , p. 2
  2. Moon 1981 , p. 2
  3. Moon 1981 , p. 3
  4. Moon 1981 , pp. 6–8
  5. Moon 1981 , p. 3, 14
  6. Moon 1981 , p. 1
  7. P. Mockapetris (November 1987). DOMAIN NAMES - CONCEPTS AND FACILITIES. Network Working Group. doi: 10.17487/RFC1034 . STD 13. RFC 1034.Internet Standard 13. Obsoletes RFC  882, 883 and 973. Updated by RFC  1101, 1183, 1348, 1876, 1982, 2065, 2181, 2308, 2535, 4033, 4034, 4035, 4343, 4592, 5936, 8020, 8482 and 8767.
  8. "BIND 9 version 9.3.2 Manual / User Guide". Archived from the original on 2006-07-18. Retrieved 2009-10-28.
  9. Moon 1981 , p. 10
  10. Moon 1981
  11. Moon 1981
  12. Moon 1981

Related Research Articles

An Internet Protocol address is a numerical label such as 192.0.2.1 that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface identification, and location addressing.

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

Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. 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.

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

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). Early versions of this networking model 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">Lisp machine</span> Computer specialized in running Lisp

Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture. In a sense, they were the first commercial single-user workstations. Despite being modest in number Lisp machines commercially pioneered many now-commonplace technologies, including effective garbage collection, laser printing, windowing systems, computer mice, high-resolution bit-mapped raster graphics, computer graphic rendering, and networking innovations such as Chaosnet. Several firms built and sold Lisp machines in the 1980s: Symbolics, Lisp Machines Incorporated, Texas Instruments, and Xerox. The operating systems were written in Lisp Machine Lisp, Interlisp (Xerox), and later partly in Common Lisp.

ping (networking utility) Network utility used to test the reachability of a host

ping is a computer network administration software utility used to test the reachability of a host on an Internet Protocol (IP) network. It is available for virtually all operating systems that have networking capability, including most embedded network administration software.

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.

Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. It is a protocol for bidirectional 8-bit communications. Its main goal was to connect terminal devices and terminal-oriented processes.

In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths.

<span class="mw-page-title-main">Subnet</span> Logical subdivision of an IP network

A subnetwork, or subnet, is a logical subdivision of an IP network. The practice of dividing a network into two or more networks is called subnetting.

The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the communicating end nodes of the network. Intermediary nodes, such as gateways and routers, that exist to establish the network, may implement these to improve efficiency but cannot guarantee end-to-end correctness.

<span class="mw-page-title-main">ARPANET</span> Early packet switching network (1969–1990)

The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the technical foundation of the Internet. The ARPANET was established by the Advanced Research Projects Agency of the United States Department of Defense.

A broadcast address is a network address used to transmit to all devices connected to a multiple-access communications network. A message sent to a broadcast address may be received by all network-attached hosts.

In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv4 and the IPv6 specifications define private IP address ranges.

The RTP Control Protocol (RTCP) is a binary-encoded out-of-band signaling protocol that functions alongside the Real-time Transport Protocol (RTP). Its basic functionality and packet structure is defined in RFC 3550. RTCP provides statistics and control information for an RTP session. It partners with RTP in the delivery and packaging of multimedia data but does not transport any media data itself.

Tom Knight is an American synthetic biologist and computer engineer, who was formerly a senior research scientist at the MIT Computer Science and Artificial Intelligence Laboratory, a part of the MIT School of Engineering. He now works at the synthetic biology company Ginkgo Bioworks, which he cofounded in 2008.

The PARC Universal Packet was one of the two earliest internetworking protocol suites; it was created by researchers at Xerox PARC in the mid-1970s. The entire suite provided routing and packet delivery, as well as higher-level functions such as a reliable byte stream, along with numerous applications.

In computer networking, a port or port number is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service. At the software level, within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port at the software level is identified for each transport protocol and address combination by the port number assigned to it. The most common transport protocols that use port numbers are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP); those port numbers are 16-bit unsigned numbers.

Extension Mechanisms for DNS (EDNS) is a specification for expanding the size of several parameters of the Domain Name System (DNS) protocol which had size restrictions that the Internet engineering community deemed too limited for increasing functionality of the protocol. The first set of extensions was published in 1999 by the Internet Engineering Task Force as RFC 2671, also known as EDNS0 which was updated by RFC 6891 in 2013 changing abbreviation slightly to EDNS(0).

References