
Схема на компютърната мрежа ARPA от юни 1967. Празен кръг – компютър с разпределен достъп, кръг с линия – терминал за един потребител
Други статии от цикъла:
- История на релето
- История на електронните компютри
- История на транзистора
- История на интернет
Към края на 1966 година с парите на ARPA бе стартиран проект за свързване на много компютри в единна система, вдъхновен от идеята за "» .
Отговорността за изпълнението на проекта Тейлър предаде в умелите ръце на . През следващата година Робъртс взе няколко критично важни решения, които по-късно ще отекват в техническата архитектура и култура на ARPANET и нейните последователи, в някои случаи – дори в продължение на няколко десетилетия. Първото решение по важност, макар и не по хронология, беше определянето на механизма за маршрутизиране на съобщения от един компютър до друг.
Проблема
Ако компютър А иска да изпрати съобщение на компютър В, как това съобщение да намери пътя от едното до другото? В теорията, може да се позволи на всеки възел в мрежата да комуникира с всички останали, свързвайки физически кабели всеки възел с всеки. За да се свърже с В, компютър А просто ще изпрати съобщение през изходящия кабел, свързващ го с В. Такава мрежа се нарича напълно свързана. Въпреки това, при всякакъв значителен размер на мрежата, такъв подход бързо става непрактичен, понеже броят на връзките нараства като квадрат на броя на възлите (ако бъдем точни, като (n2 — n) / 2).
Следователно е необходим някакъв начин за построяване на маршрут за съобщението, който при пристигането на съобщението в междинен възел да го изпраща по-нататък към целта. В началото на 60-те години бяха известни два основни подхода за решаване на тази задача. Първият – метод на комутация на съобщения чрез "съхранение и предаване". Този подход се използваше от телеграфната система. Когато съобщението пристигнеше в междинен възел, временно се съхраняваше там (обикновено под формата на хартия), докато се появеше възможност да се предаде по-нататък към целта или в още един междинен център, намиращ се по-близо до целта.
След това се появи телефонът и стана необходим нов подход. Закъснението от няколко минути след всяко изказване, направено по телефона, което трябваше да бъде дешифрирано и предадено до местоназначение, би дало усещането за разговор със събеседник, намиращ се на Марс. Вместо това телефонът използваше комутация на канали. Извикващият започваше всеки повод с изпращането на специално съобщение, обозначаващо на кого иска да се обади. Първо се правеше това, като се разговаряше с оператор, а след това чрез набиране на номер, обработвано от автоматизирано оборудване на комутатора. Операторът или оборудването установяваха отделно електрическо свързване между извикващия и извикания абонат. В случай на междуградски обаждания за това може да се наложат няколко итерации, свързващи обаждането през няколко комутатора. След установяване на връзката можеше да започне самият разговор, и връзката се запазваше, докато едната страна не я прекъснеше, затваряйки слушалката.
Цифровата връзка, която беше решено да се използва в ARPANET за свързване на компютри, работещи по схема , използваше особеностите както на телеграфа, така и на телефона. От една страна, съобщенията с данни се предаваха в отделни пакети, подобно на телеграфа, а не под формата на непрекъснати разговори по телефона. Въпреки това, тези съобщения можеха да бъдат с различен размер за различни цели, от конзолни команди с дължина на няколко символа до големи файлове с данни, предавани от един компютър на друг. Ако файловете се забавяха по пътя, никой не се оплакваше. Но отдалечената интерактивност изискваше бърза реакция, както при телефонно обаждане.
Едно от важните различия между компютърните мрежи от една страна и телефона с телеграфа от друга страна е чувствителността към грешките в данните, обработвани от машините. Промяната или загубата на един символ при предаването на телеграма, или загубата на част от думата в телефонен разговор, едва ли може сериозно да наруши комуникацията между двама души. Но ако шумът на линията промени единствен бит от 0 на 1 в командата, изпратена до отдалечен компютър, това може напълно да промени смисъла на командата. Затова всяко съобщение трябваше да бъде проверявано за грешки и повторно изпращано в случай на откритие на такива. Такова повторно изпращане би било твърде скъпо за големи съобщения, а вероятността за възникване на грешки в тях беше по-висока, тъй като те се предаваха по-дълго.
Решението на този проблем дойде благодарение на две независими събития, случили се през 1960 година, но това, което се появи по-късно, първо беше забелязано от Лари Робъртс и ARPA.
Среща
През есента на 1967 година Робъртс пристигна в Гатлинбърг, Тенеси, сред залесените върхове на Грейт Смоки Маунтинс, за да достави документ, описващ плановете на ARPA за разгръщането на мрежата. Той вече почти година работеше в бюрото за технологии за обработка на информация (Information Processing Technology Office, IPTO), но много подробности по проекта на мрежата все още бяха доста неясни, включително и решението на проблема с маршрутизацията. Освен неясните споменавания за блокове и техните размери, единственото споменаване за нея в работата на Робъртс беше кратко и уклончиво забележка в самия край: „Изглежда е необходимо да се поддържа периодично използваната линия за получаване на отговори в рамките на време от една десета до една секунда, необходимо за интерактивна работа. Това е много скъпо от гледна точка на ресурсите на мрежата, и освен ако не получим възможност за по-бързо набирането, комутацията на съобщенията и концентрацията ще станат много важни за участниците в мрежата”. Ясно е, че до този момент Робъртс все още не беше решил дали да се откаже от подхода, използван от него заедно с Том Маррил в 1965-та година, т.е. свързването на компютри чрез комутируема телефонна мрежа посредством автоматично набиране.
На събитието присъства и друг човек, който предложи много по-добра идея за решаване на проблема с маршрутизацията в компютърните мрежи. Роджър Скантлбъри прекоси Атлантика, идвайки от Британската национална физическа лаборатория (NPL) с доклад. Скантлбъри отведе Робъртс настрана след неговия доклад и му разказа за своята идея. . Тази технология беше разработена от неговия ръководител в NPL, Доналд Дейвис. В САЩ постиженията и историята на Дейвис не са известни, въпреки че през есента на 1967 г. групата на Дейвис от NPL поне година изпреварва ARPA с идеите си.
Дейвис, както много от ранните пионери на електронните компютри, е с образование физик. Той завършва Имперския колеж в Лондон през 1943 г. на 19 години и веднага е приет в секретната програма за разработка на ядрено оръжие с кодово название . Там той ръководи група от изчислители, които използват механични и електронни калкулатори за бързо получаване на числени решения на задачи, свързани с ядрения синтез (неговият ръководител е бил , немски физик-експатриат, който по това време вече е започнал да предава тайни на ядрено оръжие на СССР). След войната от математика Джон Уомърсли той научава за проекта, който той ръководи в NPL – създаване на електронен компютър, който трябва да извършва същите изчисления с много по-голяма скорост. е наречен ACE, "автоматична изчислителна машина".
Дейвис се захвана за тази идея и се нае в NPL толкова бързо, колкото можеше. Като в ценен принос за подробния проект и създаването на компютъра ACE, той остана дълбоко ангажиран в областта на изчислителните машини като лидер на изследванията в NPL. През 1965 г. той случайно се намираше в САЩ на професионална среща, свързана с работата му, и използва тази възможност, за да посети няколко значителни бази на компютри с разделено време, за да види каква е работата. В британската изчислителна среда, разделеното време в американския смисъл на интерактивно споделяне на компютъра от няколко потребители не беше известно. Вместо това, за тях, разделеното време означаваше разпределение на натоварването на компютъра между няколко програми за пакетна обработка на данни (например, една програма може да работи, докато друга е заета да чете от лента). По-късно този вариант ще бъде наречен мултипрограмиране.
Пътешествията на Дейвис го водят до Project MAC в MIT, до JOSS Project на RAND Corporation в Калифорния и до системата за разделено време в Дартмут в Ню Хемпшир. По пътя за вкъщи един от колегите му предложи да се проведе семинар по споделяне, за да представи на британската общност новите технологии, за които те са научили в САЩ. Дейвис се съгласи и прие много от водещите фигури на американската изчислителна област, включително (създателя на "съвместимата система за разделено време" в MIT) и самия Лари Робъртс.
По време на семинара (или, може би, веднага след него) Дейвис е бил поразен от идеята, че философията на разделяне на времето може да се прилага и за комуникационните линии на компютрите, а не само за самите компютри. Компютрите с времево разделение дават на всеки потребител малки парчета процесорно време, след което преминават към друг, създавайки у всеки потребител илюзията, че има собствен интерактивен компютър. По подобен начин, разрязвайки всяко съобщение на парчета с стандартен размер, които Дейвис нарича "пакети", една комуникационна линия може да се разделя между множество компютри или потребители на един и същ компютър. Освен това, това щеше да реши всички аспекти на предаването на данни, за които телефонните и телеграфните комутатори бяха неподходящи. Потребител, работещ с интерактивен терминал, изпращащ кратки команди и получаващ кратки отговори, няма да бъде блокиран от предаването на голям файл, тъй като това предаване ще бъде разделено на множество пакети. Всяко повреждане в такива големи съобщения ще засегне единствено пакета, който лесно може да бъде предаден отново за завършване на съобщението.
Дейвис описва своите идеи в непубликувана работа от 1966 година, "Предложение за цифрова мрежа за комуникация". В този момент най-напредналите телефонни мрежи бяха на прага на компютъризация на комутаторите, а Дейвис предложи да интегрират комутация на пакети в новото поколение телефонна мрежа, създавайки единна широколентова комуникационна мрежа, способна да обслужва различни запитвания, от прости телефонни обаждания до отдалечен достъп до компютри. Когато времето дойде, Дейвис бе повишен до ръководител на NPL и той създаде екип по цифрова комуникация под ръководството на Скантъбъри, за да реализира своя проект и да създаде работен демонстрационен вариант.
През годината, предшествала на конференцията в Гатлинбург, екипът на Скантлбери работи над всички детайли за създаването на мрежа с пакетна комутация. Отказът на един възел можеше да бъде преодолен чрез адаптивна маршрутизация, способна да работи с множество маршрути до дестинацията, а отказът на отделен пакет можеше да бъде разрешен чрез неговото повторно изпращане. Симулацията и анализите показаха, че оптималният размер на пакета е 1000 байта – ако той е значително по-малък, разходите за пропускна способност на линиите за метаданни в заглавките ще бъдат твърде големи, а ако е значително по-голям – времето за отговор за интерактивните потребители често ще се увеличава поради големи съобщения.

