Выбрать главу

В этой книге термин «компьютерная (вычислительная) сеть» обозначает набор взаимосвязанных автономных вычислительных устройств. Компьютеры считаются взаимосвязанными, если могут обмениваться информацией. Соединение осуществляется с использованием разнообразных сред передачи данных. Это могут быть медные провода, оптоволоконные кабели и радиоволны (например, микроволны, инфракрасные волны, спутники связи). Нам предстоит исследовать компьютерные сети самых разных размеров, конфигураций и форм. Часто они объединяются в более крупные сети. Наиболее известный пример системы сетей — интернет.

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.