1015
1000000000000000
пета
10–18
0,000000000000000001
атто
1018
1000000000000000000
экса
10–21
0,000000000000000000001
зепто
1021
1000000000000000000000
зетта
10–24
0,000000000000000000000001
иокто
1024
1000000000000000000000000
иотта
Илл. 1.38. Основные метрические префиксы
с «м». Чтобы не возникло путаницы, для них используются сокращения «м» и «мк»15 соответственно.
При описании размеров дисков, файлов, баз данных и объемов оперативной памяти смысл вышеупомянутых единиц обычно несколько отличается. В этом случае префикс «кило» означает 210 (1024), а не 103 (1000), поскольку объем памяти всегда кратен степени двойки. Таким образом, 1 Кбайт памяти равен 1024 байта, а не 1000. Аналогично 1 Мбайт памяти содержит 220 (1 048 576) байт, 1 Гбайт — 230 (1 073 741 824) байт, а 1 Тбайт — 240 (1 099 511 627 776) байт. В то же время по 1 Кбит/с линии связи передается 1000 бит в секунду, а 10 Мбит/с LAN работает на скорости 10 000 000 бит/с, поскольку эти скорости не являются степенями двойки. К сожалению, многие путают эти системы измерения, особенно в случае объемов дисков. В этой книге мы будем использовать Кбайт, Мбайт, Гбайт и Тбайт для 210, 220, 230 и 240 байт соответственно, а Кбит/с, Мбит/с, Гбит/с и Тбит/с для 103, 106, 109 и 1012 бит/с соответственно.
15 В международных обозначениях вместо «мк» используется «µ» (греческая буква «мю»). — Примеч. пер.
1.10. Краткий обзор следующих глав
В этой книге обсуждаются как общие принципы, так и практическое применение вычислительных сетей. Большинство глав начинается с обсуждения основ, а затем приводится множество иллюстрирующих их примеров. Обычно примеры связаны с интернетом или беспроводными сетями (например, мобильными), поскольку обе эти сферы важны и существенно отличаются друг от друга. Там, где это уместно, мы будем приводить и другие примеры.
Книга организована в соответствии с гибридной моделью, приведенной на илл. 1.36. Начиная с главы 2, мы будем продвигаться снизу вверх по иерархии протоколов. Мы приведем основные сведения из области обмена данными, охватывающие как проводные, так и беспроводные системы передачи. Основное внимание будет уделено доставке информации по физическим каналам, хотя мы будем изучать в основном вопросы архитектуры, а не аппаратного обеспечения. Также мы рассмотрим несколько примеров физического уровня: общественные коммутируемые и мобильные телефонные сети, а также сети кабельного телевидения.
В главах 3 и 4 обсуждается канальный уровень. В главе 3 мы разберем задачу пересылки пакетов по линии связи, включая обнаружение и исправление ошибок. В качестве реального примера протокола канального уровня приведена технология DSL (используемая для широкополосного доступа в интернет по телефонным линиям).
В главе 4 мы изучим подуровень доступа к среде передачи — составную часть канального уровня, отвечающую за совместное использование канала несколькими компьютерами. Мы рассмотрим несколько примеров, в том числе беспроводные (802.11) и проводные (Ethernet) LAN. Далее обсудим коммутаторы канального уровня, соединяющие различные LAN (например, в случае коммутируемой сети Ethernet).
Глава 5 посвящена сетевому уровню, а именно маршрутизации. В ней описывается множество алгоритмов маршрутизации, как статических, так и динамических. Даже при хорошем алгоритме, если трафик превышает возможности сети, некоторые пакеты будут доставлены с задержкой или вообще пропадут. Мы обсудим способы предотвращения перегруженности сети и обеспечения качественного обслуживания. В этой главе затронуты многочисленные проблемы, связанные с объединением однородных сетей в интерсети. Кроме того, подробно описан сетевой уровень интернета.
Глава 6 описывает транспортный уровень. Многие приложения нуждаются в протоколах, ориентированных на установление соединения, а также в обеспечении надежности. Этим вопросам уделено основное внимание. Подробно описаны оба транспортных протокола интернета, TCP и UDP, а также их проблемы с производительностью (особенно это касается TCP, одного из ключевых протоколов интернета).
Глава 7 посвящена прикладному уровню, его протоколам и приложениям. Первая тема этой главы — DNS, «телефонная книга» интернета, вторая — электронная почта и ее протоколы. Далее мы поговорим о Всемирной паутине, подробно обсудим статический и динамический контент, а также процессы на клиентской и серверной сторонах. Затем коснемся темы мультимедийного сетевого контента, включая потоковые аудио и видео. И наконец, мы рассмотрим сети доставки контента, в том числе технологию пиринга.
Глава 8 рассказывает о сетевой безопасности. Некоторые ее составляющие относятся ко всем уровням сетевой модели. Поэтому разумно обсуждать эту тему после подробного изучения уровней. Глава начинается со знакомства с криптографией. Далее рассказывается, как с ее помощью обеспечить безопасность связи, электронной почты и интернета вообще. Завершается глава обсуждением некоторых сфер, в которых безопасность переплетается с защитой персональной информации, свободой слова, цензурой и другими социальными вопросами.
Глава 9 содержит аннотированный список рекомендуемой литературы по главам. Он предназначен для тех читателей, которые хотели бы продолжить знакомство с сетями. Эта глава также включает алфавитную библиографию всех упомянутых в книге источников.
Дополнительную информацию, которая может вас заинтересовать, вы найдете на веб-сайтах авторов:
https://www.pearsonhighered.com/tanenbaum
https://computernetworksbook.com
1.11. Резюме
Компьютерные сети используются для множества целей, компаниями и частными лицами, дома и в дороге. В компаниях с их помощью осуществляется совместный доступ к корпоративной информации, как правило, при помощи модели «клиент-сервер». Компьютеры сотрудников играют роль рабочих станций, которые обращаются к мощным серверам, расположенным в серверной комнате. Частным лицам сети дают доступ к разнообразной информации и развлекательным ресурсам, а также возможность покупать и продавать товары и услуги. Домашние пользователи подключаются к интернету через поставщиков телефонных или кабельных услуг (хотя для ноутбуков и телефонов все чаще применяется беспроводное подключение). Совершенствование технологий рождает новые виды мобильных приложений и сетей с помощью компьютеров, встроенных в различные бытовые приборы и другие устройства. Однако это способствует возникновению социальных проблем, например, связанных с защитой персональной информации.
Грубо говоря, сети можно разделить на LAN, MAN, WAN и интерсети. LAN обычно охватывает одно здание и работает на достаточно высокой скорости. MAN обычно охватывает целый город, например системы кабельного телевидения, широко используемые для доступа в интернет. WAN могут покрывать страну или целый континент. Для построения таких сетей используются как соединения «точка-точка» (в случае кабельных сетей), так и широковещательные технологии (в случае беспроводных сетей). Сети могут объединяться при помощи маршрутизаторов в интерсети, наиболее крупный и значимый пример — интернет. Также огромную популярность получили беспроводные сети, например LAN на основе стандарта 802.11 и мобильная телефония 4G.
В основе компьютерных сетей лежат протоколы, представляющие собой правила взаимодействия процессов. Большинство сетей поддерживает иерархии протоколов, в которых каждый уровень предоставляет службы вышележащему уровню, скрывая от него детали протоколов нижележащих уровней. В основе стека протоколов обычно лежат модели OSI или TCP/IP. В обеих моделях есть канальный, сетевой, транспортный и прикладной уровни; различаются они наличием/отсутствием остальных уровней. Главные вопросы, которые учитываются при разработке, — надежность, выделение ресурсов, способность к развитию, безопасность и пр. Значительная часть этой книги посвящена именно протоколам и их архитектуре.