числе Бостонский, Нью-Йоркский и Чикагский.
Дэвид Уэзеролл работает в компании Google. Ранее он был доцентом кафедры компьютерных наук и электротехники Вашингтонского университета, а также консультантом Intel Labs в Сиэтле. Будучи родом из Австралии, Уэзеролл получил степень инженерии в области электротехники в Университете Западной Австралии. Докторскую диссертацию в области компьютерных наук он защитил в Массачусетском технологическом институте.
Последние 20 лет доктор Уэзеролл работает в сфере компьютерных сетей. Его исследования направлены на сетевые системы, в особенности беспроводные сети и мобильные вычисления, разработку интернет-протоколов и измерение параметров сетей.
За исследования, которые положили начало разработке активных сетей (архитектуры для быстрого внедрения новых сетевых служб), Уэзеролл получил премию ACM SIGCOMM Test of Time. Также он был удостоен премии IEEE им. Уильяма Беннета за прорыв в области веб-картографии. В 2002 году его работа была отмечена наградой Национального научного фонда CAREER (National Science Foundation CAREER), а в 2004-м он стал стипендиатом Фонда Слоуна (Sloan Foundation).
Дэвид Уэзеролл — активный участник сообщества исследователей компьютерных сетей. Он является сопредседателем программных комитетов SIGCOMM, NSDI и MobiSys, а также одним из организаторов семинаров ACM HotNets. Уэзеролл был членом программных комитетов множества конференций, посвященных сетевым технологиям. Также он работает редактором журнала ACM Computer Communication.
1 Поисковик, впоследствии ставший службой каталогов для поисковой системы AltaVista.
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
Глава 1. Введение
Каждое из прошлых трех столетий было отмечено своей господствующей технологией. Промышленная революция XVIII века положила начало развитию крупного машиностроения. XIX век стал эрой паровых двигателей. Ключевой технологией XX века стали сбор, обработка и распространение информации. В числе других достижений следует отметить создание всемирной телефонной сети, изобретение радио и телевидения, рождение и беспрецедентный рост компьютерной отрасли, запуск спутников связи и, конечно, появление интернета. Кто знает, какие чудеса ждут нас в XXI веке?
В результате стремительного научно-технического прогресса происходит слияние отраслей, и грань между сбором, передачей, хранением и обработкой информации стирается. Корпорации, насчитывающие сотни офисов по всему миру, должны иметь возможность получать информацию о своем даже самом удаленном представительстве одним нажатием клавиши. И как бы быстро ни росли возможности сбора, обработки и распространения информации, потребности во все более сложных технологиях растут еще быстрее.
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. Сеть, включающая два клиента и один сервер
Модель «клиент-сервер» используется очень широко, на ней основана большая часть сетевых приложений. Наиболее распространенная реализация этой модели — веб-приложение. Сервер генерирует веб-страницы на основе своей базы данных в ответ на запросы клиентов. Эти запросы, в свою очередь, пополняют базу данных сервера. Такая модель применима