Еще эффективнее метод коммутации пакетов — специальный способ коммутации с промежуточным хранением, при котором сообщения разбиваются на небольшие кусочки строго одинакового размера. Эти кусочки, их называют пакетами, снабжены адресом — заголовком, указывающим, куда ему следует двигаться. Затем пакеты отправляются в путь по сети к своему месту назначения, перескакивая с узла на узел. При этом они используют те связи, которые в данный момент наиболее доступны. Если какая-то связь слишком забита данными, некоторые из пакетов отправляются по альтернативным маршрутам. Когда все пакеты добираются до нужного узла, их опять собирают вместе, используя инструкции, записанные в заголовке. «Это напоминает длинное письмо, написанное на десятках открыток. Все открытки пронумерованы и отправлены по одному и тому же адресу, — объясняет Винт Серф, один из основоположников интернета. — Каждая открытка, чтобы попасть в пункт назначения, может выбрать свой маршрут, после чего они опять собираются вместе» [494] .
Как объяснил Скентлебери в Гатлинберге, первым, кто до конца разобрался в том, что из себя представляет сеть с коммутацией пакетов, был инженер Пол Бэран. Семья Бэрана иммигрировала из Польши, когда ему было два года. Они поселились в Филадельфии, где отец Пола открыл небольшую бакалейную лавку. Окончив в 1949 году Дрексельский университет, Бэран поступил в компьютерную компанию Преспера Эккерта и Джона Мокли, где занимался тестированием программ для UNIVAC. Он перебрался в Лос-Анжелес, прослушал вечерние курсы в Калифорнийском университете, а затем получил работу в RAND Corporation.
Когда в 1955 году русские успешно испытали водородную бомбу, Бэран осознал, что дело его жизни — помочь предотвратить ядерный холокост. Однажды в RAND он просматривал список исследовательских тем, интересующих штаб военно-воздушных сил, который рассылали еженедельно. Его взгляд остановился на одной из них, относившейся к разработке военной системы связи, способной пережить атаку врага. Он знал, что подобная система может помочь предотвратить обмен ядерными ударами: если одна из сторон боится, что ее система связи выйдет из строя, более вероятно, что при нарастании напряжения она попробует нанести упреждающий удар. При надежных системах связи государству ни к чему вести себя столь необдуманно агрессивно.
Бэран сформулировал две ключевые идеи, о которых написал в 1960 году. Во-первых, утверждал он, сеть не должна быть централизованной: не должно быть главного аппаратного узла, контролирующего все коммутации и маршрутизацию. Не должна она быть и просто децентрализованной, такой, которая контролируется большим числом региональных аппаратных узлов наподобие телефонной сети AT&T или карты маршрутов большой авиакомпании. Если враг захватит несколько таких пунктов, система выйдет из строя. Напротив, контроль надо полностью рассредоточить. Другими словами, каждый из узлов должен иметь равную возможность коммутировать и направлять поток данных. Именно это стало наиболее важной отличительной чертой интернета, его неотъемлемым признаком, наделяющим правами отдельного человека и ограждающим сеть от централизованного контроля.
В его представлении сеть напоминала рыбацкий невод. Все узлы наделены способностью маршрутизировать трафик, каждый из них связан с несколькими другими узлами. Если один из узлов испортить, трафик просто будет перенаправлен по другим путям. Бэран объяснял: «Централизованного контроля нет. Каждый из узлов выбирает свою простую стратегию маршрутизации». Он подчеркивал, что даже если у каждого из узлов есть только три или четыре связи, система абсолютно устойчива по отношению к ошибкам и может функционировать в любых условиях. «Достаточно трехкратного или четырехкратного дублирования, чтобы надежность сети фактически соответствовала ее теоретически предсказанным возможностям» [495] .
«После того как я понял, что гарантирует надежность, следовало решить проблему прохождения сигнала через такую, похожую на невод, сеть», — рассказывает дальше Бэран [496] . Отсюда появилась его вторая идея: данные надо разбить на небольшие блоки стандартного размера. Сообщение разбивается на большое число таких блоков, каждый из которых будет быстро продвигаться от узла к узлу по своему собственному пути, а затем, достигнув пункта назначения, они будут собраны вместе. «Универсальный стандартизованный блок сообщения можно положить равным 1024 битам, — писал он. — Основная часть блоков, на которые разбивается сообщение, резервируется за передаваемыми данными, тогда как в оставшейся части должна содержаться служебная информация, необходимая для обнаружения ошибки, и данные о маршруте».
Читать дальше
Конец ознакомительного отрывка
Купить книгу