Компьютерные сети. 6-е изд.

Эндрю Таненбаум
100
10
(1 голос)
0 0

Аннотация: Перед вами шестое издание самой авторитетной книги по современным сетевым технологиям, написанное признанным экспертом Эндрю Таненбаумом в соавторстве со специалистом компании Google Дэвидом Уэзероллом и профессором Чикагского университета Ником Фимстером. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером. В книге последовательно изложены основные концепции, определяющие современное состояние компьютерных сетей и тенденции их развития. Авторы подробно объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до прикладного. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования интернета и компьютерных сетей различного типа. Большое внимание уделяется сетевой безопасности. Шестое издание полностью переработано с учетом изменений, произошедших в сфере сетевых технологий за последние годы, и, в частности, освещает такие технологии, как DOCSIS, 4G и 5G, беспроводные сети стандарта 802.11ax, 100-гигабитные сети Ethernet, интернет вещей, современные транспортные протоколы CUBIC TCP, QUIC и BBR, программно-конфигурируемые сети и многое другое.

1
3 564
219
Компьютерные сети. 6-е изд.

Читать книгу "Компьютерные сети. 6-е изд."




Илл. 1.23. Многолучевое замирание

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

Все эти методики использовались в различных версиях 802.11. В первоначальном стандарте (1997) описывалась работающая на скорости 1 или 2 Мбит/с беспроводная LAN, перепрыгивающая с частоты на частоту или распределяющая сигналы по разрешенному для нее диапазону частот. Практически сразу же начали поступать жалобы на слишком медленную скорость, и началась работа над более быстрыми стандартами. Архитектура с «размытием» спектра частот позднее была улучшена и стала стандартом 802.11b (1999), работающим на скорости до 11 Мбит/с. Позднее стандарты 802.11a (1999) и 802.11g (2003) были переведены на другую схему модуляции сигнала — OFDM (Orthogonal Frequency Division Multiplexing — мультиплексирование с ортогональным частотным разделением каналов). При этом подходе широкая полоса частот делится на множество узких полос, через которые параллельно отправляются различные биты. Улучшенная схема (представленная в главе 2) позволила повысить скорость передачи 802.11a/g до 54 Мбит/с. Это немалый прирост, но пользователям этого было недостаточно. Для обеспечения постоянно растущих нужд необходима большая пропускная способность. Следующие версии стандарта предоставляют еще более высокие скорости передачи данных. Повсеместно развертываемый сейчас стандарт 802.11ac может работать на скорости 3,5 Гбит/с. А более новый 802.11ad способен достигать 7 Гбит/с, правда, только в пределах одной комнаты, поскольку радиоволны на используемых им частотах плохо проходят сквозь стены.

Беспроводные сети имеют широковещательную природу. Поэтому существует возможность конфликта нескольких сигналов, отправленных одновременно, что может помешать их приему. Для решения этой проблемы в 802.11 используется CSMA (Carrier Sense Multiple Access — множественный доступ с контролем несущей). Этот метод основан на идеях классической проводной сети Ethernet, которые были взяты из еще более ранней беспроводной сети ALOHA, разработанной на Гавайях. Прежде чем отправлять сигнал, компьютер ожидает в течение короткого случайного интервала времени и откладывает передачу, если обнаруживает, что кто-то уже передает сигнал. Такая схема снижает вероятность того, что два компьютера отправят данные одновременно. Впрочем, она не так эффективна, как в случае проводной сети. Чтобы понять почему, взгляните на илл. 1.24. Допустим, компьютер A отправляет данные компьютеру B, но дальность передатчика компьютера A недостаточна, чтобы достичь компьютера C. Если C хочет передать что-то B, он может «прослушивать» эфир на предмет передачи, но это не гарантирует успеха его собственной передачи. То, что C не «слышит» передаваемый A сигнал, может привести к конфликтам. После любого конфликта отправитель должен подождать в течение случайного (но более длительного) промежутка времени и затем попытаться отправить пакет снова. Несмотря на эту и некоторые другие проблемы, данная схема неплохо работает на практике.

Илл. 1.24. Дальность действия одного радиопередатчика может не охватывать всей системы

Еще одна проблема связана с перемещением устройства в пространстве. Когда мобильный клиент удаляется от используемой точки доступа и попадает в зону приема другой точки доступа, нужен какой-то способ при необходимости подключить его к новой точке. Сеть 802.11 может состоять из нескольких ячеек (каждая — со своей собственной точкой доступа) и системы распределения, соединяющей эти ячейки. Система распределения часто представляет собой коммутируемый Ethernet, но в ее основе может лежать и любая другая технология. Клиенты, перемещаясь, ищут точку доступа с лучшим качеством сигнала, чем у текущей, и если находят, могут переключиться на нее. Извне вся эта система напоминает единую проводную LAN.

Тем не менее для стандарта 802.11 мобильность пока что не имеет столь важного значения, как для мобильных телефонных сетей. 802.11 обычно применяется «кочующими» клиентами, меняющими место постоянного расположения, и не используется во время движения. При подобном стиле использования мобильность не так уж необходима. Даже если 802.11 и используется в движении, то только в пределах одной сети, которая охватывает максимум одно большое здание. Чтобы добиться возможности перемещения между различными сетями и технологиями, нужны новые схемы работы. Например, стандарт 802.21, обеспечивающий возможность передачи обслуживания между проводными и беспроводными сетями.

