Мы считаем интернет чем-то неосязаемым, выше унылой реальности, где мы живем. Но даже самые навороченные сайты, стриминговые платформы, сервисы подписки или приложения со свиданиями только для злодеев – всего лишь программное обеспечение на вполне материальном оборудовании. Совершенно не важно, насколько сильно мы отстраняемся от реальных устройств, – а мы отстраняемся, и многие службы уже работают на виртуальных серверах, которые сами функционируют в облаке, то есть на нескольких компьютерах в единой распределенной по миру вычислительной сети, доступной для кого угодно, кто заплатит, – все, что вы прочитали, просмотрели или прослушали онлайн, пришло с материального железа, откликнувшегося на ваш персональный запрос. Основа интернета не изменилась со времени его изобретения: когда-то это было короткое соединение между двумя организациями, а сейчас – более 1,2 млн км кабеля, соединяющего миллиарды компьютеров на всех континентах, но это все те же сигналы, передающиеся между машинами, а машины – просто оживленный электричеством металл, складывающий числа быстрее, чем мы в уме.
А теперь посмотрим, как устроен интернет.
Первые компьютеры разговаривали друг с другом напрямую: вашей машине нужно было непосредственно подключиться к другой – своеобразный аналог беседы тет-а-тет в запертой комнате. Это по очевидным причинам неудобно, и мы пришли к большим сетям, в которых можно легко говорить одновременно с несколькими машинами. Теперь наш компьютер вместо того, чтобы сидеть с одной машиной в запертой комнате, скорее тусил со всеми сразу в огромном плавательном бассейне, где мог видеть остальных и трепаться с кем пожелает. Это великолепная аналогия, и я отказываюсь выслушивать критику.
Но и это еще был не интернет, поскольку первые сети решали проблему «как человек А может поговорить с человеком Б, если они живут в разных городах» примитивнее. Первые сети строились по образцу телефонных сетей и пользовались для передачи данных маршрутизацией. Например, если вы находились в Лос-Анджелесе и хотели соединиться с моей штаб-квартирой в Нью-Йорке, оператор в Лос-Анджелесе (изначально человеческое существо, которому приходилось физически вставлять провода в разъемы) направлял ваш звонок, например, в хаб в Лас-Вегасе, оттуда вас соединяли с Альбукерке, затем с Канзас-Сити, с Чикаго и только потом с Нью-Йорком, где вы подключались к линии непосредственно до аппарата у меня на столе. И каждый оператор на каждом этапе пути знал, что звонок из
Так появился ARPANET, предшественник интернета, где избыточность с самого начала встроена в структуру. Вместо того чтобы идти по заданным фиксированным маршрутам, сообщения пересылались с помощью так называемой пакетной коммутации. С ней уже не одно целое сообщение идет по маршруту, а любая коммуникация разбивается на крошечные части – пакеты, каждый из которых может идти по назначению своим путем. Эта система не гарантирует, что дойдут все пакеты – и уж тем более дойдут в нужном порядке, – но этот вопрос решают протоколы интернета, заворачивая каждый пакет в виртуальный конверт для опознания (фактически с надписью: «Привет, как дела, я часть 7 из девяти этого вот сообщения с того вот компьютера»), а затем проверяя, чтобы получатель мог запросить любой потерянный пакет. В этом случае, если на Альбукерке упадет ядерная бомба (или, что
И это значит, что нам, настроенным на уничтожение интернета суперзлодеям, придется придумать, как поразить устойчивую сеть компьютеров,