Устройство, которое реализует соединение между двумя или более сетями и обеспечивает необходимые преобразования с точки зрения аппаратного и программного обеспечения, называется шлюзом (gateway). Шлюзы различаются по уровню в иерархии протокола, на котором они функционируют. Более подробно уровни и иерархии протоколов рассмотрены в следующем разделе. Пока что примите к сведению, что высшие уровни сильнее связаны с приложениями (например, Web), а низшие — с каналами передачи (например, Ethernet). Весь смысл интерсети заключается в соединении компьютеров из разных сетей. Поэтому использовать слишком низкоуровневый шлюз нежелательно — он не сработает для различных типов сетей. Также не подойдет шлюз излишне высокого уровня, так как соединение будет работать только для определенных приложений. Оптимальный уровень, золотую середину, часто называют сетевым уровнем. Шлюзом, производящим коммутацию пакетов на сетевом уровне, служит маршрутизатор. Как правило, интерсети соединяются шлюзами сетевого уровня — маршрутизаторами; впрочем, даже отдельная крупная сеть обычно содержит много маршрутизаторов.
5 Города, расположенные на разных побережьях Австралии. — Примеч. пер.
1.4. Примеры сетей
Предмет изучения сетей включает множество их видов, крупных и небольших, популярных и малоизвестных. У них могут быть разные задачи, масштабы и технологии. В следующих разделах мы рассмотрим несколько примеров, чтобы составить представление о разнообразии сферы вычислительных сетей.
Мы начнем с интернета, вероятно, самой известной «сети», и расскажем о его истории, эволюции и используемых технологиях. Далее перейдем к мобильным сетям: в техническом отношении они довольно сильно отличаются от интернета. Затем мы познакомим вас с IEEE 802.11, главным стандартом беспроводных LAN.
1.4.1. Интернет
Интернет представляет собой обширное собрание сетей, использующих некоторые общие протоколы и предоставляющих определенные общие сервисы. Необычность этой системы в том, что она не была задумана и не контролируется какой-либо одной организацией. Чтобы лучше разобраться в устройстве интернета, начнем с истоков и выясним, как он был создан и почему. История создания интернета замечательно описана в книге Джона Нотона (John Naughton, 2000). Это одна из редких книг, которые не только интересны простому читателю, но и содержат при этом 20 страниц ссылок на серьезные исследования. Некоторые материалы в данном разделе основаны на этой книге. Более актуальная история интернета представлена в книге Брайана Маккалоу (Brian McCullough, 2018).
Конечно, интернету, его истории и протоколам также посвящен гигантский массив технической литературы. Больше информации можно найти, например, в работе Северанса (Severance, 2015).
ARPANET
История интернета начинается в конце 1950-х. В самый разгар холодной войны Министерству обороны США понадобилась система командования и управления, способная пережить ядерную войну. В это время все военные коммуникации осуществлялись через общественную телефонную сеть, которая считалась уязвимой. Причины этого ясны из илл. 1.12 (а). На нем черные точки соответствуют коммутационным станциям, к каждой из которых подключены тысячи телефонов. Эти коммутационные станции, в свою очередь, подключены к коммутационным станциям более высокого уровня (центральным АТС). В результате сформировалась общенациональная иерархия с очень незначительной избыточностью. Уязвимость этой системы состояла в том, что уничтожение всего нескольких ключевых центральных АТС раздробило бы ее на множество изолированных участков, так что генералы из Пентагона не смогли бы дозвониться до базы в Лос-Анджелесе.
Илл. 1.12. (а) Структура телефонной системы; (б) Предложение Бэрана
В начале 1960-х Минобороны заключило с корпорацией RAND контракт на поиск решения этой проблемы. Один из сотрудников компании, Пол Бэран (Paul Baran), разработал сильно распределенную и отказоустойчивую архитектуру, изображенную на илл. 1.12 (б). Длина пути между любыми двумя коммутационными станциями теперь значительно превышала расстояние, которое аналоговые сигналы могут проходить без искажений. Поэтому Бэран предложил использовать цифровую технологию коммутации пакетов. Бэран написал несколько отчетов для Минобороны, в которых подробно описал свои идеи (Baran, 1964). Представители Пентагона оценили его концепцию и предложили компании AT&T (на тот момент монополиста в сфере телефонных услуг в США) создать опытный образец системы. AT&T сразу же отмели идеи Бэрана. Крупнейшая и богатейшая корпорация в мире не собиралась позволять какому-то выскочке из Калифорнии6 (AT&T тогда базировались на Восточном побережье США) указывать ей, как выстраивать телефонную систему. В компании заявили, что сеть Бэрана в принципе нереализуема, и идея была загублена на корню.
Прошло несколько лет, а у Минобороны все еще не было улучшенной системы командования и управления. Чтобы понять, что произошло далее, придется вернуться в октябрь 1957-го, когда СССР победил США в космической гонке, запустив первый искусственный спутник Земли. Когда президент США Дуайт Эйзенхауэр попытался выяснить, чей это был недосмотр, он был шокирован тем, как армия, ВМС и ВВС пререкались из-за бюджета Пентагона на исследования. Эйзенхауэр немедленно создал единую организацию для исследований в оборонной сфере, ARPA (Advanced Research Projects Agency — Управление перспективных исследовательских проектов). У ARPA не было своих ученых или лабораторий; фактически оно представляло собой один офис с маленьким (по меркам Пентагона) финансированием. Его работа состояла в распределении грантов и контрактов университетам и компаниям, предлагавшим многообещающие идеи.
В первые несколько лет ARPA занималось поиском своей миссии. В 1967 году Ларри Робертс (Larry Roberts), руководитель проектов в ARPA, пытавшийся найти способ предоставления удаленного доступа к компьютерам, обратил свое внимание на сетевые технологии. Он связался с несколькими экспертами в этой области, чтобы определить порядок действий. Один из них, Уэсли Кларк (Wesley Clark), предложил построить подсеть с коммутацией пакетов, в которой каждый хост был бы связан со своим маршрутизатором.
Поначалу Робертс был настроен скептически, но в конце концов принял эту идею. Он представил несколько туманный доклад на симпозиуме по операционным системам ACM SIGOPS, проводившемся в Гатлинбурге, штат Теннесси, в конце 1967 года (Roberts, 1967). К большому удивлению Робертса, на конференции был представлен еще один доклад, описывающий аналогичную систему. Эта система была не только спроектирована, но и полностью реализована под руководством Дональда Дэвиса (Donald Davies) из Национальной физической лаборатории (NPL) Великобритании. Созданная в NPL система не охватывала всю страну, а всего лишь соединяла несколько компьютеров на территории NPL. Тем не менее это убедило Робертса в принципиальной реализуемости идеи коммутации пакетов. Кроме того, в упомянутом докладе цитировалась более ранняя забракованная работа Бэрана. Робертс уехал из Гатлинбурга с твердым намерением создать то, что позднее получило название ARPANET.
Согласно разработанному им плану, подсеть состояла из мини-компьютеров IMP (Interface Message Processors — обработчики сообщений интерфейсов), соединенных самыми современными на тот момент 56-килобитными линиями передачи. Для повышения надежности каждый IMP соединялся по крайней мере с двумя другими IMP. Все отправляемые через подсеть пакеты содержали полный адрес получателя, так что в случае уничтожения части линий связи и IMP следующие пакеты автоматически перенаправлялись бы по альтернативным путям.
Каждый узел сети представлял собой находящиеся в одном помещении IMP и хост, соединенные коротким кабелем. Хост мог отправлять своему IMP сообщения размером до 8063 бит. Затем IMP разбивал информацию на пакеты максимум по 1008 бит и по отдельности направлял их в пункт назначения. Перед дальнейшей отправкой каждый пакет нужно было получить полностью. Таким образом, эта подсеть стала первой электронной сетью с промежуточным хранением данных и коммутацией пакетов.