Работата на Скантлбери включваше такива детайли, като формата на пакета…

…и анализ на влиянието на размерите на пакета върху забавянията в мрежата.
Междувременно изследванията на Дэйвис и Скантлбери доведоха до разкрития на подробни изследователски работи, направени от друг американец, който е стигнал до подобна идея няколко години преди тях. Но в същото време , инженер-електрик от RAND Corporation, изобщо не се е замислял за нуждите на компютърните потребители с временно разделение. RAND беше аналитичен център, работещ с финансиране от Министерството на отбраната на САЩ в Сантa Моника, Калифорния, създаден след Втората световна война за дългосрочно планиране и анализ на стратегически проблеми за военни нужди. Целта на Беран беше да предотврати ядрена война, като създаде много надеждна военна комуникационна мрежа, способна да устои дори на мащабна ядрена атака. Такава мрежа щеше да направи предварителен удар от Съветския съюз по-малко привлекателен, тъй като щеше да бъде много трудно да се унищожи способността на САЩ да отвърне на удара по няколко чувствителни точки. За тази цел Беран предложи система, която разделя съобщенията на това, което той нарече блокове от съобщения, които можеха да бъдат независимо предавани през мрежата от свързващи възли с излишък от връзки и след това събрани отново на крайната точка.
ARPA имаше достъп до обемни отчети на Беран за RAND, но тъй като те не бяха свързани с интерактивни компютри, значението им за ARPANET не беше очевидно. Робъртс и Тейлър, изглежда, не забелязаха това. Вместо това, след една случайна среща, Скантлбъри представи всичко на Робъртс на блюдечка: добре обмислен механизъм на комутация, приложимост към задачата за създаване на интерактивни компютърни мрежи, справочни материали от RAND и дори названието „пакет“. Работата на NPL също убеди Робъртс, че за организирането на добра пропускна способност ще са необходими по-високи скорости, затова той актуализира плановете си до линии за свързване на 50 Кбит/с. За създаването на ARPANET основната част от проблемите с маршрутизацията беше решена.
И все пак, има и друга версия за появата на идеята за комутация на пакети. Робъртс по-късно твърдеше, че вече е имал подобни мисли благодарение на работата на своя колега, Лен Кляйнрок, който предполагаемо е описал тази концепция още през 1962 година в своята докторска дисертация за мрежите за комуникации. Въпреки това, изключително трудно е да се извлече подобна идея от тази работа, а и не успях да намеря никакви други потвърждения на тази версия.
Мрежи, които не съществуват
Както виждаме, две цели екипа изпревариха ARPA в разработването на комутация на пакети, технология, която се оказа толкова ефективна, че сега е основата на почти всички комуникации. Защо тогава ARPANET стана първата значима мрежа, която я използва?
Всичко е в организационните нюанси. ARPA нямаше официално разрешение за създаване на мрежа за комуникации, но имаше множество вече съществуващи изследователски центрове със собствени компютри, култура на „свободни“ нрави, за която почти никой не наблюдаваше, и цели планини с пари. Първоначалното искане на Тейлър от 1966 година за средства за създаването на ARPANET изрази цифрата от $1 милион, и Робъртс продължаваше да харчи подобна сума всяка година от 1969 година и нататък за изграждането и поддържането на тази мрежа. За ARPA тези пари бяха дреболия, затова никой от началниците му не се притесняваше какво прави Робъртс с тях, стига това да може по някакъв начин да се свърже с нуждите на националната отбрана.
В Бэрана в RAND нямаше нито възможности, нито авторитет да предприеме нещо. Работата му беше чисто изследователска и аналитична и можеше да бъде приложена, ако пожелаете, в сферата на отбраната. През 1965 г. RAND наистина препоръча системата му на ВВС и те се съгласиха с жизнеспособността на проекта. Но реализацията легна на плещите на агенцията за отбранителни комуникации, където не разбираха особено от цифрови комуникации. Бэран убеди ръководството в RAND, че е по-добре да вземат предложението, отколкото да позволят да бъде реализирано по какъвто и да е начин и да изгубят репутацията на разпределените цифрови комуникации.
Дэйвис в качеството си на ръководител на NPL имаше много повече власт от Бэран, но разполагаеше с по-ограничен бюджет от този на ARPA, а също така нямаше готова социална и техническа мрежа от изследователски компютри. Успя да създаде прототип на локалната мрежа с пакетна комутация (имаше само един възел, но много терминали) в NPL в края на 60-те години с скромен бюджет от £120 000 за три години. ARPANET харчеше около половината от тази сума всяка година за функционирането и обслужването на всеки от многобройните възли в мрежата, без да включва първоначалните инвестиции в хардуер и софтуер. Организацията, способна да създаде мащабна британска мрежа с пакетна комутация, беше британската поща, която управляваше мрежите за телекомуникации в страната, освен самата пощенска свързаност. Дэйвис успя да заинтересува няколко влиятелни чиновници с идеите си за обединена цифрова мрежа на национално ниво, но не можеше да пренасочи развитието на такава огромна система.
Ликлайдер, комбинирайки късмет и планиране, откри прекрасно средище, където неговата междупланетарна мрежа можеше да разцъфти. Въпреки това не може да се твърди, че всичко, освен пакетната комутация, зависи от парите. Имаше значение и изпълнението на идеята. Освен това духът на ARPANET беше определен и от няколко други важни решения на етапа на проектиране. Затова по-нататък ще разгледаме как отговорността беше разпределена между компютрите, които изпращат и получават съобщения, и мрежата, по която те изпращаха тези съобщения.
Какво още да прочетете
- Janet Abbate, Изобретяването на интернет (1999)
- Кейти Хафнер и Матю Лион, Къде вещиците остават да стоят будни късно (1996)
- Леонард Клайнрок, “Ранната история на интернет”, IEEE Communications Magazine (август 2010)
- Артур Норберг и Джули О'Нийл, Преобразуване на компютърната технология: Обработка на информация за Пентагона, 1962-1986 (1996)
- М. Мичъл Уолдроп, Мечтата машина: Дж. К. Р. Ликлайдер и революцията, която направи компютрите лични (2001)
Източник: habr.com
