Алгоритмы для жизни: Простые способы принимать верные решения (Гриффитс, Кристиан) - страница 179

Телефонные компании, в свою очередь, не горят желанием что-то кардинально менять в своих протоколах. Отойти от коммутации каналов казалось безумием, «полнейшей ересью», как выразился сетевой исследователь Ван Якобсон. Клейнрок вспоминает собственное столкновение с телекоммуникационной отраслью:

Я обратился в AT&T, крупнейшую сеть того времени, и попытался объяснить им: мол, парни, вам бы следовало обеспечить нам хорошую передачу данных! И они такие: «Ты вообще о чем?! Штаты – это медный рудник, у нас полно телефонных проводов, вот и пользуйтесь ими!» Я им: «Нет-нет, вы не понимаете! Чтобы установить вызов, требуется 35 секунд, вы даете мне минимум 3 минуты, а мне нужно отправить 100 миллисекунд данных!» Ответ был: «Мальчик, иди отсюда». Ну, мальчик ушел и вместе с другими мальчиками разработал эту технологию, пока они жевали свой обед.

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

В такой сети «то, что вы называете соединением, является согласованной иллюзией между двумя конечными точками», объясняет сетевой эксперт Apple Стюарт Чешир. «В интернете не существует соединений. Говорить о соединениях в интернете – все равно что говорить о соединениях в американской почтовой системе. Вы посылаете людям письма, и каждое письмо идет независимо друг от друга. Вы можете иметь многолетнюю непрерывную переписку с кем-то, но почте США нет до этого никакого дела… Они просто доставляют письма».

Эффективное использование полосы пропускания было не единственным фактором продвижения исследований пакетной коммутации в 1960-х годах; другим стала ядерная война. Пол Баран из корпорации RAND пытался решить проблему устойчивой работы сети, чтобы военные коммуникации могли пережить ядерный удар, который разрушил бы бóльшую часть сетей. Вдохновленный алгоритмами, разработанными в 1950-х годах для навигационных комплексов, Баран придумал модель, в которой каждая частица информации могла бы независимо двигаться к пункту своего назначения, даже когда сеть динамично меняется – или вовсе рвется в клочья.

Это был еще один дефект коммутации каналов и их узкоспециализированных устойчивых соединений: столь высокая устойчивость означала, что сброшенный вызов так и останется сброшенным. Коммутация каналов просто не была гибкой или достаточно адаптируемой, чтобы быть надежной. И в этом случае пакетная коммутация снова могла предложить то, что было востребовано временем. В сетях с коммутацией каналов вызов прекращается, если разрушается одно из звеньев цепи, и это значит, что надежность падает в геометрической прогрессии по мере того, как расширяется сеть. С другой стороны, в пакетной коммутации увеличение числа путей в растущей сети становится положительной чертой: появляется так много путей передачи данных, что надежность сети растет в геометрической прогрессии по мере ее расширения.