Компьютерные сети. 6-е изд. — страница 2 из 247

Слайды лекций в PowerPoint для преподавателей создал Пол Нэйджин (Paul Nagin) из издательства Chimborazo Publishing.

Наш редактор из издательства Pearson Трэйси Джонсон (Tracy Johnson), как обычно, помогала нам решать множество серьезных и мелких проблем. Без ее советов, энергичности и настойчивости это издание могло вообще не появиться на свет. Спасибо тебе, Трэйси. Мы очень ценим твою помощь.

И наконец, пришел черед самых важных для нас людей. Сьюзан пережила этот процесс уже 23 раза, всякий раз с неизменным терпением и любовью. Барбара и Марвин теперь уже знают разницу между хорошим и плохим учебником и всегда вдохновляют меня на написание хороших. Даниэл и Матильда — замечательное прибавление к нашему семейству. Арон, Нейтан, Оливия и Мирте, вероятно, это издание не прочитают, но они вдохновили меня в надежде на будущее (ЭТ). Маршини, Мила и Кира: моя любимая сеть — та, которую мы построили вместе. Спасибо вам за поддержку и любовь (НФ). Кэтрин и Люси не только всецело поддерживали меня, но и ухитрялись всегда обеспечить мне хорошее настроение. Спасибо вам (ДУ).

Эндрю Таненбаум

Ник Фимстер

Дэвид Уэзеролл

Об авторах

Эндрю Таненбаум получил степень бакалавра естественных наук в Массачусетском технологическом институте и защитил докторскую диссертацию в Калифорнийском университете в Беркли. В настоящее время является почетным профессором компьютерных наук Амстердамского свободного университета, где преподает курсы по организации операционных систем, компьютерным сетям и смежным темам вот уже более 40 лет. Долгие годы Таненбаум изучал высоконадежные операционные системы, а также компиляторы, распределенные системы, безопасность и др. Результат его исследовательских проектов — более 200 рецензированных статей в журналах и докладов на конференциях.

Профессор Таненбаум является автором и соавтором пяти книг, которые были переизданы 24 раза и переведены на 21 язык, включая баскский, китайский, французский, немецкий, японский, корейский, румынский, сербский, испанский и тайский. Его книги изучают в университетах по всему миру.

Эндрю Таненбаум разработал Unix-подобную систему Minix, предназначенную для студенческих лабораторных работ по программированию. Она послужила вдохновением и платформой для создания операционной системы Linux.

Таненбаум является членом Ассоциации вычислительной техники (Association for Computing Machinery, ACM), Института инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE), а также Королевской академии искусств и наук Нидерландов. Его достижения отмечены множеством научных премий от ACM, IEEE и Ассоциации USENIX (полный список вы найдете на его странице в Википедии). Кроме того, Таненбаум удостоен двух почетных докторских степеней.

Домашняя страница Эндрю Таненбаума находится по адресу www.cs.vu.nl/~ast.

Ник Фимстер, профессор компьютерных наук, возглавляет Центр данных и вычислений (Center for Data and Computing, CDAC) в Чикагском университете. Его исследования касаются многих вопросов компьютерных сетей и сетевых систем. Особое внимание он уделяет сетевым операциям, сетевой безопасности, цензуре в интернете и применению машинного обучения в компьютерных сетях.

Ник Фимстер окончил Массачусетский технологический институт: в 2000 и 2001 годах он получил степени бакалавра и магистра технических наук в области электротехники и компьютерных наук, а в 2005 году защитил докторскую диссертацию по компьютерным наукам. Свою карьеру Фимстер начал в компании Looksmart1, для которой он создал первый поисковый модуль. Также он участвовал в разработке первого алгоритма мониторинга ботнетов компании Damballa.

Профессор Фимстер является членом ACM. За вклад в разработку подходов к сетевой безопасности, ориентированных на данные, он получил Президентскую премию для молодых ученых и инженеров (Presidential Early Career Award for Scientists and Engineers, PECASE). Одна из его ранних публикаций о платформе управления маршрутизацией была отмечена наградой ассоциации USENIX Test of Time («Испытание временем») за влияние на развитие программно-конфигурируемых сетей. Фимстер выпустил первый онлайн-курс на эту тему. Помимо этого, он стал учредителем и преподавателем Магистерской программы дистанционного обучения компьютерным наукам Технологического института Джорджии.

Ник Фимстер — заядлый бегун на длинные дистанции. Он пробежал 20 марафонов, в том числе Бостонский, Нью-Йоркский и Чикагский.

Дэвид Уэзеролл работает в компании 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. Доступ к информации

Доступ к информации осуществляется разными способами. Веб-браузер — основной инструмент доступа к интернету. Он позволяет извлекать данные с различных сайтов, включая набирающие популярность соцсети. Сегодня мобильные приложения на смартфонах также предоставляют удаленный доступ к информации на всевозможные темы. Искусство, бизнес, кулинария, госуправление, здоровье, история, хобби, развлечения, наука, спорт, путешествия... Всего не перечислить (а некоторые темы и не стоит упоминать).