История на интернет: ARPANET — пакет

История на интернет: ARPANET — пакет
Схема на компютърната мрежа ARPA от юни 1967. Празен кръг – компютър с разделен достъп, кръг със черта – терминал за един потребител

Други статии от цикъла:

Към края на 1966 година Роберт Тейлор с парите на ARPA започна проект за свързване на много компютри в единна система, вдъхновен от идеята «междупланетна мрежа» Джозефа Карла Робнетта Ликлайдера.

Отговорността за реализирането на проекта Тейлър прехвърли в умелите ръце на Лари Робъртс. В последвалата година Робъртс взе няколко критично важни решения, които по-късно ще отразят техническата архитектура и културата на ARPANET и нейните наследници, в някои случаи – дори в рамките на десетилетия. Първото решение по важност, макар и не по хронология, беше определянето на механизъм за маршрутизиране на съобщения от един компютър до друг.

Проблема

Ако компютър А иска да изпрати съобщение на компютър В, как това съобщение да намери пътя от единия до другия? В теорията, може да се позволи на всеки възел в мрежата да комуникира с всички останали, свързвайки физически кабели между всеки възел и всеки друг. За свързване с В компютър А просто ще изпрати съобщение по изходящия кабел, който го свързва с В. Тази мрежа се нарича напълно свързана. Въпреки това, при значителен размер на мрежата, този подход бързо става непрактичен, тъй като броят на свързванията се увеличава, като квадрат на броя на възлите (в действителност, като (n2 — n) / 2).

Следователно, необходим е някакъв начин за изграждане на маршрут за съобщението, който да го изпраща по-нататък към целта, след като пристигне на междинен възел. В началото на 1960-те години бяха известни два основни подхода за решаване на този проблем. Първият – метод на комутация на съобщения чрез „съхранение и предаване“. Този подход се използваше от телеграфната система. Когато съобщението пристигнеше на междинен възел, то временно се съхраняваше там (обикновено под формата на хартия), докато не се появеше възможност да бъде предадено по-нататък към целта или до още един междинен център, находящ се по-близо до целта.

След това се появи телефонът и се наложи нов подход. Забавянето от няколко минути след всяко изказване, направено по телефона, което трябваше да бъде транскрибирано и предадено на мястото на предназначение, щеше да предизвика усещането за разговор с другар, който се намира на Марс. Вместо това телефонът използваше комутация на канали. Обаждащият започваше всяко обаждане с изпращане на специално съобщение, обозначаващо на кого иска да се обади. Първоначално това се правеше чрез разговор с оператор, а след това с набиране на номер, обработвано от автоматично оборудване на комутатора. Операторът или оборудването установяваха специална електрическа връзка между обаждащия и получателя. В случай на междуградски обаждания, за това можеше да са необходими няколко итерации, свързващи обаждането през няколко комутатора. След установяване на връзката, разговорът можеше да започне, и връзката оставаше активна, докато едната страна не я прекъснеше, като затвори телефона.

Цифровата комуникация, която решиха да използват в ARPANET за свързване на компютри, работещи по схема разделение на времето, използваше характеристики както на телеграфа, така и на телефона. От една страна, съобщенията с данни се предаваха в отделни пакети, подобно на телеграфа, а не под формата на непрекъснати разговори, както на телефона. Въпреки това, тези съобщения можеха да имат различни размери за различни цели, от команди на конзолата с дължина на няколко символа, до големи файлове с данни, предавани от един компютър на друг. Ако файловете закъсняваха по пътя, никой не се оплакваше. Но отдалечената интерактивност изискваше бърза реакция, подобно на телефонно обаждане.

Едно от важните различия между компютърните мрежи от данни от една страна и телефона с телеграфа от друга страна, беше чувствителността към грешки в данните, обработвани от машините. Промяната или загубата на един символ при предаването на телеграма, или изчезването на част от дума в телефонен разговор едва ли можеше сериозно да наруши комуникацията между двама души. Но ако шумът по линията превключеше единствен бит от 0 на 1 в команда, изпращана на отдалечен компютър, това можеше напълно да промени смисъла на командата. Затова беше необходимо всяко съобщение да се проверява за грешки и да се изпраща отново в случай на откритие. Такива повторения биха били твърде скъпи за големи съобщения, а вероятността за възникване на грешки в тях беше по-висока, тъй като времето за предаване на съобщенията беше по-дълго.