Наконец, остается проблема безопасности. В силу широковещательного характера беспроводной передачи данных ближайшие компьютеры могут с легкостью получать не предназначенные для них пакеты. Чтобы этого избежать, стандарт 802.11 содержит схему шифрования, известную под названием WEP (Wired Equivalent Privacy). Ее цель — добиться безопасности беспроводной сети на уровне проводной. Идея неплохая, но, к сожалению, схема оказалась несовершенной и вскоре была взломана (Борисов и др.; Borisov et al., 2001). Позднее появились новые схемы шифрования с другими криптографическими особенностями, зафиксированные в стандарте 802.11i. Изначально он носил название WPA (Wi-Fi Protected Access — защищенный доступ к Wi-Fi), сейчас используется версия WPA2 и еще более хитроумные протоколы, например 802.1X. Он обеспечивает аутентификацию точек доступа клиентами, а также множество различных способов аутентификации самого клиента точкой доступа.

Стандарт 802.11 произвел революцию в беспроводных сетях, и она продолжается до сих пор. Он широко применяется не только в зданиях, но и в поездах, самолетах, кораблях и автомобилях. Теперь люди могут пользоваться интернетом в дороге, куда и на чем бы они ни ехали. С помощью 802.11 информацией обмениваются и мобильные телефоны, и самые различные виды бытовых электроприборов, начиная от игровых консолей до цифровых видеокамер. К тому же 802.11 постепенно сливается с другими типами мобильных технологий; яркий тому пример — LTE-Unlicensed (LTE-U — LTE на нелицензируемых частотах). Он представляет собой адаптацию сетевой сотовой технологии 4G LTE для работы с нелицензируемым диапазоном частот, в качестве альтернативы принадлежащим ISP точкам доступа Wi-Fi. Мы вернемся ко всем этим мобильным и сотовым сетевым технологиям в главе 4.

6Калифорния находится на Западном побережье. — Примеч. пер.

7На момент выхода книги. — Примеч. ред.

8Или «операторами верхнего уровня». — Примеч. пер.

1.5. Сетевые протоколы

Мы начнем этот раздел с обсуждения целей разработки сетевых протоколов, затем изучим основную концепцию, применяемую при их создании, — разделение на уровни. Далее мы сравним службы, ориентированные на установление соединения, и службы без установления соединений, а также поговорим о примитивах служб, необходимых для их работы.

1.5.1. Цели проектирования

У разных сетевых протоколов зачастую схожие цели проектирования: надежность (способность восстанавливаться после ошибок, сбоев или отказов); распределение ресурсов (совместное использование общего ограниченного ресурса); способность к развитию (поэтапное развертывание усовершенствованных версий протокола с течением времени); безопасность (защита сети от различных типов атак). Рассмотрим в общих чертах все эти цели.

Надежность

Некоторые ключевые задачи проектирования компьютерных сетей повторяются на разных уровнях. Ниже вкратце представлены наиболее важные.

Надежность — это свойство сети, работающей должным образом, даже если составляющие ее компоненты ненадежны. Представьте себе биты передаваемого по сети пакета. Вполне вероятно, что часть этих битов будет получена приемником в искаженном (инвертированном) виде вследствие скачка электричества, случайных беспроводных сигналов, изъянов в аппаратном обеспечении, ошибок программного обеспечения и т.д. Как же найти и исправить эти ошибки?

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

Еще одна задача в обеспечении надежности — поиск работоспособного пути передачи данных по сети. Зачастую между источником и приемником существует несколько путей, а в большой сети некоторые каналы или маршрутизаторы могут не работать. К примеру, сеть в Берлине вышла из строя. Пакеты, отправленные из Лондона в Рим через Берлин, не пройдут, но вместо этого можно отправить пакеты из Лондона в Рим через Париж. Сеть должна принимать подобные решения автоматически. Это называется маршрутизацией (routing).

Распределение ресурсов

Вторая задача проектирования сетей — распределение ресурсов. С увеличением размеров сетей возникают новые проблемы. В крупных городах нередки транспортные пробки, нехватка телефонных номеров, а еще в них можно легко потеряться. Мало кто сталкивается с этими проблемами в родном дворе, но в масштабах всего города они могут оказаться очень серьезными. Архитектуры, сохраняющие должную работоспособность сети при ее росте, называются масштабируемыми (scalable). Сети предоставляют хостам услуги на основе имеющихся ресурсов, например пропускной способности линий передачи. Чтобы один хост не слишком мешал другому, необходимы механизмы разделения ресурсов.

Часто пропускная полоса сети делится между хостами динамически, в соответствии с их потребностями. Это делается вместо того, чтобы выделять каждому хосту фиксированную часть полосы, которую он может и не использовать. Подобная архитектура называется статистическим мультиплексированием (statistical multiplexing) — ресурсы распределяются в соответствии со статистикой запросов на них. Она может применяться на низших уровнях для отдельных соединений, на высших уровнях для сети или даже для использующих сеть приложений.

Проблема, возникающая на всех уровнях: как не допустить, чтобы быстрый отправитель перегрузил данными медленного получателя. Для ее решения часто используется обратная связь от получателя отправителю. Это называется управлением потоком (flow control). Иногда в сети возникает проблема перегрузки (congestion), поскольку множество компьютеров отправляет слишком большой объем трафика и сеть не может обеспечить его доставку. Решить проблему можно путем сокращения всеми компьютерами запроса ресурсов (то есть полосы пропускания). Этот способ можно использовать на всех уровнях.

Скачать книгу "Компьютерные сети. 6-е изд." бесплатно

100
10
Оцени книгу:
0 0
Комментарии
Минимальная длина комментария - 7 знаков.
Vadim
Vadim
13 февраля 2024 08:08
Оба варианта скачиваются пустыми, нулевой длины.
КнигоДром » Околокомпьютерная литература » Компьютерные сети. 6-е изд.
Внимание