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

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

Други статии от поредицата:

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

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

проблем

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

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

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

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

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

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

среща

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

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

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

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

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

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

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

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

Интернет история: ARPANET - пакет
Работата на Scantlebury включва подробности като формата на опаковката...

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

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

ARPA имаше достъп до обемните доклади на Baran за RAND, но тъй като те не бяха свързани с интерактивни компютри, значението им за ARPANET не беше очевидно. Робъртс и Тейлър очевидно никога не са ги забелязвали. Вместо това, в резултат на една случайна среща, Скантълбъри предаде всичко на Робъртс на сребърен поднос: добре проектиран механизъм за превключване, приложимост към проблема за създаване на интерактивни компютърни мрежи, справочни материали от RAND и дори името „пакет“. Работата на NPL също така убеди Робъртс, че ще са необходими по-високи скорости, за да се осигури добър капацитет, така че той надгради плановете си до 50 Kbps връзки. За да се създаде ARPANET, беше решена основна част от проблема с маршрутизирането.

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

Мрежи, които никога не са съществували

Както виждаме, два екипа изпревариха ARPA в разработването на комутация на пакети, технология, която се оказа толкова ефективна, че сега е в основата на почти всички комуникации. Защо ARPANET беше първата значима мрежа, която го използва?

Всичко опира до организационни тънкости. ARPA нямаше официално разрешение да създаде комуникационна мрежа, но имаше голям брой съществуващи изследователски центрове със собствени компютри, култура на „свободен“ морал, която беше практически без надзор, и планини от пари. Първоначалното искане на Тейлър от 1966 г. за средства за създаване на ARPANET изискваше 1 милион долара и Робъртс продължи да харчи толкова всяка година от 1969 г. нататък, за да стартира мрежата. В същото време за ARPA такива пари бяха дребни пари, така че никой от шефовете му не се притесняваше какво прави Робъртс с тях, стига по някакъв начин да могат да бъдат обвързани с нуждите на националната отбрана.

Баран от RAND нямаше нито силата, нито властта да направи каквото и да било. Неговата работа беше чисто проучвателна и аналитична и можеше да се приложи в отбраната, ако желаеше. През 1965 г. RAND всъщност препоръчва своята система на военновъздушните сили, които се съгласяват, че проектът е жизнеспособен. Но внедряването му падна върху плещите на Агенцията за комуникации на отбраната и те не разбираха особено от цифровите комуникации. Баран убеди началниците си в RAND, че би било по-добре да оттегли това предложение, отколкото да позволи то да бъде приложено така или иначе и да съсипе репутацията на разпределените цифрови комуникации.

Дейвис, като ръководител на NPL, имаше много повече власт от Баран, но по-строг бюджет от ARPA и не разполагаше с готова социална и техническа мрежа от изследователски компютри. Той успя да създаде прототип на локална мрежа с комутация на пакети (имаше само един възел, но много терминали) в NPL в края на 1960-те години, със скромен бюджет от £120 000 за три години. ARPANET изразходва около половината от тази сума годишно за операции и поддръжка на всеки от многото възли на мрежата, с изключение на първоначалните инвестиции в хардуер и софтуер. Организацията, способна да създаде широкомащабна британска мрежа за комутация на пакети, беше Британската поща, която управляваше телекомуникационните мрежи в страната, с изключение на самата пощенска услуга. Дейвис успя да заинтересува няколко влиятелни служители с идеите си за единна цифрова мрежа в национален мащаб, но не успя да промени посоката на такава огромна система.

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

Какво друго да чета

  • Джанет Абат, Изобретяването на интернет (1999)
  • Кейти Хафнър и Матю Лайън, Където магьосниците остават до късно (1996)
  • Леонард Клайнрок, „Ранна история на Интернет“, списание IEEE Communications (август 2010 г.)
  • Артър Норберг и Джули О'Нийл, Трансформиране на компютърните технологии: Обработка на информация за Пентагона, 1962-1986 (1996)
  • M. Mitchell Waldrop, The Dream Machine: JCR Licklider and the Revolution That Made Computing Personal (2001)

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

Добавяне на нов коментар