Решението на този проблем дойде благодарение на две независими събития, случили се през 1960 година, но това от тях, което се появи по-късно, беше забелязано първо от Лари Робъртс и ARPA.

Среща

През есента на 1967 година Робъртс пристигна в Гатлинбург, Тенеси, от покритите с гори върхове на Грейт Смоки Маунтийнс, за да достави документ, разказващ за плановете на ARPA за разгръщане на мрежата. Той вече почти година работеше в Бюрото за технологии за обработка на информация (Information Processing Technology Office, IPTO), но много подробности за проекта за мрежата все още бяха неясни, включително и решението на проблема с маршрутизацията. Освен неясните споменавания за блокове и техните размери, единственото упоменаване на това в работата на Робъртс беше краткото и уклончиво забележка в самия край: „Изглежда е необходимо да запазим периодично използваната връзка за получаване на отговори за времето от една десета до една секунда, необходимо за интерактивна работа. Това е доста скъпо от гледна точка на ресурсите на мрежата, и ако не получим възможност да се обаждаме по-бързо, комутацията на съобщенията и концентрацията ще станат много важни за участниците в мрежата“. Очевидно, до този момент Робъртс все още не беше решил дали да се откаже от подхода, който използваше заедно с Том Марил през 1965 година, тоест, свързването на компютри чрез комутируема телефонна мрежа чрез автонабиране.

По съвпадение на същия симпозиум присъства и друг човек с много по-добре замислена идея за решаване на проблема с маршрутизацията в мрежите за данни. Роджер Скантлбъри преминава Атлантика, пристигайки от Британската национална физическа лаборатория British National Physical Laboratory (NPL) с доклад. Скантлбъри отведе Робертс настрана след неговия доклад и му разказа за своята идея. на пакетна комутика. Тази технология е разработена от неговия ръководител в NPL, Доналд Дейвис. В САЩ постиженията и историята на Дейвис са слабо познати, въпреки че през есента на 1967 година групата на Дейвис от NPL, поне за година, е изпреварила ARPA с идеите си.

Дейвис, както и много от ранните пионери на електронните компютри, е физик по образование. Той завършва Имперския колеж в Лондон през 1943 година на 19 години и веднага е приет в секретната програма за разработка на ядрено оръжие с кодово название Tube Alloys. Там той ръководи група изчислители, които използват механични и електрически калкулатори за бързо изчисляване на числови решения на задачи, свързани с ядрения синтез (неговият ръководител е бил Емил Юлиус Клаус Фукс, немски физик-експатриот, който по това време вече е започнал да предава тайни на ядрено оръжие в СССР). След войната от математика Джон Вомърсли той научава за проекта, който той ръководи в NPL – това е създаването на електронен компютър, който трябва да извършва същите изчисления с много по-голяма скорост. Разработеният от Алан Тюринг компютър е наречен ACE, "автоматична изчислителна машина".

Дейвис се захвана с тази идея и се нае в NPL толкова бързо, колкото можеше. След като допринесе за подробен проект и създаването на компютъра ACE, той продължи да бъде дълбоко ангажиран в сферата на изчислителните машини като лидер на изследванията в NPL. През 1965 година той имаше възможността да бъде в САЩ за професионална среща, свързана с работата му, и се възползва от този шанс да посети няколко основни места за компютри с разделено време, за да разбере за какво точно става дума. В британската изчислителна среда, разделението на време в американския смисъл на интерактивно съвместно използване на компютъра от няколко потребители, не беше известно. Вместо това, там разделението на време означаваше разпределение на натоварването на компютъра между няколко програми за пакетна обработка на данни (така че, например, една програма да работи, докато друга е заета с четене от лента). По-късно този вариант ще бъде наречен мултипрограмиране.

Пътуванията на Дейвис го отвеждат до Project MAC в MIT, JOSS Project от RAND Corporation в Калифорния и до Дартмутската система за разделено време в Ню Хемпшир. По пътя за вкъщи един от колегите му предложи да организират семинар за съвместно ползване, за да информират британската общност за новите технологии, които са научили в САЩ. Дейвис се съгласи и домакинства на много от водещите фигури в американската компютърна сфера, включително Фернандо Хосе Корбато (създателя на "съвместимата система за разделено време" в MIT) и самия Лари Робъртс.

