Как захватить Вселенную. Подчини мир своим интересам. Практическое руководство для вдохновленных суперзлодеев - Райан Норт
Шрифт:
Интервал:
Но и это еще был не интернет, поскольку первые сети решали проблему «как человек А может поговорить с человеком Б, если они живут в разных городах» примитивнее. Первые сети строились по образцу телефонных сетей и пользовались для передачи данных маршрутизацией. Например, если вы находились в Лос-Анджелесе и хотели соединиться с моей штаб-квартирой в Нью-Йорке, оператор в Лос-Анджелесе (изначально человеческое существо, которому приходилось физически вставлять провода в разъемы) направлял ваш звонок, например, в хаб в Лас-Вегасе, оттуда вас соединяли с Альбукерке, затем с Канзас-Сити, с Чикаго и только потом с Нью-Йорком, где вы подключались к линии непосредственно до аппарата у меня на столе. И каждый оператор на каждом этапе пути знал, что звонок из этого города в тот пойдет по такому-то маршруту. Когда все работает идеально, это отличная система, но если что-то ломалось в Альбукерке, то рвались все соединения, направленные через этот город, пока их не восстанавливал вручную живой человек. То есть чем популярнее хаб, тем важнее он становится, поскольку от нормальной работы зависели очень многие. Любая такая компьютерная сеть очень хрупка, а правительство США хотело иметь в распоряжении надежную связь. Что-то, способное работать даже в том случае, если на Альбукерке упадет ядерная бомба. Черт, даже если разбомбят бóльшую часть территории Штатов.
Так появился ARPANET, предшественник интернета, где избыточность с самого начала встроена в структуру. Вместо того чтобы идти по заданным фиксированным маршрутам, сообщения пересылались с помощью так называемой пакетной коммутации. С ней уже не одно целое сообщение идет по маршруту, а любая коммуникация разбивается на крошечные части – пакеты, каждый из которых может идти по назначению своим путем. Эта система не гарантирует, что дойдут все пакеты – и уж тем более дойдут в нужном порядке, – но этот вопрос решают протоколы интернета, заворачивая каждый пакет в виртуальный конверт для опознания (фактически с надписью: «Привет, как дела, я часть 7 из девяти этого вот сообщения с того вот компьютера»), а затем проверяя, чтобы получатель мог запросить любой потерянный пакет. В этом случае, если на Альбукерке упадет ядерная бомба (или, что обычно вероятнее, если компьютер-посредник в Альбукерке отрубится), вы все равно получите свое сообщение альтернативными путями. Любой нерабочий компьютер обходится автоматически, и сеть работает, даже если разрушены значительные ее участки, и даже фрагмент прибывшего сообщения может запустить процесс, который восстановит целое.
И это значит, что нам, настроенным на уничтожение интернета суперзлодеям, придется придумать, как поразить устойчивую сеть компьютеров, разработанную буквально для того, чтобы пережить ядерную бомбу. Похоже, дело нам по плечу… сказали бы мы, если бы не несколько последних десятилетий развития гражданского интернета!
Математические выкладки на тему человеческой коммуникации
Вот забавный факт насчет повторной отправки потерянных данных: никогда нельзя быть на 100 % уверенным, что оба человека в сети коммуникаций, где что-то может затеряться, вообще получают одни и те же данные – и это, даже если ничего еще и не потерялось!
Вот пример. Скажем, вы хотите отправить вот такое важное сообщение: «Хей, детка, как те злодеи? А то я злодей, а ИНОГДА еще, типа, и целоваться ЛЮБЛЮ!!!» Вы можете послать это сообщение и, будучи человеком неглупым, попросить подтверждение, чтобы знать, что сообщение дошло. Легко, правда? И пусть все прошло, как планировалось: собеседник получил сообщение и прислал подтверждение. Но когда оно пришло, хоть вы теперь и знаете, что ваше злодейско-поцелуйное сообщение получено, зато собеседник не знает, что вы это знаете, поскольку есть шанс, что до вас не дошло его подтверждение! И вы пишете: «Спасибо, я получил подтверждение», – то есть теперь собеседник знает, что вы знаете, что он получил ваше изначальное сообщение, но теперь вы не знаете, что он знает, что вы знаете, что «спасибо» дошло. И по ходу процесса становится очевидно, что у вас только два варианта действий – и это доказано безжалостной математикой распределенных вычислений: продолжать слать подтверждения подтверждений (подтверждений подтверждений) до конца времен, стремясь к вроде бы простой, но буквально недостижимой цели, чтобы один набор фактов о мире был совершенно идентичным для двух умов… либо смириться, что нам не дано понять друг друга в этом несовершенном мироздании, и просто жить дальше.
Схожие выкладки в области распределенных вычислений показали, что нельзя достичь консенсуса (то есть чтобы все в сети согласились по поводу произошедшего), если более трети акторов готовы солгать. В общем, просто еще один интересный факт о компьютерных сетях – может, даже применимый к человеческим сообществам, как знать?
НИЗКОПРОБНЫЕ ПЛАНЫ НЕДОРАЗВИТЫХ УМОВ
Учитывая устойчивость интернета, мы понимаем, что перерезать несколько проводов (или даже расплавить ядерной бомбой целый город со всеми проводами) – маловато, чтобы его уничтожить и уцелевшие компьютеры обойдут повреждения. И хотя интернет начал жизнь как децентрализованная сеть вычислительных машин, в последние несколько десятилетий он становится все более и более централизованным, угодив в лапы всего нескольких корпораций.
В предыдущем разделе я упомянул облако: это просто несколько компьютеров, соединенных в сеть, чтобы представлять единую вычислительную платформу. В облачной вычислительной платформе можно получить доступ к мощности одной физической машины, как у вас на столе, или, за пригоршню долларов, общую мощь сотен машин, работающих параллельно. Для тех, кто поддерживает сайты, это очень привлекательная перспектива. Если у вас один компьютер, то поломка жесткого диска означает катастрофу и упавший сайт. Но если ваши данные хранятся в облаке, распределенном по огромному количеству компьютеров в виде единой виртуальной машины, поломка жесткого диска выводит из строя лишь один компьютер, за которого тут же подхватывает другой, – и вы этого даже не заметите. За ежемесячную оплату (которую можно по желанию менять, арендуя больше или меньше вычислительной мощности) кто-то другой будет заниматься за вас тяжелой работой грубой реальности – поддеривжать и чинить аппаратную часть. А вы, освободившись благодаря устойчивой виртуальной платформе, можете сосредоточиться на чем-то поинтереснее и поинтеллектуальнее, например на том, «что бы сегодня запостить в секретном кулинарном злодейском блоге», зная, что все просто работает. Благодаря этой-то привлекательной перспективе многие самые популярные сайты мира работают за счет одного (или более) частного облачного сервиса, которым из-за сложности создания и высоких издержек обычно занимаются компании-гиганты вроде «Амазона» и «Гугла».
И это превращает их, сервисы, в
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!