Sieć chaosu - Chaosnet

Chaosnet został po raz pierwszy opracowany przez Thomasa Knighta i Jacka Hollowaya w MIT AI Lab w 1975 roku i później. Odnosi się do dwóch odrębnych, ale ściśle powiązanych technologii. Bardziej rozpowszechniony był zestaw komputerowych protokołów komunikacyjnych opartych na pakietach , przeznaczonych do łączenia niedawno opracowanych i bardzo popularnych (w ramach MIT) maszyn Lisp ; drugi był jednym z najwcześniejszych wdrożeń sprzętowych sieci lokalnej (LAN).

Początek

Protokół Chaosnet pierwotnie wykorzystywał implementację przez kabel koncentryczny CATV, wzorowany na wczesnym Xerox PARC 3 megabit/sekundę Ethernet , wczesnym ARPANET i protokole kontroli transmisji (TCP). Był to system oparty na rywalizacji, przeznaczony do pracy w zakresie od 0 do 1000 metrów , który zawierał funkcję pseudoszczelinową mającą na celu zmniejszenie kolizji, która działała poprzez przekazywanie wirtualnego tokena zezwolenia od hosta do hosta; pomyślne transmisje pakietów aktualizują wiedzę każdego hosta o tym, który host posiadał w tym czasie token. Zderzenia powodowały, że host zamilkł na czas zależny od odległości od hosta, z którym się zderzył. Kolizje nigdy nie były prawdziwym problemem, a pseudo-szczeliny wyszły z użycia.

Topologia sieci Chaosnet składała się zwykle z szeregu liniowych (nie okrągłych) kabli, każdy do maksymalnie kilometra i około 12 klientów. Poszczególne segmenty były połączone „mostami” (dużo w formie ARPANET), na ogół starszymi komputerami, takimi jak PDP-11 z dwoma interfejsami sieciowymi.

Protokoły zostały później zaimplementowane jako ładunek, który mógł być przenoszony przez Ethernet (zwykle późniejsza odmiana 10 megabitów na sekundę ). Chaosnet był przeznaczony specjalnie dla sieci LAN; dla uproszczenia pominięto funkcje obsługujące sieci WAN .

Chaosnet może być uważany za współczesny zarówno protokołów PUP wymyślonych przez PARC, jak i protokołu internetowego (IP) i został uznany za jedną z innych klas sieci (innych niż „IN” i „HS”) w systemie nazw domen . BIND używa wbudowanej pseudodomeny najwyższego poziomu w „klasie CHAOS” do pobierania informacji o uruchomionym serwerze DNS.

Protokół Chaosnet

Protokół Chaosnet identyfikuje hosty za pomocą 16-bitowych adresów, z których 8 bitów identyfikuje podsieć, z czego 8 bitów identyfikuje hosta w podsieci. Podstawowym protokołem była niezawodna transmisja pakietów w trybie pełnego dupleksu między dwoma procesami użytkownika. Zawartość pakietu może być traktowana jako bajty 8 lub 16 bitów, z obsługą innych rozmiarów słów zapewnianych przez protokoły wyższego poziomu. Połączenie zostało zidentyfikowane przez kombinację 16-bitowych adresów każdego hosta i 16-bitowego „indeksu połączenia” przypisanego przez każdy host w celu zachowania niepowtarzalności. „Kontrolowane” pakiety w połączeniu identyfikowane były przez 16-bitowy numer pakietu, który służył do niezawodnego i uporządkowanego dostarczania kontrolowanych pakietów, z retransmisją i kontrolą przepływu. Pakiety „niekontrolowane” nie były retransmitowane i były używane na niższym poziomie do obsługi kontroli przepływu i retransmisji. Chaosnet wspierał również pakiety rozgłoszeniowe "BRD" do wielu podsieci.

Wstępne nawiązanie połączenia zostało wykonane przy użyciu „nazw kontaktowych”. Nazwy te identyfikowały usługę sieciową i protokół wyższego poziomu. Na przykład „STATUS” to nazwa kontaktu, który zażądał od hosta podstawowych statystyk sieciowych. "TELNET" to nazwa kontaktu dla protokołu Arpanet TELNET. „PLIK” to nazwa kontaktu dla usługi plików sieciowych Lisp Machine. Inne nazwy kontaktów to „SUPDUP”, „MAIL”, „NAME” dla protokołu Arpanet Finger, „TIME”, „SEND” dla interaktywnych wiadomości, „ARPA” dla usługi bramy do Arpanet. „DOVER” to nazwa kontaktu do wysyłania zadań drukowania do hostów Chaosnet z podłączoną drukarką Xerox Dover (wczesna drukarka laserowa ). Deweloperzy mogli łatwo eksperymentować z nowymi protokołami, wymyślając nowe nazwy kontaktów. W ITS nowy serwer dla tego protokołu można było zainstalować, tworząc łącze do programu w lokalizacji DSK:DEVICE;CHAOS <cname> gdzie <cname> było maksymalnie sześcioma literami nazwy kontaktu.

Proste transakcje mogą być realizowane przez pojedynczy pakiet „RFC” zawierający nazwę kontaktu, na który odpowiada pojedynczy pakiet „ANS” z odpowiednią informacją. Na przykład, zapytanie RFC o nazwie „TIME” spowoduje, że pojedynczy pakiet ANS będzie zawierał 32-bitowy numer wskazujący czas.

Pierwotny Manifest GNU wspomniał, że jego celem było między innymi wsparcie protokołu Chaosnet.

Symbolics , producent maszyn Lisp , udzielił licencji na implementację sprzętu i oprogramowania MIT Chaosnet z projektu komputerowego CADR .

Uwagi

Bibliografia

Zewnętrzne linki