По време на семинара (или, може би, веднага след него) идеята на Дейвис, че философията на времевото разделение може да се прилага и за компютърни връзки, а не само за самите компютри, го поразила. Компютрите с времево разделение предоставят на всеки потребител кратък интервал от процесорно време, след което преминават на друг, създавайки за всеки потребител илюзията за собствен интерактивен компютър. По същия начин, като разрязва всяко съобщение на парчета с стандартен размер, които Дейвис нарекъл „пакети“, една връзка може да се раздели между множество компютри или потребители на един компютър. Освен това, това ще реши всички аспекти на предаването на данни, за които телефонните и телеграфните комутатори не са били добре пригодени. Потребителят, работещ с интерактивен терминал, изпращащ кратки команди и получаващ кратки отговори, няма да бъде блокиран от предаване на голям файл, тъй като това предаване ще бъде разбито на множество пакета. Всяко повреждане в такива големи съобщения ще засегне само един пакет, който лесно може да бъде предаден отново за завършване на съобщението.

Дейвис описва своите идеи в непубликувана работа от 1966 година, „Предложение за цифрова мрежа за връзка“. В този момент най-напредналите телефонни мрежи бяха на ръба на компютризацията на комутаторите, а Дейвис предложи да се интегрира пакетната комутация в телефонната мрежа на новото поколение, създавайки единна широколента мрежа, способна да обслужва различни запитвания, от прости телефонни обаждания до отдалечен достъп до компютри. По това време Дейвис беше повишен в управител на NPL и той формира група за цифрова комуникация под ръководството на Скантбъри, за да реализира проекта си и да създаде работещ демонстрационен вариант.

През годината преди конференцията в Гатлинбург, екипът на Скантлбери проучваше всички детайли за изграждане на мрежа с пакетно комутация. Отказ в един възел можеше да бъде преодолян с адаптивна маршрутизация, способна да работи с множество пътища до дестинацията, а отказ на отделен пакет можеше да бъде решен с повторно изпращане. Симулацията и анализите показаха, че оптималният размер на пакета би бил 1000 байта – ако го направим много по-малък, разходите за пропускна способност на линиите за метаданни в заглавката ще бъдат твърде големи, а ако е значително по-голям – времето за реакция за интерактивни потребители ще се увеличава твърде често поради големи съобщения.

История на интернет: ARPANET — пакет
Работата на Скантлбери включваше такива детайли като формат на пакета…

История на интернет: ARPANET — пакет
…и анализ на влиянието на размерите на пакета върху закъсненията в мрежата.

Междувременно търсенията на Дейвис и Скантлбери доведоха до разкриване на подробни изследвания, направени от друг американец, който е имал подобна идея няколко години преди тях. Но при това Пол Бэран, електроинженер от RAND Corporation, изобщо не мислеше за нуждите на потребителите на компютри с времево разделение. RAND беше аналитичен център, работещ с пари от Министерството на отбраната на САЩ в Санта Моника, Калифорния, създаден след Втората световна война за дългосрочно планиране и анализ на стратегически проблеми за военни нужди. Целта на Бэран беше да отдалечи ядрена война, създавайки изключително надеждна военна комуникационна мрежа, способна да устои дори на мащабна ядрена атака. Такава мрежа би направила предварителен удар от страна на СССР по-малко привлекателен, тъй като би било много трудно да се унищожи способността на САЩ да реагират на няколко чувствителни точки. За това Бэран предложи система, разграждаща съобщенията на това, което той нарича блокове съобщения, които могат да бъдат независимо предавани през мрежа от възли с излишни връзки и след това събирани на крайната точка.

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 беше определен и от няколко важни решения на етапа на проектиране. Затова по-нататък ще разгледаме как отговорността се разпределя между компютрите, които изпращат и получават съобщения, и мрежата, по която те ги изпращат.

Какво още да прочета

  • Джанет Абате, Изобретяване на интернет (1999)
  • Кейти Хафнер и Матю Лион, Къде вълшебниците стоят будни през нощта (1996)
  • Леонард Клайнрок, “Ранна история на Интернет”, IEEE Communications Magazine (август 2010)
  • Артур Норберг и Джули О'Нийл, Трансформиране на компютърните технологии: Информационна обработка за Пентагона, 1962-1986 (1996)
  • М. Мичел Уалдроп, Машината на сънищата: Дж. С. Р. Ликлайдер и революцията, която направи компютрирането лично (2001)

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster