1.1. Применение компьютерных сетей
Хотя компьютерная индустрия еще очень молода по сравнению с другими отраслями промышленности (например, авиа- и автомобилестроением), ее эволюция за короткий промежуток времени поистине поразительна. В первые два десятилетия своего существования компьютерные системы были централизованными и, как правило, занимали целую комнату. Часто это были помещения со стеклянными окнами, через которые посетители могли полюбоваться на чудо электроники. Среднее предприятие или университет могли себе позволить один компьютер (иногда два), а крупная компания — до нескольких десятков. Сама идея о том, что через 50 лет будут произведены миллиарды куда более мощных компьютеров размером с почтовую марку, казалась научной фантастикой.
Слияние вычислительной техники и телекоммуникаций в корне изменило организацию компьютерных систем. Концепция «вычислительного центра» как помещения с одним большим компьютером, куда пользователи приносят свои задачи для обработки, безнадежно устарела (хотя вполне обыденными стали центры обработки данных, содержащие сотни тысяч интернет-серверов). На смену одному компьютеру, обслуживающему все вычислительные потребности компании, пришла система множества отдельных, но связанных между собой компьютеров. Такие системы получили название компьютерных сетей (computer networks)2. Их архитектуре и организации и посвящена наша книга.
В этой книге термин «компьютерная (вычислительная) сеть» обозначает набор взаимосвязанных автономных вычислительных устройств. Компьютеры считаются взаимосвязанными, если могут обмениваться информацией. Соединение осуществляется с использованием разнообразных сред передачи данных. Это могут быть медные провода, оптоволоконные кабели и радиоволны (например, микроволны, инфракрасные волны, спутники связи). Нам предстоит исследовать компьютерные сети самых разных размеров, конфигураций и форм. Часто они объединяются в более крупные сети. Наиболее известный пример системы сетей — интернет.
1.1.1. Доступ к информации
Доступ к информации осуществляется разными способами. Веб-браузер — основной инструмент доступа к интернету. Он позволяет извлекать данные с различных сайтов, включая набирающие популярность соцсети. Сегодня мобильные приложения на смартфонах также предоставляют удаленный доступ к информации на всевозможные темы. Искусство, бизнес, кулинария, госуправление, здоровье, история, хобби, развлечения, наука, спорт, путешествия... Всего не перечислить (а некоторые темы и не стоит упоминать).
Большинство СМИ также мигрировали в интернет, а некоторые даже полностью отказались от бумажной версии. Доступ к информации, включая новости, все более персонализируется. Некоторые интернет-СМИ дают читателю возможность самому выбрать интересующие его темы. Например: коррумпированные политики, масштабные пожары, скандалы с участием знаменитостей и эпидемии, но не, скажем, футбол. Подобная тенденция определенно угрожает заработку 12-летних разносчиков газет — интернет позволяет распространить новости на гораздо более широкую аудиторию.
Отбор новостей также все чаще происходит в социальных сетях. Они позволяют публиковать новостной контент из самых разнообразных источников и делиться им с другими пользователями. Новости сортируются и персонализируются не только в соответствии с выбором конкретного пользователя, но и на основе сложных алгоритмов машинного обучения. Алгоритмы прогнозируют предпочтения на основе истории просмотра. Публикация в интернете и подбор контента в соцсетях порождают финансовую модель, которая во многом зависит от таргетированной поведенческой рекламы. Разумеется, это требует сбора данных о поведении отдельных пользователей. Иногда такая информация используется неправомерно.
Сегодня онлайн-библиотеки и интернет-магазины содержат электронные версии изданий, от научных журналов до книг. Многие профессиональные объединения, такие как ACM (Association for Computing Machinery — Ассоциация по вычислительной технике; www.acm.org) и IEEE Computer Society (Общество специалистов по вычислительной технике IEEE; www.computer.org), уже давно оцифровали и выложили в интернет все свои журналы и труды конференций. В один прекрасный день бумажные книги могут стать архаизмом, уступив место электронным книгам и онлайн-библиотекам. Скептикам стоит сравнить этот процесс с эффектом, который оказало изобретение печатного станка на средневековые иллюстрированные рукописи.
Доступ к значительной доле информации в интернете производится посредством модели «клиент-сервер». Клиент явным образом запрашивает информацию с хранящего ее сервера, как показано на илл. 1.1.
Илл. 1.1. Сеть, включающая два клиента и один сервер
Модель «клиент-сервер» используется очень широко, на ней основана большая часть сетевых приложений. Наиболее распространенная реализация этой модели — веб-приложение. Сервер генерирует веб-страницы на основе своей базы данных в ответ на запросы клиентов. Эти запросы, в свою очередь, пополняют базу данных сервера. Такая модель применима не только когда клиент и сервер физически находятся в одном здании (и принадлежат одной компании), но и когда они удалены на значительное расстояние. Например, пользователь у себя дома обращается к странице во Всемирной паутине. В этом случае его домашний компьютер играет роль клиента, а удаленный веб-сервер — сервера. Как правило, один сервер способен обслуживать большое число (сотни или тысячи) клиентов одновременно.
В первом приближении в модели «клиент-сервер» участвуют два процесса (работающие программы), один на компьютере пользователя, а второй — на сервере. Связь между ними происходит путем отправки клиентским процессом по сети сообщения серверному процессу. Далее клиентский процесс ожидает ответного сообщения. При получении запроса серверный процесс производит требуемые действия или находит запрашиваемые данные, после чего отправляет ответ. Эти сообщения показаны на илл. 1.2.
Илл. 1.2. Модель «клиент-сервер» включает запросы и ответы
Еще одна популярная модель доступа к информации — одноранговая, или пиринговая (peer-to-peer), связь (Парамешваран и др.; Parameswaran et al., 20013). При таком виде связи пользователи, образующие не слишком тесно связанную группу, могут обмениваться сообщениями с другими ее участниками, как показано на илл. 1.3. По сути, каждый из них может взаимодействовать с одним или несколькими людьми; никакого четкого деления на клиенты и серверы нет.
Илл. 1.3. В одноранговой системе отсутствует деление на клиенты и серверы
Во многих одноранговых системах, например BitTorrent (Коэн; Cohen, 2003), отсутствует централизованная база данных контента. Вместо этого каждый пользователь поддерживает свою локальную базу данных, а также список остальных участников системы. Новый пользователь может обратиться к любому участнику системы, чтобы получить его контент и имена остальных пользователей (для поиска дополнительного контента и прочих имен). Процесс поиска можно повторять бесконечно, создавая обширную локальную базу данных. Для людей подобная деятельность утомительна, но компьютеры справляются с ней на ура.
Одноранговые системы связи часто применяются для распространения музыки и видео. Пик их популярности пришелся на 2000-е годы, с появлением сервиса обмена музыкой Napster, закрытого после грандиозного скандала по поводу нарушения авторских прав; см. Лам и Тань (Lam and Tan, 2001) и Македония (Macedonia, 2000). Сегодня существуют законные способы применения пиринговой связи. В их числе обмен музыкой, являющейся общественным достоянием, обмен семейными фотографиями и видео, а также скачивание пользователями общедоступных пакетов программного обеспечения. Кстати, одно из наиболее популярных интернет-приложений — электронная почта — по сути является одноранговой системой. Данный вид связи, вероятно, в будущем станет применяться еще более широко.
1.1.2. Общение
Общение онлайн — ответ XXI века на телефон XIX века. Электронная почта уже сейчас используется каждый день миллионами людей по всему миру, и ее популярность постоянно растет. Вложение в сообщения аудио- и видеофайлов наряду с текстом и рисунками — вполне обычное дело. Реализация отправки запахов может потребовать больше времени.
Многие пользователи интернета используют для общения тот или иной вид мгновенного обмена сообщениями (instant messaging). Эта технология, ведущая начало от программы talk операционной системы Unix, используемой примерно с 1970 года, позволяет двум людям писать друг другу сообщения в режиме реального времени. Существуют также сервисы обмена сообщениями между несколькими людьми. Например, сервис Twitter, позволяющий отправлять короткие сообщения (с возможностью добавления видео), называемые твитами, своим друзьям, другим подписчикам или вообще всему миру.
Приложения могут использовать интернет для передачи аудио (интернет-радиостанции, стриминговые музыкальные сервисы) и видео (Netflix, YouTube). Это не только дешевый способ общения с друзьями из дальних стран, но и удобная возможность для удаленного обучения, с возможностью посещать занятия в восемь утра без необходимости вставать с кровати. В долгосрочной перспективе использование компьютерных сетей для расширения возможностей коммуникации будет иметь важнейшее значение. Благодаря им люди из далеких от цивилизации мест могут обрести такой же доступ к различным сервисам, что и жители мегаполиса.
Социальные сети (social networks) предоставляют и возможность общаться, и доступ к информации. Поток данных в них определяется публично заявленными взаимоотношениями между пользователями. Одна из наиболее популярных социальных сетей — Facebook. С его помощью пользователи могут создавать/обновлять свои личные профили и делиться обновлениями со своими друзьями. Другие приложения соцсетей предоставляют также возможности знакомства с друзьями друзей, отправки друзьям новостных сообщений (как в вышеупомянутом Twitter) и многое другое.
В еще более общем случае люди могут совместно генерировать контент. В качестве примера можно привести технологию вики (wiki) — совместно созданный и редактируемый членами сообщества веб-сайт. Наиболее известный пример использования технологии вики — Википедия, онлайн-энциклопедия, доступная всем для чтения и редактирования; но существуют тысячи других вики.
1.1.3. Электронная коммерция
Покупка товаров через интернет весьма популярна. Пользователи просматривают онлайн-каталоги товаров тысяч компаний и заказывают доставку прямо домой. А если покупатель приобрел товар через интернет, но не может разобраться, как им пользоваться, — к его услугам онлайн-техподдержка.
Еще одна сфера широкого применения электронной коммерции — доступ к финансовым услугам. Многие уже сейчас производят оплату, управляют банковскими счетами и даже инвестируют средства через интернет. Благодаря финансовым технологиям (или финтех-приложениям) пользователи осуществляют самые разнообразные денежные онлайн-операции, включая переводы между банковскими счетами или между друзьями.
Немалый размах приобрели онлайн-аукционы б/у товаров. В отличие от обычной электронной коммерции, основанной на модели «клиент-сервер», онлайн-аукционы производятся по принципу одноранговой сети. Это значит, что их участники могут быть как покупателями, так и продавцами одновременно, несмотря на наличие центрального сервера, на котором хранится база данных продаваемых товаров.
Некоторые формы электронной коммерции получили изящные короткие названия-аббревиатуры, в основе которых лежит тот факт, что в английском языке «to»4 и «2» произносятся одинаково. Наиболее распространенные из них представлены на илл. 1.4.
Аббревиатура
Полное название
Пример
B2C
Бизнес для потребителя (Business-to-consumer)
Заказ книг в интернете
B2B
Бизнес для бизнеса (Business-to-business)
Производитель автомобилей заказывает шины у поставщика
G2C
Правительство для потребителя (Government-to-consumer)
Правительство распространяет через интернет бланки налоговых деклараций
C2C
Потребитель для потребителя (Consumer-to-consumer)
Продажа на онлайн-аукционе б/у товаров
P2P
Пиринговые сети (Peer-to-peer)
Распространение музыки или файлов; Skype
Илл. 1.4. Некоторые виды электронной коммерции
1.1.4. Развлечения
Четвертая наша категория — развлечения. Индустрия домашних развлечений в последние годы растет семимильными шагами. Онлайн-распространение музыки, фильмов, радио- и телепередач конкурирует с традиционными механизмами потребления контента. Пользователи могут находить, покупать и скачивать песни в формате MP3 и фильмы в высоком качестве, а затем добавлять их в свою домашнюю коллекцию. Во многие дома телешоу сейчас попадают посредством систем IPTV (IP-телевидение), в основе которых лежат IP-технологии (взамен кабельного телевидения или радио). С помощью приложений для потоковой передачи мультимедиа пользователи могут слушать интернет-радиостанции или смотреть фильмы или свежие эпизоды любимых телесериалов. Естественно, весь этот контент можно перемещать между различными устройствами и выводить на всевозможные экраны и динамики в пределах квартиры (обычно с помощью беспроводной сети).
Вероятно, скоро появится возможность моментально найти любой когда-либо снятый фильм или телепрограмму и вывести их на свой экран. В будущем фильмы станут интерактивными, и пользователи смогут выбрать сюжетную линию (убить ли Макбету короля сейчас или подождать более благоприятного момента?) из нескольких альтернативных сценариев для каждого случая. Прямой эфир на телевидении также может быть интерактивным: зрители могут участвовать в телевикторинах, выбирая участников, и т.д.
Еще один вид развлечений — игры. Уже сейчас существуют многопользовательские онлайн-симуляторы. Например, прятки в виртуальном подземелье или авиасимуляторы, в которых игроки одной команды пытаются сбить игроков из команды противника. Виртуальные миры служат сценой, на которой тысячи игроков сосуществуют в одной вселенной с трехмерной графикой.
1.1.5. Интернет вещей
Термин повсеместные вычисления (ubiquitous computing) означает, что вычисления неразрывно вплетены в повседневную жизнь согласно концепции Марка Вайзера (Mark Weiser, 1991). Сегодня многие дома обеспечиваются системами безопасности с датчиками на дверях и окнах. Кроме того, существует множество других видов датчиков, которые можно подключить к системе умного дома, например, для учета потребления электроэнергии. Интеллектуальные счетчики электроэнергии, газа и воды могут отправлять показания по сети. Это позволяет коммунальным компаниям сэкономить средства и не нанимать специальных людей для съема показаний. Датчики дыма могут отправлять сигнал непосредственно пожарным вместо запуска громкой сирены (от которой все равно будет мало толку, если дома никого нет). Умные холодильники могли бы сами, например, заказывать молоко, если оно почти закончилось. По мере снижения стоимости датчиков и передачи данных все больше измерений и отчетов будет осуществляться с помощью сетей. Эта непрерывная революция, получившая название IoT (internet of things — интернет вещей), ведет к подключению практически всех приобретаемых нами электронных устройств к интернету.
Бытовые электроприборы все чаще подключаются к сети. Например, некоторые дорогие камеры подключаются к беспроводной сети и отправляют фотографии на ближайший экран для просмотра. Профессиональные фоторепортеры также пересылают снимки редакторам в режиме реального времени, сначала по беспроводной сети к точке доступа, а затем через интернет. Приборы, подключаемые к розетке (например, телевизоры), могут использовать связь по ЛЭП (power-line networks) для передачи информации по дому через электропроводку. Присутствием подобных устройств в сети трудно удивить. Однако объекты, которые обычно не ассоциируются с компьютерами, также могут считывать и передавать информацию. Например, душ может фиксировать расход воды (вы можете следить за ним прямо во время мытья), а по завершении отправить отчет в домашнее приложение экологического мониторинга, чтобы помочь вам сэкономить на воде.
2 Исторически сложилось так, что термины computer networks и computer systems чаще всего переводят на русский язык как «компьютерные сети» и «компьютерные системы», но на самом деле речь идет о вычислительных устройствах, которые являются компонентами сетей и систем. В этой книге мы будем придерживаться привычной терминологии, но имейте в виду, что под компьютером (computer) понимается вычислительное устройство. — Примеч. науч. ред.
3 Список всех упоминаемых в тексте изданий вы найдете в конце книги в разделе «Алфавитный список литературы». — Примеч. ред.
4 Английский многозначный предлог, в данном случае обозначающий «для». — Примеч. пер.