 |
Компьютерные сети. 5-е издание
Таненбаум Э. С., Уэзеролл Д.
Год выпуска: 2018
ISBN: 978-5-459-00342-0
Переплёт: твердый
960 страниц
Цена: 1092.00 грн.
|
Книга "Компьютерные сети" Таненбаум Э. С., Уэзеролл Д. - очередное, пятое издание самой авторитетной книги по современным сетевым технологиям, написанной признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером и использовалось в качестве базового учебника в ведущих технических вузах. В книге последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей - от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа. Пятое издание полностью переработано с учетом изменений, происшедших в сфере сетевых технологий за последние годы и, в частности, освещает такие аспекты, как беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, инфраструктура доставки контента CDN, пиринговые сети, потоковое вещание, интернет-телефония и многое другое.
Оглавление книги Таненбаум Э. С., Уэзеролл Д. "Компьютерные сети"
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Глава 1.Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.1. Применение компьютерных сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.1.1. Сети в организациях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.1.2. Использование сетей частными лицами . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.1.3. Использование беспроводных сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.1.4. Социальный аспект . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.2. Сетевое оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.2.1. Персональные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.2.2. Локальные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.2.3. Муниципальные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.2.4. Глобальные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 1.2.5. Объединения сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.3. Сетевое программное обеспечение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 1.3.1. Иерархия протоколов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.3.2. Разработка уровней . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 1.3.3. Службы на основе соединений и службы без установления соединений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 1.3.4. Примитивы служб . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 1.3.5. Службы и протоколы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 1.4. Эталонные модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 1.4.1. Эталонная модель OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 1.4.2. Эталонная модель TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.4.3. Модель, используемая в книге . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 1.4.4. Сравнение эталонных моделей OSI и TCP . . . . . . . . . . . . . . . . . . . . . . . . . . 65 1.4.5. Критика модели и протоколов OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 1.4.6. Критика эталонной модели TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 1.5. Примеры сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 1.5.1. Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 1.5.2. Мобильная телефонная сеть третьего поколения . . . . . . . . . . . . . . . . . . . 81 1.5.3. Беспроводные ЛВС: 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 1.5.4. RFID и сенсорные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 1.6. Стандартизация сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 1.6.1. Кто есть кто в мире телекоммуникаций . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 1.6.2. Кто есть кто в мире международных стандартов . . . . . . . . . . . . . . . . . . . . 95 1.6.3. Кто есть кто в мире стандартов Интернета . . . . . . . . . . . . . . . . . . . . . . . . . 97 1.7. Единицы измерения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 1.8. Краткое содержание следующих глав . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Глава 2. Физический уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 2.1. Теоретические основы передачи данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 2.1.1. Ряды Фурье . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 2.1.2. Сигналы с ограниченным спектром . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 2.1.3. Максимальная скорость передачи данных через канал . . . . . . . . . . . . . 110 2.2. Проводниковые среды передачи информации . . . . . . . . . . . . . . . . . . . . . . . . . . 112 2.2.1. Магнитные носители . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 2.2.2. Витая пара . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 2.2.3. Коаксиальный кабель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 2.2.4. Линии электропитания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 2.2.5. Волоконная оптика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 2.3. Беспроводная связь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2.3.1. Электромагнитный спектр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 2.3.2. Радиосвязь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 2.3.3. Связь в микроволновом диапазоне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 2.3.4. Передача в инфракрасном диапазоне . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 2.3.5. Связь в видимом диапазоне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 2.4. Спутники связи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 2.4.1. Геостационарные спутники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 2.4.2. Средневысотные спутники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 2.4.3. Низкоорбитальные спутники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 2.4.4. Спутники против оптоволокна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 2.5. Цифровая модуляция и мультиплексирование . . . . . . . . . . . . . . . . . . . . . . . . . . 145 2.5.1. Низкочастотная передача . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 2.5.2. Передача в полосе пропускания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 2.5.3. Частотное уплотнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 2.5.4. Мультиплексирование с разделением времени . . . . . . . . . . . . . . . . . . . . 155 2.5.5. CDM - кодовое разделение каналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 2.6. Коммутируемая телефонная сеть общего пользования . . . . . . . . . . . . . . . . . . . 159 2.6.1. Структура телефонной системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 2.6.2. Политика телефонии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 2.6.3. Местные линии связи: модемы, ADSL, беспроводная связь . . . . . . . . . 165 2.6.4. Магистрали и мультиплексирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 2.6.5. Коммутация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 2.7. Мобильная телефонная система . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 2.7.1. Мобильные телефоны первого поколения: аналоговая передача речи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 2.7.2. Второе поколение мобильных телефонов: цифровая передача голоса (G2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 2.7.3. Мобильные телефоны третьего поколения: цифровая речь и данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 2.8. Кабельное телевидение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 2.8.1. Абонентское телевидение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 2.8.2. Кабельный Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 2.8.3. Распределение частот . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 2.8.4. Кабельные модемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 2.8.5. ADSL или кабель? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Глава 3. Канальный уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 3.1. Ключевые аспекты организации канального уровня . . . . . . . . . . . . . . . . . . . . . . 216 3.1.1. Сервисы, предоставляемые сетевому уровню . . . . . . . . . . . . . . . . . . . . . 217 3.1.2. Формирование кадра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 3.1.3. Обработка ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 3.1.4. Управление потоком . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 3.2. Обнаружение и исправление ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 3.2.1. Коды с исправлением ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 3.2.2. Коды с обнаружением ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 3.3. Элементарные протоколы передачи данных на канальном уровне . . . . . . . . . 239 3.3.1. Симплексный протокол "Утопия" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 3.3.2. Симплексный протокол с ожиданием для канала без ошибок . . . . . . . . 245 3.3.3. Симплексный протокол с ожиданием для зашумленных каналов . . . . . 247 3.4. Протоколы скользящего окна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 3.4.1. Протокол однобитового скользящего окна . . . . . . . . . . . . . . . . . . . . . . . . 253 3.4.2. Протокол с возвратом на n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 3.4.3. Протокол с выборочным повтором . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 3.5. Примеры протоколов передачи данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 3.5.1. Передача пакетов по протоколу SONET . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 3.5.2. ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 3.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Глава 4. Подуровень управления доступом к среде . . . . . . . . . . . . . . . . . . . . . . 281 4.1. Проблема распределения канала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 4.1.1. Статическое распределение канала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 4.1.2. Допущения, связанные с динамическим распределением каналов . . . 284 4.2. Протоколы коллективного доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 4.2.1. Система ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 4.2.2. Протоколы множественного доступа с контролем несущей . . . . . . . . . 291 4.2.3. Протоколы без столкновений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 4.2.4. Протоколы с ограниченной конкуренцией . . . . . . . . . . . . . . . . . . . . . . . . 298 4.2.5. Протоколы беспроводных локальных сетей . . . . . . . . . . . . . . . . . . . . . . . 302 4.3. Сеть Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 4.3.1. Физический уровень классической сети Ethernet . . . . . . . . . . . . . . . . . . 306 4.3.2. Протокол подуровня управления доступом к среде в классическом Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 4.3.3. Производительность сети Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 4.3.4. Коммутируемые сети Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 4.3.5. Fast Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 4.3.6. Gigabit Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 4.3.7. 10-гигабитный Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 4.3.8. Ретроспектива Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 4.4. Беспроводные локальные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 4.4.1. Стандарт 802.11: архитектура и стек протоколов . . . . . . . . . . . . . . . . . . 326 4.4.2. Стандарт 802.11: физический уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 4.4.3. Стандарт 802.11: протокол подуровня управления доступом к среде 329 4.4.4. Стандарт 802.11: структура кадра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 4.4.5. Сервисы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 4.5. Широкополосные беспроводные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 4.5.1. Сравнение стандарта 802.16 с 802.11 и 3G . . . . . . . . . . . . . . . . . . . . . . . . 341 4.5.2. Стандарт 802.16: архитектура и стек протоколов . . . . . . . . . . . . . . . . . . 342 4.5.3. Стандарт 802.16: физический уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 4.5.4. Стандарт 802.16: протокол подуровня MAC . . . . . . . . . . . . . . . . . . . . . . . 345 4.5.5. Стандарт 802.16: структура кадра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 4.6. Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 4.6.1. Архитектура Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 4.6.2. Приложения Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 4.6.3. Bluetooth: набор протоколов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 4.6.4. Bluetooth: уровень радиосвязи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 4.6.5. Bluetooth: уровень немодулированной передачи . . . . . . . . . . . . . . . . . . . 353 4.6.6. Bluetooth: структура кадра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 4.7. RFID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 4.7.1. Архитектура EPC Gen 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 4.7.2. Физический уровень EPC Gen 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 4.7.3. Уровень идентификации метки EPC Gen 2 . . . . . . . . . . . . . . . . . . . . . . . . 359 4.7.4. Форматы сообщения идентификации метки . . . . . . . . . . . . . . . . . . . . . . 360 4.8. Коммутация на канальном уровне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 4.8.1. Применение мостов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 4.8.2. Обучаемые мосты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 4.8.3. Мосты связующего дерева . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 4.8.4. Повторители, концентраторы, мосты, коммутаторы, маршрутизаторы и шлюзы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 4.8.5. Виртуальные локальные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 4.9. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Глава 5. Сетевой уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 5.1. Вопросы проектирования сетевого уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 5.1.1. Метод коммутации пакетов с ожиданием . . . . . . . . . . . . . . . . . . . . . . . . . 384 5.1.2. Сервисы, предоставляемые транспортному уровню . . . . . . . . . . . . . . . 385 5.1.3. Реализация сервиса без установления соединения . . . . . . . . . . . . . . . . 387 5.1.4. Реализация сервиса с установлением соединения . . . . . . . . . . . . . . . . . 389 5.1.5. Сравнение сетей виртуальных каналов и дейтаграммных сетей . . . . . . 390 5.2. Алгоритмы маршрутизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 5.2.1. Принцип оптимальности маршрута . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 5.2.2. Алгоритм нахождения кратчайшего пути . . . . . . . . . . . . . . . . . . . . . . . . . . 395 5.2.3. Заливка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 5.2.4. Маршрутизация по вектору расстояний . . . . . . . . . . . . . . . . . . . . . . . . . . 399 5.2.5. Маршрутизация с учетом состояния линий . . . . . . . . . . . . . . . . . . . . . . . 403 5.2.6. Иерархическая маршрутизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 5.2.7. Широковещательная маршрутизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 5.2.8. Многоадресная рассылка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 5.2.9. Произвольная маршрутизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 5.2.10. Алгоритмы маршрутизации для мобильных хостов . . . . . . . . . . . . . . . . 417 5.2.11. Маршрутизация в произвольных сетях . . . . . . . . . . . . . . . . . . . . . . . . . . 420 5.3. Алгоритмы борьбы с перегрузкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 5.3.1. Подходы к борьбе с перегрузкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 5.3.2. Маршрутизация с учетом состояния трафика . . . . . . . . . . . . . . . . . . . . . 427 5.3.3. Управление доступом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 5.3.4. Регулирование трафика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 5.3.5. Сброс нагрузки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 5.4. Качество обслуживания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 5.4.1. Требования приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 5.4.2. Формирование трафика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 5.4.3. Диспетчеризация пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 5.4.4. Управление доступом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 5.4.5. Интегральное обслуживание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 5.4.6. Дифференцированное обслуживание . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 5.5. Объединение сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 5.5.1. Различия сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 5.5.2. Способы объединения сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 5.5.3. Туннелирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 5.5.4. Маршрутизация в объединенных сетях . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 5.5.5. Фрагментация пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 5.6. Сетевой уровень в Интернете . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 5.6.1. Протокол IP версии 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 5.6.2. IP-адреса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 5.6.3. Протокол IP версии 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 5.6.4. Управляющие протоколы Интернета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 5.6.5. Коммутация меток и MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 5.6.6. Протокол внутреннего шлюза OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 5.6.7. Протокол внешнего шлюза BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 5.6.8. Многоадресная рассылка в Интернете . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 5.6.9. Мобильный IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 5.7. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Глава 6. Транспортный уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 6.1. Транспортный сервис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 6.1.1. Услуги, предоставляемые верхним уровням . . . . . . . . . . . . . . . . . . . . . . 527 6.1.2. Базовые операции транспортного сервиса . . . . . . . . . . . . . . . . . . . . . . . 529 6.1.3. Сокеты Беркли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 6.1.4. Пример программирования сокета: файл-сервер для Интернета . . . . 535 6.2. Элементы транспортных протоколов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 6.2.1. Адресация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 6.2.2. Установка соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 6.2.3. Разрыв соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 6.2.4. Контроль ошибок и управление потоком данных . . . . . . . . . . . . . . . . . . . 554 6.2.5. Мультиплексирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 6.2.6. Восстановление после сбоев . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 6.3. Контроль перегрузки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 6.3.1. Выделение требуемой пропускной способности . . . . . . . . . . . . . . . . . . . 563 6.3.2. Регулирование скорости отправки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 6.3.3. Проблемы беспроводного соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 6.4. Транспортные протоколы Интернета: UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 6.4.1. Основы UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 6.4.2. Вызов удаленной процедуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 6.4.3. Транспортные протоколы реального масштаба времени . . . . . . . . . . . . 580 6.5. Транспортные протоколы Интернета: TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 6.5.1. Основы TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 6.5.2. Модель сервиса TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 6.5.3. Протокол TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 6.5.4. Заголовок TCP-сегмента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 6.5.5. Установка TCP-соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 6.5.6. Разрыв соединения TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596 6.5.7. Модель управления TCP-соединением . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 6.5.8. Скользящее окно TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 6.5.9. Управление таймерами в TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 6.5.10. Контроль перегрузки в TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 6.5.11. Будущее TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 6.6. Вопросы производительности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 6.6.1. Причины снижения производительности компьютерных сетей . . . . . . 618 6.6.2. Измерение производительности сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 6.6.3. Проектирование хостов для быстрых сетей . . . . . . . . . . . . . . . . . . . . . . . 623 6.6.4. Быстрая обработка сегментов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 6.6.5. Сжатие заголовков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 6.6.6. Протоколы для протяженных сетей с высокой пропускной способностью . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631 6.7. Сети, устойчивые к задержкам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 6.7.1. Архитектура DTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637 6.7.2. Протокол Bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639 6.8. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643 Глава 7. Прикладной уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 7.1. Служба имен доменов DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 7.1.1. Пространство имен DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 7.1.2. Записи ресурсов доменов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 7.1.3. Серверы имен . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 7.2. Электронная почта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 7.2.1. Архитектура и службы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 7.2.2. Пользовательский агент . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 7.2.3. Форматы сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 7.2.4. Пересылка сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 7.2.5. Окончательная доставка сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682 7.3. Всемирная паутина (WWW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 7.3.1. Представление об архитектуре . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687 7.3.2. Статичные веб-страницы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702 7.3.3. Динамические веб-страницы и веб-приложения . . . . . . . . . . . . . . . . . . . 712 7.3.4. HTTP - протокол передачи гипертекста . . . . . . . . . . . . . . . . . . . . . . . . . . 724 7.3.5. Мобильный веб . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 7.3.6. Веб-поиск . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 7.4. Потоковая передача аудио и видео . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 7.4.1. Цифровой звук . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741 7.4.2. Цифровое видео . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 7.4.3. Потоковая передача сохраненных медиафайлов . . . . . . . . . . . . . . . . . . . 755 7.4.4. Передача медиа в реальном времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 7.4.5. Конференции в реальном времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 7.5. Доставка контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 7.5.1. Контент и интернет-трафик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 7.5.2. Серверные фермы и веб-прокси . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 7.5.3. Сети доставки контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 7.5.4. Сети одноранговых узлов (пиринговые сети) . . . . . . . . . . . . . . . . . . . . . . 792 7.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 Глава 8. Безопасность в сетях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 8.1. Криптография . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 8.1.1. Основы криптографии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 8.1.2. Метод подстановки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 8.1.3. Метод перестановки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815 8.1.4. Одноразовые блокноты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 8.1.5. Два фундаментальных принципа криптографии . . . . . . . . . . . . . . . . . . . 822 8.2. Алгоритмы с симметричным криптографическим ключом . . . . . . . . . . . . . . . . 824 8.2.1. Стандарт шифрования данных DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 8.2.2. Улучшенный стандарт шифрования AES . . . . . . . . . . . . . . . . . . . . . . . . . . 829 8.2.3. Режимы шифрования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 8.2.4. Другие шифры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 8.2.5. Криптоанализ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 8.3. Алгоритмы с открытым ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 8.3.1. Алгоритм RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 8.3.2. Другие алгоритмы с открытым ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 8.4. Цифровые подписи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 8.4.1. Подписи с симметричным ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 8.4.2. Подписи с открытым ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 8.4.3. Профили сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 8.4.4. Задача о днях рождения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852 8.5. Управление открытыми ключами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854 8.5.1. Сертификаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 8.5.2. X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856 8.5.3. Инфраструктуры систем с открытыми ключами . . . . . . . . . . . . . . . . . . . . 858 8.6. Защита соединений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861 8.6.1. IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862 8.6.2. Брандмауэры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866 8.6.3. Виртуальные частные сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869 8.6.4. Безопасность в беспроводных сетях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 8.7. Протоколы аутентификации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876 8.7.1. Аутентификация, основанная на общем секретном ключе . . . . . . . . . . . 877 8.7.2. Установка общего ключа: протокол обмена ключами Диффи-Хеллмана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882 8.7.3. Аутентификация с помощью центра распространения ключей . . . . . . . 884 8.7.4. Аутентификация при помощи протокола Kerberos . . . . . . . . . . . . . . . . . . 887 8.7.5. Аутентификация с помощью шифрования с открытым ключом . . . . . . . 889 8.8. Конфиденциальность электронной переписки . . . . . . . . . . . . . . . . . . . . . . . . . . 890 8.8.1. PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891 8.8.2. S/MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 8.9. Защита информации во Всемирой паутине . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 8.9.1. Возможные опасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 8.9.2. Безопасное именование ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 8.9.3. SSL - протокол защищенных сокетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 8.9.4. Безопасность переносимых программ . . . . . . . . . . . . . . . . . . . . . . . . . . . 906 8.10. Социальный аспект . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 8.10.1. Конфиденциальность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 8.10.2. Свобода слова . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914 8.10.3. Защита авторских прав . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917 8.11. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921 Вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 Глава 9. Рекомендации для чтения и библиография . . . . . . . . . . . . . . . . . . . . . 928 9.1. Литература для дальнейшего чтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 9.1.1. Введение и неспециализированная литература . . . . . . . . . . . . . . . . . . . 929 9.1.2. Физический уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 9.1.3. Канальный уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 9.1.4. Подуровень управления доступом к среде . . . . . . . . . . . . . . . . . . . . . . . . 931 9.1.5. Сетевой уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 9.1.6. Транспортный уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 9.1.7. Прикладной уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 9.1.8. Безопасность в сетях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 9.2. Алфавитный список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 Алфавитный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
|