# Chaosnet

Chaosnet is een LAN-technologie die vanaf 1975 ontwikkeld werd door Thomas Knight en Jack Holloway in het AI-lab van het MIT. De term verwijst naar twee afzonderlijke, maar nauw verwante technologieën. De meer wijdverbreide was een reeks protocollen voor een pakketgeschakeld netwerk die bedoeld waren om de toen recentelijk ontwikkelde en zeer populaire (binnen het MIT) Lisp-machines met elkaar te verbinden. De tweede was een van de eerste hardware-implementaties van een lokaal netwerk (LAN).

## Oorsprong

Het Chaosnet-protocol maakte aanvankelijk gebruik van coaxkabel voor kabeltelevisie, naar analogie met het vroege Xerox PARC 3 megabit per seconde Ethernet, het vroege ARPANET en Transmission Control Protocol (TCP).
Het was een op contentie gebaseerd systeem met een bereik van 0 tot 1000 meter dat een functie bevatte die bedoeld was om "collisions" (dit zijn botsingen die kunnen ontstaan wanneer twee netwerkstations op hetzelfde moment pakketten beginnen te versturen) te verminderen door een "virtueel token" van netwerkstation naar netwerkstation door te geven. Op die manier wisten alle netwerkstations bij elk succesvol verstuurd pakket welk netwerkstation het token in zijn bezit had. Collisions zorgden ervoor dat een netwerkstation gedurende een bepaalde tijd stilviel, afhankelijk van de afstand tot het netwerkstation waarmee het in botsing kwam. Collisions waren nooit echt een probleem waardoor deze functie in onbruik raakte.
De netwerktopologie van Chaosnet bestond meestal uit een reeks lineaire (niet cirkelvormige) kabels, elk van maximaal een kilometer en ongeveer 12 clients. De afzonderlijke segmenten waren met elkaar verbonden door "bruggen" die over het algemeen bestonden uit oudere computers (zoals de PDP-11) met twee netwerkkaarten.
De protocollen werden later ook geïmplementeerd als een payload die via Ethernet kon verstuurd worden. Chaosnet was specifiek gemaakt voor LAN's, WAN-ondersteuning werd omwille van de eenvoud weggelaten.
Chaosnet kan worden beschouwd als een tijdgenoot van zowel de PUP-protocollen die zijn uitgevonden door PARC, als van het internetprotocol (IP) en werd beschouwd als een van de andere netwerkklassen (naast "IN" en "HS") in het Domain Name System. BIND gebruikt een ingebouwd pseudo-top-level-domein "CHAOS Class" om informatie over een actieve DNS-server op te vragen.

## Chaosnet-protocol

Het Chaosnet-protocol identificeert netwerkstations door middel van 16 bits-adressen, waarvan 8 bits het subnet identificeren en 8 bits het netwerkstation binnen het subnet. Het basisprotocol was een betrouwbare full-duplex pakkettransmissie tussen twee gebruikersprocessen. De pakketinhoud kan bestaan uit bytes van 8 of 16 bits, met ondersteuning voor andere woordgroottes door protocollen op een hoger niveau. De verbinding werd geïdentificeerd door een combinatie van de 16 bits-adressen van elke netwerkstation en een 16 bits-"verbindingsindex" die door elke netwerkstation werd toegewezen om de verbinding uniek te maken. "Gecontroleerde" pakketten binnen een verbinding werden geïdentificeerd door een 16-bits pakketnummer, dat werd gebruikt om gecontroleerde pakketten betrouwbaar en in volgorde af te leveren, met herverzending en flow control. "Ongecontroleerde" pakketten werden niet opnieuw verzonden en werden op een lager niveau gebruikt om flow control en herverzending te ondersteunen. Chaosnet ondersteunde ook "BRD"-broadcastpakketten naar meerdere subnetten.
De verbinding werd opgebouwd met behulp van "contactnamen". Deze namen identificeerden de netwerkservice en het hogere protocol. "STATUS" was bijvoorbeeld de contactnaam die elementaire netwerkstatistieken van een netwerkstation opvroeg. "TELNET" was een contactnaam voor het Arpanet Telnet-protocol. "FILE" was een contactnaam voor de netwerkbestandsservice van Lisp-machines. Andere contactnamen waren "SUPDUP", "MAIL", "NAME" voor het Arpanet Finger-protocol, "TIME", "SEND" voor interactieve berichtenuitwisseling en "ARPA" voor een gatewayservice naar Arpanet. "DOVER" was de contactnaam voor het verzenden van afdruktaken naar Chaosnet-machines die beschikten over een Xerox Dover laserprinter. Ontwikkelaars konden gemakkelijk experimenteren met nieuwe protocollen door nieuwe contactnamen te bedenken.
Eenvoudige transacties waren mogelijk door een enkel "RFC"-pakket met de contactnaam te versturen dat beantwoord werd door een enkel "ANS"-pakket met de relevante informatie. Een RFC-pakket met de contactnaam "TIME" zou bijvoorbeeld resulteren in een enkel ANS-pakket met een 32-bits nummer dat de tijd aangeeft.
Het oorspronkelijke GNU-manifest vermeldde dat naast UUCP en IP ook het Chaosnet-protocol zou ondersteund worden.
Lisp-machinefabrikant Symbolics heeft een licentie verkregen om de Chaosnet-hardware- en software-implementatie van het CADR-computerontwerp te gebruiken in zijn eigen Lisp-machines.

## Externe link

* (en) Target, Sinclair, A Short History of Chaosnet. Two-Bit History (30 september 2018).
Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Chaosnet op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.
* 1 2 3 4 5 6 7 8 9 10 (en) David A. Moon, Chaosnet (Technical report). MIT AI Memos (1959–2004). MIT AI-lab (1 juni 1981).
* ↑ (en) Paul Mockapetris (december 1987). RFC-1034: Domain Names - Concepts and Facilities. IETF, "3.6 Resource Records", pp. 12.
* ↑ (en) BIND 9 Administrator Reference Manual. Internet Systems Consortium (8 mei 2023), pp. 179. Gearchiveerd op 17 juni 2023. Geraadpleegd op 17 juni 2023.
* ↑ Richard Stallman, Het GNU-manifest. www.gnu.org (1985).