Гісторыя інтэрнэту: 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 гадоў, і яго адразу ж прынялі ў сакрэтную праграму распрацоўкі ядзернай зброі пад кодавай назвай Сплавы труб. Там ён кіраваў групай людзей-вылічальнікаў, якія выкарыстоўвалі механічныя і электрычныя калькулятары для хуткай выдачы лікавых рашэнняў задач, звязаных з ядзерным сінтэзам (яго кіраўніком быў Эміль Юліус Клаўс Фукс, нямецкі фізік-экспатрыят, які да таго часу ўжо пачаў перадаваць сакрэты ядзернай зброі ў СССР). Пасля вайны ад матэматыка Джона Вомерслі ён пачуў аб праекце, якім той кіраваў у 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 у канцы 1960-х, са сціплым бюджэтам у ? 120 000 за тры гады. ARPANET марнавала прыкладна палову гэтай сумы штогод на функцыянаванне і абслугоўванне на кожным са мноства вузлоў сеткі, выключаючы першапачатковыя інвестыцыі ў жалеза і софт. Арганізацыяй, здольнай стварыць буйнамаштабную брытанскую сетку з камутацыяй пакетаў, была брытанская пошта, якая загадвала сеткамі тэлекамунікацый у краіне, акрамя непасрэдна паштовай сувязі. Дэйвісу ўдалося зацікавіць некалькі ўплывовых чыноўнікаў сваімі ідэямі аб аб'яднанай лічбавай сетцы нацыянальнага маштабу, але змяніць напрамак руху такой вялізнай сістэмы было не ў яго сілах.

Ліклайдэр жа, камбінуючы поспех і планаванне, знайшоў выдатную цяпліцу, дзе магла б расквітнець яго міжгалактычная сетка. Пры гэтым нельга сцвярджаць, што ўсё, акрамя камутацыі пакетаў, упіралася ў грошы. Іграла ролю і выкананне ідэі. Больш за тое, дух ARPANET вызначылі і некалькі іншых важных рашэнняў на стадыі праектавання. Таму далей мы разгледзім, як адказнасць размяркоўвалася паміж кампутарамі, якія адпраўлялі і прымалі паведамленні, і сеткай, па якой яны гэтыя паведамленні адпраўлялі.

Што яшчэ пачытаць

  • Janet Abbate, Inventing the Internet (1999)
  • Katie Hafner and Matthew Lyon, Where Wizards Stay Up Late (1996)
  • Leonard Kleinrock, "An Early History of the Internet," IEEE Communications Magazine (August 2010)
  • Arthur Norberg and Julie O'Neill, Transforming Computer Technology: Information Processing for the Pentagon, 1962-1986 (1996)
  • M. Mitchell Waldrop, The Dream Machine: JCR Ліклідэр і рэвалюцыя гэтага фармацыйнага персаналу (2001)

Крыніца: habr.com

Дадаць каментар