Текст
                    Лора А. Чеппел, Эд Титтел
(bhv
TCP/IP
УЧЕБНЫЙ КУРС
Характеристики протокола
Основные службы
Организация защиты
Маршрутизация
Мониторинг IP-сетей и управление ими
Протокол IPv6
Современные реализации стека TCP/IP
♦CD-ROM
djvu АН11
Guide to
TCP/IP
Laura A. Chappell Ed Tittel
COURSE TECHNOLOGY
--------------
THOMSON LEARNING
Australia • Canada • Mexito • Singapore • Spain • United Kingdom ♦ United States
Лора А. Чеппел
Эд Титтел
TCP, If
УЧЕБНЫЙ КУРС
Санкт-Петербург «БХВ-Петербург» 2003
УДК 683.3.06
ББК 32.973.202
419
Чеппел Л., Титтел Э.
419 TCP/IP. Учебный курс: Пер. с англ. — СПб.; БХВ-Петербург, 2003. — 976 с.: ил.
ISBN 5-94157-315-4
В книге рассматриваются все важнейшие модели, протоколы, службы и стандарты, которые регламентируют применение TCP/IP и определяют его функционирование в современных сетях. На протяжении всей книги авторы ставят перед читателями тестовые вопросы, помогающие закрепить полученные знания. Практические задания, дополняющие теоретический материал каждой главы, предоставляют возможность получить базовый опыт установки, конфигурации, использования и управления TCP/IP в рабочей сети. Книга предназначена как для профессионалов в области информационных систем, так и для всех заинтересованных в подробном изучении работы в сетях на основе протокола TCP/IP. На сопровождающем книгу компакт-диске находятся демоверсия анализатора протоколов EtherPeek, утилиты и примеры трассировки.
Для широкого круга пользователей и профессионалов в области сетевых технологий
УДК 683.3.06
ББК 32.973.202
Группа подготовки издания:
Главный редактор
Зав. редакцией
Перевод с английского Редактор
Компьютерная верстка Корректор
Дизайн обложки Зав. производством
Екатерина Кондукова Григорий Добин Юрия Гороховского Юрий Рожко Натальи Смирновой Наталия Першакова Игоря Цырулышкова Николай Тверских
ALL RIGHTS RESERVED. No part of this work covered by the copyright hereon may be reproduced or used in any fonn or by any means—graphic, electronic, or mechanical, including photocopying, recording, taping, Web distribution, or infonnation storage and retrieval systems—without the written permission of the publisher. Authorized translation by ВHV-Petersburg, 2003.
Все права защищены. Никакая часть настоящей книг» не может быть воспроизведена или передана в какой бы то ни было форме и какими бы то ни было средствами, будь то графические, электронные или механические, включая фотокопирование и запись на магнитный носитель, а также через Интернет и другие информационные системы, если на то нет письменного разрешения издательства. Авторизованный перевод "БХВ-Петербург", 2003.
Лицензия ИД Ns 02429 от 24.07.00. Подписано в печать 29.08.03.
Формат 70x1001/16. Печать офсетная. Усл. печ. л. 78,69.
Тираж 3000 экз. Заказ Ns 321 "БХВ-Петербург", 198005, Санкт-Петербург, Измайловский пр., 29.
Гигиеническое заключение на продукцию, товар Ns 77.99.02.953.Д.001537.03.02 от 13.03.2002 г. выдано Департаментом ГСЭН Минздрава России.
Отпечатано с готовых диапозитивов в ФГУП ордена Трудового Красного Знамени "Техническая книга" Министерства Российской Федерации по делам печати, телерадиовещания и средств массовых коммуникаций.
198005, Санкт-Петербург, Измайловский пр., 29.
ISBN 0-619-18654-2 (англ )	® 2002 Course Technology, a division of Thomson
Learning, Inc. Thomson Learning1 M is a Irademark used herein under license
ISBN 5-94157-315-4 (pyc.)	© Перевод на русский язык "БХВ-Петербург", 2003
Содержание
Предисловие........................................................  1
Для кого эта книга.................................................1
Структура книги....................................................2
Текстовые соглашения...............................................6
Благодарности......................................................6
Прочтите, прежде чем начинать читать...............................8
К пользователю...................................................8
К преподавателю..................................................8
Посетите наш Web-сайт............................................8
Как справиться с изменениями в сети Internet?....................9
Технические требования..........................................10
Глава 1. Введение в TCP/IP..........................................11
Что такое TCP/IP?.................................................12
Происхождение и история TCP/IP....................................12
Задачи, поставленные при разработке TCP/IP......................12
Хронология TCP/IP...............................................13
Кому "принадлежит" TCP/IP?......................................16
Стандарты TCP/IP и документы RFC..................................18
Обзор модели взаимодействия открытых систем (OSI).................20
Модели разбивают сети на уровни.................................20
Сетевая эталонная модель ISO/OSI................................22
Как работают уровни протоколов..................................22
Сетевая модель TCP/IP.............................................29
Уровень доступа к сети модели TCP/IP............................30
Протоколы Уровня доступа к сети модели TCP/IP...................31
Функции Межсетевого уровня модели TCP/IP........................31
Протоколы Межсетевого уровня....................................32
Функции Транспортного уровня модели TCP/IP......................33
Протоколы Транспортного уровня модели TCP/IP....................34
Прикладной уровень модели TCP/IP................................34
Протоколы, службы, сокеты и порты TCP/IP..........................36
Номера протоколов TCP/IP........................................37
Номера портов TCP/IP............................................38
Сокеты TCP/IP...................................................39
VI
Содержание
Инкапсуляция данных в TCP/IP......................................40
По поводу анализа протоколов......................................41
Обычные роли анализаторов протоколов............................41
Элементы анализатора протоколов.................................42
Размещение анализатора протоколов	в	сети........................47
Выводы по главе...................................................49
Основные термины..................................................51
Контрольные вопросы...............................................67
Практические задания..............................................72
Учебные задачи....................................................77
Глава 2. IP-адресация и связанные с ней темы........................79
Основы IP-адресации...............................................80
Конструкция IP-адреса.............................................82
Классы IP-адресов.................................................83
Адреса класса А.................................................84
Адреса класса В.................................................85
Адреса класса С.................................................86
Адреса классов D и Е........................................... 87
Сетевые, широковещательные, групповые и другие специальные IP-адреса.........................................................88
Структуры широковещательных пакетов.............................89
Структуры многоадресных пакетов и групповых адресов.............90
Исчезающее адресное пространство IP...............................92
Элементарная двоичная арифметика..................................94
Преобразование из десятичной системы в двоичную.................95
Преобразование из двоичной системы в десятичную.................96
Старшие битовые комбинации......................................96
Младшие битовые комбинации......................................97
IP-сети, подсети и маски..........................................98
Подсети и суперсети IP..........................................98
Расчет масок подсетей..........................................100
Расчет суперсетей..............................................105
Бесклассовая междоменная маршрутизация...........................106
Общедоступные и частные IP-адреса................................107
Управление доступом к информации об IP-адресах....................ПО
Получение общедоступных IP-адресов...............................111
Схемы IP-адресации...............................................112
Сетевое Пространство...........................................112
Пространство хостов............................................114
Выводы по главе..................................................115
Основные термины.................................................117
Содержание
VII
Контрольные вопросы................................................122
Практические задания...............................................127
Учебные задачи.....................................................130
Глава 3. Протоколы Канального и Сетевого уровней TCP/IP..............135
Протоколы Канального уровня........................................136
Протокол SLIP....................................................138
Протокол РРР.....................................................139
Специальная обработка РРР-каналов................................142
Типы фреймов.......................................................144
Типы фреймов Ethernet............................................144
Типы фреймов Token Ring..........................................152
Аппаратные адреса в среде IP.......................................157
Функции и поля ARP-пакетов.......................................160
ARP-кэш..........................................................165
Агент ARP........................................................167
Протокол RARP....................................................168
Протоколы Сетевого уровня..........................................168
О протоколе IP.....................................................169
Отправка 1Р-дейтаграмм...........................................169
Процесс разрешения маршрута......................................171
Время жизни 1Р-дейтаграммы.........................................174
Фрагментация и повторная сборка....................................175
Опции служб доставки...............................................179
Приоритет........................................................179
Тип службы (TOS).................................................179
Поля и назначение IP-заголовка.....................................181
Поле Version.....................................................182
Поле Header Length.............................................  182
Поле Type of Service.............................................182
Поле Total Length................................................184
Поле Identification..............................................185
Поле Flags.......................................................185
Поле Fragment Offset.............................................186
Поле Time to Live................................................186
Поле Protocol....................................................186
Поле Header Checksum.............................................187
Поле Source Address..............................................187
Поле Destination Address.........................................188
Поле Options.....................................................188
Выводы по главе....................................................188
Основные термины...................................................191
VIII
Содержание
Контрольные вопросы............................................200
Практические задания...........................................203
Учебные задачи...............................................  209
Глава 4. Протокол ICMP.................................      ....211
О протоколе ICMP...............................................212
Обзор протокола ICMP и документа RFC 792.....................213
Основные функции протокола ICMP в сетях IP...................214
Порядок тестирования и поиска неисправностей средствами протокола ICMP.................................................215
Тестирование возможности соединения с помощью утилиты PING...215
Поиск пути с помощью утилиты TRACEROUTE......................218
Поиск пути с помощью утилиты PATHPING........................220
Определение максимальной единицы передачи маршрута (PMTU) с помощью протокола ICMP.....................................220
Порядок маршрутизации для протокола ICMP.....................225
Вопросы безопасности в протоколе ICMP........................230
Поля и функции ICMP-пакета.................................... 231
Постоянные поля................................................231
Переменные структуры и функции...............................236
Выводы по главе................................................255
Основные термины...............................................256
Контрольные вопросы............................................262
Практические задания...........................................267
Учебные задачи.................................................273
Глава 5. Протоколы Транспортного уровня TCP/IP...................275
Введение в транспортные протоколы без установления соединения..276
Протокол UDP...................................................278
Поля UDP-заголовка и их назначение...........................279
Номера портов и процессы протокола UDP.......................283
Введение в протоколы на основе соединений......................285
Протокол TCP...................................................286
Процесс запуска соединения TCP (квитирование)................287
Процесс поддержки соединения TCP.............................293
Процесс завершения соединения TCP............................294
Процесс упорядочивания и подтверждения приема TCP............297
Процесс обнаружения и устранения ошибок TCP..................299
Процесс контроля перегрузок TCP..............................301
Процесс раздвижного окна TCP.................................304
Поля и функции ТСР-заголовка.................................305
Распространенные и характерные ситуации применения протоколов TCP и UDP...........................................310
Содержание^
IX
Выводы по главе...............................................312
Основные термины..............................................313
Контрольные вопросы...........................................317
Практические задания..........................................322
Учебные задачи................................................325
Глава 6. Основные службы TCP/IP.............................    327
Как функционируют и ведут себя IP-протоколы верхнего уровня...328
Введение в протокол FTP.......................................330
Элементы протокола FTP......................................330
Примеры FTP-сообщений.......................................334
Введение в протокол Telnet....................................338
Элементы Telnet........;....................................338
Примеры Telnet-сообщений....................................342
Введение в протокол SMTP......................................344
Элементы протокола SMTP.....................................345
Примеры SMTP-сообщений......................................348
Введение в протокол HTTP......................................350
Элементы протокола HTTP.....................................350
Примеры НТТР-сообщений......................................354
Другие распространенные службы на основе протокола IP.........357
Протокол Echo...............................................358
Служба QOD..................................................358
Служба Chargen..............................................358
Простые, утилиты TCP/IP и утилиты Windows 2000..............359
Утилита Whois...............................................359
Протокол TFTP...............................................360
Протокол Finger.............................................361
Интерфейс RPC...............................................361
Протокол SNMP...............................................362
NetBIOS over TCP/IP.........................................362
Расшифровка протоколов верхнего уровня........................364
Выводы по главе...............................................366
Основные термины..............................................368
Контрольные вопросы...........................................372
Практические задания.........................................-377
Учебные задачи................................................382
Глава 7. Служба доменных имен — DNS.............................385
Происхождение и история DNS...................................386
Структура баз данных DNS....................................388
Обзор DNS...................................................389
X
Содержание
Записи баз данных DNS........................................390
Делегирование полномочий DNS.................................391
Типы DNS-серверов............................................392
Клиентская сторона DNS.......................................394
Как работают серверы имен доменов..............................395
Сервер коренного уровня DNS..................................396
Важность кэширования DNS.......................................398
Конфигурация DNS и форматы записей ресурсов....................399
Запись начала полномочий (SOA)...............................400
Адресные записи и записи канонических имен...................402
Соответствие адресов именам..................................403
Обработка адреса обратной связи..............................404
Получение и хранение данных корневого сервера................405
Команда NSLOOKUP...............................................406
Тонкости NSLOOKUP...........................  '..............408
Использование NSLOOKUP.......................................409
Форматы пакетов запроса/ответа DNS............................ 411
Реализация DNS.................................................420
Неисправности DNS............................................  421
Выводы по главе..............................................  423
Основные термины.............................................  424
Контрольные вопросы........................................... 430
Практические задания.......................................... 434
Учебные задачи.............................................    443
Глава 8. Протокол DHCP.......................................    445
Введение в DHCP..............................................  446
Истоки DHCP..............................................;...449
Программные элементы DHCP..................................  449
Типы выделения DHCP........................................  450
Подробнее о выделении адресов DHCP........................1..451
Понятие управления IP-адресами с помощью DHCP..............>...452
Стандартный процесс поиска адресов...........................  453
Пакет поиска...............................................  454
Пакет предложения..........................................  456
Пакет запроса............................................    458
Пакет подтверждения..........................................461
Процесс продления выделения адреса...........................  461
Время продления (Т1).........................................461
Время повторного присвоения (Т2).............................462
Процесс освобождения адреса DHCP...............................463
Структура DHCP-пакетов.........................................463
Поля опций DHCP..............................................467
Содержание
XI
Широковещательные и однонаправленные сообщения в DHCP...........473
Ретрансляторы DHCP..............................................474
Области и классы Microsoft DHCP.................................476
Будущее DHCP....................................................476
Поиск неисправностей DHCP.......................................476
Выводы по главе.................................................477
Основные термины................................................478
Контрольные вопросы.............................................482
Практические задания............................................487
Учебные задачи..................................................490
Глава 9. Организация защиты в среде TCP/IP......................  493
Основы безопасности компьютеров и сетей.........................494
Три направления защиты сети...................................495
Типичные IP-атаки, эксплойты и проникновения..................496
Распространенные виды атак, связанных с IP....................499
Какие IP-службы наиболее уязвимы?.............................500
О дырах, черных ходах и других незаконных точках вторжения....501
Принципы IP-защиты............................................503
Распространенные точки атак.....................................505
Вирусы, черви и троянские кони................................505
Отказ от обслуживания (DoS)...................................507
Распределенный отказ от обслуживания (DDoS)...................509
Переполнение буфера.......................................... 510
Спуфинг.......................................................511
Хищение сеанса................................................512
Анализ 1Р-атак................................................513
"Прослушивание" сетей.........................................515
Решение проблем IP-защиты.......................................518
Значение заплат и исправлений.................................518
Какие порты необходимо блокировать?...........................519
Распознавание подписей атак...................................520
IP-защита.....................................................522
О брандмауэрах, прокси-серверах и других пограничных устройствах.523
Windows 2000: новое поколение сетевой безопасности............536
Обновление антивирусных средств и списков вирусов.............537
Тестирование сети...............................................538
Выводы по главе.................................................541
Основные термины................................................543
Контрольные вопросы...........................................  551
Практические задания............................................556
Учебные задачи..................................................559
XII
Содержание
Глава 10. Маршрутизация в среде IP...............................561
Введение в маршрутизацию.......................................562
Дистанционно-векторные протоколы маршрутизации...............566
Протоколы состояния канала...................................569
Свойства маршрутизации.........................................571
Сходимость маршрутов.........................................571
Разделение горизонта.........................................571
Негативный отклик............................................572
Время жизни..................................................573
Групповые и широковещательные обновления.....................573
ICMP-сообщения Router Advertisement..........................573
Черные дыры..................................................574
Области, автономные системы и пограничные маршрутизаторы.....575
Внутренние шлюзовые протоколы (IGP)............................577
Протокол RIP.................................................577
Протокол OSPF..............................................  581
Протокол EIGRP...............................................587
Внешние шлюзовые протоколы (EGP)...............................587
Протокол BGP.................................................588
Управление маршрутизацией в собственной объединенной сети......589
Гибридные сети.................................................590
Маршрутизация в глобальной сети и вне ее пределов..............591
Несколько малых офисов.......................................591
Центральный узел и лучи......................................591
Многопротокольная маршрутизация..............................592
Мобильные пользователи.......................................592
Маршрутизация в сеть Internet и из нее.........................594
Защита маршрутизаторов и маршрутизации.........................595
Поиск неисправностей 1Р-маршрутизации..........................596
Выводы по главе................................................597
Основные термины...............................................598
Контрольные вопросы............................................602
Практические задания...........................................607
Учебные задачи.................................................609
Глава 11. Мониторинг IP-сетей и управление ими...................611
Методы и принципы сетевого управления..........................612
Структура сетевого управления................................613
Модель сетевого управления OSI...............................615
Практика сетевого управления.................................616
Внутриполосное и внеполосное управление......................617
Содержание
XIII
Введение в SNMP...............................................619
Объекты базы управляющей информации (М1В)...................620
SNMP-агенты.................................................626
SNMP-менеджеры..............................................627
SNMP-сообщения..............................................627
SNMP-защита.................................................629
Установка и конфигурация SNMP-агентов и консолей..............630
Конфигурация агента.........................................631
Установка консоли...........................................632
Конфигурация консоли........................................633
SNMP-консоли, инструменты, утилиты и основные файлы...........634
Интеграция SNMP с другими средами управления..................635
Поиск неисправностей SNMP.................................:...636
Выводы по главе...............................................637
Основные термины..............................................639
Контрольные вопросы...........................................642
Практические задания..........................................647
Учебные задачи................................................649
Глава 12. TCP/IP, NetBIOS и WINS................................651
Что такое система NetBIOS (и зачем она нужна)?................651
Исторические ограничения NetBIOS............................652
NetBIOS в Windows 2000........................................653
NetBIOS в перспективе.......................................654
Зачем нужна система NetBIOS?................................657
Как работает NetBIOS?.......................................657
Имена NetBIOS.................................................660
Структура имен NetBIOS......................................660
Типы имен и суффиксы NetBIOS................................661
Идентификатор области действия NetBIOS......................662
Регистрация и разрешение имен NetBIOS.........................663
Режимы разрешения имен по типам узлов.......................664
Кэш имен NetBIOS и файл LMHOSTS.............................666
Регистрация и разрешение имен с помощью WINS-серверов.......667
DNS и файл HOSTS............................................670
NetBIOS Over TCP/IP...........................................670
Имена NetBIOS и IP-имена....................................672
WINS-серверы..................................................674
Как работает WINS...........................................675
Различные конфигурации WINS.................................675
Поиск неисправностей WINS и NetBIOS...........................683
Средства локализации неисправностей NetBIOS и WINS..........684
Типичные ошибки NetBIOS и WINS..............................686
XIV
Содержание
Выводы по главе..................................................687
Основные термины.................................................688
Контрольные вопросы..............................................690
Практические задания.............................................695
Учебные задачи...................................................704
Глава 13. Протокол IP версии 6 (IPv6)..............................707
Зачем нужно создавать новую версию протокола IP?.................708
Адресное пространство протокола IPv6.............................709
Формат адресов и их распределение..............................710
Распределение адресов..........................................721
Вопросы маршрутизации............................................723
Обнаружение соседних узлов и извещения маршрутизатора..........724
Обнаружение максимальной единицы передачи маршрута и изменения в фрагментации.....................................726
Формат 1Ру6-пакетов..............................................727
Базовый формат 1Ру6-заголовка..................................728
Заголовки расширений...........................................732
Новые и модернизированные функции протокола IPv6.................739
Автоконфигурация...............................................740
Безопасность...................................................743
Качество обслуживания (QoS)....................................750
Мобильные пользователи.........................................753
Переход: сосуществование протоколов IPv4 и IPv6..................757
Двухстековый подход............................................757
Туннелирование через "облако" IPv4.............................758
Собственная среда IPv6.........................................758
Выводы по главе..................................................759
Основные термины.................................................760
Контрольные вопросы...........'..................................766
Практические задания.............................................772
Учебные задачи...................................................774
Приложение 1. Важные документы RFC.................................777
Приложение 2. Основные IP-ресурсы сети Internet....................784
Общий обзор IP и Internet........................................784
История IP и Internet............................................784
Основные подборки ссылок на сайты, посвященные Internet и организации сетей..............................................785
Публикации документов RFC........................................785
Содержание XV
IP-адресация, организация подсетей и суперсетей.............785
Двоичная арифметика.........................................785
Общая информация о протоколе IP.............................786
Информация о службе DNS ....................................786
Информация о DHCP...........................................786
Безопасность................................................787
I Р-маршрутизация...........................................787
Протокол SNMP...............................................788
NetBIOS over TCP/IP.........................................788
Протокол IPv6...............................................789
Группы новостей TCP/IP......................................789
Приложение 3. IP-утилиты командной строки.....................790
ARP.........................................................790
IPCONFIG....................................................791
NETSTAT.....................................................792
PATHPING....................................................793
PING........................................................793
ROUTE.......................................................794
TRACERT.....................................................795
Приложение 4. Параметры реестра Windows 2000 .................797
Приложение 5. Содержимое компакт-диска........................805
Инструментарий..............................................805
Файлы трассировки...........................................806
Приложение 6. Номера портов TCP/UDP...........................809
Приложение 7. Опции протокола DHCP............................810
Глоссарий.....................................................811
Предметный указатель..........................................915
Предисловие
Эта книга называется "TCP/IP. Учебный курс". TCP/IP расшифровывается как Transmission Control Protocol/Internet Protocol (протокол управления пе-редачей/протокол Internet) и характеризует обширное семейство протоколов и служб, которые делают возможным существование сети Internet в сегодняшнем виде. В ходе обсуждения стека протоколов TCP/IP вам предлагаются реальные и интерактивные примеры, а также множество практических заданий, которые призваны закреплять пройденный материал и обучать применению важнейших средств управления и мониторинга. Кроме того, в этой книге приводится множество трассировок или расшифровок протоколов, которые должны помочь вам понять, на что похож стек протоколов TCP/IP и как он функционирует в сетях.
В книге представлено всестороннее рассмотрение всех важнейших сетевых моделей, протоколов, служб и стандартов, которые регламентируют применение TCP/IP и определяют его функционирование в современных сетях. На протяжении всей книги мы ставим перед вами тестовые контрольные вопросы, ответив на которые, вы сможете закрепить знания, полученные по прочтении каждой главы, и подготовиться к взаимодействию со стеком протоколов TCP/IP в его естественной среде, т. е. в большинстве сетей, существующих в мире в данный момент. В дополнение к этим обзорным вопросам в каждой главе присутствуют практические задания, выполняя которые, вы можете получить базовый опыт установки, конфигурации, использования и управления TCP/IP в рабочей сети. Наконец, чтобы адаптировать принципы, рассматриваемые в каждой главе, к реальной жизни, имеются конкретные учебные задачи, в которых осуществлена постановка специфических вопросов, для решения которых вам потребуется применить творческий подход. Эти задачи готовят вас ко многим ситуациям и проблемам, с которыми вам придется столкнуться при работе в реальной, действующей сети.
Для кого эта книга
Книга предназначена как для профессионалов в области информационных систем, так и для всех заинтересованных в подробном изучении работы в сетях на основе стека протоколов TCP/IP. Все материалы подобраны таким образом, чтобы подготовить читателей к выполнению активной роли в ад-
2
Предисловие
министрировании сетевой инфраструктуры, в которой TCP/IP может применяться как в отдельности, так и в сочетании с другими стеками протоколов. Прочитав книгу от начала до конца, вы сможете разобраться, проанализировать и устранить множество сетевых проблем, связанных с TCP/IP.
Структура книги
В главе 1 "Введение в TCP/IP" дается общий обзор возможностей TCP/IP и обозначаются наиболее важные составляющие этого стека, а именно — протоколы и службы, входящие в него. В дополнение к этому, в ней рассматривается эталонная сетевая модель взаимодействия открытых систем (Open Systems Interconnection, OSI), составленная Международной организацией по стандартизации (International Organization for Standardization, ISO); она приводится в сравнении с моделью, на основе которой создан стек протоколов TCP/IP. В этой главе содержится информация о структуре и происхождении документов стандартов, известных под именем RFC (Requests for Comments, запросы на комментарии) и регламентирующих протоколы, службы и методы применения TCP/IP. В заключении главы читатель получит общее представление о базовом инструментальном средстве, которым ему придется пользоваться на протяжении всей книги — специальной программной утилите под названием анализатора протоколов, которая обеспечивает захват, распаковку и отображение содержимого сетевого трафика, включая тот, что относится к TCP/IP.
Глава 2 "IP-адресация и связанные с ней темы" раскрывает детали организации уникальных IP-адресов. Начинаясь с тщательного разбора числовых IP-адресов эта глава содержит описание классов IP-адресов, их частных случаев вроде широковещательных (broadcast) и групповых (multicast) адресов и дает читателю представление о причинах существования бесклассовой IP-адресации. Здесь вы познакомитесь с основами двоичной математики, необходимой при создании, расшифровке и исчислении масок IP-подсетей и получите основные представления об организации подсетей и суперсетей. Глава завершается обзором общедоступных и частных IP-адресов, служб преобразования сетевых адресов и способов получения и управления общедоступных IP-адресов, годных для применения в сети Internet.
В главе 3 "Протоколы Канального и Сетевого уровней TCP/IP" описываются основные протоколы TCP/IP, действующие на Канальном и Сетевом уровнях эталонной модели OSI. В этом контексте протоколы Канального уровня разбираются в общих чертах; кроме того, рассматриваются типы фреймов протокола IP и аппаратные адреса в среде IP, а также различные протоколы (в первую очередь, ARP и RARP), обеспечивающие их применение. Наконец, одним из предметов этой главы является наиболее зна
Предисловие
3
чимый протокол Сетевого уровня — протокол IP (Internet Protocol, протокол Internet).
Глава 4 "Протокол ICMP" содержит описание ключевого сетевого протокола TCP/IP, чьей функцией является доставка сообщений об ошибках и состоянии IP-трафика отправителям и другим "заинтересованным устройствам", таким как маршрутизаторы и коммутаторы. Глава открывается обзором структур и функций протокола ICMP, после чего приводятся методы тестирования и поиска неисправностей, проблемы безопасности, типы и код сообщений протокола ICMP; в заключении дается исчерпывающее обозрение структур пакетов протокола ICMP.
В главе 5 "Протоколы Транспортного уровня TCP/IP" рассматриваются два базовых протокола, действующих на Транспортном уровне эталонной модели OSI — мощный и надежный протокол TCP (Transmission Control Protocol, протокол управления передачей), и более поверхностный, но при этом более оперативный протокол UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя). Протокол TCP описывается очень подробно, причем особое внимание уделяется структурам и функциям его пакетов; в то же время протокол UDP удостаивается только беглого обзора. В заключении главы приводятся распространенные адреса портов протоколов UDP и TCP, а также оптимальные и обычные способы их применения.
В главе 6 "Основные службы TCP/IP" обсуждается область, представляющая наибольший интерес для пользователей Internet — службы и протоколы более высокого уровня TCP/IP. Тщательно исследуются такие распространенные службы TCP/IP, как FTP, Telnet, SMTP и HTTP, их типы сообщений и возможности. Глава завершается обсуждением анализа протоколов высшего уровня (и обеспечиваемых ими служб), а также методами эффективного шифрования их трафика.
В главе 7 "Служба доменных имен — DNS" затрагиваетя одна из наиболее важных инфраструктурных служб Internet —- служба доменных имен (Domain Name System, DNS), которая обеспечивает преобразование символических имен, таких как microsoft.com и course.com, в соответствующие числовые IP-адреса. Рассматривается как сама служба DNS, так и иерархии и структуры адресов, которыми она заведует. Подробно представлено поведение службы DNS, а также стандартные типы DNS-серверов. В заключении главы описываются методы поиска неисправностей службы DNS с помощью некоторых основных инструментальных средств и утилит.
Глава 8 "Протокол DHCP" рассматривает протокол и службу, предназначенные для управления и поддержки IP-адресов клиентских настольных компьютеров и других сетевых машин. В ней описывается происхождение протокола DHCP, его способность снабжать IP-адресами хосты, которые ими не располагают, а также характеристики и возможности, связанные с управ
4
Предисловие
лением адресами. Глава содержит обзор команд, опций и режимов работы протокола DHCP. Глава завершается обсуждением средств поиска неисправностей, конфигурации и инспектирования протокола DHCP.
В главе 9 "Организация защиты в среде TCP/IP" содержится обзор проблем, слабых мест и встроенной оптимистической модели механизма защиты TCP/IP во все более пессимистичном окружении (Internet). Здесь перечислены распространенные точки атаки в сетях TCP/IP и рассмотрены составляющие некоторых атак, наиболее вероятных в IP-сетях. Эта глава завершается протяженным обзором множества процедур, методов, подпрограмм и исправлений, которые призваны сделать сети TCP/IP настолько защищенными, насколько это возможно. В ней напоминается о необходимости постоянного выполнения действий, направленных на поддержку безопасности в текущий момент.
Глава 10 "Маршрутизация в среде //"'раскрывает принципы, терминологию и службы, связанные с маршрутизацией пакетов в IP-сети, обеспечивающей их доставку от отправителей к получателям. В главе содержится обзор распространенных сетевых протоколов, объясняется различие между внутренней и внешней маршрутизацией и приводятся способы управления маршрутизацией в некоторых типичных ситуациях. В завершающей части главы представлены пояснения и методы поиска неисправностей, а также обзор соответствующих инструментальных средств и утилит.
В главе 11 "Мониторинг IP-сетей и управление ими" рассматриваются основные принципы и понятия сетевого управления, включая модель сетевого управления OSI. Анализу подвергается протокол SNMP (Simple Network Management Protocol, простой протокол сетевого управления) — протокол управления высокого уровня TCP/IP, применяемый во множестве 1Р-сетей. В заключении главы представлены консоли и службы поиска неисправностей консолей и служб протокола SNMP, а также основные инструментальные средства, утилиты и ключевые файлы.
Название главы 12 — "TCP/IP, NetBIOS и WINS" — отражает отчасти Windows-направленный характер этого текста. NetBIOS — это сетевой протокол высокого уровня, который повсеместно применяется для обеспечения файловых служб, служб печати и других служб в сетях Windows, IBM и DECnet. В этой главе рассматриваются взаимоотношения между протоколом NetBIOS и TCP/IP и раскрывается роль NetBIOS в новейших и более старых версиях операционных систем Windows. По ходу повествования характеризуются имена NetBIOS, службы разрешения имен и функционирование NetBIOS с помощью TCP/IP на Транспортном и более низких уровнях. Наконец, в главе приводится исследование службы имен Internet для Windows (Windows Internet Name Service, WINS) — присущей Windows службы динамического разрешения имен, выполняющей по отношению к NetBIOS over
Предисловие
5
TCP/IP практически такие же функции, какие выполняет DNS, обеспечивая службы разрешения доменных имен в IP-адреса.
Глава 13 "Протокол IP версии 6 (IPv6)" содержит описание новейшей версии TCP/IP, известной под именем IP версии 6 (сокращение — IPv6 — приведено в названии этой главы). Здесь вы сможете узнать различия между протоколами IPv4 (текущей версии, которой посвящена большая часть этой книги) и IPv6, и понять, почему реализация протокола IPv6 необходима и неизбежна. Вы познакомитесь со структурой IPv6: форматом пакетов, изменениями протокола ICMP, работой с протоколами и службами верхнего уровня, усовершенствованиями системы защиты и их значением, организацией перехода от протокола IPv4 к IPv6. Короче говоря, эта глава призвана помочь профессионалам в области сетевых технологий понять, что такое протокол IPv6, как он работает и что с ним делать, когда он появится в их сетях.
В книге также содержится несколько приложений, на которые стоит обратить внимание. В приложении 1 приводится список всех важных документов RFC, упоминаемых в этой книге. В приложении 2 дан краткий перечень ресурсов Internet, посвященных протоколу IP. Приложение 3 представляет собой справочник по утилитам, выполняемым из командной строки, имеющим отношение к TCP/IP и присутствующим в операционной системе Windows 2000. В приложении 4 содержится список всех параметров реестра Windows 2000, приведенных во множестве таблиц на протяжении книги. В приложении 5 предлагается аннотация к файлам, которые присутствуют на компакт-диске, сопровождающем эту книгу. В приложении 6 даны ссылки на Web-сайты, содержащие важную информацию о нумерации портов протоколов UDP и TCP. Приложение 7 включает всеобъемлющий список опций протокола DHCP.
В целях обеспечения более успешного усвоения материала книга содержит перечисленные ниже структурные компоненты.
□	Главы. Каждая глава книги открывается подробным списком понятий, которые читатель должен усвоить по ее завершении. Этот список позволяет быстро ознакомиться с содержимым главы и помогает в процессе обучения.
□	Рисунки и таблицы. Множество снимков экранов (скриншотов) и графических компонентов иллюстрируют типичные стадии настроек, теоретические сведения и понятия. Кроме того, в большом количестве таблиц представлены подробности и сопоставления практической и теоретической информации, которые можно использовать в ходе быстрого обзора тем.
□	Материал в конце главы. В конце каждой главы приведены следующие информационные блоки, призванные закрепить полученные знания:
• выводы по главе. Маркированный список, содержащий краткое обозрение всего материала главы;
6
Предисловие
®	основные термины. Список всех новых терминов и их объяснение;
®	контрольные вопросы. Список контрольных вопросов позволяет проверить знание наиболее важных понятий, раскрытых в данной главе;
®	практические задания. Практические задания дают возможность практического применения знаний, полученных после прочтения главы;
®	учебные задачи. Эти задания позволяют продумать решения прикладных задач, которые могут быть перед вами поставлены.
□	CD-ROM. На сопровождающем книгу компакт-диске находится демоверсия анализатора протоколов EtherPeek, программы PacketScrubber и ProConvert (WildPackets, Inc.), а также примеры трассировок.
Текстовые соглашения
Где это показалось уместным, в книгу были добавлены дополнительные данные и упражнения, которые должны способствовать лучшему усвоению материала глав. О наличии таких материалов читателя оповещают текстовые элементы, которые перечислены далее.
□	"Примечание" обозначает дополнительную полезную информацию, относящуюся к описываемой теме.
□	Заголовок "Задание" предшествует каждому практическому заданию, а также его описанию.
□	Заголовки "Учебные задачи" маркируют соответствующие задания. Это более сложные, сценарные задания, решения которых вы должны найти самостоятельно, основываясь на пройденном материале.
Благодарности
Авторы хотели бы поблагодарить издательство Course Technology за возможность написать хорошее руководство по TCP/IP для XXI века. Мы глубоко ценим их терпение и снисходительность в то время, когда мы пытались объединить множество отрывков, из которых впоследствии получилась эта книга; это в особенности относится к Стефену Соломону, нашему ведущему редактору, и Лоре Гильдербранд, управляющей выпуском. Спасибо Бетси Ньюбери из СЕР Inc., нашему научному редактору — в результате ее работы наши материалы приняли безукоризненную форму.
Предисловие
7
Необходимо поблагодарить команду LANWrights (http://www.Ianw.com); все эти люди поспособствовали тому, что книга наконец появилась; отдельное спасибо Ким Линдрос, которая координировала проект со стороны авторов, управляясь со всеми материалами, которыми мы постоянно обменивались с Course Technology. Большое спасибо Дону, Мэри и Карен за их периодическую и очень высоко ценимую помощь в написании рукописи, даже если она заключалась в том, чтобы в последний момент принести материалы в FedEx!
Эд Титтел: Я чрезвычайно признателен Лоре Чеппел за то, что она смогла разобраться со своим загруженным графиком и найти время на работу над этой книгой. Спасибо Марку Тервиллигеру за его участие в создании 12-й и 13-й глав и Тому Ланкастеру за великолепные и всеохватывающие рецензии, которые определили его не менее замечательные дополнения, исправления и поправки к исходному тексту глав 6, 9, 10 и 11. Я просто обязан еще раз поблагодарить Ким за то, что она справилась с долгим, сложным и запутанным процессом сбора материалов, сделав это с присущими ей серьезностью и самоуверенностью. Наконец, спасибо черному лабрадору Блеки, моей бойкой, дерзкой трехгодовалой собаке, которая отвлекала меня от клавиатуры достаточно часто для того, чтобы я мог сохранять чувство перспективы относительно всех этих дел.
Лора Чеппел-. Отдельное спасибо Эду Титтлу за его энтузиазм и огромный труд при написании этой книги. Искренне благодарю Ким Линдрос за ее потрясающую способность связать все мелочи этого проекта воедино. Спасибо Марку Тервиллигеру и Тому Ланкастеру за то огромное количество технических подробностей, которые они привнесли в эту книгу — без вашей помощи ее ни за что не удалось бы закончить в такие сроки. Я очень признательна Джил Пулсен из Института анализа протоколов и Бренде Крап из podbooks.com за их помощь в ведении других проектов в то время, когда я сосредоточилась на этой книге. Наконец, огромное спасибо моим детям, Скотти и Джинни, которые помогли мне наслаждаться жизнью вне пакетного уровня.
В заключение соавторы хотели бы поблагодарить друг друга за товарищество, тяжелый труд и поддержку, проявленную в ходе создания этой книги.
Читатели могут безо всяких стеснений отсылать авторам электронную почту с комментариями, вопросами и предложениями по этой книге и сопровождающему компакт-диску:
□	Эд Титтел: etittel@lanw.com;
□	Лора Чеппел: lchappell@packet-level.com.
8
Предисловие
Прочтите,
прежде чем начинать читать
К пользователю
Эту книгу нужно читать в заданной последовательности, от начала до конца. Каждая глава основывается на предшествующем материале, и это помогает достичь твердого понимания понятий, протоколов, служб и способов применения TCP/IP. Мы настоятельно советуем знакомиться со всеми сетевыми и печатными источниками дополнительной информации, цитируемыми на протяжении всей книги.
Некоторые главы книги содержат материалы, дополняющие практические задания, предлагаемые в конце главы. Все необходимые для выполнения этих заданий файлы содержатся на сопровождающем компакт-диске или могут быть загружены с сайтов, ссылки на которые имеются в тексте книги.
К преподавателю
Подготавливая аудиторию к занятиям, убедитесь, что на каждой рабочей станции установлена операционная система Windows 2000 Server или Professional, Internet Explorer 5.0 или более поздней версии, а сетевая интерфейсная плата (NIC) работает в "беспорядочном" режиме (т. е. в состоянии, в котором сетевой адаптер обнаруживает в сети все фреймы вне зависимости от их конечного адреса). В процессе изучения книги студенты должны будут установить демо-версию EtherPeek for Windows, IP Subnet Calculator и демоверсию NetScanTools. Кроме того, студенты должны располагать административными полномочиями, которые позволят им выполнять операции, рассматриваемые в практических заданиях. Вероятно, вы обратите внимание на незначительные различия между демо-версией EtherPeek, содержащейся на сопроводительном компакт-диске, и снимками экрана этой программы, приведенными в самой книге. Полное описание этих различий содержится на сайте "Руководства по TCP/IP" по адресу http://www.lanw.com/books/ gd2tcpip.htm.
Посетите наш Web-сайт
Дополнительные материалы, которые подбирались специально доя вас, доступны доя изучения во Всемирной паутине. Нужно лишь периодически заходить на сайт http://www.course.com (Course Technology) и проводить поиск по названию этой книги.
Предисловие
9
Как справиться
с изменениями в сети Internet?
Рано или поздно все приведенные нами ресурсы в сети Internet утратят актуальность или будут заменены более свежей информацией. В некоторых случаях Web-адреса, представленные в этой книге, могут приводить' вас к таким заменам; в других случаях эти адреса никуда не приведут, и все, что вы увидите — это ужасное 404-е сообщение об ошибке: "Файл не найден" (File not found).
Если такое случится, пожалуйста, не отчаивайтесь! Мы создали удобный сетевой документ под названием "Guide to TCP/IP" ("Руководство по TCP/IP"), в котором приводятся все Web-адреса, упомянутые в этой книге. Этот документ расположен по адресу http://www.lanw.com/books/gd2tepip.htm. Мы будем регулярно обновлять представленные в нем ссылки, но если вы все же вдруг обнаружите неработающую ссылку, пожалуйста, отправьте нам письмо по адресу tcpipupdates@Ianw.com, и мы исправим ее, как только сможем.
Кроме того, в Internet вы всегда можете найти то, что вам нужно; для этого надо лишь потратить немного времени и приложить минимальные усилия. Для начала, на многих крупных и сложных Web-сайтах (а сайты компании Microsoft соответствуют обоим этим критериям) есть поисковые системы. Если вы сможете зайти на такой сайт, то обязательно сможете воспользоваться и этой системой.
Чем конкретнее будет ваш запрос в системе поиска, тем более вероятно, что среди выведенных результатов будет нужная вам информация. К примеру, если вы проведете поиск по фразе "IP subnetting" (организация подсетей IP), то получите список из множества ссылок на общую информацию по этой теме; однако, если вы ищете что-то более конкретное, например, программу, позволяющую рассчитать подсети и суперсети, то быстрее добьетесь результата, применив строку поиска "subnet calculator" (калькулятор подсетей).
Наконец, не бойтесь пользоваться поисковыми системами более общего плана, такими как http://www.search.com, http://www.altavista.digital.com или http://www.excite.com. Некоторые организации, определяющие стандарты, обеспечивают наиболее точную и специальную информацию об этих стандартах, однако есть множество сторонних источников информации, средств обучения и поддержки в этой области, которые не обязаны следовать строгим правилам, как это обычно делают группы разработки стандартов. В общем, если вы не можете найти что-то в том месте, которое указано в этой книге, поищите вокруг. Где-нибудь обязательно найдете!
10
Предисловие
Технические требования
Ниже перечислены требования к программному и аппаратному обеспечению; их соблюдение необходимо для выполнения практических заданий, приведенных в конце каждой главы.
П Pentium II 400 МГц или выше.
П 128 Мбайт оперативной памяти.
П Жесткий диск объемом в 4 Гбайт; свободного места должно быть не менее 1 Гбайт.
П Привод для компакт-дисков.
П Сетевая интерфейсная плата, работающая в "беспорядочном" режиме и подсоединенная к локальной сети.
П Операционная система Windows 2000 Server, Windows 2000 Professional или Windows XP, браузер Internet Explorer 5.0 или более поздней версии.
□	Служебный пакет Service Pack 2 для Windows 2000 Server (или самый свежий SP, доступный для пользователей в течение 30 дней и более).
□	Доступ к операционной системе Windows 2000 Professional или Windows 2000 Server с установленным и настроенным стеком TCP/IP. IP-адрес должен быть определен статически или посредством протокола DHCP.
□	Доступ в сеть Internet.
Глава 1
Введение в TCP/IP
После прочтения этой главы и выполнения упражнений вы сможете:
□	получить представление об истоках, истории и задачах TCP/IP;
□	ориентироваться в сетевой модели взаимодействия открытых систем, часто используемой для характеристики сетевых протоколов и служб, и знать, как она соотносится с внутренней сетевой моделью TCP/IP;
□	дать определения сопутствующим терминам и объяснить, как идентифицируются протоколы, каналы и порты TCP/IP;
□	объяснить процесс создания, обсуждения и оформления (в случаях, когда это уместно) стандартов TCP/IP и других документов, именуемых Requests for Comments (RFC);
□	получить представление и применять базовые способы и принципы, лежащие в основе анализа сетевых протоколов.
В этой главе рассматриваются предпосылки и история развития сетевых протоколов, известных в совокупности под именем TCP/IP, что расшифровывается как Transmission Control Protocol/Internet Protocol (протокол управления передачей/протокол Internet). Во всей этой коллекции важнейшими являются Transmission Control Protocol (TCP, протокол управления передачей), отвечающий за надежную доставку сообщений произвольного размера, и Internet Protocol (IP, протокол Internet), который, помимо других своих возможностей, управляет маршрутизацией сетевых передач от отправителя к получателю.
Кроме того, эта глава содержит обзор сетевой модели TCP/IP, различных предоставляемых ею способов идентификации определенных протоколов и служб, способов определения и организации стандартов TCP/IP, и в наибольшей степени заслуживающих внимания элементов коллекции стека протоколов TCP/IP. Завершается глава описанием искусства и науки анализа протоколов, требующего использования специальных средств для сбора данных непосредственно из сети, характеристики сетевого трафика и поведения, и исследования подробностей данных, передающихся по сети в любой момент времени.
12
Глава 1
Что такое TCP/IP?
Обширная коллекция сетевых протоколов и служб, называемая TCP/IP, включает намного больше, чем просто сочетание двух основных протоколов, давших ей имя. Тем не менее, эти протоколы заслуживают первоначального представления: протокол управления передачей (Transmission Control Protocol, TCP) обеспечивает надежную доставку сообщений произвольного размера и определяет сложный механизм доставки для всех видов данных в сети; протокол Internet (Internet Protocol, IP) организует маршрутизацию сетевых передач от отправителя к получателю, отвечает за сетевые и компьютерные адреса и выполняет множество других функций. Вместе взятые, эти два протокола передают значительную часть данных, циркулирующих в сети Internet, хотя представляют собой лишь крошечную долю от всей совокупности протоколов TCP/IP.
Чтобы лучше осознать значимость TCP/IP, поймите, что любой человек, пользующийся сетью Internet, должен использовать TCP/IP, поскольку, и это не будет преувеличением, Internet функционирует на основе TCP/IP. Корни этой совокупности протоколов уходят в достаточно далекое прошлое, как и сами компьютерные технологии, а именно — в 1969 год. Знание истоков TCP/IP и мотивации ее разработки может улучшить понимание этой важнейшей совокупности протоколов (часто называемой набором протоколов). Поэтому в следующем разделе будут рассмотрены причины и цели создания TCP/IP.
Происхождение и история TCP/IP
В 1969 году скромное подразделение Министерства обороны США, известное как Управление перспективных исследовательских программ (Advanced Research Projects Agency, ARP А), запустило финансирование академического исследовательского проекта разработки специального рода глобальной сети под названием "сеть с коммутацией пакетов". В такой сети отдельные порции данных (называемые пакетами) могут пользоваться любым доступным маршрутом между отправителем и получателем. Отправитель и получатель идентифицируются посредством уникальных сетевых адресов, но не требуют прохождения всеми пакетами одного и того же пути (хотя часто именно так и получается). Сеть, созданная в результате осуществления этого проекта, получила название ARPANET.
Задачи, поставленные при разработке TCP/IP
Разработка ARPANET и протоколов для ее поддержки мотивировалась приведенными далее правительственными нуждами.
□	Желанием противостоять потенциальным ядерным ударам. Это объясняет необходимость в коммутации пакетов, при которой маршруты от отпра
Введение в TCP/IP
13
вителя к получателю могут варьировать в зависимости от потребностей, пока годный маршрут существует. Кроме того, становится понятно, что надежность доставки была особенно актуальной проблемой в мире, в котором все могло в любой момент взлететь на воздух!
□ Желанием предоставить возможность для существования различных типов компьютерных систем с целью более легкой связи их друг с другом. Поскольку на повестке дня был вопрос о собственных сетях, а правительство обладало множеством различных видов несовместимых сетей и систем, было необходимо создать технологию, делающую возможным обмен данными между ними.
□	Потребностью связать расположенные на больших расстояниях системы. Конец 1960-х был эпохой "большого металла"; в это время доминировали громоздкие и дорогие индивидуальные системы с терминалами. Связывание многочисленных систем означало связывание удаленных друг от друга мест. Именно поэтому первые сети ARPANET соединяли Стенфордский научно-исследовательский институт, Университет штата Юта в Солт-Лейк-Сити и два кампуса Калифорнийского университета в Лос-Анджелесе и Сан-Бернадино.
Эти задачи в начале XXI века могут показаться не жизненно важными. Угроза ядерного холокоста во многом ослабла, а сетевые системы стали повседневностью. Более того, организация сетей с высокой пропускной способностью и обмен данными на больших расстояниях теперь — сфера влияния крупного бизнеса. Как бы то ни было, некоторые утверждают, что на сети Internet лежит ответственность по крайней мере за два последних утверждения.
Хронология TCP/IP
На самом деле, о существовании TCP/IP до 1970-х и начала 1980-х годов говорить сложно. К этому времени разработчики сетей осознали, что данные нужно передавать как по разнородным сетям, так и между точками, имеющими различное месторасположение. Это было особенно важно для того, чтобы дать возможность локальным сетям, таким как Ethernet, использовать глобальные сети, такие как ARPANET, для передачи данных из одной локальной сети в другую. Хотя разработка TCP/IP началась в 1973 году, протокол Internet версии 4 (Internet Protocol version 4, также известный как IPv4, который используется до сих пор в большинстве сетей TCP/IP) появился только в 1978 году.
Первоначальная сеть Internet (обратите внимание на заглавную букву "I") способствовала созданию модели для сети, состоящей из других сетей. Таким образом, термин "объединенная сеть" (internetwork — заглавная буква отсутствует) означает логическую сеть, состоящую из множества физических сетей, которые могут иметь как одно, так и различные физические местоположения.
14
Глава 1
Мы делаем различие между термином "Internet", обозначающим всемирную коллекцию публично доступных сетей, использующих TCP/IP, и понятием объединенных сетей ("internetworks"), которые могут располагаться в любой точке мира, быть или не быть частью сети Internet (более того, они необязательно используют TCP/IP, хотя в большинстве случаев все-таки используют).
В 1983 году Управление связи Министерства обороны США (в настоящее время называемое Агентством по оборонным информационным системам или DISA — Defense Information Systems Agency) приняло управление сетью ARPANET от Управления перспективных исследовательских программ ARPA. Это преобразование сделало возможным более широкое использование сети Internet — все больше колледжей и университетов, правительственных организаций, оборонных ведомств и фирм, выполняющих государственные подряды, стали применять Internet для обмена данными, электронной почтой и другими видами информации. В том же году Министерство обороны выдвинуло необходимое условие о переходе всех компьютеров, подключенных к сети Internet, на использование протоколов TCP/IP и отказе от предшествующих, по большей части экспериментальных, протоколов, применявшихся в сети ARPANET с момента ее появления. В действительности, некоторые утверждают, что Internet и TCP/IP были созданы практически одновременно. Как бы то ни было, совершенно не случайно, что в 1983 году в версии операционной системы UNIX 4.2BSD, разработанной в Калифорнийском университете, была реализована поддержка TCP/IP. Существует мнение, что этот шаг, привлекший к TCP/IP компьютерщиков в колледжах и университетах по всему миру, объясняет широкое распространение Internet-протоколов и технологий.
Приблизительно в это время — в том же 1983 году — военная сеть MILNET отделилась от ARPANET. Это событие определило разделение инфраструктуры сети Internet на две части:
□	закрытую военную;
□	публичную, обслуживавшую всех гражданских участников.
Первоначальная разработка в 1983 году в Университете Висконсина технологии серверов имен, позволившей пользователям определять и идентифицировать сетевые адреса во всей сети Internet (эта технология действует до сих пор), завершила этот рекордный год официальной истории глобальной сети.
С этого момента сеть Internet и TCP/IP пережили ряд событий и начинаний, которые в конечном итоге привели к утверждению всемирной сети в том виде, в котором она существует по сей день. Далее приведены важнейшие из этих событий.
□	1986 год. Национальный научный фонд США (National Science Foundation, NSF) запускает глобальную быстродействующую сеть NSFNET — работающую со скоростью 56 Кбит/с (это немного больше
Введение в TCP/IP
15
предполагаемой максимальной скорости сегодняшних модемов). Этот фонд также разработал официальный документ, известный под названием Acceptable Use Policies (AUP, допустимые правила пользования сетью), регламентирующий предполагаемое использование сети Internet и предопределивший существующие в ней сегодня принципы взаимодействия.
□	1987 год. Количество хостов в сети Internet превышает 10 000.
□	1989 год. Количество хостов в сети Internet превышает 100 000.
Магистраль NSFNET переходит на использование канала Т1, что обеспечивает скорость передачи данных 1,544 Мбит/с.
□	1990 год. Университет МакГилл выпускает на основе TCP/IP протокол Archie и одноименную службу, позволившую пользователям Internet, где бы они не находились, осуществлять поиск текстовых архивов документов всех видов.
ARPANET прекращает существовать под этим именем, а коммерческие, академические, правительственные и коммуникационные компании отваживаются на использование сети Internet.
Начинается серьезная работа над протоколом Hypertext Transfer Protocol (HTTP, протокол передачи гипертекста), а в женевском Европейском центре ядерных исследований (Centre European Researche Nucleaire, CERN) рождается понятие "всемирная паутина" (Worldwide Web).
□	1991 год. Основывается Биржа коммерческого информационного обмена (Commercial Internet Exchange, CIX) — консорциум Internet-операторов, системных провайдеров и других коммерческих организаций, заинтересованных в развитии сети Internet. Некоторые рассматривают это событие как рождение "современной сети Internet", поскольку именно в этот момент коммерция в сети "легализовалась".
Корпорация Thinking Machines создает Глобальный информационный сервер (Wide Area Information Service, WAIS) — протокол и службу на основе TCP/IP. Он позволил осуществлять поиск по многомегабайтным базам данных в сети Internet.
Университет Миннесоты выпускает прокол Gopher на базе TCP/IP, позволивший не только производить поиск по текстовым архивам и другим типам данных, но и связавший такие архивы в единую совокупность виртуальной информации, известную под именем гофер-пространства (Gopherspace).
□	1992 год. Основывается Общество сети Internet (Internet Society, ISOC).
Количество хостов в сети Internet превышает 1 миллион.
Магистраль NSFNET переходит на использование канала ТЗ, что обеспечивает скорость передачи данных 44,736 Мбит/с.
16
Глава 1
Европейский центр ядерных исследований CERN проводит публичную презентацию протокола HTTP и технологии Web-серверов ("рождение сети").
□	1993 год. Для управления доменными именами создается Информационный центр сети Internet (Internet Network Information Center, InterNIC).
Из недр Национального центра по применению суперкомпьютеров (National Center for Supercomputing Applications, NCSA) выходит первый мощный графический браузер — Mosaic. Начинается Internet-революция.
У Белого дома появляется сетевое представительство по адресу http://www.whitehouse.gov.
□	1994 год. Сенат США и палата представителей Конгресса США создают собственные информационные серверы в сети Internet.
Стремительно увеличивается количество Internet-магазинов и объем почтовой "макулатуры".
□	1995 год. Компания Netscape выпускает браузер Netscape Navigator и начинает коммерциализацию Internet.
Количество хостов в сети Internet превышает 5 миллионов.
□	1996 год. Корпорация Microsoft выпускает браузер Internet Explorer, несмотря на то, что на рынке браузеров доминирует Netscape.
Сегодня лишь немногие отрасли коммерции, систем связи и доступа к информации не соприкасаются с сетью Internet или не находятся под ее влиянием. Очень быстро жизнь без доступа к сети Internet, электронной почты и электронной коммерции стала немыслимой и невыносимой. Настал XXI век, в сети продолжают появляться новые службы и протоколы, но TCP/IP сохраняет свои позиции!
Если вас интересует более подробная информация об истории развития Internet, посетите страницу "История сети Internet" на сайте Общества Internet (ISOC) по адресу http://www.isoc.org/internet/history/.
Кому "принадлежит" TCP/IP?
Учитывая, что истоки TCP/IP очень разнородны, а область действия неограниченна, владение этими протоколами и контроль над ними затруднительны. Как это обычно бывает, находясь в компетенции некоторых организаций, занимающихся стандартизацией (об этом мы еще поговорим далее), TCP/IP и составляющие протоколы тем не менее являются государственной собственностью, т. к. с самого начала разработки финансировались из правительственных средств. Таким образом, владельцами этой технологии являются все, и в то же время — никто.
Введение в TCP/IP
17
Группы стандартизации, координирующие TCP/IP
Группы стандартизации, занимающиеся координацией TCP/IP, перечислении далее.
□ Общество сети Internet (Internet Society, ISOC) является вышестоящим органом для различных сетевых советов и рабочих групп. Это — некоммерческая, неправительственная, международная организация с членством на профессиональной основе. Она финансируется за счет индивидуальных членских и корпоративных взносов, а также периодической поддержки, оказываемой некоторыми правительствами. Internet-сайт Общества расположен по адресу http://www.isoc.org.
□ Совет по архитектуре сети Internet (Internet Architecture Board, IAB; также известен под именем Internet Activities Board) координирует работу групп стандартизации и исследовательских групп, занимающихся современными и перспективными Internet-технологиями и протоколами, а также научными разработками. Кроме того, Совет IAB осуществляет контроль над архитектурой всех Internet-протоколов и процедур, редактирование документов RFC, в которых устанавливаются стандарты для сети Internet, и т. д. Internet-сайт Совета IAB, на котором вы сможете получить более исчерпывающую информацию, расположен по адресу http://www.iab.org.
□ Проблемная группа по проектированию сети Internet (Internet Engineering Task Force, IETF) ответственна за составление, тестирование, проектирование и поддержку официальных стандартов сети Internet при содействии множества подконтрольных ей рабочих групп. Проблемная группа по проектированию Internet (IEFT) и Совет по архитектуре Internet (IAB) при создании стандартов прибегают к процедуре, очень точно охарактеризованной как "трудное соглашение". Это значит, что все организации, участвующие в создании стандарта, должны прийти к хотя бы приблизительному соглашению, прежде чем этот стандарт будет спроектирован, составлен и утвержден. Иногда это соглашение бывает действительно трудным! Чтобы получить дополнительную информацию о деятельности этой проблемной группы, посетите ее сайт по адресу http://www.ietf.org.
□	Проблемная группа по исследованию сети Internet (Internet Research Task Force, IRTF) отвечает за наиболее дальновидные проекты Общества сети Internet (ISOC) и ведет разработку и исследование вопросов, слишком нетрадиционных или непригодных к практическому осуществлению в текущий момент, но могущих сыграть свою роль в будущем развитии сети Internet. Официальный сайт этой организации расположен по адресу http://www.irtf.org.
□	Проблемная группа по общественному значению сети Internet (Internet Societal Task Force, ISTF) — это группа, функция которой состоит в выявлении того, каким образом сеть Internet может послужить инструментом социального развития и изменения общества. Эта организация долж-
2 Зак. 321
18
Глава 1
на гарантировать, что всемирная паутина доступна и полезна для всех людей, независимо от географического положения, социальных и экономических условий. Сайт этой проблемной группы расположен по адресу http://www.istf.org.
□ Организация по присвоению имен и номеров в сети Internet (Internet Corporation for Assigned Names and Numbers, ICANN) в конечном счете ответственна за управление всеми доменными именами, сетевыми адресами, а также свойствами и параметрами протоколов. На практике организация ICANN осуществляет надзор за регистрацией и управлением адресами и доменными именами, но делегирует права по взаимодействию с клиентами, сбору финансовых средств, ведению базы данных и т. д. коммерческим регистраторам. Официальный сайт этой организации расположен по адресу http://www.icann.org. На этом сайте, кроме всего прочего, размещен список аккредитованных и пригодных для аккредитации регистраторов имен — http://www.icann.org/registrars/accredited-list.html.
Из всех этих организаций для TCP/IP наибольшее значение имеет Проблемная группа по проектированию Internet (IETF), поскольку именно она занимается созданием и координацией документов RFC, в которых должны быть описаны правила и форматы для всех протоколов и служб TCP/IP в сети Internet.
Стандарты TCP/IP и документы RFC
Хотя само название документов RFC (Requests for Comments, запросы на комментарии) создает впечатление будто бы необязательности их требований, на самом же деле они оказывают на TCP/IP подавляющее и абсолютное влияние. Эти документы, прежде чем стать официальными стандартами, проходят многоступенчатый процесс планирования, составления, тестирования и тому подобного, однако они предоставляют всю документацию, необходимую для понимания, внедрения и применения протоколов и служб TCP/IP в сети Internet.
Внутри самой коллекции документов RFC их старые версии иногда (но нечасто) заменяются более новыми, лучше соответствующими современным требованиям. Каждый документ идентифицируется по номеру, и в настоящее время последние номера достигают значений в районе 3300. Когда два или более документов раскрывают одну и ту же тему, они обычно имеют одинаковое название. В этом случае документ с большим номером признается текущей версией, а все остальные документы, имеющие меньшие номера, являются устаревшими.
Один специальный документ RFC называется "Официальные стандарты протоколов в сети Internet". На момент написания книги текущая версия этого документа имела номер 2700. Воспользовавшись поисковыми систе
Введение в TCP/IP
19
мами (такими как Yahoo, Altavista, Excite или AskJeeves), в сети Internet можно найти множество файлов с публикациями документов RFC. Рекомендуется использовать строку поиска "RFC 2700" для поиска документа RFC 2700 или "RFC 2026" для документа RFC 2026. (В зависимости от принципа функционирования определенной поисковой системы может быть важно заключить всю строку поиска в кавычки.) Любопытен сайт Государственного университета Огайо, на котором по адресу http://www.cis.ohio-state.edu/ Services/rfc/index.html размещен указатель всех документов RFC. (Перейдите по ссылке Index, затем проведите поиск необходимого документа RFC; в качестве альтернативы вы можете перейти по ссылке Keyword Search и ввести номер RFC.)
Другой важный документ — RFC 2026. В нем определяется порядок созда-'ния документа RFC и процедуры, которые должны быть им пройдены для превращения в официальный стандарт, принятый Проблемной группой по проектированию Internet (IETF). Также в нем описываются возможности участия в этом процессе.
Существование потенциального стандарта RFC начинается тогда, когда процесс или протокол разработан, определен, проверен, а затем протестирован и рассмотрен Internet-сообществом. После этого стандарт RFC перерабатывается, вновь тестируется, в том числе на предмет работоспособности и совместимости с другими стандартами сети Internet. В конечном итоге он может быть утвержден Проблемной группой по проектированию Internet (IEFT) в качестве официального стандарта RFC. В этом случае он публикуется как стандарт RFC и получает идентификационный номер.
Очевидно, что для превращения в действующий стандарт документ RFC должен пройти множество стадий, и по мере прохождения этого пути получает новые статусы. Они полностью определены в документе RFC 2026. К примеру, потенциальный стандарт проходит три стадии. На первой стадии он именуется предложенным стандартом', затем превращается в проект стандарта', наконец, будучи формально утвержден, становится Internet-стандартом, или стандартом RFC. В последующем, если документ заменяется более новым, он обозначается как отмененный, или исторический стандарт.
Документы ВСР (Best Current Practice, рекомендуемая современная практика) — еще одна важная категория документов RFC. Такой документ определяет не протокол или технические спецификации, а скорее принцип, индивидуальный подход к сетевой разработке или способу реализации, зарекомендовавший себя надежным и испытанным, или обладающий определенными желательными характеристиками, которые полезно принять во внимание при разработке TCP/IP-сети или ее поддержке. Документы ВСР сами по себе не являются стандартами, но, т. к. в них описываются настоятельно рекомендуемые разработки, способы реализации и поддержки, их стоит прочитать и, где это уместно, применить данные рекомендации.
20
Глава 1
Обзор модели взаимодействия открытых систем (OSI)
Прежде чем мы подробнее остановимся на протоколах и службах TCP/IP, давайте рассмотрим модель функционирования сетей вообще. Это поможет лучше понять, зачем нужны протоколы, и какую роль они играют в сегодняшних сетях. Имеется в виду сетевая эталонная модель, официально именуемая сетевой эталонной моделью взаимодействия открытых систем Международной организации по стандартизации (сокращенно — сетевая эталонная модель ISO/OSI).
Регулируемая стандартом ISO 7498, сетевая эталонная модель ISO/OSI (она же — эталонная модель, она же — семиуровневая модель) была разработана в рамках международной инициативы по стандартизации в 1980-х годах, целью которой было внедрение новой и усовершенствованной протокольной связки, которая должна была заменить TCP/IP. В то время как протоколы OSI так никогда и не получили широкого распространения за пределами Европы, эта эталонная модель стала стандартом при обсуждении сетевых технологий и объяснении принципов функционирования сетей. Несмотря на все усилия по завершению разработки и внедрения протоколов и служб OSI, занявшие 10 лет и обошедшиеся во многие миллиарды долларов, TCP/IP до наших дней остается предпочтительным набором протоколов.
Модели разбивают сети на уровни
Ценность эталонной модели заключается в предоставляемой ею возможности разбить большую техническую проблему, состоящую в том, как заставить работать все компоненты сетевых технологий от аппаратной части до высокоуровневого программного обеспечения, на несколько взаимосвязанных подпроблем, и затем решить каждую из них отдельно. Специалисты по вычислительной технике называет такой подход "разделяй и властвуй".
Этот подход позволяет полностью отделить вопросы, связанные с сетевым "железом", от тех, которые касаются программного обеспечения. На самом деле, он даже дает возможность разбить программную часть на более мелкие уровни, каждый из которых представляет отдельный вид или класс сетевых процессов (дополнительную информацию об этом вы можете почерпнуть в разд. "Сетевая эталонная модель ISO/OSI" этой главы). Таким образом, выработка ряда независимых, но взаимосвязанных уровней аппаратной и программной частей, которые функционируют вместе для того, чтобы позволить одному компьютеру по сети наладить связь с другим, может разрешить более существенную проблему организации сетей.
На поверку, многоуровневый подход к сетям — очень хорошая система. Причина этого в том, что профессиональные знания, которыми должны об
Введение в TCP/IP
21
ладать специалисты по аппаратной части для того, чтобы установить, как должна функционировать сетевая среда и какие физические интерфейсы к ней необходимо подключить, сильно отличаются от знаний, требуемых от специалистов по программному обеспечению. Действительно, разработчики программной части должны не только создавать драйверы для сетевых интерфейсов, но также реализовывать сетевые протоколы, функционирующие на различных уровнях эталонной модели (или какой-либо другой многоуровневой модели для любых сетевых протоколов).
Прежде чем мы углубимся в подробное описание эталонной модели и рассмотрим ее уровни, вам нужно понять и оценить следующие ключевые моменты, касающиеся организации сетей.
□	Глобальную проблему организации сетей проще разрешить, разделив ее на ряд меньших проблем.
□	Уровни функционируют более или менее независимо друг от друга, таким образом обеспечивая возможность применения модульного проектирования и определенных аппаратных и программных компонентов для реализации отдельных сетевых функций.
□	Поскольку отдельные уровни включают специфические и в значительной степени независимые функции, то изменения, произведенные на одном уровне, не должны воздействовать на другие.
□	Отдельные уровни работают вместе на парах компьютеров, так что отсылающие уровни выполняют такие операции, которые в некотором смысле "разворачиваются" или "аннулируются" операциями, исполняемыми на том же уровне получателя. Поскольку такие уровни работают в сети во взаимодействии, они называются одноранговыми уровнями.
□	Для реализации решений, необходимых для функционирования сети или выполнения задач на каждом из уровней, нужен разный экспертный анализ.
□	Уровни сети работают во взаимодействии, чтобы выработать общее решение глобальной проблемы организации сети.
□	Сетевые протоколы обычно соответствуют одному или более уровням эталонной модели.
□	Протоколы TCP/IP разработаны с использованием многоуровневой модели организации сети.
На самом деле, эта абстрактная эталонная модель организации сети также выражается в несколько отличных терминах как часть самого определения TCP/IP. Однако основополагающие идеи, делающие ее столь мощным инструментом реализации сетей, всегда были неотъемлемой частью TCP/IP. Сама абстрактность этой модели является одной из причин, позволяющих различным компьютерам, операционным системам и даже видам сетевого оборудования связываться друг с другом.
22
Глава 1
Сетевая эталонная модель ISO/OSI
Эталонная модель, описанная в стандарте 7498 модели взаимодействия открытых систем, разбивает сетевые коммуникации на 7 уровней (они перечислены сверху вниз и проиллюстрированы на рис. 1.1).
□	Прикладной уровень
□	Уровень представления
□	Сеансовый уровень
□	Транспортный уровень
□	Сетевой уровень
□	Канальный уровень
□	Физический уровень
Прикладной уровень
Уровень представления
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Канальный уровень
Физический уровень
Рис. 1.1. Уровни сетевой эталонной модели ISO/OSI
Далее в этой главе содержится описание функций, которые выполняются каждым из этих уровней. Из следующего раздела вы получите общее представление о работе эталонной модели.
Как работают уровни протоколов
В контексте эталонной модели уровни существуют для того, чтобы инкапсулировать и изолировать отдельные типы функциональных возможностей и, следовательно, позволить применение в сетевых технологиях подхода "разделяй и властвуй". В общем смысле, они призваны обеспечивать обслуживание более высокого уровня (где это применимо) и доставлять данные
Введение в TCP/IP
23
(для исходящего трафика) или принимать их (для входящего трафика) от более низкого уровня.
Вообще, для каждого уровня модели, реализованного в коде (вы поймете, почему это так важно, когда в разд. "Сетевая модель TCP/IP" этой главы мы будем обсуждать различия модели TCP/IP и эталонной модели) программное обеспечение обрабатывает пакеты данных, иногда называемые модулями данных протокола (Protocol Data Unit, PDU). Модули данных обычно обобщенно характеризуются как пакеты (данных), независимо от уровня модели, которому они адресуются.
Модули данных протокола (PDU) в нормальных условиях помещаются в "информационные конверты", начинающиеся специальной служебной информацией — заголовком (header) и завершающиеся так называемым концевиком (trailer). В этом случае заголовок представляет характерную для данного уровня метку, какой бы модуль данных он не предварял. Аналогично, концевик (присутствие которого необязательно для некоторых уровней и отдельных протоколов) может содержать информацию, касающуюся обнаружения и исправления ошибок, заключительные знаки окончания данных и любые другие данные, предназначенные для ясного указания на завершение модуля данных протокола.
Эталонная модель ISO/OSI, показанная на рис. 1.1, похожа на слоеный пирог, т. к. такая структура столь точно изображает множество реализуемых наборов протоколов (включая TCP/IP), то аппаратные и программные компоненты, соответствующие этой модели и действующие на отдельно взятом компьютере, принято назвать стеком протоколов. Таким образом, в системе Windows сетевую интерфейсную плату (Network Interface Card, NIC), драйвер, позволяющий операционной системе взаимодействовать с ней, и различные программные компоненты, составляющие другие уровни TCP/IP, можно именовать стеком протоколов или, более точно, стеком протоколов TCP/IP для данного компьютера.
В последующих разделах мы рассмотрим семь уровней эталонной модели более подробно, начав с низшего.
Физический уровень
Физический уровень содержит материальные среды передачи (кабели или беспроводные средства), которые в любой сети необходимы для отправки и получения сигналов, составляющих физическое выражение сетевых коммуникаций. Подробности этого процесса передачи сигналов, как и физические и электрические характеристики интерфейсов сетевых сред передачи, определяются на Физическом уровне. Его функция состоит в приведении в действие, поддержке и свертывании сетевых соединений. Отправители инициируют соединение для передачи данных с использованием какой-либо сетевой среды, а получатели отвечают на попытки установки соединений — в
24
Глава 1
конечном счете, для того, чтобы принять входящие данные от этой сетевой среды.
Проще говоря, Физический уровень занимается сетевой аппаратурой и соединениями, позволяющими ей получать доступ к какой-либо сетевой среде передачи данных. В дополнение, этот уровень также координирует отсылку и получение сигналов по среде передачи и устанавливает, какие кабели, соединители и сетевые интерфейсы необходимы для обеспечения доступа к определенному участку сети.
Физический уровень заведует взаимодействием с сетевой средой передачи, происходящим по стеку протоколов, и контролирует преобразование исходящих информационных битов данных, применяемых в компьютере, в сигналы, используемые в сетях. Имея дело с входящими сообщениями, Физический уровень осуществляет обратный процесс, превращая получаемые по сетевой среде передачи сигналы в битовые комбинации, которые должны быть отправлены компьютеру через сетевой интерфейс.
Модули данных протокола на Физическом уровне состоят из определенных серийных наборов сигналов, соответствующих битовым комбинациям для фреймов (frames) на Канальном уровне.
Канальный уровень
В эталонной модели Канальный уровень расположен между Физическим и Сетевым уровнями. Его работа — сделать возможной надежную передачу данных через Физический уровень на отправляющем конце и проверить надежность при получении на принимающем конце. Канальный уровень также управляет двухточечной передачей (point-to-point transmission) через сетевую среду передачи от одного компьютера к другому по одному логическому или физическому сегменту кабеля. Он распознает отдельные устройства в локальной среде посредством специального адреса, который уникально идентифицирует каждый интерфейс. Поскольку Канальный уровень ответственен за двухточечную передачу между интерфейсами, он также обеспечивает соединения в локальной сети (Local Area Network, LAN) между компьютерами, к которым эти интерфейсы подключены.
В ходе управления соединениями между компьютерами Канальный уровень также осуществляет упорядочивание данных, т. к. для проведения передачи от отправителя получателю битовые комбинации должны быть представлены соответствующими комбинациями сигналов; обратный процесс проделывается на принимающем конце. С этой целью Канальный уровень может контролировать скорость, на которой данные передаются от отправителя получателю — этот процесс называется управлением потоками в среде передачи', он реагирует на локальные условия перегрузки и помогает предотвратить переполнение среды передачи локальным трафиком. Наконец, Канальный уровень запрашивает передачу данных при готовности модулей данных про
Введение в TCP/IP
25
токола (PDU) к отправке, а также отвечает за прием и составление входящих модулей данных для поступающей информации.
Модули данных протокола (PDU) на Канальном уровне должны умещаться в определенных битовых комбинациях, соответствующих пропускной способности сетевой среды в смысле формата, структуры и максимального использования данных. Модули данных Канального уровня называются фреймами (frames) или фреймами данных (data frames).
Сетевой уровень
К Сетевому уровню относится понятие сетевого адреса; здесь происходят сложные процессы направления модулей данных протокола от отправителя к получателю. Таким образом, сетевой уровень заведует логическими адресами, ассоциируемыми с отдельными компьютерами в сети и позволяющими службе доменных имен (Domain Name System, DNS) соотносить удобные для человеческого восприятия имена этих машин с уникальными машиночитаемыми числовыми адресами. Кроме того, сетевой уровень применяет информацию об адресации, чтобы определить, как послать модуль данных протокола (PDU) от отправителя к получателю, когда источник и пункт назначения трафика располагаются в разных физических сегментах сети.
Сетевой уровень также реализует идею о множественных одновременных соединениях между различными IP-адресами, с тем чтобы несколько приложений могли поддерживать сетевое соединение в одно и то же время. Сетевой уровень имеет возможность определять, какое сетевое соединение относится к отдельному процессу или приложению на компьютере, и не только направлять трафик к нужному получателю, но и доставлять эти входящие данные нужному процессу или приложению на принимающей машине. Это объясняет, почему одновременно на одном компьютере могут быть запущены сеансы Web-браузера и почтовой программы, а также что делает возможным доставку входящих сообщений электронной почты почтовому клиенту, а Web-страниц — браузеру без смешения этих двух информационных потоков.
На самом деле, Сетевой уровень достаточно гибок для того, чтобы опознавать и использовать многочисленные маршруты между отправителем и получателем во время осуществления текущих сообщений. Методика, применяемая для пересылки или ретрансляции отдельных модулей данных протокола (PDU) от отправителя к получателю с использованием одного или нескольких маршрутов, называется коммутацией пакетов (packet switching); именно по этой причине Сетевой уровень осуществляет пересылку и ретрансляцию на основе модулей данных протокола (PDU). В действительности, Сетевой уровень чувствителен к задержкам, связанным с маршрутами, и может управлять объемом трафика, пересылаемого по ним, одновременно пересылая данные от отправителя к получателю. Этот про
26
Глава 1
цесс называется контролем перегрузок (congestion control); он помогает избежать ошибок при передаче в сети при высоком уровне активности, случающемся время от времени.
Учитывая эту терминологию, должно быть очевидно, что модуль данных протокола, связанный с Сетевым уровнем, называется пакетом (packet).
Транспортный уровень
Само название Транспортного уровня прекрасно отражает его назначение — обеспечивать надежную сквозную передачу модулей данных протокола от отправителя к получателю. В целях поддержки этой функции Транспортный уровень часто присоединяет данные для выявления и исправления ошибок. Такие данные обычно занимают часть концевиков модулей данных протокола Транспортного уровня, где специальные значения, называемые контрольными суммами (checksums), высчитываются перед и после доставки данных, а затем сравниваются с целью подтверждения безошибочности передачи. Если контрольная сумма, подсчитанная при отсылке, совпадает с полученной локально, значит передача прошла без ошибок; в противном случае интеллектуальные протоколы Транспортного уровня запрашивают повторную передачу модулей данных.
Наконец, т. к. объем данных, который может быть послан от отправителя к получателю, произволен, но контейнеры, пересылающие эти данные из одного конца на другой, характеризуются фиксированным максимальным размером (известным под названием максимальной единицы передачи (Maximum Transmission Unit, MTU)), Транспортный уровень также курирует деятельность по сегментации (segmentation) и повторной сборке пакетов. В общих словах, сегментация заключается в преобразовании большого сообщения в пронумерованную последовательность порций данных, называемых сегментами, причем каждая порция олицетворяет максимальную полезную нагрузку, которую может выдержать сетевая среда при пересылке от отправителя к получателю. Аналогично в общих словах, термин "повторная сборка пакета" означает процесс размещения отосланных порций данных в изначальном порядке и использования их для воссоздания данных в том виде, в котором они существовали до сегментации.
Транспортный уровень имеет все необходимое для осуществления запросов на повторную передачу всех ошибочных или отсутствующих модулей данных протокола уже в процессе повторной сборки; таким образом гарантируется надежная доставка данных от отправителя к получателю. Далее в этой книге модули данных протокола, применяемые на Транспортном уровне, будут именоваться сегментами (segments) или сегментами данных (data segments).
Введение в TCP/IP
27
Сеансовый уровень
На Сеансовом уровне устанавливаются, поддерживаются и завершаются, а при необходимости обрываются текущие передачи между отправителем и получателем, и все это в чем-то напоминает телефонный разговор. Таким образом, Сеансовый уровень определяет механизмы, позволяющие отправителям и получателям требовать начала или окончания этого диалога, а также его сохранения даже тогда, когда во всех остальных отношениях информационный поток между двумя сторонами может не осуществляться.
В дополнение, Сеансовый уровень включает механизмы, предназначенные для надежной поддержки текущих диалогов и известные под названием контрольных точек (checkpoints). Они определяют крайнюю точку, при которой возможно признание передачи успешной, и подобную же точку, при которой необходим откат передачи для воспроизведения или восстановления (от воздействия отсутствующих или поврежденных данных) отсутствующих или поврежденных элементов. Более того, Сеансовый уровень определяет совокупность механизмов, посредством которых диалоги, выпадающие из синхронизации, могут быть синхронизированы повторно.
Основная задача Сеансового уровня состоит в том, чтобы поддерживать передачу между двумя объединенными в сеть системами, во время которой обычно происходит обмен сообщениями или модулями данных протокола (PDU). Хорошим примером, иллюстрирующим такой тип взаимодействия, может послужить вход пользователя в базу данных (стадия установки соединения), ввод нескольких запросов (стадия информационного обмена) и выход из нее (стадия обрыва).
Здесь модули данных протокола существуют во множестве типов (набор протоколов OSI опознает более 30 отдельных модулей); на этом уровне они так и называются —• сеансовые модули данных протокола (Session PDU, SPDU).
Уровень представления
Уровень представления отвечает за подачу (представление) данных в сеть (на пути вниз по стеку протоколов) и индивидуальной комбинации "ком-пьютер/приложение" (на пути вверх по стеку протоколов). Другими словами, Уровень представления управляет преобразованием данных из характерных форм, применяемых в сети, в более специфические, предназначенные для использования на определенных платформах (компьютерах), и наоборот. Именно такая схема делает возможным сетевое взаимодействие в корне различных типов компьютеров, которые могут по-разному представлять числа и символы.
В соответствии с соглашением на Уровне представления должно присутствовать специальное компьютерное устройство. Оно иногда называется редиректором (redirector) (в терминологии Microsoft) или сетевой оболочкой
28
Гпава 1
(network shell) (в терминологии Novel NetWare и UNIX). Как бы то ни было, задача этого устройства состоит в том, чтобы различать запросы на сетевые и локальные ресурсы и перенаправлять их на подходящие локальные или удаленные подсистемы. Это дает компьютерам возможность использовать для доступа к ресурсам единственную подсистему независимо от того, размещены ли эти ресурсы на локальной или удаленной машине, не проводя различие между типами ресурсов. В результате разработчикам становится проще проектировать приложения, которые могут при необходимости получать доступ к локальным и удаленным ресурсам. Доступ пользователей к ресурсам в равной степени облегчается, т. к. они могут просто запросить их, а способы удовлетворения этих запросов возложены на редиректор.
Уровень представления, кроме всего прочего, может поставлять приложениям специальные функции обработки данных, включая преобразование протоколов (когда приложения используют протоколы, отличные от тех, что применяются для сетевых соединений; такие случаи встречаются в электронной коммерции, базах данных и других транзакционных службах), шифрование данных (для исходящих сообщений), их расшифровку (для входящих сообщений), сжатие (для исходящих сообщений) или расширение (для входящих сообщений). В таких случаях, что бы ни делал Уровень представления на стороне отправителя, обратное действие необходимо совершить на стороне получателя, с тем чтобы оба участника передачи на определенном этапе располагали данными в одинаковом виде.
Как и в случае с Сеансовым уровнем, модули данных протокола на Уровне представления очень многочисленны; обобщенно они называются модулями данных представления (Presentation PDU).
Прикладной уровень
Хотя всегда сильно искушение приравнять Прикладной уровень к любому приложению, запрашивающему сетевые службы (а приложение всегда принимает участие в запросе доступа к сети), на самом деле он определяет не сами приложения, а интерфейс, который они могут применять для запроса сетевых служб. Таким образом, Прикладной уровень, по существу, характеризует типы служб, которые приложения могут запрашивать из сети, и обусловливает формы, принимаемые данными при получении сообщений от таких приложений, или отправке сообщений им.
Строго говоря, Прикладной уровень обусловливает набор средств управления доступом к сети, а именно определяет что именно приложения могут требовать от сети и какие виды деятельности данная сеть поддерживает. Здесь регламентируются полномочия доступа к определенным файлам и службам, а также права пользователей на выполнения соответствующих действий с конкретными элементами данных.
Введение в TCP/IP
29
Модули данных (PDU) Прикладного уровня обычно так и называются — модули данных Прикладного уровня (Application PDU).
Сетевая модель TCP/IP
Так как архитектура TCP/IP была разработана задолго до становления в 1980-х годах эталонной модели взаимодействия открытых систем (OSI), неудивительно, что конструктивная модель TCP/IP несколько отличается от эталонной модели OSI. На рис. 1.2 изображены уровни двух моделей OSI и более простой TCP/IP; там же устанавливается их соответствие уровням. Эти комплекты уровней похожи, но не идентичны. Причиной этого является то, что некоторые функции, связываемые с Сеансовым и Уровнем представления эталонной модеци взаимодействия открытых систем, заключены в Прикладном уровне TCP/IP; с другой стороны, некоторые аспекты Сеансового уровня первой модели присутствуют в Транспортном уровне второй.
Прикладной уровень
Уровень представления
Прикладной уровень
Сеансовый уровень
Транспортный уровень
Транспортный уровень
Сетевой уровень
Межсетовой уровень
Канальный уровень
Уровень доступа к сети
Физический уровень
Модель OSI
Модель TCP/IP
Рис. 1.2. Уровни эталонной модели взаимодействия открытых систем (OSI) и сетевой модели TCP/IP
В общем и целом, Транспортные уровни обеих моделей в значительной степени соответствуют друг другу, равно как и содержимое Сетевого уровня эталонной модели и Межсетевого уровня (Internet layer) модели TCP/IP. В большей или меньшей степени Прикладной уровень модели TCP/IP соответствует трем уровням эталонной модели OSI; Прикладному, Сеансовому и Уровню представления. То же касается Уровня доступа к сети модели TCP/IP, с одной стороны, и Канального и Физического уровней эталонной модели, с другой.
30
Глава 1
Уровень доступа к сета модели TCP/IP
Уровень доступа к сети модели TCP/IP иногда также именуется Сетевым интерфейсным уровнем. В любом случае, на этом уровне задействованы такие технологии локальных сетей (LAN), как Ethernet, маркерные кольца, беспроводные среды и устройства. Кроме того, здесь мы имеем дело с глобальными сетями (Wide-Area Networks, WAN) и протоколами управления соединениями: межсетевым протоколом для последовательного канала (Serial Line Internet Protocol, SLIP), протоколом двухточечного соединения (Point-to-Point Protocol, PPP) и протоколом X.25. Отклоняясь от терминологии, принятой в эталонной модели OSI для модулей данных протокола (PDU), такие модули на этом уровне называются дейтаграммами (datagrams), хотя в общем смысле они также могут именоваться пакетами.
На Уровне доступа к сети применяются сетевые стандарты Института инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE). В их числе — семейство стандартов IEEE 802, включающее, помимо прочих, следующие заслуживающие внимания компоненты:
□	802.1 по межсетевому обмену — общее описание функционирования межсетевого обмена (т. е. обмена данными между различными физическими сетями) для всего семейства стандартов 802;
□	802.2 по управлению логическим соединением (Logical Link Control, LLC) — общее описание установки и поддержки логического соединения между двумя устройствами в пределах одной физической сети;
□	802.2 по управлению доступом к среде (Media Access Control, MAC) — общее описание идентификации и получения доступа к интерфейсам сред передачи; включает схему создания уникальных адресов уровней управления доступом к среде (МАС) для всех интерфейсов сред;
□	802.3 по множественному доступу с контролем несущей и обнаружением конфликтов (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). CSMA/CD — это обозначение функционирования и поведения сетевой технологии, более известной как Ethernet. Это семейство также включает Gigabit Ethernet (802.3z) вместе с двумя разновидностями по скорости — 10 и 100 Мбит/с, хотя стандарт 802.12 называется "Высокоскоростная работа в сети";
□	802.5 по маркерным кольцам — общее описание функционирования и поведения сетевой технологии, разработанной в компании IBM и известной как маркерное кольцо (Token Ring).
Более подробную информацию о семействе стандартов IEEE 802 можно найти на Web-сайте Института инженеров (IEEE) по адресу http://www.ieee.org, находясь на котором, необходимо запустить поиск по ключу "802".
Введение в TCP/IP
31
Протоколы Уровня доступа к сети модели TCP/IP
Самые важные протоколы Уровня доступа к сети модели TCP/IP — SLIP и PPP. SLIP — это более старый и элементарный протокол для последовательного канала, поддерживающий только передачу, основанную на TCP/IP. Он описан в спецификации RFC 1055, а начинал свое существование в системах UNIX (в известной степени он используется в них и сейчас, особенно на старых версиях). Протокол SLIP не содержит встроенных возможностей по безопасности и не может обеспечить усовершенствованную доставку данных; на сегодняшний день он уже редко применяется для установления сетевых соединений с Internet и с частными сетями TCP/IP по последовательному каналу (например, телефонные линии или другие типы соединения по требованию).
РРР — это более современный протокол для последовательного канала, широко применяемый для соединений в сети Internet и в частных сетях TCP/IP. Он нейтрален по отношению к другим протоколам и может задействовать протоколы нескольких типов одновременно в течение одного соединения по последовательному каналу. Реализация протокола РРР в системах Windows обеспечивает в пределах одного соединения поддержку всех основных Windows-протоколов, а именно: TCP/IP, IPX/SPX (Internet Packet eXchange/Sequenced Packet exchange, межсетевой пакетный обмен/после-довательный пакетный обмен), NetBEUI (NetBIOS Enhanced User Interface, расширенный пользовательский интерфейс сетевой базовой системы ввода/ вывода), а также туннельные протоколы, как то РРТР (Point-to-Point Tunneling Protocol, двухточечный туннельный протокол) и другие протоколы виртуальных частных сетей (Virtual Private Network, VPN). Кроме того, эта реализация поддерживает множество других протоколов, включая AppleTalk и SNA (Systems Network Architecture, системная сетевая архитектура). В наше время РРР как протокол для последовательного канала предпочтителен. Основная причина кроется в том, что он поддерживает множество возможностей, касающихся обеспечения безопасности, в том числе шифрование регистрационной информации или всего трафика, проходящего по последовательному каналу, а также намного больший, чем SLIP, набор протоколов. Описание протокола РРР содержится в спецификации RFC 1661.
Функции Межсетевого уровня модели TCP/IP
Протоколы Межсетевого уровня модели TCP/IP отвечают за маршрутизацию между компьютерами в нескольких сетях, а также координируют сетевые имена и адреса, облегчающие эту деятельность. Чтобы быть точным, на Межсетевом уровне выполняются три важнейших для TCP/IP задачи.
□	Фрагментация MTU (максимальных единиц передачи). Когда по определенному маршруту данные передаются из сети одного типа в сеть другого
32
Глава 1
типа, их максимальные единицы передачи (MTU) — наибольшие объемы информации, доставку которых выдерживает сеть, —- могут различаться. При переходе из среды, поддерживающей большую максимальную единицу передачи, в среду, в которой эта единица меньше, данные.должны быть разбиты на меньшие блоки, соответствующие меньшей из единиц. Требуется, чтобы это преобразование было хотя бы однонаправленным (поскольку меньшие пакеты необязательно должны объединяться для прохождения по сети с большей максимальной единицей передачи), но оно должно быть выполнено в процессе передачи данных.
□	Адресация (Addressing). Здесь определяется механизм, посредством которого все сетевые интерфейсы в сети TCP/IP должны быть поставлены в соответствие с конкретными уникальными битовыми комбинациями, идентифицирующими каждый интерфейс в отдельности, а также сети (или даже культурные и языковые окружения сетей), к которым эти интерфейсы принадлежат.
□	Маршрутизация (Routing). Здесь определяется механизм пересылки пакетов от отправителя к получателю, в который могут быть вовлечены многочисленные промежуточные ретрансляторы. Эта функция объединяет не только процессы, делающие возможной успешную доставку, но также методы отслеживания ее эффективности и сообщения об ошибках при неудачной доставке или в случае появления других препятствующих факторов.
Таким образом, Межсетевой уровень осуществляет доставку данных от отправителя к получателю. Кроме того, при необходимости он переупаковывает данные в контейнеры меньшего размера, разрешает вопросы идентификации местоположения отправителя и получателя и способов доставки информации по сети из первого пункта во второй.
Протоколы Межсетевого уровня
Среди важнейших протоколов, функционирующих на Межсетевом уровне модели TCP/IP, есть следующие:
□	IP (Internet Protocol, протокол Internet ) направляет пакеты от отправителя к получателю;
□	ICMP (Internet Control Message Protocol, протокол контроля сообщений в сети Internet) контролирует маршрутизацию на основе протокола IP и поведение сети;
□	PING (Packet Internetwork Grouper, отправитель пакетов Internet) проверяет доступность и период кругового обращения между IP-адресами отправителя и получателя;
□	ARP (Address Resolution Protocol, протокол разрешения адресов) осуществляет преобразование IP-адресов в МАС-адреса (Media Access Control
Введение в TCP/IP
33
Address, адреса управления доступом к среде) в определенном сегменте кабеля (всегда применяемого для осуществления финального этапа доставки пакета);
О RARP (Reverse Address Resolution Protocol, протокол определения адреса по местоположению) преобразует МАС-адреса в числовые IP-адреса;
О ВООТР (Bootstrap Protocol, протокол загрузки) — это предшественник DHCP (Dynamic Host Configuration Protocol, протокола динамической конфигурации хоста), управляющего сетевым размещением IP-адресов и другими данными, связанными с IP-конфигурацией. Протокол ВООТР позволяет сетевым устройствам получать загрузочные и конфигурационные данные по сети, а не с локального дисковода;
□	RIP (Routing Information Protocol, протокол маршрутной информации) — это оригинальный базовый протокол маршрутизации для областей маршрутизации локальных объединенных сетей;
О OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов) — это широко распространенный протокол маршрутизации состояния канала для локальных или внутренних областей маршрутизации локальных объединенных сетей;
□	BGP (Border Gateway Protocol, пограничный межсетевой протокол) — это широко распространенный протокол маршрутизации, осуществляющий соединение с обычными магистралями сети Internet или с другими маршрутными доменами в этой сети, где многочисленные стороны совместно несут ответственность за формирование трафика.
Прочтя эту книгу, вы будете знать несколько больше об этих протоколах, как, впрочем, и о некоторых других. На данный момент нужно понять взаимосвязь между их именами, акронимами и основными функциями, а также запомнить, что все они являются сетевыми протоколами, действующими на уровнях 2 и 3 (ARP и RARP) или 3 (все остальные вышеперечисленные) эталонной модели взаимодействия открытых систем (OSI).
Функции Транспортного уровня модели TCP/IP
Устройства, действующие в сети Internet, обычно называют хостами (hosts); Транспортный уровень TCP/IP также иногда именуется двуххостовым, поскольку он подразумевает перемещение данных от одного хоста к другому. Основные функции протоколов транспортного уровня сводятся к обеспечению надежной доставки данных от отправителя к получателю, необходимой фрагментации исходящих сообщений перед их передачей и их повторной сборке перед доставкой на Прикладной уровень для последующей обработки. Таким образом, эталонная модель взаимодействия открытых систем (OSI) и модель TCP/IP в большей или меньшей степени соответствуют друг другу.
34
Глава 1
ПОКОЛЫ
jo портного уровня модели TCP/IP
На Транспортном уровне модели TCP/IP присутствуют два протокола: TCP (протокол управления передачей) и UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя). Эти транспортные протоколы существуют в двух вариантах: на основе соединений (connection-oriented) (TCP) и без установления соединения (connectioless) (UDP). Различие выражается в действиях протокола TCP по организации и поддержке соединения между отправителем и получателем перед отсылкой данных, получению положительного подтверждения об успешной их передаче или запроса на повторную пересылку отсутствующих или ошибочных данных. В то же время протокол UDP просто пересылает данные "оптимальными усилиями" и не выполняет последующей проверки после их получения.
Так как протокол TCP создает соединение и явно проверяет его работу, он называется протоколом на основе соединения. Поскольку протокол UDP таких проверок не совершает, он называется протоколом без установления соединения. Вследствие этого протокол TCP приобретает много большую надежность, однако в сравнении с UDP он представляется более медленным и громоздким. С другой стороны, это позволяет протоколу TCP обеспечивать гарантированные службы доставки на уровне протокола, чего UDP предложить не может.
неладной уровень модели TCP/IP
Прикладной уровень модели TCP/IP также известен под именем Уровня процессов (Process layer), поскольку именно на нем стек протоколов взаимодействует с приложениями и процессами на хостах. Пользовательские интерфейсы процесса или приложения также определяются здесь. Здесь же зачастую наблюдается перекрытие функций протоколов и служб. К примеру, протокол FTP (File Transfer Protocol протокол передачи файлов) и Telnet (сетевой теледоступ) все это специальные протоколы, основанные на TCP/IP; они определяют службы передачи файлов, терминальной эмуляции и т. д. Большая часть рассматриваемых в этой книге служб высокого уровня, основанных на TCP/IP, действует на Прикладном уровне модели TCP/IP.
Наиболее известные службы TCP/IP для транспортировки применяют протокол TCP, а не UDP (хотя есть и некоторые исключения, в том числе NFS (Network File System, сетевая файловая система)). Вне зависимости от вида транспортировки все службы высокого уровня пользуются Сетевым протоколом IP (именно поэтому на Сетевом и Межсетевом уровнях существуют отдельные протоколы, предоставляющие специализированные сетевые службы, такие как ICMP, ARP и RARP).
Введение в TCP/IP
35
Службы TCP/IP работают, находясь в зависимости от двух элементов, а именно:
1. Следуя терминологии UNIX, специальный "процесс приемника", называемый присоединенной процедурой или иначе демоном (daemon)), действует на сервере, обрабатывая входящие пользовательские запросы на определенные службы. На платформе Windows NT процесс INETINFO.EXE возникает на вкладке Task Manager's Processes при работе Web-сервера, IIS (Internet Information Server, информационный сервер Internet) или FTP-сервера (на UNIX-хосте служба FTP связывается с процессом под названием ftpd, а Internet-службы занимаются процессом inetd).
2. Для каждой службы TCP/IP существует свой адрес порта (port address), 16-битное число которого применяется для идентификации отдельного процесса или службы. Адреса в диапазоне от 0 до 1024 обычно именуются хорошо известными адресами портов (well-know port addresses) и связывают определенный адрес порта с соответствующей службой. К примеру, хорошо известный адрес порта FTP — порт 21. Далее в этой главы мы рассмотрим этот вопрос более подробно.
Любой демон или процесс приемника постоянно находится на боевом посту, ожидая попыток соединения с хорошо известным адресом (или адресами) порта, соответствующим его службам. Хорошо известный адрес порта часто меняется; именно поэтому иногда пользователь может наблюдать унифицированный адресатор ресурса (Uniform Resource Locator, URL), в котором после доменного имени определяется другой адрес порта. Таким образом, URL в виде http://www.lanw.com:8080/staff/etbio.htm указывает на необходимость использования альтернативного адреса порта 8080 вместо стандартного 80 для установления соединения.
После прибытия запроса на соединение выполняется процесс проверки приемника, чтобы убедиться в наличии запроса, т. е. разрешено ли его выполнение. Если это так, то для выполнения запроса либо создается другой временный процесс (на платформе UNIX), либо порождается отдельный поток выполняемых задач (на платформах Windows NT и Windows 2000). Такой процесс или поток длится столько времени, сколько требуется для обслуживания данного запроса пользователя; при этом для его выполнения применяется временный адрес порта в диапазоне от 1025 до 65 535. (Иногда службы используют четыре адреса порта, чтобы обе стороны могли одновременно отсылать и принимать данные.) Как только для выполнения запроса создается процесс или поток, процесс приемника или демон возвращается к исполнению своей первоочередной задачи по ожиданию дополнительных сервисных запросов.
36
Глава 1
Протоколы, службы, сокеты и порты TCP/IP
Вернемся на некоторое время к хронологии TCP/IP, рассматривавшейся ранее в этой главе. Вспомните, что реализация TCP/IP в версии 4.2BSD операционной системы UNIX обозначила веху в истории этих протоколов. Мы объясняли, что это обстоятельство открыло исследовательским и академическим сообществам преимущества и недостатки работы с TCP/IP.
На самом же деле, UNIX и TCP/IP связывает намного больше, чем этот случай успешной реализации. В течение продолжительного времени с момента своего формирования связь между TCP/IP и UNIX была сильна и продуктивна. Таким образом, реализация TCP/IP в UNIX не только значительно усовершенствовала сетевые возможности этой операционной системы; помимо этого, методы, употреблявшиеся для описания и настройки протоколов и служб TCP/IP в среде UNIX, стали нормой для TCP/IP вообще, даже когда в качестве операционной системы выступает не UNIX. В действительности (эта) терминология описывает, как обрабатываются впоследствии данные, переданные посредством TCP/IP на определенный хост сети.
На любом компьютере с TCP/IP в одно и то же время может работать множество приложений. Скажем, на многих настольных системах нормальной ситуацией является одновременная работа почтовой программы, браузера и FTP-клиента. В среде TCP/IP необходим механизм, позволяющий проводить различие между многочисленными приложениями, а также транспортные протоколы (TCP или UDP) для обработки множества исходящих потоков данных (из различных приложений) перед их передачей протоколу IP для адресаций и инструкций по доставке. Также необходимо обеспечивать обратный процесс для входящих данных. Входящий поток модулей данных протокола Транспортного уровня должен быть обследован и разделен, и результирующие сообщения доставлены соответствующему запрашивающему приложению.
Объединение различных источников исходящих данных в единый исходящий поток называется мультиплексированием (multiplexing); дробление входящего потока данных на отдельные блоки, доставляемые соответствующим приложениям, называется демультиплексированием (demultiplexing). Эта деятельность обычно осуществляется на Транспортном уровне, где исходящие сообщения также разделяются на блоки, соответствующие возможностям сетей, по которым они передаются, и где осуществляется повторная сборка входящих сообщений в нужном порядке из входящих блоков данных.
Чтобы упростить эту работу для идентификации отдельных протоколов, TCP/IP присваивает им соответствующие номера протоколов, а эти протоколы, в свою очередь, применяют номера портов для обозначения отдельных
Введение в TCP/IP
37
протоколов и служб Прикладного уровня. Эта методика зародилась в среде UNIX, где осуществлялась посредством ряда конфигурационных файлов; этот пример объясняет механизм возникновения методик во всех реализациях TCP/IP.
Для идентификации хорошо известных протоколов (well-known protocols) резервируются многочисленные номера портов. Хорошо известные протоколы (также в некоторых ситуациях называемые хорошо известными службами (well-known services)) назначают ряд чисел, представляющих крупные коллекции сетевых служб TCP/IP, некоторые из которых обеспечивают передачу файлов (FTP), эмуляцию терминала (Telnet) и работу электронной почты {SMTP — Simple Mail Transfer Protocol, POP3 — Post Office Protocol version 3 и IMAP — Internet Message Access Protocol). Хорошо известные и заранее установленные номера протоколов и портов описываются в документе RFC по стандартной нумерации (Assigned Numbers RFC). В системах UNIX эти значения определяются в двух текстовых файлах: номера протоколов — в файле /etc/protocols, а номера портов — в файле /etc/services.
Номера протоколов TCP/IP
В заголовке IP-дейтаграммы номер протокола представлен своим десятым байтом. (IP-дейтаграммы подробно рассматриваются в главе 3.) Это 8-битное значение указывает на то, какой протокол Транспортного уровня должен принимать доставку входящих данных. Полный список номеров протоколов в TCP/IP можно найти по адресу http://www.iana.org; мы же в табл. 1.1 воспроизведем первые 20 пунктов этого списка.
Таблица 1.1. Номера протоколов в TCP/IP
Номер	Акроним	Имя протокола
0	IP	Internet Protocol (протокол Internet)
1	ICMP	Internet Control Message Protocol (протокол контроля сообщений в Internet)
2	IGMP	Internet Group Management Protocol (межсетевой протокол управления группами)
3	CGP	Gateway-to-Gateway Protocol (межшлюзовой протокол)
4	IP	IP в IP (инкапсуляция)
5	ST	Stream (поток)
6	TCP	Transmission Control Protocol (протокол управления передачей)
7	UCL	User Control List (пользовательская управляющая таблица)
8	EGP	Exterior Gateway Protocol (внешний шлюзовой протокол)
38
Глава 1
Таблица 1.1 (окончание)
Номер	Акроним	Имя протокола
9	IGP	Any private Interior Gateway Protocol (любой частный протокол внутреннего шлюза)
10	BBN-RCC-MON	BNN ROC Monitoring (текущий контроль BBN RCC)
11	NVP-II	Network Voice Protocol (сетевой протокол передачи речевых сигналов)
12	PUP	Peripheral Update Protocol (протокол периферийного обновления)
13	ARGUS	ARGUS protocol (протокол ARGUS)
14	EMCON	Emergency Condition (аварийное состояние)
15	XNET	Cross Net Debugger (перекрестный сетевой отладчик)
16	CHAOS	Chaos protocol (протокол CHAOS)
17	UDP	User Datagram Protocol (протокол передачи дейтаграмм пользователя)
18	MUX	Multiplexing (мультиплексирование)
19	DON-MEAS	Distributed Computer Network Measurement Subsystems (измерительные подсистемы распределенных компьютерных сетей)
20	HMP	Host Monitoring Protocol (протокол текущего контроля хоста)
В системах UNIX в текстовом файле /etc/protocols отнюдь не должны содержаться все пункты документа RFC по стандартной нумерации. Для нормальной работы в этом файле должны идентифицироваться лишь протоколы, установленные и применяемые в конкретной UNIX-системе. Именно по этой причине в данной главе мы не приводим полный список номеров протоколов. Чтобы найти номера, соответствующие протоколам, используемым на вашей системе, посетите Web-сайт http://www.iana.org и ознакомьтесь с информацией о номерах протоколов.
( СоветД
Для поиска протоколов по акронимам или полным именам можно воспользоваться командой Find вашего браузера.
Номера портов TCP/IP
После того как протокол IP передает входящие данные протоколам TCP или UDP, работающим на Транспортном уровне, один из них должен выпол
Введение в TCP/IP
39
нить свои обязанности, а затем передать данные прикладному процессу (application process) (т. е. любой запущенной программе, принимающей данные от имени пользователя), которому они предназначались. Прикладные процессы TCP/IP иногда называют сетевыми службами (network services); они идентифицируются посредством номеров портов. Номер порта источника (source port number) является идентификатором процесса, отославшего данные, а целевой номер порта (destination port number) обозначает процесс, который должен их принять. Оба этих значения представляются в виде двух байт (16 бит) в первом слове заголовка любого сегмента TCP или пакета UDP. Поскольку номера портов являются 16-битными значениями, то в десятичном выражении они могут попасть в любое значение в диапазоне от О до 65 535.
Изначально номера портов до 256 были зарезервированы для хорошо известных служб, таких как Telnet и FTP, а значения от 256 до 1024 — для UNIX-служб. На сегодняшний день все адреса портов до 1024 представляют хорошо известные службы, но помимо них в диапазоне от 1024 до 65 535 существует множество так называемых зарегистрированных портов (registered ports), соответствующих отдельным прикладным службам. Опять же, внимательный просмотр содержимого сайта http://www.iana.org — это самый быстрый способ понять, что находится в этом обширном диапазоне адресов.
Сокеты TCP/IP
Хорошо известные и зарегистрированные порты соответствуют заранее установленным номерам портов, которые ассоциируются с отдельными сетевыми службами. Это облегчает процесс соединения "клиент-сервер", поскольку как отправитель, так и получатель соглашаются, что определенные службы связаны с конкретными адресами портов. В дополнение к этим согласованным номерам портов существует другой тип таких номеров — динамически назначаемые номера портов. Они не устанавливаются заранее; вместо этого они применяются, если в этом есть необходимость, для обеспечения временного соединения между отправителем и получателем, во время которого осуществляется ограниченный обмен данными. Это позволяет каждой системе поддерживать множество открытых соединений и присваивать каждому из них уникальный динамически назначаемый адрес порта (dynamically allocated port address). Они попадают в диапазон адресов от 1024, в котором каждый неиспользуемый номер порта может послужить для временного применения.
После применения клиентом или сервером для установления соединения хорошо известного адреса порта это соединение, оно называется сеансом (session), неизменно передается временной паре адресов сокетов, которая обеспечивает отсылку и получение адресов портов для дальнейшей связи между отправителем и получателем. Сочетание особого IP-адреса (для сер
40
Глава 1
вера, на котором выполняется процесс) и динамически назначаемого адреса порта (dynamically assigned port address) (где поддерживается соединение) называется адресом сокета (socket address) или просто сокетом (socket). Поскольку IP-адреса и динамически назначаемые адреса портов непременно уникальны, то и адрес сокета также уникален в масштабе всей сети Internet!
Инкапсуляция данных в TCP/IP
На каждом уровне стека протоколов TCP/IP — Сетевом, Транспортном, Межсетевом и Прикладном (на котором действует множество прикладных протоколов и служб, представленных одним или более хороню известным номером порта (well-known port numbers)) — исходящие данные упаковываются и предназначаются для доставки на более низкий уровень. С другой стороны, во входящих данных инкапсулированная информация, поступившая с более низкого уровня, не затрагивается вплоть до ее доставки на более высокий уровень.
/ Определение /
Инкапсуляция (encapsulation) — процесс размещения блоков данных одного уровня в блоки данных другого.
Таким образом, каждый модуль данных протокола обладает своим собственным открывающим компонентом — заголовком (header) или заголовком пакета (packet header), который идентифицирует используемый протокол, отправителя и предполагаемого получателя и другую информацию. Более того, многие модули данных протоколов включают характерный завершающий компонент — концевик (trailer) или завершитель пакета (packet trailer); он осуществляет проверку целостности данных, содержащихся в модуле, т. е. полезной нагрузки (payload). Заключение полезной нагрузки между заголовком и (необязательным) коцевиком определяет механизм инкапсуляции, в котором данные с более высокого уровня используются, а затем, перед передачей на нижестоящий уровень или отправкой по сетевой среде в каком-либо другом направлении, включаются в заголовок (а может быть, и в концевик).
Изучение непосредственного содержания любых передач по сетевым средам ("по проводам", как их иногда называют) требует понимания типичной структуры заголовков и концевиков, а также умения осуществлять повторную сборку данных, пересылаемых по сети по стеку протоколов, придавая им форму, близкую к оригинальной. В двух словах, эта деятельность обозначается как анализ протоколов; именно об этом пойдет речь в оставшейся части этой главы.
Введение в TCP/IP
41
По поводу анализа протоколов
Анализ протоколов (protocol analysis) или сетевое планирование (network analysis) — это процесс, предполагающий внедрение в систему сетевых сообщений, перехват проходящих по сети пакетов, отслеживание сетевой статистики и расшифровку (decoding) пакетов в читаемую форму. По существу, анализатор протоколов (protocol analyzer) "подслушивает" сетевые сообщения. Многие анализаторы протоколов также могут пересылать пакеты — это полезная функция при тестировании сети или устройства. Анализ протоколов осуществляется посредством программного или аппаратно-программного продукта, который установлен на настольный или портативный компьютер.
Среди анализаторов протоколов, работающих в среде Windows, очень популярны два: EtherPeek for Windows (производитель — WildPackets, Inc.) и Sniffer Network Analyzer (производитель — Network Associates). Демо-версия первого из них содержится на сопровождающем эту книгу компакт-диске.
Обычные роли анализаторов протоколов
Анализаторы протоколов часто применяются для поиска и локализации неисправностей в сетевых процессах передачи информации. Обычно анализаторы помещаются в сети и настраиваются на захват проблемных последовательностей сообщений. Считывая пакеты, проходящие через кабельную систему, можно выявить дефекты и ошибки этого процесса.
К примеру, если Web-клиент не может подсоединиться к определенному Web-серверу, анализатор протоколов можно применить для перехвата передачи. Экспертиза этой передачи выявляет процессы, используемые клиентом для распознавания IP-адреса Web-сервера, определения аппаратного адреса локального маршрутизатора (router) и подачи Web-серверу запроса соединения.
/ Определение /
Маршрутизатор (router) — средство, реализуемое программно или программноаппаратно и служащее для определения маршрута передачи данных между узлами и терминалами сети.
Кроме того, анализаторы протоколов можно применять для тестирования сетей. Тестирование может осуществляться как пассивно (этот способ предполагает простое ожидание необычных передач), так и активно, посредством передачи пакетов в сеть. Например, если брандмауэр (firewall) настроен на запрещение вхождения определенного типа трафика в локальную сеть, анализатор протоколов может прослушивать трафик, проходящий через брандмауэр, в ожидании недопустимой информации. Помимо этого, анали
42
Глава 1
затор можно настроить так, чтобы он отсылал брандмауэру тестовые пакеты, определяя, будет ли он пропускать недопустимую информацию.
I Определение |
Брандмауэр (firewall) — устройство, вычислительная система или комбинация систем, служащая для создания защитного барьера между двумя или ббльшим количеством сетей и предотвращения нежелательного вторжения в частную сеть.
Анализаторы протоколов также используются для выявления общих тенденций производительности сетей. Большинство анализаторов имеют возможность отслеживать краткосрочные и долгосрочные тенденции сетевого трафика. Среди показателей могут быть такие, как использование сети, число пакетов в секунду, распределение размеров пакетов, применяемые протоколы и т. д. Администратору такая информация может понадобиться для осуществления текущего контроля мелких изменений в работе сети. К примеру, сеть, перенастроенная на поддержку DHCP-адресации, характеризуется большими показателями широковещания (broadcast), что объясняется процессом исследования DHCP. Чтобы узнать больше о протоколе DHCP, обратитесь к главе 8.
В этой книге анализатор протоколов употребляется в качестве учебного инструмента. Мы исследуем различные пакетные структуры и последовательности сообщений, применяемые в сетях TCP/IP. Один из программных анализаторов протоколов присутствует на сопровождающем компакт-диске. По вопросам содержания этого диска обращайтесь к приложению 5.
Анализаторы производятся для множества платформ, включая Windows 95, Windows 98, Windows NT, Windows 2000, UNIX, Linux и Macintosh. Список распространенных анализаторов содержится в документе Protocol Analyzer Vendors (производители анализаторов протоколов) на сопровождающем компакт-диске в каталоге List.
Элементы анализатора протоколов
На рис. 1.3 изображены основные элементы анализатора протоколов. В разных анализаторах реализованы различные возможности и функции, но эти элементы являются базовыми в большинстве современных анализаторов.
Основными элементами являются:
□	Карта и драйвер "беспорядочного" режима (promiscuous mode)
□	Фильтры пакетов (packet filters)
□	Буфер слежения (trace buffer)
□	Расшифровщики (decodes)
□	Аварийные сигналы (alarms)
□	Статистика (statistics)
Введение в TCP/IP
43
Кабель
Рис. 1.3. Элементы анализатора протоколов
Карта и драйвер "беспорядочного" режима
Как показано на рис. 1.3, пакеты входят в систему анализатора из сети, к которой анализатор подключен посредством сетевой интерфейсной карты (network interface card, NIC). Эта карта и драйвер, применяемый анализатором, должны поддерживать работу в "беспорядочном" режиме (promiscuous mode operation). Карта, функционирующая в этом режиме, имеет возможность перехватывать широковещательные (brodcast), многоадресные (multicast) и однонаправленные пакеты (unicast packets), посылаемые другим устройствам, а также пакеты с ошибками. К примеру, анализатор, оснащенный картой и драйвером, работающими в "беспорядочном" режиме, может обнаруживать конфликтные фрагменты Ethernet (Ethernet collision fragments), пакеты завышенного размера (oversized packets), маломерные пакеты (undersized packets), также называемые "коротышками" (runts), а также пакеты, недопустимо завершающиеся.
Последняя из перечисленных групп типов данных характеризуется ошибками передачи; в нормальной ситуации она игнорируется сетевой интерфейсной картой вне "беспорядочного" режима. Конфликтный фрагмент Ethernet (Ethernet collision fragments) — это испорченный трафик, появляющийся в сети, когда два пакета, передающихся практически одновременно, наталкиваются друг на друга, порождая случайный набор сигналов. Конфликты учащаются по мере увеличения объема трафика, и в этой связи важно обладать статистическими данными об этих инцидентах. Пакеты завышенного размера превышают значение максимальной единицы передачи (MTU) в применяемой сети и обычно служат признаком неких проблем с сетевой
44
Глава 1
интерфейсной картой или ее драйверами. Маломерные пакеты, также известные под названием "коротышки", не отвечают требованиям по минимальному размеру пакетов и также указывают на потенциальные проблемы с аппаратной и программной частью. Пакеты, недопустимо завершающиеся, некорректно закрываются; причиной этому может быть как их усечение, так и, в очередной раз, проблемы с интерфейсной картой или драйверами. (Более подробная информация содержится в спецификациях IEEE 802.3 по адресу http://www.ieee.org.)
Многие продаваемые напрямую сетевые карты и драйверы могут работать в "беспорядочном" режиме и рекомендуются производителями анализаторов. Что касается анализатора EtherPeek for Windows, демонстративная версия которого содержится на сопровождающем эту книгу компакт-диске, то он может показывать ошибки только при использовании специального драйвера Digital, поставляемого в комплекте с полной версией этого продукта, а также совместимой сетевой интерфейсной картой (NIC).
Список совместимых сетевых интерфейсных карт для анализатора EtherPeek for Windows имеется в наличии на Web-сайте WildPackets по адресу http://www.wildpaekets.eom/support/hardware/etherpeek_wm#later.
^3 Примечание
Поскольку в этой книге внимание не фокусируется на ошибках передачи данных, устанавливать драйвер EtherPeek не нужно. Тем не менее, необходимо удостовериться в использовании совместимой сетевой интерфейсной карты (NIC).
Фильтры пакетов
На рис. 1.3 показаны пакеты, проходящие через фильтр пакетов (packet filter). Этот фильтр определяет типы пакетов, захватываемые анализатором. К примеру, если вам любопытно, какого типа широковещание (broadcasts) имеет место в сети, можно настроить фильтр таким образом, чтобы захватывать только широковещательные пакеты. Когда фильтры применяются к входящим пакетам, они обычно именуются фильтрами захвата (capture filters) или предварительными фильтрами (pre-filters).
Кроме того, фильтры можно применять к наборам пакетов после их захвата. Это позволяет создавать подмножества интересующих пакетов, которые просматривать легче, чем целый набор. К примеру, если фильтр был настроен на захват широковещательных пакетов, и на самом деле было захвачено 1000 таких пакетов, для создания подмножества можно применить второй фильтр (фильтр отображения), основанный на конкретном исходном адресе. Это может уменьшить количество пакетов, которые необходимо просмотреть, до разумной величины.
Введение в TCP/IP
45
Фильтры могут основываться на множестве характеристик пакета, включая следующие, но не ограничиваясь ими:
П исходный адрес передачи данных;
П адрес назначения передачи данных;
□	исходный 1Р-адрес;
□	IP-адрес назначения;
П приложение или процесс.
Выполняя задание 7.5 в конце этой главы, вы будете создавать фильтр для захвата IP-пакетов.
Буфер слежения
Пакеты прибывают в буфер слежения (trace buffer) анализатора — область хранения пакетов, скопированных из сети. Обычно это область в памяти, однако некоторые анализаторы позволяют сохранять пакеты прямо на диск. Пакеты в буфере слежения можно либо просматривать сразу после их захвата, либо сохранять для просмотра в последующем.
Во многих анализаторах размер буфера слежения по умолчанию имеет размер 4 Мбайт. В большинстве случаев такой размер достаточен для выполнения большинства задач анализа. Подумайте, сколько 64-байтовых пакетов могут уместиться в 4-мегабайтовом буфере слежения.
Примечание jj
Демо-версия анализатора EtherPeek for Windows, записанная на сопровождающий эту книгу компакт-диск, может содержать в буфере слежения не более 250 пакетов.
Расшифровщики
Расшифровщики (decodes) применяются к пакетам, захваченным в буфер слежения. Они позволяют просматривать пакеты в читаемом формате и интерпретируют поля и значения пакетов. Расшифровщики — это средства преобразования пакетов.
Например, расшифровщики могут разделять все поля IP-заголовка в пакете, определяя исходный IP-адрес и IP-адрес назначения, а также назначение пакета. На рис. 1.4 показано различие между нерасшифрованным (в нижней части окна) и расшифрованным (в верхней части) вариантами просмотра пакета.
46
Глава 1
i.ф Timestamp:
13:32:19.231000 12/05/2000
111 li(«i IM 1 H«» i«b»i :

Destination: 00:20:78:ВО:24:4F
Source:	00:00:C5:7B:62:64 NorthPoint 10a DSL Router
Protocol Type:0x0800 IP
Й- ’V3IP Header ~ Internet Protocol Datagram
;.ф	Version:
i	J...	Ф........
i	I..*
;	;..Ф
!. Ф
1\тог2а«22 Zhroughpu t

Header’ Length:
Type at Service: Precedence: Roufciwe, Total Length:
4
S (20 bytes} 100000000
Normal 2?е2ау, 1500
0:	t’O ZU	*0	А *	ив	НО	ио	пр		ДУ	64 «а ПО ,45 00
16:	05 DC 37 В8	00	00	35	06	30	АВ	CF	28 82 25 CF 21
32:	27 43 00 50	06	0F	60	F2	F8	6В	03	4Ь 08 65 50 10
48:	40 F2 33 26	00	00	27	2F	6С	69	62	72 61 72 73 2F
64:	74 6F 6F 6С	62	61	72	2F	65	6Е	2D	75 73 2F 6С 6F
	В-	Ч;
».74..5.0....l. !	;
.С.Р..'^.к.И.еР.
Q£.4/library/ toolbar/еп-us/lo ,tli
Рис. 1.4. Расшифрованный (в верхней части) и нерасшифрованный (в нижней части) пакеты
Аварийные сигналы
Во многих анализаторах существует набор настраиваемых аварийных сигналов (alarms), указывающих на появление необычных сетевых событий или ошибок. Ниже перечислены некоторые типичные аварийные сигналы, присутствующие в большинстве анализаторов:
□	избыточное широковещание;
□	превышение порога использования;
□	отказ в выполнении запроса;
□	сервер не функционирует.
Статистика
Многие анализаторы отображают статистику (statistics) сетевой производительности по таким параметрам, как текущее число пакетов в секунду или степень использования сети. Сетевые администраторы применяют эти данные для определения постепенных изменений в работе сети или внезапных пиков структуры сети. На рис. 1.5 изображена круговая диаграмма, сгенерированная анализатором EtherPeek for Windows. На ней представлено распределение в сети размеров пакетов. Это только один пример статистических данных, получение которых возможно в анализаторе.
Введение в TCP/IP
47
Рис. 1.5. Круговая диаграмма распределения размеров пакетов в сети, сгенерированная анализатором EtherPeek for Windows
Каждый анализатор характеризуется конкретным различным набором возможностей. Однако элементы, перечисленные в этом разделе, универсальны для большинства анализаторов. Для получения более подробной информации об элементах разных анализаторов обращайтесь к Web-сайтам их производителей; их адреса перечислены в документе Protocol Analyzer Vendors (производители анализаторов протоколов), присутствующем на сопровождающем эту книгу компакт-диске в каталоге List.
Размещение анализатора протоколов в сети
Анализатор протоколов может захватывать только те пакеты, которые он видит. В некоторых случаях анализатор в сети можно размещать ближе к интересующему устройству. В других случаях необходимо перенастроить сетевые устройства, чтобы гарантировать возможность захвата пакетов анализатором.
В сетях, участники которых объединены посредством концентраторов, анализатор можно размещать в любой позиции. В концентрированной сети весь трафик пересылается из всех портов.
В сетях, объединенных коммутаторами, анализатор распознает только многоадресные и широковещательные пакеты, пакеты, специально направленные устройству анализатора, а также исходные пакеты, адреса назначения которых еще не имеют идентифицированных портов (это обычно происхо
48
Глава 1
дит при запуске сети). По существу, есть три возможности анализа коммутируемых сетей:
□	перехват пакетов (hubbing out);
□	переадресация порта (port redirection);
□	удаленный мониторинг (remote monitoring, RMON).
Перехват пакетов'
Поместив концентратор между интересующим устройством (например, сервером) и коммутатором и подсоединив анализатор к концентратору, можно просматривать входящий и исходящий трафик этого сервера.
Примечание
Для анализа дуплексной передачи необходим дополнительный дуплексный делитель, часто именуемый ответвителем. Ответвитель эффективно дублирует все принимающие (RX) и передающие (ТХ) сообщения по единому принимающему каналу и отдает эти копии анализатору. Продукт Century Taps является примером дуплексного ответвителя. За дополнительной информацией обращайтесь по адресу http://www.finisar.com/virtual/virtual.php?virtual_id=52.
Переадресация порта
Многие коммутаторы могут быть настроены на переадресацию (а в действительности, на копирование) пакетов, перемещающихся от одного порта к другому. Поместив анализатор на порте назначения, можно отслеживать все диалоги, происходящие через интересующий порт. Производители коммутаторов называют этот процесс захватом порта (port spanning) или отражением порта (port mirroring).
Удаленный мониторинг (RMON)
При удаленном мониторинге (Remote Monitoring, RMON) используется протокол SNMP (Simple Network Management Protocol, простой протокол сетевого управления) для собирания данных о трафике на удаленном коммутаторе и отправки этих данных управляющему устройству. В свою очередь, управляющее устройство расшифровывает данные о трафике и даже может отображать полные расшифровки пакетов.
На рис. 1.6 изображены 3 стандартных метода анализа коммутируемой сети.
На рис. 1.6 анализатор, работающий по методу "парехвата пакетов", обозначен № 1, № 2 — анализатор, захватывающий пакеты из переадресованного порта, а № 3 — агент удаленного мониторинга, загруженный на коммутаторе.
Введение в TCP/IP
49
Коммутатор
Сервер! АнализатоР
Рис. 1.6. Три основных метода анализа коммутируемой сети
Более подробную информацию о технологии коммутации можно почерпнуть из книги Rich Seifert. "The Switch Book: The Complete Guide to LAN Switching Technology" (John Wiley & Sons; 1st Edition, June 27, 2000; ISBN: 0471345865).
Выводы по главе
□ Разработка TCP/IP диктовалась следующими задачами: 1) обеспечить поддержку многочисленных магистралей на основе коммутации пакетов проходящих через сеть, так чтобы передачи могли преодолевать все потенциальные неисправности; 2) позволить различным компьютерным системам свободно обмениваться данными; 3) предложить устойчивые, надежные службы доставки как на небольшие, так и на значительные расстояния; 4) предусмотреть комплексный сетевой доступ глобального масштаба. Хотя с момента изначальной реализации эти задачи пересматривались и видоизменялись, продолжительный успех TCP/IP в значительной степени объясняется следованием их целям.
□ Изначально реализация TCP/IP финансировалась Управлением перспективных исследовательских программ (ARPA), исследовательским отделом министерства обороны США. Вплоть до конца 1980-х сеть ARPANET, постепенно превратившаяся в то, что сегодня мы знаем под названием Internet, в значительной степени оставалась в руках правительства и поддерживалась государственным финансированием. Однако требования Министерства обороны того, чтобы во всех передачах в сети ARPANET применялись протоколы TCP/IP, а также практически одновременное включение TCP/IP в операционную систему 4.2BSD UNIX в 1983 году, способствовали тому, что понятия TCP/IP и Internet на сегодняшний день стали почти синонимами.
3 Зак. 321
50
Глава 1
□	Хотя правительство США теперь принимает незначительное участие в сообществе TCP/IP (являясь лишь одной из заинтересованных сторон), TCP/IP остается всеобщим достоянием, являясь открытым и общим для всех набором стандартов и наиболее удачных практических рекомендаций. Документы, определяющие стандарты и практические рекомендации для TCP/IP, называются RFC, а в процессе их создания, доработки и утверждения участвуют представители правительства, промышленности, исследовательских и учебных учреждений. Создание и руководство разработкой стандартов находится в компетенции проблемной группы проектирования сети Internet (IETF, Internet Engineering Task Force), а решение об их окончательном утверждении принимается в вышестоящем органе — Совете по архитектуре сети Internet (IAB, Internet Architecture Board). Хотя процесс создания таких стандартов справедливо называется "трудным соглашением", он эффективно обеспечивает определение сотен протоколов и служб, ежедневно применяемых в сети Internet.
□	Процесс утверждения стандартов RFC начинают со стадии предложения стандартов. После обсуждения и полемики, а также демонстрации того, что две или более отдельных эталонных реализации могут успешно взаимодействовать, документы RFC могут стать проектами стандартов. После последующих обсуждений, переработки и утверждения вышестоящей рабочей группы в пределах группы IETF проект передается в совет IAB для окончательного утверждения. После прохождения этой заключительной стадии проект становится стандартом RFC (иногда употребляется название Internet-стандарта).
□	Есть другой распространенный тип информационных (необязательных к исполнению) документов RFC, обозначающийся аббревиатурой ВСР (Best Current Practice, рекомендуемая современная практика). И хотя эти документы не имеют силы стандартов RFC, они содержат полезную информацию о лучших подходах к разработке, настройке, реализации и поддержке сетей TCP/IP и связанных с ними служб. По этим причинам документы ВСР обладают высоким авторитетом; для сетевых администраторов они могут стать ценными руководствами, помогающими добиться максимальной эффективности сетей TCP/IP.
□	Вообще, организация сетей — это большая и сложная проблема, которая проще решается, будучи разделенной на ряд меньших, менее сложных, но взаимосвязанных проблем. Сетевая эталонная модель ISO/OSI разбивает сеть на семь отдельных уровней, позволяющих отделить вопросы, касающиеся аппаратной части, сред и передачи сигналов, от вопросов, связанных с программным обеспечением и службами. Подобным образом эта модель позволяет различать работу программной части на основе сообщения компьютера с компьютером, контроля отправки данных от любого отправителя к любому получателю, перемещения по сети крупных объемов информации, а также решения различных вопросов, связанных с
Введение в TCP/IP
51
текущими передачами, форматами данных и интерфейсами приложений для доступа к сети. TCP/IP применяет более старую и простую четырехуровневую модель, которая объединяет последние три проблемы в единый прикладной/служебный уровень, но в остальном очень похожа на модель ISO/OSI.
□ TCP/IP на разных уровнях использует множество методов инкапсуляции, которые предназначены для обозначения типов данных, содержащихся в модулях данных протокола (т. е. полезной нагрузке). TCP/IP также применяет техники нумерации для идентификации хорошо известных протоколов на нижних уровнях (номера протоколов) и для обеспечения быстрого доступа к хорошо известным приложениям и службам на высших уровнях (хорошо известные порты). Когда клиент посылает на сервер запрос, требующий текущего обмена информацией, процесс приемника на сервере создает временное соединение, сочетающее числовой IP-адрес компьютера с определенным адресом порта для вовлеченного процесса (он называется адресом сокета). Этим гарантируется доступность нужного процесса на нужном компьютере для отправляющей или принимающей стороны.
□ Анализ протоколов — это процесс, посредством которого сетевой интерфейс исследует весь трафик, проходящий через сегмент сетевой среды. Анализаторы протоколов — это программные продукты, которые осуществляют эту деятельность и могут захватывать не только "полезный" (нужным образом сформированный), но и ошибочный или плохо сформированный трафик. Это позволяет анализаторам протоколов характеризовать сетевой трафик на описательной основе (применяемые протоколы, активные адреса станций, диалоги, участвующие стороны), равно как и на статистической (процент ошибок, процентное содержание трафика, проходящего через протокол, пиковые нагрузки, спады, средние нагрузки и т. п.). Большая часть оставшегося текста касается сопоставления актуальных и теоретических проблем протоколов TCP/IP со слежением и расшифровкой (форматированным содержимым пакетов); это помогает увидеть, как сочетаются теория и практика.
Основные термины
4.2BSD — BSD (Berkeley Software Distridution) — версия операционной системы UNIX, выполненная в Калифорнийском университете; в ней был впервые реализован стек TCP/IP.
AppleTalk — собственный стек протоколов для компьютеров Apple Macintosh.
Archie — архивный протокол на основе TCP/IP, работающий с базами данных и анонимными каталогами FTP в сети Internet, в которых пользова
52
Глава 1
тели могут производить поиск по именам файлов и сопутствующим заголовкам.
ARP (Address Resolution Protocol, протокол разрешения адресов) — этот протокол Сетевого уровня преобразует числовые IP-адреса в соответствующие МАС-адреса; это необходимо для передачи фреймов от одной машины к другой в пределах одного сегмента кабеля или подсети.
ARPA (Advanced Research Projects Agency, Управление перспективных исследовательских программ) — агентство в рамках Министерства обороны США, которое финансировало передовые исследования в области компьютерных технологий.
ARPANET — экспериментальная сеть, разработка которой финансировалась Управлением перспективных исследовательских программ США (ARPA); предназначалась для проверки возможности реализации надежной межплатформенной магистральной объединенной сети; явилась предтечей сегодняшней сети Internet.
AUP (Acceptable Use Policy, правила пользования сетью) — официальный документ, выражающий политику, которая определяет виды сетевой деятельности или использования систем, допустимые для всего сообщества пользователей.
ВСР (Best Current Practice, рекомендуемая современная практика) — специальная разновидность документов RFC, описывающая оптимальные способы проектирования, реализации и эксплуатации сетей на основе TCP/IP.
BGP (Border Gateway Protocol, пограничный межсетевой протокол) — широко распространенный протокол маршрутизации, который подсоединяется к общим магистралям сети Internet (к примеру, к поставщикам доступа в Internet) или другим маршрутным доменам сети Internet, в которых ответственность за управление трафиком разделена между множеством сторон. Протокол BGP, заменивший внешний шлюзовой протокол (Exterior Gateway Protocol, EGP), описывается в документе RFC 1163.
ВООТР (Bootstrap Protocol, протокол загрузки) — протокол 3-го или межсетевого уровня модели TCP/IP, обеспечивающий бездисковым рабочим станциям возможность получения сетевого доступа и образа операционной системы во время загрузки.
broad packet (широковещательный пакет) — тип сетевой передачи, предназначенной для получения всеми устройствами в данной сети. Широковещательным адресом сети Ethernet является OxFF-FF-FF-FF-FF-FF.
broadcast (широковещание) — специальный тип сетевых передач (и адресов), которые должны считываться всеми адресатами в пределах локального сегмента кабеля; способ достижения всех адресов в любой отдельно взятой сети.
Введение в TCP/IP
53
CERN (Centre European Researche Nucleaire, Европейский центр по ядерным исследованиям) — работая в этой организации, Тим Бернерс-Ли в 1989— 91 годах разработал протоколы и службы, определившие развитие Всемирной паутины.
CIX (Commercial Internet eXchange, биржа коммерческого информационного обмена) — ранний консорциум коммерческих пользователей Internet, работа которого способствовала началу электронной коммерции и обмена деловой информацией в этой сети.
connectionless (без установления соединения) — тип сетевого протокола, не пытающийся побудить отправителя и получателя обмениваться информацией об их доступности и способности взаимодействовать друг с другом; этот метод также называется "доставкой без обязательств".
connection-oriented (на основе соединений) — тип сетевого протокола, базирующийся на явных сообщениях и согласованиях между отправителем и получателем, направленных на координацию передачи данных между ними.
CSMA/CD (Carrier Sense Multiple Access with Collision Detection, множественный доступ с контролем несущей и обнаружением конфликтов) — официальное название метода разрешения конфликтов, применяемого в Ethernet; смысл CSMA состоит в том, чтобы "прослушать перед попыткой отправить" (убедиться в том, что более позднее сообщение не накладывается на более раннее) и "прослушивать во время отправки" (гарантировать отсутствие конфликтов между сообщениями, отправленными примерно в одно время).
DHCP (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста) — сетевая служба и протокол Прикладного уровня TCP/IP, обеспечивающий выделение и доставку адресов TCP/IP и сопутствующей конфигурационной информации клиентам, для которых в противном случае было бы необходимо статическое назначение такой информации. По этой причине применение DHCP очень удобно как для пользователей, так и для администраторов сети.
DISA (Defense Information Systems Agency, агентство по оборонным информационным системам) — агентство в рамках Министерства обороны США, в 1983 году принявшее от ARPA управление сетью Internet.
Ethernet — протокол сетевого доступа на основе контроля несущей, параллельного доступа и обнаружения конфликтов.
FTP (File Transfer Protocol, протокол передачи файлов) — служба и протокол Прикладного уровня TCP/IP, обеспечивающие сетевую передачу файлов между клиентом и сервером.
Gopher — протокол и служба Прикладного уровня TCP/IP, обеспечивающие доступ к различным типам индексированного текста и другим типам
54
Глава 1
данных в сети, предшествующие Всемирной паутине и представляющие ее содержимое в виде иерархически структурированного перечня файлов.
HTTP (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов) — протокол и служба Прикладного уровня TCP/IP, обеспечивающие доступ к Internet.
IAB (Internet Architecture Board, координационный совет сети Internet) — организация в рамках Общества Internet (ISOC), координирующая деятельность организаций IETF и IRTF и принимающая окончательные решения об утверждении стандартов Internet.
ICANN (Internet Corporation for Assigned Names and Numbers, организация по присвоению имен и номеров в сети Internet) — организация в рамках Общества Internet (ISOC), ответственная за надлежащее распределение всех доменных имен и числовых IP-адресов в глобальной сети Internet; координирует регистрацию доменных имен в сотрудничестве с частными компаниями — так называемыми "регистраторами имен", а при управлении назначением числовых IP-адресов взаимодействует с поставщиками услуг Internet.
ICMP (Internet Control Message Protocol, протокол управляющих сообщений сети Internet) — протокол Сетевого уровня, который используется для выполнения технологических функций в сети Internet.
IEEE (Institute for Electrical and Electronic Engineers, Институт инженеров по электротехнике и электронике) — международная организация, устанавливающая стандарты для любого электротехнического и электронного оборудования, включая сетевые интерфейсы и коммуникационные технологии.
IEEE 802.x — проект, выполненный Институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE) в 1980 году, охватывающий Физический и Канальный уровни сетевых технологий вообще (802.1 и 802.2), а также отдельных технологий, таких как Ethernet (802.3), маркерное кольцо (802.5) и др.
IETF (Internet Engineering Task Force, проблемная группа проектирования Internet) — организация в рамках Общества Internet (ISOC), ответственная за все ныне действующие стандарты Internet, протоколы и службы; кроме того, управляет разработкой и обслуживанием документов RFC.
IMAP (Internet Message Access Protocol, протокол доступа к сообщениям в сети Internet) — протокол обмена сообщениями на основе TCP/IP, позволяющий пользователям содержать частные хранилища сообщений на почтовом сервере, получать доступ к своим сообщениям электронной почты и управлять ими с любой рабочей станции.
Internet-стандарт (Internet Standard) — документ RFC, определяющий правила, структуру и режим работы конкретного протокола или службы.
Введение в TCP/IP
55
InterNIC (Internet Network Information Center, информационный центр сети Internet) — квазигосударственное агентство, ранее ответственное за присвоение имен и номеров в сети Internet (теперь этим занимается ICANN).
IP (Internet Protocol, протокол Internet) — основной протокол Сетевого уровня стека TCP/IP; ответственен за маршрутизацию и доставку большей части реальных данных в сетях на основе TCP/IP. См. также IPv4 (протокол Internet версии 4).
IPv4 (Internet Protocol version 4, протокол Internet версии 4) — текущая версия протокола IP, на сегодняшний день очень широко распространенная. (Новая версия, IPv6, в настоящее время находится в стадии разработки; ее спецификация завершена лишь частично, а распространение пока незначительно.)
IPX/SPX (Internetwork Packet eXchange/Sequeiiced Packet eXchange, межсете-вой/последовательный пакетный обмен) — набор протоколов, связанный с ранними реализациями сетевой операционной системы Novell NetWare; в большинстве современных сетей стек TCP/IP вытеснил IPX/SPX.
IRTF (Internet Research Task Force, проблемная группа по исследованию сети Internet) — подразделение Общества Internet (ISOC), занимающееся перспективными исследованиями и разработками; непосредственное управление и координирование работой этой группы осуществляется организацией IAB.
ISO (International Standards Organization, Международная организация по стандартизации) — ассоциация организаций по стандартизации с центром в Женеве (Швейцария). Устанавливает стандарты в области информационных и коммуникационных технологий, сетевого оборудования и протоколов.
ISO/OSI (International Standards Organization Open Systems Interconnection, модель взаимодействия открытых систем Международной организации по стандартизации) — см. ISO u OSI
ISOC (Internet Society, Общество Internet) — вышестоящая организация, в ведении которой находятся все остальные структуры, определяющие функционирование сети Internet; ориентированная на пользователя и общедоступная, она требует участия конечных пользователей в определении будущих политики и направления развития сети Internet.
ISTF (Internet Societal Task Force, проблемная группа по общественному значению сети Internet) — подразделение Общества Internet (ISOC), занимающееся оценкой социального воздействия доступа в Internet; делает все возможное для того, чтобы наименее обеспеченные слои населения смогли как можно быстрее получить доступ к этой сети.
56
Глава 1
МАС-адрес (адрес управления доступом к среде) — специальный тип сетевого адреса, управляемый подуровнем Канального уровня, в обычной ситуации. заранее устанавливаемый для всех интерфейсов для их уникальной идентификации в любом сегменте сетевого кабеля (или виртуальном факсе). Организация ICANN контролирует присвоение производителями идентификаторов, обеспечивая уникальность таких адресов. Когда IP-фреймы передаются от одного интерфейса другому, адреса МАС-уровня отправителя и получателя применяются для воздействия на передачу.
MTU (Maximum Transmission Unit, максимальная единица передачи) — максимальный единичный блок данных, который может быть перемещен через конкретную сетевую среду (к примеру, размер такого блока в сети Ethernet составляет 1518 байт).
NCSA (National Center for Supercomputing Applications, национальный центр по применению суперкомпьютеров) — отделение Университета Иллинойса в Campaign-Urbana, в котором осуществляются исследования суперкомпьютеров; именно там в 1994 году был разработан первый графический Web-браузер Mosaic.
NetBEUI (NetBIOS Enhanced User Interface, расширенный пользовательский интерфейс сетевой базовой системы ввода/вывода) — реализация протоколов и служб NetBIOS, предпринятая компаниями IBM, ЗСот и Microsoft в 1980-х годах и до сих пор применяемая для базовой организации сетей в операционных системах Microsoft, IBM и др.
NetBIOS (Network Basic Input/Output System, сетевая базовая система ввода/ вывода) — высокоуровневый набор сетевых протоколов и служб, разработанный корпорацией Sytek для IBM в середине 1980-х годов и до сих пор широко используемый в сетевых операционных системах IBM, Microsoft И др.
NFS (Network File System, сетевая файловая система) — файловая система TCP/IP, распределенная по сети, позволяющая пользователям группировать файлы и каталоги на компьютерах, объединенных в сеть, таким образом, чтобы они рассматривались как расширения локальных файловых систем.
NSF (National Science Foundation, национальный научный фонд США) — Государственное агентство, осуществляющее контроль и поддержку научных исследований и разработок, финансируемых правительством. См. также NSFNET.
NSFNET (National Science Foundation Network, сеть национального научного фонда США) — общедоступная сеть, разработанная в национальном научном форде США в 1980-х годах для поддержки магистральной сети Internet.
Введение в TCP/IP
57
OSI (Open System Interconnection, взаимодействие открытых систем) — название межсетевой инициативы по разработке открытых стандартов, предпринятой в 1980-х годах преимущественно в Европе и изначально предназначавшейся для замещения TCP/IP. Технические и политические проблемы помешали осуществлению этой ожидаемой акции, однако эталонная модель ISO/OSI является результатом именно этой работы.
OSI (Open System Interconnection, взаимодействие открытых систем) — название межсетевой инициативы по разработке открытых стандартов, предпринятой в 1980-х годах преимущественно в Европе и изначально предназначавшейся для замещения TCP/IP. Технические и политические проблемы помешали осуществлению этой ожидаемой акции, однако эталонная модель ISO/OSI является результатом именно этой работы.
OSPF (Open Shortest Path First, протокол первоочередного открытия кратчайших маршрутов) — сложный протокол маршрутизации 3-го или Межсетевого уровня модели TCP/IP, применяющий информацию о состоянии канала для конструирования маршрутных топологических схем для локальных объединенных сетей и обеспечивающий возможности по выравниванию нагрузки.
PING (Packet Internetwork Groper, отправитель пакетов Internet) — протокол межсетевого уровня TCP/IP, использующийся для определения доступности удаленного хоста и измерения периода кругового обращения сообщений при отсылке данных от отправителя получателю.
POP3 (Post Office Protocol version 3, почтовый протокол версии 3) — протокол Прикладного уровня модели TCP/IP, поддерживающий загрузку входящих сообщений электронной почты с почтового сервера на почтовый клиент пользователя. При использовании POP3 клиенты обычно организуют сообщения на собственных компьютерах.
PPP (Point-to-Point Protocol, протокол двухточечного соединения) — протокол 2-го или Сетевого интерфейсного уровня модели TCP/IP, который позволяет клиенту и серверу, устанавливать канал связи, в котором могут помещаться несколько протоколов более высокого уровня, включая IP, AppleTalk, SNA, IPX/SPX, NetBEUI и т. д.; в настоящее время это наиболее широко используемый протокол для последовательного канала, обеспечивающий соединения с сетью Internet.
РРТР (Point-to-Point Tunneling Protocol, двухточечный туннельный протокол) — протокол 2-го или Сетевого интерфейсного уровня модели TCP/IP, позволяющий клиенту и серверу устанавливать безопасный, зашифрованный канал связи, который может вмещать любой тип трафика протокола РРР.
RARP (Reverse Address Resolution Protocol, протокол определения адреса по местоположению) — протокол 2-го уровня или Уровня доступа к сети
58
Глава 1
модели TCP/IP, преобразующий числовые IP-адреса в адреса МАС-уровня (для того чтобы подтвердить соответствия реальной личности отправителя заявленной). Этот протокол заменен другим — DHCP.
RFC (Requests for Comments, запросы на комментарии) — документы стандартов организации IETF, определяющие или описывающие лучшие методы и способы эксплуатации, предоставляющие информацию о сети Internet, специфицирующие протоколы или службы.
RIP (Routing Information Protocol, протокол маршрутной информации) — простой векторный сетевой протокол TCP/IP, применяемый для определения единственного пути между отправителем и получателем в локальной объединенной сети.
RMON (Remote Monitoring, удаленный мониторинг) — протокол Прикладного уровня модели TCP/IP, предназначенный для поддержки удаленного мониторинга и управления сетевыми устройствами, такими как концентраторы, серверы и маршрутизаторы.
SLIP (Serial Line Internet Protocol, межсетевой протокол для последовательного канала) — протокол для последовательного канала (только для IP), до сих пор применяемый для доступа к некоторым системам UNIX. Некогда SLIP был основным последовательным протоколом для двухточечного соединения по модему или другому устройству с пользовательского компьютера или из локальной сети к другой локальной сети, провайдеру доступа или другому пользовательскому компьютеру. Протокол SLIP поддерживает только протоколы TCP/IP и осуществляет лишь основные службы по разграничению. Именно поэтому в настоящее время он нечасто используется для подсоединения к сети Internet.
SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты) — протокол Прикладного уровня модели TCP/IP, управляющий передачей сообщений электронной почты от клиента к серверу, а также маршрутизацией сообщений от исходного сервера к серверу назначения.
SNA (Systems Network Architecture, системная сетевая архитектура) — название набора протоколов, разработанного в компании IBM для применения в ее собственных сетевых средах для универсальных вычислительных машин и мини-компьютеров.
SNMP (Simple Network Management Protocol, простой протокол сетевого управления) — протокол Прикладного уровня модели TCP/IP, обеспечивающий базовую регистрацию сетевых устройств и управление ими.
TCP (Transmission Control Protocol, протокол управления передачей) — надежный протокол на основе соединений, действующий на Транспортном уровне обоих моделей (TCP/IP и ISO/OSI) и дающий стеку протоколов TCP/IP первую часть его имени.
Введение в TCP/IP
59
TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол Internet) — название стека стандартных протоколов и служб, применяемых в сети Internet, состоящее из имен его двух важнейших составляющих: TCP и IP.
Telnet — протокол и служба Прикладного уровня модели TCP/IP, позволяющие клиенту одного сетевого хоста взаимодействовать с другим сетевым хостом таким образом, как будто один компьютер является терминалом, присоединенным к другому.
UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя) — оптимальный транспортный протокол стека TCP/IP без установления соединения; является альтернативой протоколу TCP.
URL (Uniform Resource Locator, унифицированный адресатор ресурса) — в терминологии сети Internet так называется адрес, определяющий протокол (http://), местоположение (доменное имя), каталог (/имя-каталога/) и имя файла (example.html); предназначен для направления запроса Web-браузеру на доступ к ресурсу.
VPN (Virtual Private Network, виртуальная частная сеть) — сетевое соединение (содержащее один или несколько объединенных в пакет протоколов) между определенными отправителем и получателем, при котором отсылаемая информация часто шифруется. VPN использует общедоступные сети (каковой является Internet) для доставки защищенной частной информации от отправителя к получателю.
WAIS (Wide Area Information Server, глобальный информационный сервер) — протокол и служба Прикладного уровня модели TCP/IP, предназначенная для предоставления поискового доступа к документам различного формата, включая текстовые документы, документы текстовых процессоров, базы данных и др.
Х.25 — стандартный набор протоколов, специфицированный в 1970-х годах Международным союзом телекоммуникаций (International Telecommunications Union, ITU) и предназначенный для пересылки дейтаграмм по общедоступным сетям передачи данных с коммутацией пакетов с использованием узкополосных медных телефонных линий с высоким уровнем помех. До сих пор распространен за пределами Северной Америки, где получение других видов двухточечных каналов WAN может быть проблематично.
Аварийный сигнал (alarm) — извещение о событиях или ошибках в сети. В контексте IP-защиты аварийный сигнал может оповещать об осуществлении попытки атаки.
Адрес порта (port address) — см. Номер порта.
Адрес сокета (socket address) — числовой адрес TCP/IP, связывающий числовой IP-адрес сетевого хоста (первые четыре байта) с адресом порта
60
Глава 1
определенного процесса или службы на этом хосте (последние два байта) для уникальной идентификации этого процесса в масштабах всей сети Internet.
Адресация (addressing) — метод присвоения уникального символического имени или числового идентификатора отдельному сетевому интерфейсу в сегменте сети; в результате адресации каждый такой интерфейс становится уникально идентифицируемым и адресуемым.
Анализ протоколов (protocol analysis) — процесс захвата пакетов из сети с целью сбора статистики передач, выявления тенденций и исследования последовательностей сообщений.
"Беспорядочный" режим (promiscuous mode) — режим функционирования сетевой интерфейсной карты и ее драйвера, предназначенный для захвата широковещательных и многоадресных пакетов, пакетов, отсылаемых другим устройствам, а также пакетов, содержащих ошибки.
Буфер слежения (trace buffer) — область в памяти или на жестком диске, выделенная для хранения пакетов, захваченных из сети анализатором протоколов.
Двухточечная передача (point-to-point transmission) — вид сетевой передачи, при которой пары устройств устанавливают канал связи для обмена данными друг с другом; это наиболее распространенный тип соединения, применяемый при сообщениях с поставщиками доступа к Internet.
Дейтаграмма (datagram) — базовый модуль данных протокола на уровне доступа к сети TCP/IP. Применяемая протоколами без установления соединения на Транспортном уровне, дейтаграмма просто добавляет заголовок к модулю данных протокола, предоставленному любым протоколом или службой без установления соединения Прикладного уровня, например, протокол UDP; именно поэтому протокол UDP часто называют службой дейтаграмм.
Декодирование (дешифрование) (decoding) — процесс интерпретации полей и содержимого пакета и представления их в читаемом формате.
Демон (daemon) — компьютерный процесс, предназначенный для "прослушивания" попыток соединения с одной или несколькими определенными сетевыми службами и передачи в'сех действительных попыток временным соединениям, также известным под названием сокетных попыток. Термин "демон" заимствован из известной физической концепции Кларка Максвелла.
Демультиплексирование (demultiplexing) — процесс разделения единого потока входящих пакетов и направления его компонентов различным активным процессам TCP/IP на основе сокетных адресов в заголовках TCP или UDP.
Введение в TCP/IP
61
Динамически назначаемый адрес порта (dynamically assigned port address) — временный номер порта протоколов TCP или UDP, выделяемый для того, чтобы клиент и сервер могли обмениваться данными во время активного соединения. Также называется динамическим номером порта.
Домен (domain) — 1. В сети Internet доменом называется любая совокупность иерархически организованных групп хостов, IP-адреса которых обычно (но необязательно) являются смежными. В качестве примеров можно привести международные домены .сот и .net, а также местные домены .fr (Франция) и ,uk (Великобритания). 2. В Windows NT и Windows 2000 доменом называется определяемая пользователем группа, в которую может входить множество компьютеров и рабочих групп.
Завершитель пакета (packet trailer) — см. концевик.
Заголовок (header) — часть модуля данных протокола, предшествующая его фактическому содержанию; обычно идентифицирует отправителя, получателя и применяемые протоколы; кроме того, содержит другую информацию, необходимую для организации контекста отправителя и получателя.
Заголовок пакета (packet header) — см. Заголовок.
Зарегистрированный порт (registered port) — номер порта протоколов TCP или UDP в диапазоне от 1024 до 65 535, связываемый с определенным протоколом или службой Прикладного уровня. Агентство по выделению имен и уникальных параметров протоколов Internet (IANA) размещает список зарегистрированных номеров портов на своем сайте по адресу http://www.iana.org.
Инкапсуляция (encapsulation) — вложение данных протоколов более высокого уровня между заголовком и (необязательным) концевиком текущего уровня в целях идентификации отправителя и получателя, а если это возможно, и для включения информации о проверке целостности данных.
Исторический стандарт (Historic Standard) — документ RFC, замененный более новой и современной версией.
Канальный уровень (Data Link layer) — 2-й уровень сетевой эталонной модели ISO/OSI; Канальный уровень обеспечивает надежную передачу данных через Физический уровень на отправляющем конце и проверяет надежность по прибытии данных на принимающем конце.
Контроль перегрузок (congestion control) — механизм TCP, также присутствующий в других протоколах, позволяющий сетевым хостам обмениваться информацией об их способности обрабатывать трафик некоей интенсивности; в результате отправители сокращают или увеличивают частоту и размер текущих сообщений.
62
Глава 1
Контрольная сумма (checksum) — специальное математическое значение, представляющее содержимое сообщения с предельной точностью, так что любое изменение этого содержимого повлечет за собой изменение контрольной суммы; она вычисляется до и после передачи данных, а затем два результата сравниваются; если они согласуются, передача данных признается безошибочной.
Контрольная точка (checkpoint) — точка во времени, в которой все состояние системы и ее информация фиксируются и сохраняются, так что при любом последующем повреждении системы или неудаче в соединении будет возможно восстановление в этой контрольной точке без дальнейшей потери данных или информации.
Конфликтный фрагмент Ethernet — дефектный сетевой трафик, представляющий собой бессвязную смесь сигналов, образованный в результате наложения двух пакетов, передаваемых примерно в одно время.
Концевик (trailer) — необязательная завершающая часть модуля данных протокола (PDU), обычно содержащая информацию о результатах проверки целостности данных в предшествующей части этого модуля.
"коротышки" (runts) — см. Маломерные пакеты.
Локальная сеть (local area network, LAN) — отдельный сегмент сетевого кабеля, подсеть или логическое сетевое сообщество, представляющее собой совокупность машин, имеющих возможность относительно прямого взаимодействия друг с другом (с помощью МАС-адресов).
Маломерные пакеты (undersized packets) — пакеты, размер которых меньше, чем требуется; обычно указывают на потенциальные проблемы с аппаратной частью или драйверами.
Маршрутизация (routing) — процесс, посредством которого пакет доставляется от отправителя получателю по известным путям (маршрутам) от отправляющей сети к принимающей сети.
Многоадресный пакет (multicast packet) — пакет, отправленный группе устройств, например — группе маршрутизаторов.
Модуль данных протокола (Protocol Data Unit, PDU) — на любом уровне сетевой модели модуль данных представляет собой пакет данных на текущем уровне, включающий заголовок и полезную нагрузку, а в некоторых случаях и концевик.
Мультиплексирование (multiplexing) — процесс, посредством которого множество отдельных потоков данных процессов Прикладного уровня объединяются для их передачи с помощью определенного транспортного протокола TCP/IP посредством протокола IP.
Набор протоколов (protocol suite) — именованное семейство сетевых протоколов, каковыми являются TCP/IP, IPX/SPX и NetBEUI; каждое такое семейство позволяет компьютерам осуществлять передачи по сети.
Введение в TCP/IP
63
Номер порта (port number) — 16-битное число, идентифицирующее либо хорошо известную прикладную службу, либо динамически назначаемый номер порта для временного обмена данными между отправителем и получателем посредством протоколов TCP или UDP.
Номер порта источника (source port number) — адрес порта для отправителя модуля данных протоколов TCP и UDP.
Номер порта назначения (destination port number) — адрес порта для входящего сообщения TCP/IP, идентифицирующего целевое приложение или процесс службы.
Номер протокола (protocol number) — 8-битный числовой идентификатор, связанный с определенным протоколом TCP/IP.
Одноранговые уровни (peer layer) — аналогичные по положению в протокольных стеках уровни в системах отправителя и получателя; принимающий уровень обычно выполняет операции, противоположные проделанным на отправляющем уровне (именно это делает такие уровни одноранговыми).
Отмененный стандарт (Retired Standard) — документ RFC, имевший силу стандарта, но утративший актуальность и замененный более новым.
Пакет (packet) — характерный термин для модулей данных протокола практически любого уровня сетевой модели; наиболее корректно его использование применительно к модулям данных 3-го или Межсетевого уровня модели TCP/IP.
Пакет завышенного размера (oversized packets) — пакет, превышающий значение максимальной единицы передачи (MTU) для данной сети; обычно является признаком неисправностей в сетевой интерфейсной карте или ее драйверах.
Повторная сборка пакета (reassembly) — процесс, применяемый на Транспортном уровне, посредством которого сообщения, разделенные на множество блоков для передачи по сети, заново собираются воедино в нужном порядке для доставки приложению на принимающем конце. Поле IP-заголовка Fragment Offset (смещение фрагментов) используется для идентификации последовательности фрагментов при сборке.
Полезная нагрузка (payload) — часть модуля данных протокола, содержащая информацию, предназначенную для получения приложением или протоколом более высокого уровня (в зависимости от положения модуля данных в стеке).
Предварительный фильтр (pre-filter) — тип фильтра данных, применяемый к необработанному входящему потоку в анализаторе протоколов, выбирающий только пакеты, соответствующие критериям захвата и сохранения; этот фильтр называется предварительным именно потому, что применяется еще до захвата данных.
64
Гпава 1
Предложенный стандарт (Proposed Standard) — промежуточный уровень для документов RFC перед их превращением в полноценные стандарты; для того, чтобы стать предложенным стандартом, проект стандарта должен пройти начальный пересмотр; кроме того, необходима демонстрация по крайней мере двух реализаций на его основе, успешно взаимодействующих между собой.
Прикладной процесс — системный процесс, представляющий определенный тип сетевого приложения или службы.
Прикладной уровень — самый верхний уровень эталонной сетевой модели ISO/OSI (и модели TCP/IP), на котором располагается интерфейс между стеком протоколов и самими приложениями.
Проект стандарта (Draft Standard) — стандарт RFC, прошедший стадию проектирования и утвержденный; чтобы такой документ стал стандартом Internet, необходимо показать, что на его базе две эталонные реализации могут работать совместно.
Протокол (protocol) — точный набор стандартов, управляющий передачами между компьютерами в сети. Многие протоколы действуют на одном или нескольких уровнях эталонной модели OSI.
Протокол без установления соединения (connectionless protocol) — протокол, который отправляет дейтаграммы без установления, управления и прочей обработки соединения между отправителем и получателем; транспортным протоколом без установления соединения является UDP.
Разделяй и властвуй (divide and conquer) — конструктивное решение, предполагающее разбиение комплексной и трудной проблемы на несколько менее крупных и менее сложных, но взаимосвязанных проблем, каждую из которых можно решить более или менее независимо от других.
Расшифровка (decode) — интерпретированное значение модуля данных протокола (или поля в рамках этого модуля), полученное анализатором протоколов или подобным пакетом программ.
Сеанс (session) — временный, но продолжающийся обмен сообщениями по сети между отправителем и получателем; кроме того, так называется уровень эталонной модели ISO/OSI, контролирующий такие обмены.
Сеансовый уровень (Session layer) — 5-й уровень эталонной модели ISO/OSI, отвечающий за установку, поддержку и прекращение текущих обменов сообщениями между парами хостов в сети.
Сегмент (segment) — название модуля данных для протокола TCP в среде TCP/IP.
Сегмент данных (data segment) — базовый модуль данных протокола TCP на Транспортном уровне. См. также Сегмент.
Введение в TCP/IP
65
Сегмент кабеля (cable segment) — любая отдельная совокупность сетевых сред и подсоединенных устройств, которые умещаются в пределах одной части кабеля, одного сетевого устройства, такого как концентратор, или виртуального эквивалента, такого как среда эмуляции локальной сети на коммутаторе.
Сегментация (segmentation) — процесс, посредством которого протокол TCP разбивает большое сообщение, превышающее по размеру максимальную единицу передачи текущей сетевой среды, на нумерованную последовательность блоков, размер которых меньше или равен максимальной единице.
Сетевая интерфейсная карта (Network Interface Card, NIC) — аппаратное устройство, позволяющее компьютеру подсоединяться к локальной сети и работать в ней.
Сетевая эталонная модель ISO/OSI — официальное название семиуровневой сетевой эталонной модели, предназначенной для характеристики функционирования сетей.
Сетевая эталонная модель — см. Сетевая эталонная модель ISO/OSI.
Сетевое планирование (network analysis) — то же, что анализ протоколов, но этот термин наводит меньше ужаса.
Сетевые службы (network services) — групповой термин TCP/IP, обозначающий сочетание протокола и службы, действующих на Прикладном уровне сетевой модели TCP/IP.
Сеть на основе коммутации пакетов (packet-switched network) — сеть, в которой пакеты данных могут отправляться по любому удобному пути между отправителем и получателем, которые идентифицируются посредством уникальных сетевых адресов; передача всех пакетов по одному пути необязательна (хотя именно так часто и происходит).
Сокет (socket) — см. Адрес сокета.
Стандарт (Standard) — документ RFC, официально утвержденный в качестве спецификации по определенному протоколу или сервису, называется Internet-стандартом или стандартом RFC.
Статистика (statistics) — краткосрочная или долгосрочная статистическая информация относительно сетевых передач и производительности сети, полученная в результате захватов, осуществленных анализатором протоколов или другим аналогичным программным продуктом.
Стек протоколов (protocol stack) — индивидуальная реализация набора протоколов на компьютере, включающая сетевой интерфейс, нужные драйверы, а также любые протоколы и службы, позволяющие компьютеру использовать определенный набор протоколов для осуществления передач по сети.
66
Глава 1
Транспортный уровень (Transport layer) — 4-й уровень сетевой эталонной модели ISO/OSI и 3-й уровень сетевой модели TCP/IP, отвечающий за доставку данных от отправителя к получателю.
Управление потоками в среде передачи (media flow control) — управление скоростью передачи данных между двумя устройствами по среде локальной сети, гарантирующее, что получатель сможет принять и обработать входной сигнал еще до того, как он прибудет от отправителя.
Уровень (leyer) — единичный компонент сетевой модели, отвечающий за определенный аспект сетевого доступа или связи.
Уровень представления (Presentation layer) — 6-й уровень эталонной модели ISO/OSI, на котором определенные сетевые форматы входящих данных преобразуются в форматы, характерные для конкретной платформы, а характерные исходящие данные, наоборот, преобразуются в сетевые форматы. Кроме того, на этом уровне могут работать службы необязательного шифрования (дешифрования) и сжатия (распаковки).
Уровень процессов (Process layer) — синоним Прикладного уровня модели TCP/IP, на котором функционируют высокоуровневые протоколы и службы, такие как FTP и Telnet.
Физический уровень (Physical layer) — 1-й уровень сетевой эталонной модели ISO/OSI, управляющий соединениями, передачами и интерфейсами — аппаратными и сигнальными требованиями.
Фильтр захвата (capture filter) — метод идентификации отдельных пакетов, которые, исходя из какого-либо параметра (например, адреса источника или назначения), нужно захватить в буфер слежения.
Фильтр пакетов (packet filter) — особая совокупность правил включения или исключения, применяемая к потоку сетевых пакетов и определяющая, какие элементы исходного входящего потока нужно захватывать (а что игнорировать).
Фильтры отображения — фильтры, применяемые к пакетам в буфере слежения с целью просмотра только тех из них, что представляют какой-либо интерес.
Фрейм (frame) — базовый модуль данных протокола на Канальном уровне , эталонной модели ISO/OSI.
Фрейм данных (data frame) — базовый модуль данных протокола на Канальном уровне; фрейм представляет собой то, что будет передано или получено сетевым интерфейсом в виде битовой комбинации.
Хорошо известная служба (well-known service) — синоним распознаваемого протокола или службы TCP/IP; эти назначения документируются на сайте организации IANA (http://www.iana.org).
Введение в TCP/IP
67
Хорошо известный адрес порта (well-known port address) — см. Хорошо известный номер порта.
Хорошо известный номер порта (well-known port number) — 16-битное число, которое идентифицирует заранее установленное значение, связываемое с какими-либо хорошо известными службой или протоколом Internet, действующими на Прикладном уровне TCP/IP. Большая часть хорошо известных номеров порта не выходит за пределы диапазона (0—1024), однако агентство по выделению имен и уникальных параметров протоколов Internet (IANA) (http://www.iana.org) также документирует зарегистрированные номера портов выше этого предела, функционирующие аналогичным образом.
Хорошо известный протокол (well-known protocol) — 8-битное число, присутствующее в заголовке IP-пакета и идентифицирующее используемый протокол согласно рекомендациям организации IANA (http://www.iana.org).
Хост (host) — в терминологии TCP/IP так обозначается любой компьютер или любое другое устройство (например, принтер), обладающее одним или несколькими действительными адресами TCP/IP (а следовательно, являющееся достижимым в рамках сети TCP/IP). Хостом также может быть компьютер, предоставляющий клиентам службы TCP/IP.
Широковещание (broadcast) — специальный тип сетевых передач (и адресов), которые должны считываться всеми адресатами в пределах локального сегмента кабеля; способ достижения всех адресов в любой отдельно взятой сети.
Широковещательный пакет (broadcast packet) — тип сетевой передачи, предназначенной для получения всеми устройствами в данной сети. Широковещательным адресом сети Ethernet является OxFF-FF-FF-FF-FF-FF.
Контрольные вопросы
1.	Что из нижеперечисленного выражает цели, послужившие мотивом разработки TCP/IP? (Выберите все подходящие ответы.)
а)	сильная сетевая архитектура;
б)	надежные механизмы доставки;
в)	возможность обмена данными между разнородными системами;
г)	поддержка соединений по протяженным линиям связи;
д)	высокая производительность.
2.	Какая версия протокола IP имеет на сегодняшний день наибольшее распространение?
a)	IPvl;
б)	IPv2;
68
Глава 1
в)	IPv4;
г)	IPv6.
3.	Какие из следующих эпохальных для TCP/IP событий произошли в 1983 году? (Выберите все подходящие ответы.)
а)	Национальный научный фонд запускает сеть NSFNET;
б)	Министерство обороны США провозглашает TCP/IP "официальным протоколом сети APRANET";
в)	TCP/IP реализуется в версии 4.2BSD операционной системы UNIX;
г)	начинается разработка технологии серверов имен.
4.	Какая из следующих организаций разрабатывает и поддерживает документы RFC?
a)	ISOC (Общество Internet);
б)	IAB (Совет по архитектуре Internet);
в)	IRTF (Проблемная группа по исследованию Internet);
г)	IETF (Проблемная группа по проектированию Internet).
5.	Какая из следующих организаций контролирует доменные имена и сетевые адреса в Internet?
a)	ICANN (Организация по присвоению имен и номеров в Internet);
б)	IETF (Проблемная группа по проектированию Internet);
в)	IRTF (Проблемная группа по исследованию Internet);
г)	ISOC (Общество Internet).
6.	Какой заголовок у документа RFC 2700?
а)	указатель официальных протоколов;
б)	указатель официальных протоколов сети Internet;
в)	официальные стандарты протоколов сети Internet;
г)	развитие стандартов сети Internet.
7.	Какой из следующих этапов должен пройти стандарт RFC для того, чтобы стать официальным стандартом? (Выберите все подходящие ответы и перечислите их в нужном порядке.)
а)	проект стандарта;
б)	исторический стандарт;
в)	предложенный стандарт;
г), отмененный стандарт;
д) стандарт (иногда называется Internet-стандартом).
Введение в TCP/IP
69
8.	Документы ВСР — это специальная разновидность стандартов RFC. Да или нет?
а)	да;
б)	нет.
9.	Перечислите семь уровней сетевой эталонной модели ISO/OSI в возрастающем порядке, начиная с первого.
а)	Прикладной уровень;
б)	Канальный уровень;
в)	Сетевой уровень;
г)	Физический уровень;
д)	Уровень представления;
е)	Сеансовый уровень;
ж)	Транспортный уровень.
10.	Какое из следующих утверждений отражает преимущества многоуровневого подхода к организации сетей? (Выберите все подходящие ответы.) а) он разделяет большую проблему на ряд меньших взаимосвязанных проблем;
б)	он позволяет изолировать отдельные уровни;
в)	он позволяет применять различные профессиональные знания для различных уровней;
г)	он позволяет отделить проблемы, связанные с программным обеспечением, от проблем, связанных с аппаратной частью.
11.	Какие термины обозначают компоненты модулей данных протоколов, присутствующие в каждом из них?
а)	заголовок;
б)	полезная нагрузка;
в)	контрольная сумма;
г)	концевик.
12.	Какие компоненты из нижеперечисленных действуют на Физическом уровне? (Выберите все подходящие ответы.)
а)	сетевые интерфейсные карты (NIC);
б)	сегментация и повторная сборка пакета;
в)	соединитель;
г)	кабели.
70
Глава 1
13.	Как обычно называют модули данных протоколов Канального уровня?
а)	фреймы;
б)	пакеты;
в)	сегменты;
г)	модули данных протоколов Канального уровня.
14.	Какие функции обеспечивает Сеансовый уровень?
а)	сегментация и повторная сборка пакета;
б)	открытие, поддержка и прерывание сеанса;
в)	средства управления контрольными точками;
г)	преобразования форматов данных.
15.	Какие из нижеперечисленных уровней сетевой модели TCP/IP в наибольшей степени соответствуют отдельным уровням сетевой эталонной модели ISO/OSI?
а)	Уровень доступа к сети TCP/IP;
б)	Межсетевой уровень TCP/IP;
в)	Транспортный уровень TCP/IP;
г)	Прикладной уровень TCP/IP.
16.	Какие два указанных ниже протоколов TCP/IP действуют на Транспортном уровне TCP/IP?
a)	ARP;
б)	РРР;
в)	TCP;
г)	UDP;
д)	XNET.
17.	В терминологии UNIX процесс приемника, действующий на сервере и обрабатывающий входящие запросы на службы, называется: а) приемник;
б)	монитор;
в)	демон;
г)	служба.
18.	Процесс объединения многочисленных исходящих потоков протоколов на Транспортном и Сетевом уровнях модели TCP/IP называется
а)	свертывание;
б)	мультиплексирование;
Введение в TCP/IP
71
в)	развертывание;
г)	демультиплексирование.
19.	В любой системе номера определяются только для фактически используемых протоколов. Да или нет?
а)	да;
б)	нет.
20.	Идентификация какого аспекта функционирования системы для входящих и исходящих данных протоколов является задачей номеров портов TCP/IP?
а)	применяемый протокол Сетевого уровня;
б)	применяемый протокол Транспортного уровня;
в)	отсылка и получение прикладного процесса;
г)	ни один из вышеперечисленных.
21.	Что из вышеперечисленного синонимично динамически назначаемому адресу порта, применяемому для обслуживания временного соединения TCP/IP для обмена данными?
а)	номер протокола;
б)	хорошо известный адрес порта;
в)	зарегистрированный адрес порта;
г)	адрес сокета.
22.	Какой из следующих процессов может произойти во время анализа протокола?
а)	вмешательство в сетевую передачу;
б)	захват пакетов из сети;
в)	сбор статистических данных;
г)	расшифровка пакетов в читаемую форму;
д)	повторная передача захваченных пакетов в целях тестирования.
23.	Почему работа в "беспорядочном" режиме важна при анализе протоколов?
а)	она не важна;
б)	она позволяет анализатору протоколов захватывать и исследовать весь трафик в сетевой среде, включая ошибочные и плохо сформированные пакеты;
в)	она дает возможность обходить нормальную систему безопасности пакетного уровня;
г)	она позволяет анализатору протоколов собирать статистические данные.
72
Глава 1
24.	Фильтр пакетов, применяемый анализатором протоколов к входящим данным, можно назвать. (Выберите все подходящие ответы.)
а)	фильтр захвата;
б)	информационный фильтр;
в)	предварительный фильтр;
г)	пост-фильтр.
25.	Какие из нижеперечисленных возможностей типичны для большинства анализаторов протоколов? (Выберите все подходящие ответы.)
а)	фильтры пакетов можно применять к входящим данным до захвата или к сохраненным данным после захвата;
б)	расшифровщики можно применять к пакетам, находящимся в буфере слежения;
в)	можно настроить аварийные сигналы таким образом, чтобы они извещали о необычных событиях и ситуациях в сети;
г)	на основе анализа трафика они отображают различные статистически отчеты и графики;
д)	они обеспечивают встроенный анализ тенденций и содержат инструменты планирования нагрузки.
Практические задания
Задание 1.1
Нижеследующие практические задания предполагают, что вы работаете в среде Windows 2000.
Установка демонстрационной версии
программы EtherPeek for Windows
Прежде чем устанавливать эту программу, проверьте соответствие вашей системы требованиям, указанным в файле Installation.txt, находящемся в каталоге Ether на сопровождающем эту книгу компакт-диске. Это можно сделать с помощью Проводника (Explorer).
1.	Вставьте сопровождающий компакт-диск в дисковод.
Находясь в Проводнике (Explorer), откройте папку Мой компьютер (Му Computer).
2.	Выберите компакт-диск TCP/IP.
3.	Откройте папку Ether.
Введение в TCP/IP
73
4.	Дважды щелкните на файле Installation.txt. После открытия Блокнота (Notepad) прочтите требования к вашей системе и если она соответствует им, то переходите к шагу 5.
5.	Запустите файл epwdemo.exe.
6.	После появления окна архиватора WinZip нажмите кнопку Setup для запуска мастера InstallShield.
7.	Далее нажмите кнопку Next в окна Welcome.
8.	Прочтите предварительные заметки в открывшемся окне Installation Notes и далее нажмите кнопку Next.
9.	Появится окно User Information. Введите свое имя, название вашей компании и нажмите кнопку Next.
10.	Откроется окно Choose Destination Location. Нажмите кнопку Next, если вы хотите утвердить каталог установки, принятый по умолчанию (C:\Program Files\WildPackets\EtherPeek Demo). Ели каталог установки по умолчанию вас не устраивает, то укажите свой вариант, воспользовавшись кнопкой Browse, а затем нажмите кнопку Next.
11.	Если в системе установлена предыдущая демо-версия EtherPeek for Windows, появится окно удаления программы. Нажмите кнопку Yes, чтобы удалить все предыдущие демо-версии EtherPeek for Windows, а после уведомления об успешном завершении процесса удаления нажмите кнопку ОК.
12.	При необходимости изменить какие-либо настройки нажмите кнопку Back в окне Start Copying Files. В противном случае нажмите кнопку Next.
13.	В окне Setup Complete предлагается просмотреть файл readme.txt или запустить демо-версию EtherPeek. Снимите оба флажка и нажмите кнопку Finish. Установка EtherPeek for Windows завершена.
Задание 1.2
Запуск демо-версии программы
EtherPeek for Windows
1.	Выберите Пуск (Start) > Программы (Programs) > WildPackets EtherPeek Demo. Появится список ограничений демо-версии EtherPeek. Нажмите ОК.
2.	Если открылось окно выбора адаптера Select Adapter, выберите адаптер, установленный в вашей системе, и нажмите кнопку ОК.
74
Глава 1
3.	Если вы собираетесь перейти к практическому заданию 1.3, оставьте окно демо-версии программы EthernetPeek открытым.
Задание 1.3
Захват базовых пакетов
1.	Выполните шаги, указанные в задании 1.2, для запуска демо-версии программы EtherPeek for Windows (если она еще не открыта).
2.	В меню Capture выберите пункт Start Capture.
3.	Появится, окно Capture Options. Если вы готовы принять размер буфера, указанный в поле Buffer size, по умолчанию равный 1024 Кбайт, нажмите ОК.
4.	Появится окно Capture с номером 1. Число в этом окне увеличивается на единицу каждый раз при запуске нового процесса захвата. Нажмите кнопку Start Capture в окне Capture. Если трафик в этом окне не отображается, выполните шаги 5—9 для создания нескольких пакетов, исходящих из вашей рабочей станции. В демо-версии окно Capture активно в течение лишь 30 секунд. Если шаги 5—9 не удалось выполнить за это время, закройте окно Capture и выполните шаги 1—4 повторно.
5.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). Появится окно Командная строка (Command Prompt).
6.	Введите ftp server 1, где serverl — имя (или адрес) реально существующего в сети FTP-сервера и нажмите Enter. Если FTP-сервера под названием serverl нет, то запрос не будет выполнен.
7.	Введите quit и нажмите Enter, чтобы выйти из FTP-клиента.
8.	Введите exit и нажмите Enter, чтобы закрыть окно Командная строка (Command Prompt).
9.	Демо-версия автоматически завершает захват по истечении 30 секунд. Если процесс захвата все еще продолжается, нажмите кнопку Stop Capture, чтобы остановить его. В противном случае нажмите ОК в окне сообщения, уведомляющем об окончании захвата.
10.	Сразу переходите к следующему заданию.
Задание 1.4
Предполагается, что вы выполнили все шаги практического задания 1.3, и демо-версия программы EtherPeek for Windows открыта.
Введение в TCP/IP Т5
Обзор базовых пакетов и статистики
1.	Теперь в окне Capture отображается базовая информация о захваченных пакетах. Щелкните на стрелке прокрутки вниз, чтобы просмотреть полный список пакетов (если они не умещаются в видимой области). При желании можно перетащить метки (handle) окна Capture.
2.	Откройте вкладку Nodes в нижней части окна Capture, чтобы просмотреть список устройств, для которых анализатор EtherPeek произвел захват пакетов. В случае, если вкладок окна Capture не видно, то растяните окно так, чтобы они появились. Есть ли там ваш IP-адрес? А широковещательный адрес (broadcast address)?
3.	Перейдите на вкладку Protocols в нижней части окна Capture, чтобы просмотреть список протоколов, идентифицированных программой EtherPeek.
4.	Откройте вкладку Conversations в нижней части окна Capture, чтобы просмотреть диалоги, идентифицированные программой EtherPeek. Выделите строки, содержащие значение Ethernet Broadcast в столбце Net Node 2 (Destination Node). Просмотрите связанные значения в столбце Net Node 1 (Client) (Source Node), чтобы идентифицировать МАС-адреса рабочих станций, пославших в сеть данные широковещательные пакеты (broadcast packets).
5.	Перейдите на вкладку Size в нижней части окна Capture, чтобы просмотреть распределение размеров пакетов, находящихся в буфере слежения (buffer contents). Размеры выражаются в байтах. Какой размер наиболее типичен среди пакетов, содержащихся в вашем буфере слежения?
6.	Откройте вкладку Summary в нижней части окна Capture, чтобы просмотреть краткую информацию о содержимом буфера слежения. Просмотрите эту сводку (при необходимости воспользуйтесь полосами прокрутки) для того, чтобы выявить типы передач, присутствующие в буфере слежения.
7.	Перейдите на вкладку History в нижней части окна Capture, чтобы просмотреть график Utilization, сгенерированный программой EtherPeek для периода захвата данных.
8.	Перейдите на вкладку Log в нижней части окна Capture, чтобы просмотреть журнал регистрации захватов программы EtherPeek.
9.	Закройте окно Capture, нажав кнопку Close в его правом верхнем углу. В следующем задании вы будете работать с вкладкой Filter.
Задание 1.5
Создание базового фильтра для IP-трафика
1.	Выполните шаги задания 1.2 для запуска демо-версии программы EtherPeek for Windows (если она еще не открыта).
2.	Нажмите сначала Capture, а затем — Start Capture в строке меню.
76
Глава 1
3.	Появится окно Capture Buffer Options. Если вы готовы принять размер буфера, по умолчанию равный 1024 Кбайт, нажмите кнопку ОК.
4.	Появится окно Capture. Откройте вкладку Filters, чтобы просмотреть список доступных в программе EtherPeek встроенных фильтров.
Примечание
Демо-версия программы EtherPeek for Windows позволяет производить только пять захватов за один сеанс работы. В случае получения сообщения об ошибке, предупреждающего, что программа не станет открывать очередное окно Capture, просто выйдите из программы Etherpeek, а затем откройте ее еще раз.
5.	Отметьте флажок Broadcast. Это позволяет установить фильтр для всех пакетов, посланных на широковещательный адрес Ethernet (OxFF-FF-FF-FF-FF-FF).
6.	Нажмите кнопку Start Capture, чтобы начать процесс захвата широковещательных пакетов.
7.	Перейдите на вкладку Packets в нижней части окна Capture, чтобы просмотреть список пакетов, захваченных в ходе этого процесса. Ознакомьтесь с перечнем идентифицированных типов широковещания, находящимся в столбце Protocol. При появлении сообщения Capture has been stopped нажмите кнопку OK.
8.	Если в окне Packets не появилось широковещательных пакетов, выполните шаги 8—11 для создания трафика с помощью окна Command Prompt.
9.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). Откроется окно Командная строка (Command Prompt).
10.	Введите ftp serverl и нажмите Enter. Если FTP-сервера под названием serverl не существует, запрос не будет выполнен.
И. Введите quit и нажмите Enter, чтобы выйти из FTP-клиента.
12.	Введите exit и нажмите Enter, чтобы закрыть окно Командная строка (Command Prompt). Если вы собираетесь сразу перейти к следующему заданию, пропустите его первый шаг.
Задание 1.6
Просмотр полной расшифровки пакета
1.	Выполните шаги задания 1.3 или задания 1.5, чтобы произвести захват пакетов с помощью демо-версии программы EtherPeek for Windows.
2.	Перейдите на вкладку Packets в нижней части окна Capture, чтобы просмотреть список пакетов, захваченных программой EtherPeek.
Введение в TCP/IP
77
3.	Дважды щелкните на любом пакете в окне Capture, чтобы открыть окно с его расшифровкой. При необходимости измените размер верхней части окна (содержащей расшифровку) или его нижней части (содержащей шестнадцатеричную версию пакета). ,
4.	Щелкните на обозначении Ethernet Header в верхней части окна расшифровки. Обратите внимание, что соответствующая область нерасшифрованного пакета в нижней части окна выделяется. '
5.	Прокрутите полную расшифровку, чтобы ознакомиться с ее содержимым.
6.	По окончании работы закройте программу EtherPeek for Windows.
Учебные задачи
1.	Предположим, вас попросили прийти в небольшую юридическую компанию, чтобы помочь разрешить некую проблему с подсоединением к сети. Сеть этой компании насчитывает 11 рабочих станций, соединенных одним 24-портовым концентратором (hub). Директор фирмы характеризует проблему как "постоянную" и объясняет, что каждое утро случается пятиминутная задержка соединения с главным сервером сети. Директор утверждает, что с этой проблемой сталкиваются все участники сети. Конечно, вы принесли с собой свой анализатор протоколов (protocol analyzer). В каком месте сети его нужно подключить?
2.	Допустим, ваша компания только что приобрела новый филиал в Де-Мойне штата Индиана. В то время как в вашей работе TCP/IP уже используется для организации сети и подключения к Internet, в новом филиале применяется система Novell NetWare 4.0 с протоколами IPX/SPX для локального доступа, и интерфейс IPX-to-IP для доступа в Internet. Какие аргументы вы изложите, пытаясь убедить коллег из Де-Мойна перейти на TCP/IP?
3.	Опишите метод, который можно употребить для определения применяемых в сети протоколов IP, с тем чтобы сформировать минимальный список протоколов для ваших систем UNIX.
4.	Объясните, почему чрезмерная частота появления ошибок может быть губительна для сети. Также объясните, почему слишком высокий широковещательный трафик (broadcast traffic) может иметь негативные последствия.
Глава 2
IP-адресация
и связанные с ней темы
После прочтения этой главы и выполнения упражнений вы сможете:
□	разобраться в вопросах, связанных с IP-адресацией, конструкциями и структурами, а также адресами с точки зрения компьютера;
□	различать и характеризовать различные классы адресов от А до Е и объяснять, как они формируются и применяются;
□	осознавать природу ограничений IP-адресов и механизм их смягчения с помощью таких методик, как бесклассовая междоменная маршрутизация и преобразование сетевых адресов;
□	определять значения терминов "подсеть" и "суперсеть" и четко представлять, как работают суперсети и подсети, для решения специфических проблем разработки сетей;
□	разбираться в вопросах присвоения, приобретения и правильного применения частных и общедоступных Inteniet-адресов;
□	отдавать себе отчет в важности и ценности схемы IP-адресации.
В этой главе рассматривается структура и назначение IP-адресов (адресов протокола Internet) — этих загадочных последовательностей из четырех чисел типа 24.29.72.3, уникально идентифицирующих все сетевые интерфейсы в Internet, применяющие TCP/IP. По мере изучения IP-адресов вы узнаете, как они структурированы, к каким классам могут относиться (или не относиться) и какую роль играют в достижении сетевым трафиком пунктов назначения. На самом деле, вы даже сможете определять, какое количество устройств можно подсоединить к сети, в зависимости от структуры ее IP-адреса, и научитесь управлять этой структурой — подразделять или группировать адреса, руководствуясь конкретными потребностями системы.
80	Глава 2
Основы IP-адресации
Люди предпочитают символические имена (symbolic names): к примеру, мы полагаем, что легче запомнить строку, такую как www.course.com, чем числовой адрес (numeric address) вроде 199.95.72.8. Однако компьютеры "думают" по-другому. Они имеют дело с сетевыми адресами (network addresses) в форме битовых комбинаций, которые преобразуются в десятичные числа. Таким образом, то, что мы в десятичной системе счисления выражаем в виде 199.95.72.8, компьютер "понимает" как 1100011101011110100100000001000.
Это обстоятельство помогает объяснить, почему протокол IP использует следующую, состоящую из трех разновидностей, схему адресации.
□ Символическая. Содержит имена, принимающие специфическую форму, например support.dell.com или mercury.ldierson.ua. Когда это случается, такие имена называются доменными (domain names). Чтобы быть действительным, любое доменное имя должно соответствовать хотя бы одному уникальному числовому IP-адресу (numeric IP address). Однако доменные имена лишь указывают на числовые адреса, и неэквивалентны им. Тем не менее, чрезвычайная важность доменных имен определяется тем, что большинство пользователей запоминают и отождествляют их с отдельными хостами в сети Internet (и в своих собственных сетях). Намного более подробно доменные имена рассматриваются в главе 7. Из ее содержания вы узнаете о службе доменных имен (Domain Name System, DNS) и о связанных протоколах и службах, обеспечивающих возможность преобразования символических доменных имен и числовых IP-адресов.
□ Логическая числовая. Представляет собой набор из четырех чисел, разделенных точками, например — 172.16.1.10. Каждое из этих чисел должно быть меньше 256 в десятичной системе, чтобы его можно было представить в виде восьми двоичных разрядов, или битов. Таким образом, каждое число должно находиться в диапазоне от 0 до 255; эти пограничные числа являются низшим и высшим значениями, которые можно представить в 8-битной строке. Вероятно, вы привыкли называть такие 8-битные числа байтами, однако сообщество TCP/IP предпочитает именовать их октетами (octets) (что одно и то же). Содержание этой главы по большей части посвящено тому, как читать, истолковывать, классифицировать, применять и управлять этими логическими числовыми адресами.
Кроме того, важно усвоить, что числовые IP-адреса (именно так большинство людей называют эти четверки чисел, разделенные точками) — это логические сетевые адреса. Каждый числовой IP-адрес действует на Сетевом уровне сетевой эталонной модели ISO/OSI (или, если хотите, на Межсетевом уровне модели TCP/IP), и задача его состоит в присвоении уникального набора чисел каждому без исключения сетевому интерфейсу данной сети (и в масштабах Internet для всех машин, видимых в этой сети).
IP-адресация и связанные с ней темы	________81
Для описания этого вида IP-адресов числовые IP-адреса применяют то, что формально называется точечным десятичным представлением (dotted decimal notation), состоящим из четырех чисел, разделенных точками.
□ Физическая числовая (аппаратная). Представляет собой 6-байтный числовой адрес, которым производители сетевых интерфейсов маркируют программно-аппаратные средства (на кристаллах). Три первых байта (называемые организационно уникальным идентификатором — organizationally unique identifier, OUI) идентифицируют производителя любого применяемого интерфейса, а три заключительных байта обеспечивают другой уникальный числовой идентификатор, благодаря которому каждый интерфейс в сети обладает уникальным физическим числовым адресом.
Физический числовой адрес (physical numeric address) действует на подуровне Канального уровня сетевой эталонной модели OSI, называемом уровнем управления доступом к среде (Media Access Control, МАС). По этой причине он также известен под именем адреса уровня управления доступом к среде или МАС-адресом. И хотя такое объяснение совсем не исчерпывающе, задача подуровня управления логическим соединением (Logical Link Control, LLC) программного обеспечения (обычно уровня драйверов) Канального уровня состоит в том, чтобы предоставить сетевому интерфейсу возможность установления двухточечного соединения с другим сетевым интерфейсом на одном сегменте кабеля. Протокол ARP (Address Resolution Protocol, протокол разрешения адресов) нужен для того, чтобы давать компьютерам возможность преобразовывать числовые IP-адреса в МАС-адреса, а протокол RARP (Reverse Address Resolution Protocol, протокол определения адреса по местоположению), напротив, используется для преобразования МАС-адресов в IP-адреса.
Как бы то ни было, в последующей части мы сосредоточимся на числовых IP-адресах. Важно запомнить, что IP-адреса ссылаются на доменные имена, тем самым позволяя пользователям идентифицировать ресурсы сети и получать к ним доступ. Кроме того, необходимо отдавать себе отчет в том, что при непосредственном совершении каждой сетевой передачи IP-адреса преобразуются в МАС-адреса, чтобы один сетевой интерфейс можно было идентифицировать как отправителя (sender), а другой — как получателя (receiver).
Имея в виду уровневую природу сетевых моделей, имеет смысл связать МАС-адреса с Канальным уровнем эталонной модели (или Уровнем доступа к сети — Network Access layer — модели TCP/IP, если вы предпочитаете мыслить ее категориями), а IP-адреса — с ее Сетевым уровнем (или Межсетевым уровнем TCP/IP). На Канальном уровне один сетевой интерфейс организует передачу фреймов от себя к другому сетевому интерфейсу, так что все передачи проходят в одной физической или локальной сети.
4 Зак. 321
82
Гпава 2
Перемещаясь по промежуточным хостам между исходным отправителем и конечным получателем, данные переходят между парами машин, причем каждая пара находится в одной физической сети. Очевидно, что большинство таких машин должны быть подсоединены к множеству физических сетей, чтобы данные, поступающие в данную машину через один интерфейс, могли покидать ее через другой, таким образом перемещаясь из одной физической сети в другую. По существу, это означает ряд передач от интерфейса к интерфейсу, в ходе которых данные переходят от МАС-адреса к МАС-адресу на Канальном уровне.
На Сетевом уровне адрес изначального отправителя представлен в поле исходного IP-адреса в заголовке IP-пакета, а адрес конечного получателя — в поле IP-адреса назначения в том же заголовке IP-пакета. Несмотря на то, что МАС-адреса постоянно изменяются, по мере того как фрейм перемещается от интерфейса к интерфейсу, информация об исходном и конечном IP-адресах сохраняется. На самом деле, именно значение IP-адреса назначения определяет иногда длинную последовательность промежуточных передач, или транзитов (hops), которые имеют место при передаче данных по сети от отправителя к получателю.
Конструкция IP-адреса
Числовые IP-адреса при выражении в десятичной системе используют точечное десятичное представление и принимают форму n. n. п. п, в которой п для каждого значения неизменно находится в диапазоне от 0 до 255. Запомните, что каждое число состоит из 8 бит, и в стандартной терминологии IP называется октетом (octet). Чтобы доменное имя превратилось в сетевой адрес, будь то в общедоступной сети Internet или где-нибудь в частной локальной сети, оно должно соответствовать по меньшей мере одному числовому IP-адресу.
Числовые значения в точечных десятичных представлениях числовых IP-адресов обычно являются десятичными, однако иногда могут быть представлены в шестнадцатеричной (с основанием 16) или двоичной (с основанием 2) системах счисления. При работе с точечными десятичными IP-адресами необходимо точно установить вид системы счисления. Двоичный вид опознать просто, поскольку в данном случае каждый элемент в строке представлен восемью двоичными разрядами (включая, для согласованности, нулевые старшие разряды). Тем не менее, возможно спутать десятичное и шестнадцатеричное представления. Поэтому, прежде чем выполнять какие бы то ни было вычисления, обязательно определитесь с системой счисления.
Дублирование числовых IP-адресов запрещается, поскольку это привело бы к путанице. На самом деле, когда происходит дублирование, определить, какому сетевому интерфейсу "действительно" принадлежит IP-адрес, очень трудно.
IP-адресация и связанные с ней темы
83
В соответствии с соглашением, из сети выкидываются все интерфейсы, совместно использующие один и тот же адрес. Таким образом, если вам когда-нибудь случится настроить для машины IP-адрес, а после этого она не сможет получить доступ в сеть, вы сможете разумно предположить, что произошло дублирование IP-адресов. А если выяснится, что примерно в то же время недоступной стала другая машина, и кто-нибудь другой жалуется на похожие проблемы, можете быть уверены — дело именно в дублировании!
Кроме того, когда речь заходит об интерпретации числовых IP-адресов, появляется понятие их соседства (neighborhood). Близость двух числовых IP-адресов (особенно если различаются только один или два правых октета) иногда говорит о том, что машины, которым соответствуют эти адреса, находятся в одной общей сети, если не в одном физическом сегменте кабеля. (Более подробная информация об этом будет представлена далее в разд. "IP-сети, подсети и маски" данной главы, где мы поговорим о подсетях.)
Классы IP-адресов
Вы уже знаете, что IP-адреса принимают форму n.n.n.n. Изначально эти адреса к тому же подразделялись на пять классов, от А до Е. Разделим октеты первых трех классов, чтобы уяснить их поведение:
Класс A	n h.h.h
Класс В	п.п h.h
Класс С	п.п.п h
В данной системе обозначений п означает часть сетевого адреса, предназначенную для идентификации сети по числу, ah— часть адреса для идентификации хоста по числу. Если часть, относящаяся к сети или хосту, состоит более чем из одного октета, то для определения числового адреса биты просто объединяются (здесь есть некоторые ограничения, о которых мы вкратце упомянем). К примеру, 10.12.120.2 — это действительный адрес класса А. Сетевая часть (network portion) этого адреса — 10, тогда как хостовая часть (host portion) — 12.120.2, и она состоит из трех октетов. При поиске свидетельств близости IP-адресов учитывайте, что "соседство" — это явление, присущее сетям и связанное с близостью в пределах сетевой части IP-адреса, а не хостовой части сетевого адреса.
Адреса классов D и Е предназначены для специальных случаев. Адреса класса D используются для многопунктовых передач, при которых отдельный адрес может связываться более чем с одним главным компьютером. Они употребительны только в случаях, когда информация передается одновременно нескольким получателям, поэтому неудивительно, что приложения для видео- и телеконференций, к примеру, применяют групповые адреса (multicast addresses).
84
Гпава 2
Однако групповые адреса также могут пригодиться, когда класс устройств, таких как маршрутизаторы (routers), должен обновляться одними и теми же данными с определенной периодичностью. Именно поэтому, как указывается в главе 10, посвященной маршрутизации, некоторые протоколы маршрутизации применяют групповые адреса для передачи обновлений таблицы маршрутизации. Хотя время от времени вы сможете наблюдать в сети адреса класса D, адреса класса Е появятся только в том случае, если в вашей сети проводятся эксперименты или разработка, связанная с протоколом 1Р. Дело в том, что адреса класса Е зарезервированы только для экспериментального использования.
Адреса класса А
Выраженные в двоичной системе (только единицы и нули), адреса класса А всегда принимают следующую форму:
оььььььь.ьььььььь.ьььььььь.ьььььььь
В качестве первой цифры всегда выступает 0, а все остальные цифры (обозначенные в предыдущем примере символами ь) могут быть либо нулями, либо единицами. Обратите внимание, что эта схема сокращает общее количество возможных сетей, фиксируя самый старший разряд. Таким образом, хотя 8-битное число может выражать десятеричное 255, требование о присутствии на первой позиции нуля ограничивает количество сетей, к которым можно обращаться как к сетям класса А, до 128 (это диапазон от 00000000 до 01111111, где 0 считается числом, а максимальное разрешенное значение равняется 127).
м е ч а н м е
 В этой главе мы разделяем двоичные октеты точками. Это решение принято лишь для визуального удобства — настоящие машиночитаемые адреса не содержат точек.
В любой сети IP-адреса, состоящие только из нулей или только из единиц, резервируются для специальных целей. Поэтому из 128 возможных в данном случае сетевых адресов употребляются только адреса в диапазоне от 00000001 до 01111110 (или, в десятичном выражении, от 1 до 126). Более того, адрес сети 10 (00001010) зарезервирован для применения в частных сетях (это условие оговаривается в документе RFC 1918). К тому же адрес 127.П.П.П резервируется для выполнения возвратного тестирования (loopback testing) (проверки целостности и используемости стека протоколов TCP/IP, установленного на каждом компьютере; более подробно — в главе 3). Таким образом, в общедоступной сети Internet максимальное количество адресуемых сетей класса А достигает 124.
IP-адресация и связанные с ней темы  85
Поскольку три оставшихся октета класса А предназначены для хостов, получается, что в пределах каждой сети класса А доступный диапазон адресов соответствует 3 х 8, т. е. 24 битам. Число адресов можно подсчитать, возведя 2 в степень, равную количеству бит в адресе (в данном случае 224 = 16 777 216), а затем вычтя из получившегося числа 2. Последнее действие объясняется тем, что сочетания всех нулей и всех единиц зарезервированы для специальных сетевых адресов, и в обычных ситуациях не используются для ведущих адресов. В результате получаем 16 777 214.
Данные об адресах класса А обобщаются в табл. 2.1.
Таблица 2.1. Адреса класса Д' факты и цифры
Максимальное количество сетей	27- 2	126
Максимальное количество употребляемых сетей	27- 2	124
Количество хостов в сети	224- 2	16 777 214
Частный IP-адрес	10.0.0.0.0	1
Диапазон адресов	1.0.0.0	126.0.0.0
Адреса класса В
Адреса класса В всегда принимают следующую форму:
lObbbbbb.bbbbbbbb.bbbbbbbb.bbbbbbbb
Первые две цифры — 10, а остальные (обозначенные символами ь) могут быть либо нулями, либо единицами. Заметьте, что эта схема сокращает общее количество возможных сетей, фиксируя два самых старших разряда. Формат адресов класса В таков, что первые два октета определяют номер сети, а дальнейшие — номер хоста; поэтому в сетевой части на адресное пространство выделяется 14 бит. Таким образом, максимальное количество используемых сетевых адресов равняется 214 — 2 (два нужно вычитать всегда, поскольку адреса, состоящие из одних единиц или одних нулей, резервируются), в результате получаем 16 382. Более того, в документе RFC 1918 оговаривается, что 16 адресов класса В, от 172.16.0.0 до 172.31.255.255, резервируются для частного применения. Получается, что общее количество общедоступных IP-адресов класса В равняется 16 382 - 16, или 16 366.
Два оставшихся октета адресов класса В выделяются под хосты; это означает, что адресное пространство для хостов в пределах каждой сети класса В составляет 2x8, или 16 бит. Число адресов можно подсчитать, возведя 2 в степень, равную количеству бит в адресе (в данном случае 216 = 65 536), а затем вычтя из получившегося числа 2. Последнее действие объясняется
86
Гпава 2
тем, что сочетания всех нулей и всех единиц в сетевых адресах зарезервированы, и в нормальных ситуациях не используются в качестве ведущих адресов. В результате получаем 65 534.
Данные об адресах класса В обобщаются в табл. 2.2.
Таблица 2.2. Адреса класса В: факты и цифры
Максимальное количество сетей	214 - 2	16 382
Максимальное количество употребляемых сетей	214 - 18	16 366
Количество хостов в сети	216- 2	65 534
Частный IP-адрес	От 172.16.0.0 до 172.31.255.255	16
Диапазон адресов	128.0.0.0	191.255.0.0
Адреса класса С
Адреса класса С всегда принимают следующую форму:
11Obbbbb.bbbbbbbb.bbbbbbbb.bbbbbbbb
Первые три цифры — ПО, а остальные (обозначенные символами ь) могут быть либо нулями, либо единицами. Обратите внимание, что эта схема сокращает общее количество возможных сетей, фиксируя три самых старших разряда. Формат адресов класса С таков, что первые три октета определяют номер сети, а последний — номер хоста; поэтому в сетевой части на адресное пространство выделяется 21 бит. Таким образом, максимальное количество используемых сетевых адресов равняется 221 — 2 (два нужно вычитать всегда, поскольку адреса, состоящие из одних единиц или одних нулей, резервируются), т. е. 2 097 150. В документе RFC 1918 определяется, что 256 адресов класса С, от 192.168.0.0 до 192.168.255.255, резервируются для частного применения. Получается, что общее количество общедоступных IP-адресов класса С равняется 2 097 150 — 256, или 2 096 894.
Заключительный октет адресов класса С выделяется под хосты; по этой причине адресное пространство для хостов в пределах каждого сетевого адреса класса В составляет 8 бит. Число адресов можно подсчитать, возведя 2 в степень, равную количеству бит в адресе (в данном случае 28 = 256), а затем вычтя из получившегося числа 2. Последнее действие объясняется тем, что сочетания всех нулей и всех единиц зарезервированы для сетевых адресов и в нормальных ситуациях не используются в качестве ведущих адресов. В результате получаем 254.
Данные об адресах класса С обобщаются в табл. 2.3.
IP-адресация и связанные с ней темы
87
Таблица 2.3. Адреса класса С: факты и цифры
Максимальное количество сетей	221 — 2	2 097 150
Максимальное количество употребляемых сетей	221 - 258	2 096 894
Количество хостов в сети	28 —2	254
Частный IP-адрес	От 192.168.0.0 до 192.168.255.255	256
Диапазон адресов	192.0.1.0	223.255.255.255
Примечание
Это может привести к чрезмерной путанице, но документ RFC 1878 (принятый в декабре 1995 года) разрешает применять для хостов адреса, состоящие только из нулей или только из единиц. Можно заключить, что таким образом эти зарезервированные адреса возвращаются в адресный пул, и это действительно так, если все маршрутизаторы в сети используют современный протокол маршрутизации вроде RIPv2 или OSPF. Тем не менее, авторы приняли решение не учитывать эти адреса при подсчетах диапазонов адресов, чтобы исключить возможность применения потенциально недействительных адресов. Когда вы столкнетесь с необходимостью настройки собственных сетей и вычисления используемого диапазона адресов, ознакомьтесь с документацией по маршрутизатору и свяжитесь с поставщиком доступа в сеть Internet (Internet Service Provider, ISP), чтобы убедиться в действительности таких адресов.
Адреса классов D и Е
Классы D и Е начинаются там, где кончается класс С; надо надеяться, что это интуитивно понятно. Адреса класса D всегда принимают следующую форму:
111ОЬЬЬЬ.ЬЬЬЬЬЬЬЬ.bbbbbbbb.bbbbbbbb
Форма адресов класса Е такова:
1111ОЬЬЬ.bbbbbbbb.bbbbbbbb.bbbbbbbb
Помните, что класс D предназначается для групповых адресов, которые обеспечивают пользователям возможность "совместного использования" одного IP-адреса (что является прямым нарушением правил для классов А, В и С) и получения по сети одного и того же широковещательного сообщения за время одной передачи. Сохранение пропускной способности объясняет значимость групповых адресов для передачи потоковых данных, таких как видео- или телеконференций, а также информации, представляющей интерес для множества пользователей, например — обновлений таблиц маршрутизации. В диапазон адресов класса D входят значения от 224.0.0.0 до 239.255.255.255.
88
Гпава 2
Адреса класса Е предусмотрены исключительно для экспериментального применения. Их диапазон — от 240.0.0.0 до 247.255.255.255. Если вы не работаете в среде разработки и не проводите исследования, то вряд ли когда-либо столкнетесь с такими адресами.
Сетевые, широковещательные, групповые и другие специальные ИР-адреса
В обычных ситуациях, когда IP-пакет перемещается от отправителя к получателю, сетевая часть адреса направляет трафик из сети отправителя в сеть получателя. Хостовая часть адреса задействуется только в том случае, если отправитель и получатель находятся в одной физической сети или подсети. Хотя во время большинства передач от машины к машине фреймы могут переходить из сети в сеть, почти все такие передачи совершаются с целью переместить пакет как можно ближе к сети назначения. В локальных сетях, хотя мимо могут проноситься любые виды трафика, отдельные хосты обычно считывают только входящий трафик, который либо адресован им, либо обязателен для прочтения по другим причинам (например, когда широковещательное сообщение адресовано службе, работающей на данном хосте).
Рассматривая способы вычисления числа доступных адресов в диапазоне числовых значений IP, мы неустанно повторяли, что из общего числа возможных адресов, рассчитываемого исходя из количества бит в адресе, необходимо вычесть 2. Дело в том, что любой IP-адрес, содержащий в хостовой части только нули (например, 10.0.0.0 для частного IP-адреса класса А), обозначает адрес самой сети. Нужно отдавать себе отчет в том, что сетевой адрес не в состоянии идентифицировать отдельный хост в сети, потому что он идентифицирует сеть в целом.
Вспомните, что в каждом диапазоне IP-адресов два адреса резервируются. Помимо сетевого, "другой адрес", который нельзя применять для идентификации отдельного хоста сети, — тот, что содержит в хостовой части только единицы, например 10.255.255.255 (в двоичном представлении — 00001010.11111111.11111111.11111111; очевидно, что три последних октета, относящихся к хостовой части, состоят исключительно из единиц) для сети класса А 10.0.0.0.
Специальный тип адреса, называемый широковещательным адресом (broadcast address), представляет сетевой адрес, который должны считывать все хосты сети. В современных сетях широковещательные адреса все еще применимы, однако они возникли в то время, когда сети были малы и ограничены, и такие "подручные" сообщения могли предложить удобный способ запроса служб, когда определенный сервер нельзя было явно идентифицировать. В некоторых ситуациях — например, когда DHCP-клиент отсылает сообщение DHCP Offer (подробнее об этих сообщениях можно узнать из главы 8) — широковещание имеет место в современных сетях TCP/IP; тем
IP-адресация и связанные с ней темы
89
не менее, широковещательный трафик теперь редко пересылается из одной физической сети в другую, оставаясь в большинстве случаев исключительно локальной формой сетевого трафика.
Структуры широковещательных пакетов
У широковещательных IP-пакетов есть два поля адреса назначения: поле адреса назначения Канального уровня и поле адреса сети назначения.
;.Ф
i- • 0 Status:
Flags:
0x00
0x00
Packet Length:346
ф Timestamp:	14:01:46.186000 12/1S/2000
Ethernet Header
j.ЙЦ Destination: FF:FF:FF:FF:FF:FF Ethernet Broadcast
!.ЙЦ Source:	00:АО:CC:30:C8rDB
’--0 Protocol Type:0x0800 If
r - Internet Protocol Datagram.
ХР Header
i........ф
- е ...0
Version:
Header Length:
Туре Service: Precedarccs.' Routine, Total Length: Identifier.
Fragmentation Flags: Fragment Offset: Time To Live: Protocol: Header Checksum.: Source IP hddress: Best. IP hddress: No IP Options
4 5	(20 bytes)
500000000
Worzidl Delay,. Noraidl ‘П-it’C'ugiij: 328 0
5 000 Wdy Fragment Last 0	(0 bytes)
128
17 -TDl7 ОхЗЭАб
Ci.0.0.0
255.255.255.255 IP Broadcast
i.Ф
H
i.4
!.3
:.3
;... ф
UDP - User Datagram Protocol
<.Ф
..Ф  ф
68 bootstrap (ЪО&Г? Client)
67 Boots trap Frob&col Serve
308
0x0094
Source Port: Destination Pott : Length: Checks шл:
Й ’IT* BootP - Bootstrap Protocol Operation: Hardware hddress Type: Hardware hddress Length: Hops: Transaction ID: Seconds Since Boot Start: llacrs:
it
Г-Ф
M
$
1
1
6 0 990067459
0
0x0000
Boc-t Segues t
bytes
А6
FF
00
44
DB 00
01
FF
48
FF
00
80
01
АО
11
34
С8 00
01
08
00
06
00
00
00
FF
00
00
FF
00
00
FF □ 0 43
FF 01
FF
0:
16:
32:
Рис. 2.1. Ethernet-пакет, содержащий адрес назначения Канального уровня OxFF-FF-FF-FF-FF-FF и IP-адрес назначения 255.255.255.255
се зэ оо
45
FF
ЗВ
00 FF
03
90
Гпава 2
На рис. 2.1 изображен Ethernet-пакет, содержащий адрес назначения Канального уровня OxFF-FF-FF-FF-FF-FF (широковещательный адрес, представленный шестнадцатеричным значением, о чем свидетельствуют символы Ох в начале строки) и десятичный IP-адрес назначения 255.255.255.255. Это широковещательный DHCP-пакет (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста). Этот протокол детально рассматривается в главе 8.
Структуры многоадресных пакетов и групповых адресов
Когда хост использует службу, применяющую групповой адрес (такой, например, как 224.0.0.9, предназначенный для обновления маршрутов по протоколу RIPv2), он подписывается на "прослушивание" этого адреса, равно как и своего собственного уникального ведущего адреса (и широковещательного адреса). Такой хост, кроме того, должен сообщить своему 1Р-шлюзу (IP gateway) (это маршрутизатор — router — или другое устройство, которое будет пересылать трафик в физическую сеть хоста) о том, что он зарегистрирован и направлен на данную службу, после чего это устройство будет пересылать широковещательный трафик в нужную сеть (в противном случае трафик, о котором идет речь, в ней никогда не появится).
Регистрация сообщает сетевой интерфейсной плате о необходимости пересылать пакеты, отправленные на данный адрес, IP-стеку, чтобы их содержимое можно было считать, и предписывает IP-шлюзу переслать такой трафик в физическую сеть, где располагается ожидающий сетевой интерфейс. Без такой явной регистрации (которая является неотъемлемой частью направления на соответствующую службу) трафик либо игнорируется, либо становится недоступным. Организация по присвоению имен и номеров в сети Internet (ICANN) контролирует распределение групповых адресов. Раньше эти адреса были в ведении агентства IANA (Internet Assigned Numbers Authority, агентства по выделению имен и уникальных параметров протоколов Internet).
Многоадресные пакеты вызывают значительный интерес, потому что адрес назначения Канального уровня базируется на многоадресном пакете сетевого уровня. На рис. 2.2 изображен многоадресный пакет протокола OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов). Адреса назначения: Канального уровня — 0х01-00-5Е-00-00-05; Сетевого уровня — 224.0.0.5.
Как отмечалось ранее в этом разделе, за присвоение групповых адресов отвечает организация ICANN. На рис. 2.2 сетевой адрес пункта назначения 224.0.0.5 присвоен для широковещания всем OSPF-маршрутизаторам.
IP-адресация и связанные с ней темы
91
S......
:......$
i.......Ф
\......$
Flags:
Status:
0x00
0x00
Packet Length:82
Tinestamp:	13:13:09.232000 12/15/2000
Ethernet Deader
i Вф Destination: 01: 00: 5E: 00:00: 05
к.ВД Source:	00:00:A2:EO:FC;9C
t.ф Protocol Type:0x0800 IP
•:	‘.ф V<481Oh	4
P ф Header Length: ’.ф Type of Service:
Preoedewce:	Control, Лтолша1 Delay,. Nc’fztal Thr
Total Length: Identifier:
Fragmentation Elags: Fragment Offset: Time To Live:
5	(20 bytes)
*11000000
i.0
*.*
j.Ф
R *.Ф
Protocol:
64
58898
*000 Way Frcjgsiezjt btj>s£ Ff&gsi&nt 0	(0 bytes)
1
i.......s
;.......$
Reader Checksum: Source IP address: Best. IP address:
No IP Options
89 QSTFIGP
0xC0F4 СЪа-ск51гд2 invalid. Should be:
10.1.1.9
224.0.0.5
□ OSPE - Open Shortest Path First Routing Protocol
к ..Ф ..3 ..® ..$ --Ф ..Ф нФ
Version:
Type:
Packet Length:
Router IP address:
Пгеа IB:
Checksum:
1 Hello
44
0.0.0.0
0x996C
OxFFFFFFOO
ф
2
10.1.1.9
0
ft
authentication Type: authentication Data: Data: (8 bytes) Network Mask:
0: 01 00 5E 00 00 OS 00 00 A2 E0 FC 9C 08 00 ЙШСВД йДО 1)0 ‘•0- • ‘ j........................................... ssiK
az	99 ее и...,.........1 iit
J>y ]pj~ 1M {
Рис. 2.2. Многоадресный пакет OSPF
Адрес Канального уровня 0х01-00-5Е-00-00-05 получен в результате следующих вычислений:
1.	Заменой первого байта соответствующим 3-байтным организационно уникальным идентификатором (OUI). В данном случае 224 заменяется на 0х00-00-5Е (присвоен агентству IANA).
2.	Заменой первого байта на нечетное значение (было 0x00, стало 0x01).
3.	Заменой 2—4 байт их десятеричными эквивалентами.
92
Гпава 2
Эти действия проиллюстрированы на рис. 2.3.
/ 224.0.0.5 А М М М
IP в МАС
01005Е 00 00 05
А Присвоенный агентством IANA организационноуникальный идентификатор (OUI) МАС (первый байт изменен, чтобы добавить значение для широковещания)
/0005Е
Рис. 2.3. Преобразование адресов канального уровня
Примечание
Возможно, вам придется столкнуться с альтернативным адресом (anycast address), еще одним видом IP-адресов. Поскольку он характерен для IPv6, мы обсудим его в главе 13, в которой речь идет об этой новой версии протокола IP. Сейчас достаточно сказать, что пакеты, отсылаемые на альтернативный адрес, приходят на ближайший интерфейс с таким адресом. Альтернативные адреса не используются в IPv4.
Исчезающее адресное пространство IP
Изначально присвоение IP-адресов сетям для общего применения осуществлялось путем присвоения им конкретного диапазона адресов. Это объясняет, почему сейчас практически не осталось неприсвоенных адресов классов А и В. Более того, количество доступных адресов класса С также невелико; на сегодня свободно менее 15% таких адресов. Учитывая постоянно возрастающую потребность в общедоступных IP-адресах для доступа в Internet, неудивительно, что уже в середине 1990-х годов эксперты начали прогнозировать исчерпание доступных IP-адресов.
Как бы то ни было, в последнее время причин для беспокойства стало немного меньше и вот почему.
П Технократы из проблемной группы по проектированию Internet (IETF) нашли новый способ сохранения адресного пространства IP, разработав технологию бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR). Она позволяет объединять существующие адреса
IP-адресация и связанные с ней темы	93
в более крупные маршрутные домены с большим количеством ведущих адресов, чем сумма таких адресов у каждого отдельного домена. Эту методику очень любят поставщики доступа к Internet, и это объясняет, почему явно сокращающееся адресное пространство смогло выдержать значительный наплыв пользователей в течение последних нескольких лет. Этому способу маршрутизации посвящен разд. "Бесклассовая междоменная маршрутизация"этой главы.
П В этот же период времени велась оживленная торговля существующими сетевыми IP-адресами. На данный момент "действительная цена" сетевого адреса класса С составляет по меньшей мере $10 000, а адрес класса В около $250 000. Некоторые частные компании, располагающие собственными адресами класса А, были приобретены или выставлялись на открытые торги на основании того, что теоретически стоимость таких адресов может доходить до $64 000 000! Многие компании и частные лица сегодня не владеют IP-адресами, а арендуют их у своих поставщиков доступа в Internet. Как вы можете догадаться, обнаружение ценности адресного пространства IP послужило стимулом для возникновения дополнительных технических и деловых нововведений, призванных еще более увеличить его ценность.
□ RFC 1918 резервирует три диапазона IP-адресов для частного применения — один в классе А (10.0.0.0—10.255.255.255), 16 в классе В (172.16.0.0-172.31.255.255) и 256 в классе С (192.168.0.0-192.168.255.255). По определению, эти адреса не маршрутизируются в сети. Internet, поскольку могут свободно применяться каждым. Организации не могут быть собственниками этих адресов; таким образом, они не могут использоваться в общедоступной сети Internet также и потому, что их уникальность не гарантируется.
При использовании совместно с технологией преобразования сетевых адресов (Network Address Translation, NAT), частные IP-адреса (private IP addresses) могут приподнять "потолок" общедоступных адресов. Дело в том, что один общедоступный IP-адрес на "стороне Internet" брандмауэра (firewall) или прокси-сервера (proxy server) может выступать за произвольное количество частных IP-адресов на "частной стороне" того же брандмауэра или прокси-сервера. Другими словами, преобразование сетевых адресов делает возможным внутреннее применение частных IP-адресов, и внешне привязывает их к единому IP-адресу. Это обстоятельство дает компаниям большую свободу адресации (при желании на внутреннем уровне они могут применять даже адреса класса А), а также позволяет уменьшить количество общедоступных IP-адресов, которое они должны иметь в своем распоряжении или должны использовать.
В данный момент в результате сочетания всех тактик и технологий, перечисленных в этом списке, адресное пространство IP расширено в гораздо большей степени, чем это могли себе представить многие эксперты. И хотя
94
Гпава 2
еще сохраняется некоторое обоснованное беспокойство относительно сокращения IP-адресов, паники уже нет.
Одной из конструктивных задач, определяющих следующее поколение протокола IP (известное как IPv6; сегодняшнее поколение называется IPv4), является расширение адресного пространство с 32 до 128 бит. Специалисты утверждают, что в результате на каждый квадратный фут (примерно 0,093 м2) поверхности земного шара будет приходиться по уникальному IP-адресу. Учитывая увеличивающееся присутствие в сетях различных видов устройств, а также тенденцию снабжать доступом в Internet мобильные телефоны и телевизоры, это может быть очень кстати! В следующих разделах этой главы вместо типов IP-адресов и вариантов их применения вы будете исследовать приемы и математические методы, посредством которых сможете разобраться с числовыми IP-адресами и научиться манипулировать ими. Засучите рукава и приготовьте карандаши!
Элементарная двоичная арифметика
Работать с IP-адресами, особенно в подсетях и суперсетях (о которых мы еще поговорим в разд. "Подсети и суперсети IP" этой главы), становится намного проще при наличии базовых представлений о двоичной арифметике. Чтобы освоить представленный в этой книге материал, вы должны изучить:
□ Преобразование из двоичной системы счисления в десятичную.
П Преобразование из десятичной системы счисления в двоичную.
П Таблицу соответствия десятичных и 8-битных двоичных чисел с последовательной установкой в единицу их старших разрядов начиная со старшего.
П Таблицу соответствия десятичных и 8-битных двоичных чисел с последовательной установкой в единицу их младших разрядов начиная с младшего.
Прежде чем начать разбираться в этих вопросах, нужно усвоить еще одну очевидную аномалию, иначе двоичные вычисления не будут иметь смысла. Она лучше всего иллюстрируется на простом примере решения следующей задачи: "Сколько значений лежат между 0 и 3 (в двоичной системе — между 00 и 11)?" Ответ подсчитывается вычитанием меньшего значения из большего, и прибавлением единицы. Таким образом, 3 — 0 = 3+1 = 4. В качестве доказательства перечислим двоичные разряды от нуля до трех следующим образом (цифры в скобках означают десятичные эквиваленты): 00 (0), 01 (1), 10 (2), 11 (3). В списке присутствуют четыре цифры, так что наша формула справедлива! Другая очевидная аномалия заключается в том, что любое число, возведенное в нулевую степень, всегда равняется единице.
IP-адресация и связанные с ней темы
95
(Это обстоятельство вам пригодится при преобразовании экспоненциального представления двоичных чисел.)
Преобразование
из десятичной системы в двоичную
Это чрезвычайно просто, если мыслить математически. Мы предлагаем два подхода — на случай, если первый покажется вам слишком сложным. Этот первый подход хорош тем, что действителен для любого числа, от мала до велика. Просто разделите число на два, запишите остаток (который должен равняться либо 0, либо 1), затем запишите делимое, и повторяйте операцию, пока делимое не сравняется с нулем.
Рассмотрим пример преобразования
десятичного числа 125 в двоичное
представление:
125 делить на 2 равно 62, остаток 1
62 делить на 2 равно 31, остаток 0
31 делить на 2 равно 15, остаток 1
15 делить на 2 равно 7, остаток 1
7 делить на 2 равно 3, остаток 1
3 делить на 2 равно 1, остаток 1
1 делить на 2 равно 0, остаток 1
Чтобы представить двоичное число, соответствующее 125, нужно записать все остатки в обратном порядке, начиная с последнего: 1111101. Теперь проведем проверку. Экспоненциальное разложение числа 1111101 представляется как 1 х 26 + 1 х 25 + 1 х 24 + 1 х 23 + 1 х 22 + 0 х 21 + 1 х 2° (1111101).
Альтернативный подход к преобразованию состоит в применении ступенчатой функции, как ее называют математики. Он основывается на знании десятичных значений двойки, возведенной в различные степени, и осуществлении действий, напоминающих первый подход. Но здесь каждое число должно располагаться между ближайшими степенями двойки, одна из которых больше или равна данному числу, а другая — меньше или равна ему. Например, для нашего случая:
125 меньше 128 (27) и больше 64 (26)
125 минус 64 равно 61
61 меньше 64 (26) и больше 32 (25)
61 минус 32 равно 29
29 меньше 32 (25) и больше 16 (24)
29 минус 16 равно 13
13 меньше 16 (24) и больше 8 (23)
13 минус 8 равно 5
96 ____________	Гпава 2
5 меньше 8 (23) и больше 4 (22)
5 минус 4 равно 1
Обратите внимание, что хотя здесь есть записи для 2б, 25, 24, 23, 22 и 2°, отсутствует запись для 21, а это говорит о том, что значение этого последнего выражения при преобразовании в двоичную форму равняется нулю (любое число, вычитаемое из предыдущего результата, дает единицу для соответствующей степени двойки; отсутствующее число дает ноль). Единица — всегда единица, даже в двоичной форме. Таким образом, 125 = 1 х 26 + + 1 х 25 + 1 х 24 + 1 х 23 + 1 х 22 + 0 х 21 + 1 х 2°. Для получения двоичного значения прочтите множители слева направо, и получите 1111101.
Для усвоения обоих методов вам следует потренироваться в преобразовании других чисел. (Эта тема будет отражена в контрольных вопросах в конце этой главы.)
Преобразование
из двоичной системы в десятичную
Нет ничего проще, если знаешь значения степени двойки. Выполните следующие шаги, для примера проведя преобразование числа 11011011:
1.	Определите общее количество разрядов в числе (в 11011011 их восемь).
2.	Вычтите из результата единицу (8 - 1 = 7). Получится показатель степени двойки, связываемый с наивысшим порядком числа в экспоненциальном представлении.
3.	Преобразуйте число в экспоненциальное представление, оперируя всеми разрядами как множителями.
Таким образом, 11011011 в этой форме будет выглядеть следующим образом:
11011011 = 1х27+1х26+0Х25+1х24+1х23+0х22+1х21 + 1x2° = =128+64+0+16+8+0+2+1= 219
Чтобы окончательно усвоить этот метод, потренируйтесь в преобразовании других чисел.
Старшие битовые комбинации
Иногда мы имеем дело с двоичными числами, имеющими последовательно расположенные единицы в старших разрядах 8-битных чисел, начиная с первого старшего разряда. (Первые разряды, расположенные слева, называются самыми старшими, поскольку они представляют наивысшие числовые значения.) Представим таблицу соответствия подобных 8-битных двоичных
IP-адресация и связанные с ней темы
97
чисел и десятичных чисел в которой, для вас наиболее интересными будут битовые комбинации со второй по шестую:
Двоичное	Десятичное
10000000	128
11000000	192
11100000	224
11110000	240
11111000	248
11111100	252
11111110	254
11111111	255
Постарайтесь запомнить эти соответствия, и вы будете хорошо подготовлены к решению проблем, связанных с маскированием подсетей, которые рассматриваются в разд. "Подсети и суперсети IP" этой главы.
Младшие битовые комбинации
Теперь мы переставим предыдущий пример "с ног на голову" и начнем заполнение единичными значениями позиций двоичных разрядов в’8-битных числах справа налево, т. е. начиная с младшего разряда, добавляя единицы по мере приращения. Обратите внимание, что каждое из этих чисел равняется двойке, возведенной в степень, равную количеству видимых бит, минус единица. Если вы запомните значения степеней двойки от одного до восьми, то сможете мгновенно подсчитывать эту таблицу в уме!
Двоичное	Десятичное	Экспонента	
00000001	1	21	- 1
00000011	3	22	- 1
00000111	7	23	- 1
00001111	15	24	- 1
00011111	31	25	- 1
00111111	63	26	- 1
01111111	127	27	- 1
11111111	255	28	- 1
Запомнив эти числа или научившись их подсчитывать, вы подготовитесь к решению проблем, связанных с маскированием подсетей, рассмотренных в разд. "Подсети и суперсети IP" этой главы. Как и в случае с масками подсети, редко случается иметь дело с масками суперсетей, состоящими более чем из 4—6 бит, однако при необходимости эти числа легко подсчитать, и вы должны уметь это делать.
98
Гпава 2
вР°сети, подсети и маски
Если два сетевых интерфейса находятся в одной физической сети, они могут взаимодействовать друг с другом прямо на уровне управления доступом к среде. Но как программное обеспечение "узнает", что это тот случай, когда сообщения инициируются между двумя машинами? Ключом к решению этой проблемы является специальная битовая комбинация, называемая маской подсети (subnet mask), которая должна быть определена для любого сетевого интерфейса, применяющего TCP/IP.
В действительности, каждый из трех основных классов IP-адресов — А, В и С — также обладает собственной маской подсети по умолчанию. Исследование этих значений дает очень значительную информацию о маскировании подсетей, так что вы сможете получить общее представление о предмете, просто сравнивая схемы классов адресов с соответствующими масками подсетей.
Но сначала необходимо ознакомиться с определением: маска подсети (subnet mask) — это специальная битовая комбинация, использующаяся в паре с IP-адресом и содержащая единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Таким образом, маски по умолчанию для классов А, В и С должны быть вполне очевидны:
Класс	Схема	Маска по умолчанию
Класс A	n h.h.h	255.0.0.0
Класс В	п.п h.h	255.255.0.0
Класс С	п.п.п h	255.255.255.0
(Здесь п обозначает сетевую часть адреса, h — хостовую часть.)
Если рассуждать совсем упрощенно, каждый раз, когда в схеме адреса появляется п, обозначая всю сетевую часть адреса, это значение в маске подсети по умолчанию заменяется числом 255. Если объяснять этот процесс с математической точки зрения, мы знаем, что маска подсети заменяет сетевую часть адреса последовательностью единиц, а десятичное значение 255 соответствует битовой комбинации 11111111. Таким образом, каждое значение 255 маскирует один из октетов, составляющих сетевую часть адреса.
Подсети и суперсети IP
Причина, по которой такие понятия, как подсети и суперсети, имеют серьезное значение в сетях TCP/IP, состоит в том, что каждое из них с точки зрения маршрутизации относится к "локальному соседству" в такой сети. Когда сетевые адреса подразделяются сверх того, что принято по умолчанию для класса, к которому эти адреса принадлежат, речь заходит о "захвате раз
IP-адресация и связанные с ней темы	99
рядов" хостовой части адреса и использовании этих захваченных разрядов для создания многочисленных областей в контексте одного сетевого адреса. Таким образом, маска подсети, которая больше маски по умолчанию для данного адреса, разделяет сетевой IP-адрес на несколько подсетей. К примеру, для адреса класса В, имеющего по умолчанию маску подсети 255.255.0.0, маска подсети 255.255.192.0 захватывает два разряда хостовой части, чтобы применить их для идентификации подсети (поскольку десятичное число 192 эквивалентно двоичному 11000000, два первых разряда которого употребляются в сетевой части адреса). Эту схему сетевого адреса можно охарактеризовать таким образом: есть восемь разрядов для сетевого префикса (network prefix) и два дополнительных разряда для подсети. Здесь сетевой префикс обозначает количество разрядов в IP-адресе, начиная с левой части, представляющей фактический сетевой адрес, а дополнительные два разряда для подсети заимствованы из хостовой части IP-адреса для расширения сетевой части. Сетевой адрес в целом, включающий как сетевой префикс, так и разряды для подсети, называется расширенным сетевым префиксом (extended network prefix).
С помощью двухразрядной маски подсети можно идентифицировать четыре подсети, поскольку каждая из возможных последовательностей разрядов подсети — 00, 01, 10 и И — может представлять потенциальную подсеть. Однако в случае с сетевым и ведущим адресом (т. е. адресом, присвоенным главному сетевому узлу) общее количество используемых адресов подсети уменьшается на два значения, поскольку сочетания всех нулей (в данном случае 00) и всех единиц (11) резервируются для иных целей. Процесс захвата разрядов из хостовой части для дальнейшего подразделения сетевой части адреса называется фрагментацией сетевого адреса, или организацией подсетей (subnetting).
С точки зрения маршрутизации, организация подсетей позволяет сетевым администраторам сочетать подсети с фактическими областями маршрутизации сети, чтобы компьютеры, находящиеся в одной физической сети, могли взаимодействовать с помощью МАС-адресов. Другие пары компьютеров, желающие взаимодействовать, но не находящиеся в одной физической сети, принадлежат к различным подсетям. (Их числовые IP-адреса различаются в части, относящейся к подсетям.) Именно здесь увеличивается значение числовых соседств, которые обсуждались ранее в этой главе.
Когда компьютер в одной подсети собирается наладить сообщение с компьютером в другой подсети, трафик должен пересылаться от отправителя к ближайшему IP-шлюзу, с тем чтобы переправить сообщение из одной подсети в другую. IP-шлюз (IP gateway) — это устройство, обеспечивающее связь различных IP-сетей или подсетей. IP-шлюз часто называется "маршрутизатором" (router), поскольку он обычно хранит информацию о "достижимости" многих сетей, выбирает лучший (кратчайший, быстрейший или ха-
100
Гпава 2
растеризующийся меньшими издержками) путь или "маршрут" для каждого получаемого пакета,, а затем отсылает его по адресу.
Повторим, что организация подсетей означает захват разрядов из хостовой части адреса и использование этих разрядов для деления цельного сетевого адреса на множество подразделов, называемых подсетями (subnets). С другой стороны, организация суперсетей (supernetting) характеризуется противоположным подходом: посредством сочетания соседних сетевых адресов осуществляется захват разрядов из их сетевой части и применение этих разрядов для создания единого, большего смежного адресного пространства для ведущих адресов. В последующих разделах вам будет предоставлена возможность изучить некоторые примеры, которые помогут закрепить эти понятия. Более подробную информацию об организации подсетей можно получить из RFC 1878 "Variable length Subnet Table for IPv4" (Таблица переменной длины подсетей для IPv4). (Кроме прочих мест, она расположена по адресу http://andrew2.andrew.cmu.edu/rfc/rfcl878.html.)
Расчет масок подсетей
Есть несколько разновидностей масок подсети, и реализация той или другой зависит от желаемой схемы сегментации адреса. Простейшая форма маски подсети применяет технологию маскирования подсети маской постоянной длины (Constant-Length Subnet Masking, CLSM). При этом каждая подсеть включает одно и то же количество станций и представляет собой простое разделение адресного пространства за счет организации нескольких равных сегментов. Другая разновидность — технология маскирования подсети маской переменной длины (Variable-Length Subnet Masking, VLSM). Она позволяет разделить адрес на несколько подсетей, каждая из которых необязательно равна по размеру другим.
Когда приходит время разрабатывать схему маскирования подсетей, то, в случае, если все сегменты должны поддерживать примерно равное количество устройств с поправкой 20% в ту или иную сторону, разумнее всего применять схему маскирования маской постоянной длины (CLSM). Но если на один или два сегмента приходится большое количество пользователей, а на другие сегменты — намного меньшее, то более эффективное распределение адресного пространства сможет обеспечить технология маскирования подсети маской переменной длины (VLSM). (В данном случае схему маскирования маской постоянной длины можно применять только для больших сегментов, что привело бы к растрачиванию множества адресов на сегментах с меньшим заполнением.) В схеме адресации VLSM различные подсети могут иметь различные сетевые префиксы, отражающие их схемы и емкостш Несомненно, двоичная природа организации подсетей означает, что все они должны приспосабливаться к тем же видам структур, что характерны и для CLSM. В адресации VLSM отдельные адресные пространства подсетей вы-
IP-адресация и связанные с ней темы 101 сокого уровня могут быть разделены на еще более мелкие подпространства, если в том есть необходимость. Детальное обсуждение схем организации подсетей и связанных с ними конструктивных решений присутствует в прекрасной "белой книге" компании ЗСош под названием "Understanding IP Addressing: Everything You Ever Wanted To Know" (Введение в IP-адресацию: Все, что вы хотели бы знать), написанной Чаком Семиреа и расположенной по адресу http://www.3com.com/nsc/501302.htnil.
Разработка маски подсети постоянной длины
Чтобы создать маску подсети постоянной длины (CLSM), в которой каждая часть сети обладает одинаковым количеством адресов, сделайте следующее:
1.	Определитесь с тем, сколько подсетей вам требуется.
2.	Поскольку количество подсетей должно быть отражено в битовой комбинации, прибавьте к этому количеству 2 (1 для сетевого адреса, 1 для широковещательного адреса), затем перейдите к ближайшей большей степени двойки. Если сумма равна степени двойки, ее можно употреблять.
3.	Распишите разряды хостовой части адреса в обратном направлении.
4.	Убедитесь, что в каждой подсети осталось достаточное количество доступных ведущих адресов.
5.	Для вычисления количества доступных подсетей для маски всегда применяйте формулу 2й — 2, где b представляет собой количество разрядов в маске подсети, а 2 вычитается, чтобы исключить сетевой (все нули) и широковещательный (все единицы) адреса, которые необходимы для каждой сети и подсети IP.
Вот пример, который поможет вам реализовать этот метод:
1.	Пусть некая компания ABC Inc. хочет создать 12 подсетей для своего адреса класса С 200.10.10.0. В каждой подсети не должно быть более 10 ведущих адресов.
2.	Прибавьте 2 (для сетевого и широковещательного адресов) к 12; получится 14. Ближайшая степень двойки — 16, или 24. Таким образом, нужна 4-разрядная маска подсети.
3.	Резервирование четырех разрядов сверху вниз демонстрирует битовую комбинацию 11110000 для маски подсети. Десятичное значение для этого числа — 128 + 64 + 32 + 16, или 240. Соответственно, маска подсети по умолчанию для адреса класса С расширяется с 255.255.255.0 до 255.255.255.240. (Потому что мы "захватываем" четыре разряда из хостовой части адреса.)
4.	Для подсчета количества ведущих адресов для каждой подсети осуществите обратное построение логической схемы маски подсети. Это значит, что ни один разряд, применяемый для маски подсети, не может быть ис-
102
Гпава 2
пользован для ведущих адресов. Подсчитайте количество нулей, оставшихся в маске подсети, чтобы определить количество разрядов, возможных для использования в ведущих адресах. В данном случае результат равен четырем.
5.	Формула, применяемая для подсчета количества подсетей, работает и при подсчете количества хостов; при этом b становится количеством разрядов в ведущем адресе: 2Ь — 2, или 24 — 2, и в результате получаем 14.
Не забывайте, что конечная цель этого упражнения состоит в том, чтобы сравнить количество требующихся хостов для каждой подсети с только что вычисленным значением. Другими словами, если в каждой подсети необходимо более 14 хостов, то рассчитанная маска подсети не сможет обеспечить желаемого результата, но поскольку для каждой подсети необходимо 10 хостов, исходя из требований АВС 1пс., наша схема будет работать.
Вот краткое изложение того, что вы только что сделали. Основываясь на требовании о создании 12 подсетей в адресе класса С, в котором ни в одной отдельной подсети не должно быть более 10 ведущих адресов, вы вычислили, что необходима 4-разрядная маска подсети. Поскольку соответствующая битовая комбинация, 11110000, эквивалентна 240 в десятичном представлении, маска подсети для класса С по умолчанию 255.255.255.0 должна быть изменена таким образом, чтобы эти четыре разряда были захвачены из хостовой части адреса; в результате маска подсети принимает вид 255.255.255.240.
Так как оставшиеся четыре разряда для хостовой части позволяют предоставить по 14 ведущих адресов для каждой подсети, а требуется не более 10 адресов на подсеть, наша схема будет работать, как предполагалось. Однако не забывайте выполнять последнее действие и проверять свою работу — повторно нумеровать IP-сети скучно и утомительно; вам ведь не хочется этого делать!
Другой пример маски подсети постоянной длины
В этот раз рассмотрим более амбициозную схему, демонстрирующую, как маски подсетей и ведущие адреса могут распространяться на несколько октетов.
1.	Пусть, к примеру, корпорация XYZ, крупная международная компания с сотнями филиалов по всему миру, желает организовать 300 подсетей для своего адреса класса В 178.16.10.0. В каждой подсети должно быть не больше 100 ведущих адресов.
2.	Прибавьте 2 (для сетевого и широковещательного адресов) к 300; получится 302. Ближайшая степень двойки — 512, или 29. Таким образом, нужна 9-разрядная маска подсети.
IP-адресация и связанные с ней темы
103
3.	Зарезервировав 9 разрядов сверху вниз, получаем маску подсети с битовой комбинацией 11111111 10000000. Поскольку эта маска распространяется на несколько октетов, то для каждого из них подсеть необходимо подсчитывать отдельно. Для первого октета хостовой части результат получается равным 255, поскольку во всех разрядах стоят единицы. Во втором октете единица стоит только в первом старшем разряде (равном 27); таким образом, получается десятичное значение 128. Соответственно, маска подсети по умолчанию для адреса класса В расширяется с 255.255.0.0 до 255.255.255.128 (т. к. мы "захватили" 9 разрядов из хостовой части адреса, получился расширенный сетевой префикс /25).
4.	Для подсчета количества ведущих адресов для каждой подсети осуществите обратное построение логической схемы маски подсети. Это значит, что ни один разряд, применяемый для маски подсети, не может быть использован для ведущих адресов. Подсчитайте количество нулей, оставшихся в маске подсети, чтобы определить количество разрядов, возможных для использования в ведущем адресе.
5.	В данном случае результат равен семи. Формула, применяемая для подсчета количества подсетей, работает и при подсчете количества хостов; при этом b становится количеством разрядов в ведущем адресе: 2й - 2, или для нашего случая 27 — 2; в результате получаем 128 — 2, или 126.
Не забывайте, что конечная цель этого упражнения состоит в том, чтобы сравнить количество требующихся хостов для каждой подсети с только что высчисленным значением. Другими словами, если в каждой подсети необходимо более 126 хостов, то рассчитанная маска подсети не сможет обеспечить желаемого результата. Но поскольку, исходя из требований корпорации XYZ, для каждой подсети необходимо 100 хостов, наша схема будет работать.
Разработка маски подсети переменной длины
Разработка и настройка масок подсети переменной длины требует больше времени и сложнее для понимания, однако с помощью этой схемы доступное адресное пространство расходуется намного более эффективно. Рассмотрим простой пример. Предположим, что Университет города Плотчни-ка (Plotchnik University, PU) располагает адресом класса В, и для поддержки различных территорий университета, офисов и предприятий необходимо 135 подсетей. Поскольку 135 расположено между 128 и 256, для маски подсети постоянной длины требуется восемь разрядов; при этом маска подсети по умолчанию для адреса класса В — 255.255.0.0 — в данном случае расширяется до 255.255.255.0, обеспечивая поддержку необходимого количества подсетей. Пока все нормально.
Предположим, тем не менее, что более чем от половины подсетей в этом университете требуется поддержка лишь 30 устройств или того меньше. Значит, все эти сети, которые могли бы ограничиться пятиразрядной маской подсети,
104
Гпава 2
должны тратить дополнительные три разряда пространства (или до 224 неиспользуемых адресов в каждой подсети)! Как можно догадаться, технология маскирования подсетей маской переменной длины разрабатывалась именно для того, чтобы предусмотреть такие ситуации. Вместо того, чтобы пользоваться методом, предложенным в предыдущем разделе, выполните следующее:
1.	Проанализируйте требования отдельных подсетей.
2.	Сгруппируйте эти требования по их отношениям к ближайшей степени двойки, которая должна быть хотя бы на два значения больше (не забывайте о сочетаниях всех нулей и всех единиц), чем число, отражающее требования данных подсетей.
3.	Руководствуясь информацией о том, какие подсети должны поддерживать наибольшее количество устройств, определите минимальный размер маски подсети. (Помните: чем меньше маска подсети, тем меньше подсетей она поддерживает, но тем больше ведущих адресов.)
4.	Сгруппируйте подсети, требующие меньшего количества хостов в пределах адресных пространств, определяемых наибольшими подразделениями (вы определили их, выполняя предыдущее действие).
5.	Определите схему маски подсети переменной длины, обеспечивающую необходимое количество подсетей каждого размера, оптимально подходящую для выполнения поставленной задачи, группирующую крупные и мелкие подсети и создающую наиболее эффективные модели сетевого трафика. Другими словами, соседствующие подсети с одинаковым расширенным сетевым префиксом должны быть помещены в один "контейнер", определяемый сетевым префиксом более высокого уровня, если это возможно. Предположим, вам нужно несколько подсетей с тремя разрядами фрагментации сети и 30 подсетей с пятью разрядами фрагментации. Это значит, что потребуется три трехразрядных префиксных контейнера, поскольку каждый из них может предложить лишь 14 уникальных пятиразрядных под-подсетей. Если поместить эти пятиразрядные подсети все вместе в пределах адресов, которые попадают в любую трехразрядную область подсети и, вероятнее всего, будут обмениваться данными друг с другом, получится наиболее эффективная схема маршрутизации из всех возможных.
Таким образом, маскирование подсетей маской переменной длины делает возможным создание иерархий маршрутизации и ограничение трафика по магистрали, гарантируя, что меньшие адресные пространства подсетей смогут получать доступ к необходимым ресурсам наиболее эффективным способом. Для этого нужно убедиться в том, что серверы, к которым такие подсети обращаются чаще всего, подключены прямо к данной подсети, или же они находятся в том же трехразрядном адресном пространстве подсети, что и исходные подсети, даже если это пространство разделено еще на сорок пятиразрядных контейнеров.
IP-адресация и связанные с ней темы	105
Расчет суперсетей
Суперсети "захватывают" разряды из сетевой части IP-адреса, "одалживая" их в хостовой части IP-адреса. Кроме всего прочего, суперсети позволяют различным сетевым IP-адресам объединяться и действовать совместно, как если бы они представляли собой единую логическую сеть. В результате заметно повышается эффективность сообщений внутри локальной сети, т. к. исчезает необходимость внутренней маршрутизации. В некоторых случаях это также делает возможным адресацию к суперсети большего количество хостов, чем при сочетании множества адресов и вот почему:
1.	Сочетание восьми адресов класса С захватывает три разряда из сетевой части адреса и добавляет их в хостовую часть адреса.
2.	Таким образом, вместо поддержки восьми разрядов в части ведущего адреса суперсеть поддерживает 11 разрядов (8 + 3) для ведущих адресов. В результате маска подсети принимает форму 255.255.248.0 (вместо 255.255.255.0 по умолчанию). Есть два способа расчета маски суперсети. Осознавая, что вы захватываете три разряда из правой части третьего октета, вы должны также отдавать себе отчет в том, что результирующая битовая маска для этого октета принимает вид 11111000, что эквивалентно 248 в десятичном выражении. Другой способ рассчитать это значение — признать, что наибольшее число, которое можно представить в трех двоичных разрядах, равняется 111, или 23 — 1, или 7 в десятичном представлении. Если вычесть это число из 255, получится 248 — тот же ответ, но пришли мы к нему быстрее, чем если бы использовали предыдущую формулу. Поскольку действительны оба метода, применяйте тот, который кажется вам более удобным.
3.	Количество доступных хостов для данной суперсети подсчитывается по известной формуле 2 й — 2, для данного случая 211 — 2 равняется 2046.
4.	Каждый отдельный адрес класса С может адресовать только 254 (28 - 2) хоста. Помножив 8 на 254, получим 2032. Поскольку 2046 - 2032 = 12, в результате организации суперсетей для восьми адресов класса С выявляются дополнительные хосты, которые не обнаруживались при использовании каждого адреса класса С по отдельности.
На самом деле, намного более важно то обстоятельство, что организация суперсети позволяет получать доступ к группе хостов через один адрес маршрутизатора, а сами эти хосты могут налаживать друг с другом прямое взаимодействие, обходясь без маршрутизации между всеми хостами в данном адресном пуле.
Надеемся, что все это поможет проиллюстрировать то, почему организация суперсетей столь полезна для поставщиков доступа в Internet, которые могут объединять множество адресов класса С, и таким образом обслуживать большее количество пользователей, чем это казалось возможным. В дейст
106
Гпава 2
вительности сочетание организации суперсетей с техникой маскирования подсетей маской переменной длины дает поставщикам доступа в Internet возможность разделять и дробить адресные пространства с поразительной эффективностью и легкостью.
Бесклассовая
междоменная маршрутизация
Бесклассовая междоменная маршрутизация (Classless Inter-Domain Routing, CIDR) получила свое имя вследствие того, что она игнорирует традиционную для IP-адресов маркировку классов А, В и С и может, следовательно, устанавливать границу идентификаторов сети и хоста где угодно, упрощая маршрутизацию по результирующим адресным пространствам IP. Чтобы усвоить этот принцип, представьте, что адрес CIDR устанавливает границы между сетевыми и хостовыми частями IP-адреса более или менее произвольно, ограниченные лишь адресным пространством IP, и которыми поставщик доступа в Internet, организация или компания могут управлять. Когда доступно множество IP-адресов, эффективнее всего применять CIDR, если эти адреса являются смежными (т. е. если они могут быть организованы в один или несколько логических блоков, действующих на определенных границах разрядов между хостовой и сетевой частями адреса). При использовании CIDR также требуется, чтобы маршрутизаторы "знали", что они имеют дело с адресами CIDR.
Спецификация C1DR изложена в документах RFC 1517, 1518 и 1519. По существу, CIDR позволяет объединять IP-адреса классов А, В и С и обращаться с ними как с большим адресным пространством или, при необходимости, произвольно разделять их. Хотя иногда маршрутизация CIDR используется для объединения множества адресов класса С, с ее помощью также можно разделять адреса классов А, В и С (особенно в случае применения маскирования подсетей маской переменной длины), тем самым обеспечивая наиболее эффективное применение доступного адресного пространства. Большинство специалистов сходятся на том, что наиболее положительное воздействие CIDR на Internet заключается в уменьшении количества отдельных адресов класса С, которые необходимо распознавать (многие из них в настоящее время объединены и действуют с меньшими масками подсетей, таким образом занимая меньше позиций в таблицах маршрутизации высшего уровня).
При настройке маршрутизатора для обработки адреса CIDR элемент таблицы маршрутизации принимает форму address, count, где address — это начальный адрес для диапазона IP-адресов, a count — это количество адресов, объединенных для создания более крупного адресного пространства.
IP-адресация и связанные с ней темы
107
При создании адреса CIDR действуют перечисленные далее ограничения.
□	Все адреса в составе адреса CIDR должны быть смежными. Однако применение стандартной сетевой префиксной нотации для адресов также делает разделение любого вида адреса эффективным. Когда несколько адресов группируются, требуется, чтобы все они были выстроены в цифровой последовательности, в результате чего граница между сетевой и хостовой частями адреса могли бы перемещаться, отражая такую группировку.
□	При группировке блоки адресов CIDR функционируют лучше всего, существуя в последовательностях, превышающих единицу и равных какой-либо битовой комбинации более низкого порядка, соответствующей всем единицам — в группах 3, 7, 15, 31 и т. д. Это делает возможным захват соответствующего количества разрядов (два, три, четыре, пять и т. д.) из сетевой части группы адресов CIDR, и их применение для расширения хостовой части.
□	Адреса CIDR часто создаются на базе адресов класса С (которые используются в сетях с небольшим количеством компьютеров, а сети этого класса наиболее распространены). Тем не менее, если какая-либо организация желает подразделить существующие адреса классов А или В, технология CIDR также оказывается очень эффективным средством.
□	Чтобы применение адресов CIDR в любой сети стало возможным, все ее маршрутизаторы в маршрутном домене должны "понимать" нотацию CIDR. Для большинства маршрутизаторов выпуска последних восьми лет это не является проблемой, поскольку почти все производители реализовали поддержку адресов CIDR в момент утверждения текущей версии RFC, т. е. в сентябре 1993 года.
Значимость префиксной нотации, упомянутой ранее в этой главе, в применении к классам А (/8), В (/16) и С (/24) становится особенно очевидной, когда вы видите адреса CIDR, использующие эту нотацию. Таким образом, глядя на адрес 192.168.5.0 /27, можно смело заключить, что, во-первых, это адрес класса С, а во-вторых, он разделен на подсети посредством трех дополнительных разрядов сетевого пространства и имеет соответствующую маску подсети 255.255.255.224. Такая нотация компактна и рациональна; она явно обозначает, может ли схема подсети или суперсети применяться для данной 1Р-сети.
Общедоступные
и частные IP-адреса
Из разд. "Классы IP-адресов" этой главы вы узнали, что документ RFC 1918 выделяет отдельные адреса и адресные пространства в пределах классов А, В и С для использования в качестве частных IP-адресов (private IP addresses).
108
Гпава 2
Это значит, что любая организация при желании может применять эти частные IP-адреса в пределах своих собственных сетевых доменов, не получая предварительного разрешения и не производя никаких расходов.
Диапазоны частных IP-адресов можно выразить в форме сетевых IP-адресов, как показано в табл. 2.4.
Таблица 2.4. Информация о частных IP-адресах
Класс	Адрес(диапазон)	Сети	Общее количество частных хостов
Класс А	10.0.0.0	1	16 777 214
Класс В	172.16.0.0-172.31.0.0	16	1 048 544
Класс С	192.168.0.0-192.168.255.0	256	65 024
При выборе типов частных IP-адресов вы можете руководствоваться необходимым количеством хостов на сеть, готовностью разделять на подсети большие классы адресов- (обычно класса В) или организовывать суперсети для меньших классов адресов (обычно класса С). В наших сетях мы предпочитаем применять адреса класса В и подразделять их на подсети в третьем октете, выделяя четвертый для адресов хостов. (Поскольку наши сети в большинстве своем невелики, ограничение в 254 хоста на подсеть не представляет никакой проблемы.) Если вы решите использовать в своих сетях частные IP-адреса, проанализируйте сетевые требования относительно количества подсетей и числа хостов на подсеть и сделайте выбор, исходя из результатов такого исследования.
Вам уже известен один из недостатков применения частных IP-адресов — их маршрутизация в общедоступной сети Internet невозможна. Соответственно, если нужно подсоединить компьютеры к Internet, и при этом использовать частные IP-адреса в пределах локальных сетей, то на устройство, расположенное на границе между частной стороной сети и ее общедоступной стороной, необходимо установить дополнительное программное средство, которое может обеспечить работоспособность такой схемы. Иногда это подразумевает преобразование одного или нескольких частных IP-адресов в общедоступные для исходящего трафика, и обратное преобразование для входящего трафика. Другая методика, называемая имитацией адресов (address masquerading) или подстановкой адреса (address substitution), выполняется пограничными устройствами, включая прокси-сервер (proxy server), и заключается в замене частного IP-адреса одним или несколькими общедоступными IP-адресами во время перемещения через сервер исходящего трафика, и обратной замене общедоступных адресов их частными эквивалентами при перемещении через сервер входящего трафика.
IP-адресация и связанные с ней темы
109
Частные IP-адреса характеризуются еще одним ограничением, заслуживающим внимания. Некоторые IP-службы требуют так называемого безопасного сквозного соединения (secure end-to-end connection), т. е. IP-трафик должен перемещаться между отправителем и получателем в зашифрованной форме без промежуточного преобразования. Таким образом, если одна из сторон, осуществляющих такое соединение, применяет общедоступный IP-адрес, то такой же адрес должна применять и вторая сторона, поскольку маршрутизация адреса для "частного конца" соединения в Internet невозможна. Подобные требования выставляют безопасные протоколы типа IP Security (IPSec), а также некоторые технологии организации виртуальных частных сетей. По этой причине, если вы хотите реализовать в своей сети такие службы, использование частных IP-адресов может стать невозможным.
Как бы то ни было, в конечном счете частные IP-адреса представляют значительную ценность для многих организаций хотя бы потому, что подавляющее большинство компьютеров в сетях TCP/IP — это клиентские рабочие станции. Поскольку они редко (если вообще когда-либо) предоставляют сервисные услуги широкой аудитории (или пользователям Internet в целом), для них частные IP-адреса подходят в полной мере. Клиентам нужно читать электронную почту, получать доступ к сети Internet и другим службам, а так же пользоваться локальными сетевыми ресурсами. Ни одно из этих требований не предполагает применения общедоступных IP-адресов и не запрещает применение адресов частных. Поэтому введение частных IP-адресов значительно снизило потребность в общедоступных IP-адресах для большинства организаций.
Общедоступные IP-адреса сохраняют свою значимость как средство идентификации серверов и служб, которые должны быть доступны в сети Internet. Отчасти это отражение работы службы доменных имен (Domain Name System, DNS), которая заведует преобразованием между символическими доменными именами вроде www.course.com, с одной стороны, и числовыми IP-адресами типа 199.95.72.8, с другой. Поскольку человечество привыкло мыслить символическими категориями, а компьютеры для доступа к общедоступным хостам могут применять только эквивалентные числовые IP-адреса, то изменения в управлении соответствий между именами и адресами влияют на стабильность и удобство использования самой сети Internet.
Эти вопросы подробно рассмотрены в главе 7. Имейте в виду, что на изменение соответствия имени и адреса в системе DNS в масштабе всей сети Internet уходит довольно длительное время, в некоторых случаях достигающее 72 часов. Очень важно, что общедоступные серверы не только применяют IP-адреса (а как еще они могли бы стать общедоступными?), но и меняют их как можно реже, чтобы сохранить максимальную корректность информации о преобразовании, разбросанной по всей сети Internet.
110
Глава 2
Если рассуждать более практично, большинству организаций общедоступные IP-адреса нужны для двух видов оборудования, к которым относятся:
□	устройства, обеспечивающие подключение сетей к Internet. Среди них внешние интерфейсы пограничных устройств всех типов, включая маршрутизаторы, прокси-серверы и брандмауэры, выполняющие роль защитного периметра между "внешней" и "внутренней" частью сетей;
□	серверы, предназначенные для обеспечения доступа к ним из сети Internet. Среди них общедоступные Web-серверы, почтовые, FTP- и новостные серверы. В этот список могут входить любые службы прикладного уровня TCP/IP, которые данная организация может счесть нужным выставить для доступа к ним из сети Internet.
Несмотря на то, что количество подобных устройств (или, чтобы быть точным, количество сетевых интерфейсов, поскольку каждый сетевой интерфейс на пограничном устройстве или сервере должен располагать собственным уникальным IP-адресом), довольно велико, оно несравнимо с количеством клиентов или исключительно внутренних устройств в большинстве корпоративных сетей. Трудно привести точные цифры, однако стоит думать, что в одном соседстве они исчисляются сотнями и тысячами. (На каждый общедоступный IP-адрес также может приходиться от сотен до тысяч частных IP-адресов.)
Управление доступом к информации об IP-адресах
Хотя технология NAT и подобные средства подстановки и имитации адреса необходимы при использовании частных IP-адресов, некоторые организации принимают решение употреблять эти средства в своих внутренних сетях применительно к вполне действительным общедоступным IP-адресам. Дело в том, что взаимодействие клиентов с сетью в границах этой сети без применения какой-либо формы "скрытия" адресов может привести к тому, что адресная структура такой внутренней сети станет известна посторонним людям, обладающим достаточной квалификацией. Они могут попытаться использовать эту информацию для того, чтобы проникнуть внутрь организации — из общедоступной сети Internet во внутреннюю корпоративную сетевую среду, — и атаковать (attack) сеть. При этом такие люди могут руководствоваться многими доводами, но ни один из них не сулит ничего хорошего.
Вот почему для обеспечения безопасности IP считается уместным применять прокси-сервер или подобную службу, позиционирующую себя на границе между внутренним и внешним трафиком. Когда исходящий трафик проходит через прокси из внутренней сети, прокси-служба заменяет внутренние сетевые адреса одним или несколькими различными адресами, что
IP-адресация и связанные с ней темы
111
бы трафик, перемещающийся по общедоступной сети Internet, не смог стать источником информации об адресной структуре внутренней сети.
Подобным образом, прокси-серверы могут обеспечить так называемое обратное посредничество (reverse proxying). При этом прокси-сервер получает возможность обращаться к серверам во внутренней сети, демонстрируя окружающему миру только свой собственный адрес, а затем пересылая внутренним серверам для дальнейшей обработки только допустимые запросы. Еще раз повторимся, что посторонние люди при этом могут узнать только адрес прокси-сервера, действующего от имени внутреннего сервера, и в большинстве случаев не подозревают о существовании невидимого посредника.
Таким образом, одна из наиболее важных функций прокси-сервера состоит в обеспечении преобразования адресов источника в проходящих через него исходящих пакетах. Это помогает избежать утечки информации о фактических адресах внутренней сети; в противном случае посторонние люди могут воспользоваться средствами считывания адресов и выяснить, какие именно адреса используются в любом данном диапазоне. Опираясь на то, что вы уже знаете о работе подсетей и суперсетей, вы должны понимать, что эта информация, в свою очередь, может позволить посторонним определить применяемые маски и схему внутренней сети. Поэтому, блокируя эту информацию, сообразительные администраторы IP-сетей ограничивают потенциальную возможность проникновения в систему и других атак.
Получение общедоступных IP-адресов
Если вы не работаете в организации, владеющей собственными общедоступными IP-адресами еще с 1980-х годов (или получившей такие адреса путем слияния или приобретения компаний), то вероятнее всего, что все общедоступные IP-адреса, которыми ваша организация располагает, предоставлены той самой компанией, которая обеспечивает вас доступом в Internet. Это одна из тонкостей, которая делает переход от одного провайдера к другому крайне нежелательным. Поскольку все устройства, доступные в сети Internet, должны иметь собственные публичные IP-адреса, перемена провайдера часто связана с занудной процедурой, называемой IP-перенумерацией (IP renumbering). При этом нужно заменить адреса на всех машинах, использующих адрес старого провайдера, на новые уникальные адреса, предоставленные новым провайдером.
Раньше всеми IP-адресами, номерами протоколов и хорошо известными адресами портов заведовало агентство IANA (Internet Assigned Numbers Authority, Агенство по выделению имен и уникальных параметров Internet); оно же отвечало за присвоение МАС-адресов сетевым интерфейсам. Теперь всем этим занимается организация ICANN (Internet Corporation for Assigned Names and Numbers, Организация по присвоению имен и номеров в сети
112
Глава 2
Internet), и именно в нее нужно обращаться, желая получить диапазон IP-адресов из числа немногих оставшихся адресов класса С. Хотя IANA больше не руководит этой деятельностью, на сайте этого агентства (http://www.iana.org) можно найти полезную информацию об IP-адресах и номерах; кроме того, такая информация есть и на сайте организации ICANN http://www.icann.org.
Учитывая теперешнюю нехватку общедоступных IP-адресов, только провайдеры, иначе поставщики доступа в сеть Internet (ISP), или другие организации, у которых есть очень веские причины подавать заявления на приобретение таких адресов, могут получить их в организации ICANN. В большинстве случаев для получения диапазона адресов, наряду с другими всевозможными Internet-услугами, нужно обращаться к вашему провайдеру.
Схемы IP-адресации
Непосвященным читателям может показаться, что все эти IP-адреса присваиваются совершенно произвольно, а может быть, автоматически генерируются на каком-нибудь компьютере. Однако на выработку стратегии присвоения IP-адресов по всему миру потрачено очень много сил. В этом разделе мы обсудим необходимость в схемах IP-адресации и рассмотрим, как их нужно создавать и документировать.
Сетевое пространство
Есть несколько сдерживающих факторов, которые обычно регламентируют схемы IP-адресации, и мы разделим их на две группы. В первую группу поместим факторы, определяющие количество и размер сетей. Среди них:
□	количество физических месторасположений сетей;
□	количество сетевых устройств в каждом месторасположении;
□	объем широковещательного трафика в каждом месторасположении;
□	доступность IP-адресов;
□	задержка, вызванная маршрутизацией из одной сети в другую.
Хотя есть возможность провести мост между двумя физическими месторасположениями сетей по соединению WAN (Wide-Area Network, глобальная сеть), на практике это делается лишь применительно к протоколам, которые вообще не допускают маршрутизации (например, SNA и NetBEUI). Маршрутизация (вместо создания моста) осуществляется в первую очередь для того, чтобы предотвратить ненужные пересылки из заполненных дорогостоящих схем глобальной сети (WAN). Следовательно, минимально необходимое количество IP-сетей — по одной для каждого месторасположения в компании и каждого канала WAN.
IP-адресация и связанные с ней темы	113
Далее. Поскольку IP-адресов недостаточно, разумно уменьшать сети до предела; однако в любом случае в них должно быть достаточное количество используемых адресов (помните, что используемые адреса — это [общее количество адресов в сети] — 2), чтобы каждому устройству досталось по одному адресу, и сверх этого оставалось достаточное пространство для роста.
Наконец, вспомним, что 1Р-сеть — это широковещательный домен (broadcast domain). Это значит, что когда один хост сети отсылает широковещательное сообщение, все остальные хосты этой сети должны его принять и обработать. Соответственно, скорость сетевых соединений и процессоров хостов, а также количество и характер применяемых протоколов, ограничивают фактический размер сети.
Вообще говоря, чем больше широковещания и протоколов в сети, тем меньше должно быть хостов.
В большинстве маршрутизаторов решения о маршрутизации на Сетевом уровне обычно принимаются программным обеспечением, поэтому выполняются они достаточно медленно, если сравнивать с аналогичными решениями, принимаемыми на Канальном уровне коммутаторами. Дело в том, что коммутаторы принимают решения, используя такое оборудование, как специализированные интегральные схемы (Application Specific Integrated Circuits, ASIC). Относительно новое устройство под названием коммутатора Сетевого уровня (layer-3 switch) просто реализует логическую схему этого уровня, принятую в программном обеспечении, в собственной специализированной интегральной схеме. В результате скорость маршрутизации значительно увеличивается. На практике коммутация Сетевого уровня позволяет разделять крупную сеть на множество мелких подсетей, при этом почти не ухудшая производительность.
Вторая группа, помогающая определиться с тем, как выбирать IP-адреса, связана со следующими проектными требованиями:
□	минимизация размера таблиц маршрутизации;
□	минимизация времени, требуемого на "сбор" сети;
□	увеличение гибкости, упрощение управления и поиска неисправностей.
Время, необходимое для осуществления маршрутизации из одной сети к другой,.зависит от размера таблицы маршрутизации, — чем больше таблица, тем дольше по ней проводится поиск. Однако мы уже определили количество необходимых сетей; как же уменьшить количество маршрутов в таблице? Ответ — концентрация маршрутов (route aggregation), или суммированные адреса (summary addresses).
В данном случае важнее всего понять, что не существует однозначного отношения между сетями и маршрутами к ним. Если маршрутизатор получает путь к 10.1.1.0/25 и 10.1.128/25, он может направить его к 10.1.1.0/24 к вышестоящим соседям, вместо этих двух путей /25.
5 Зак, 321
114
Глава 2
Вот еще одно преимущество суммирования. Если сеть 10.1.1.128/25 будет отключена, то маршрутизаторы, содержащие путь к 10.1.1.128/25, должны будут его удалить, но маршрутизаторы, хранящие лишь суммированные пути, даже не узнают о произошедшем.
Смысл всего этого состоит в том, чтобы пронумеровать сети, в результате чего они смогут быть без труда суммированы, а это минимизирует количество путей в таблице маршрутизации и обеспечит им большую стабильность. В конечном итоге, процессор сможет пропускать пакеты, не тратя время на таблицу маршрутизации.
Пространство хостов
Теперь, когда вам известны некоторые факторы, связанные с нумерацией сетей, давайте вкратце рассмотрим присвоение IP-адресов хостам.
Преимуществами стратегии продуманного именования хостов являются более гибкое окружение и легкость поддержки. Предположим, что ваша компания имеет 500 филиалов по всему миру, в каждом из которых есть сеть /24, и все эти сети применяют следующее соглашение по нумерации:
IP-адрес	Описание
Ю.х.х.О	Сетевой адрес
Ю.х.х.1—Ю.х.х.14	Коммутаторы и регулируемые концентраторы
10.х.х.17	DHCP- и DNS-сервер
Ю.х.х.18	Файловый сервер и сервер печати
10.Х.Х.19— Ю.х.х.ЗО	Сервер приложений
Ю.х.х.ЗЗ—Ю.х.х.62	Принтеры
10.Х.Х.65-10.Х.Х.246	DHCP-клиенты
10.Х.Х.247-10.Х.Х.253	Разнородные и статические клиенты
Ю.х.х.254	Шлюзовой адрес
Ю.х.х.255	Широковещательный адрес
Вы можете без труда определить устройство по его IP-адресу, в каком бы офисе оно не находилось. Еще более важно, хотя менее очевидно, что эти группы адресов должны быть сформированы в двоичном, а не десятичном представлении. Это значит, что следует содержать группы внутри двоичных границ. Дело в том, что в будущем для сокращения широковещательного трафика можно будет реализовать коммутацию Сетевого уровня, а если устройства будут представлены в двоичном виде, их не нужно будет переадре
IP-адресация и связанные с ней темы 	,	115
совывать. В этом примере серверы идентифицируются по адресам Ю.х.х. 16/28, даже если для них настроены маски подсетей 255.255.255.0. Если начинать с .10 и дойти до .20, кажется, имело бы смысл пользоваться десятичной системой, но на самом деле это приведет лишь к путанице. Двоичная система удобна еще по одной причине: когда-нибудь вам может понадобиться классифицировать трафик, чтобы применить специальный уровень Quality of Service (QoS) или какую-либо политику. Возможно, вы установите низкий приоритет для трафика к Ю.х.х.32/27 (принтеры) и от этого адреса. Если адреса принтеров не содержать в двоичном представлении, некоторые из них могут быть исключены из этого правила, а другие устройства по ошибке включены в него. Другое распространенное применение двоичного представления адресов — правила брандмауэров. Можно запретить весь трафик от Ю.х.х.0/26 (сетевое оборудование, серверы, принтеры), исходящий в сеть Internet. В результате предотвращается возможность применения серверов хакерами в качестве исходных пунктов для атак других сетей, но при этом DHCP-клиенты сохраняют возможность получения доступа через брандмауэер.
Как видите, тщательно разработанная схема IP-адресации не только значительно увеличивает производительность сети, но также упрощает поддержку и эксплуатацию, и повышает ее гибкость.
Выводы по главе
□	IP-адреса обеспечивают основание для идентификации отдельных сетевых интерфейсов (а потому и компьютеров, и других устройств) в сетях TCP/IP. Знание структур, ограничений и принципов функционирования адресов чрезвычайно важно для разработки новых и понимания организации существующих сетей TCP/IP.
□	IP-адреса подразделяются на пять классов: А, В, С, D и Е. В классах А— С для установки контрольных точек между сетевой и хостовой частями адресов сети применяется 32-разрядный адрес протокола IPv4. В классе А один октет выделяется под сетевой адрес, три октета — под ведущий адрес. В классе В для сетевого и ведущего адресов применяется по два октета. В классе С три октета приходится на сетевую часть, и один — на хостовую. Таким образом, немногие (124) существующие сети класса А могут поддерживать более 16 000 000 хостов; значительное количество (более 16 000) сетей класса В — около 65 000 хостов; наконец, почти в 2 000 000 сетей класса С возможно использовать лишь 254 хоста на каждую сеть.
□ Понимание двоичной арифметики является обязательным условием при изучении IP-адресов, особенно когда речь заходит о масках подсетей. Умение осуществлять преобразования из десятичного представления в
116
Гпава 2
двоичное и наоборот помогает понять, каким образом идея захвата разрядов из хостовой части IP-адреса позволяет разделять сеть на логические подсети. Кроме того, двоичная арифметика необходима для понимания того, как захват разрядов из сетевых частей множества смежных IP-адресов увеличивает число адресуемых хостов.
а в целях разрешения проблемы нехватки адресов Проблемная группа проектирования сети Internet (IETF) создала технологию адресации под названием бесклассовой междоменной маршрутизации (CIDR). Она позволяет изменять границу хостовой и сетевой частей адреса, проводя ее не по границам октетов. Лучше всего технология CIDR подходит для группировки множества адресов класса С, уменьшая количество сетей, но увеличивая общее число адресуемых хостов. Эта методика называется организацией суперсетей (supernetting).
□	Чтобы использовать сетевые IP-адреса наиболее эффективно, методика организации подсетей позволяет захватывать дополнительные разряды из хостовой части сети. Знание следующих двоичных битовых комбинаций (соответствующие им десятичные значения указываются в скобках) помогает при расчете и анализе масок подсетей: 11000000 (192), 11100000 (224), 11110000 (240), 11111000 (248) и 111 11100 (252).
□	Существует несколько методик сокрытия сетевых IP-адресов от посторонних пользователей, в том числе имитация и подстановка адреса. Эти методики заменяют фактический внутренний сетевой адрес в исходном поле другим значением, которое ничем не указывает на исходную структуру адресов сети. Эту задачу обычно выполняет либо прокси-сервер, либо программное обеспечение для преобразования сетевых адресов (Network Address Translation, NAT).
а в диапазонах адресов классов А, В и С группа IETF зарезервировала частные IP-адреса и диапазоны. Их совершенно бесплатно и без разрешения может применять любая организация, однако маршрутизация частных IP-адресов в общедоступной сети Internet невозможна. Другая задача программного обеспечения для преобразования сетевых адресов (NAT) состоит в том, чтобы установить соответствие между диапазоном частных IP-адресов и единым общедоступным IP-адресом; в результате компьютеры с частными IP-адресами получают доступ в сеть Internet.
□	Всеми полномочиями по выделению общедоступных IP-адресов в настоящее время обладает организация ICANN (Internet Corporation.for Assigned Names and Numbers, Организация по присвоению имен и номеров в сети Internet), хотя раньше за это отвечало агентство IANA (Internet Assigned Numbers Authority, Агентство по выделению имен и уникальных параметров протоколов Internet). Сегодня свободных общедоступных IP-адресов осталось чрезвычайно мало, и потому обычным организациям они практически не выделяются. В действительности, большинство при
IP-адресация и связанные с ней гемы
117
своений IP-адресов осуществляют поставщики доступа к сети Internet, которые подразделяют существующие адреса классов А, В и С и выделяют своим клиентам общедоступные IP-адреса.
Основные термины
ASIC (Application Specific Integrated Circuit, специализированная интегральная схема) — специальная разновидность интегральной схемы. ASIC обеспечивает способ реализации определенной программной логики непосредственно в микросхеме, в результате чего эта логика при обработке данных выполняется настолько быстро, насколько это возможно. Именно ASIC предоставляют высокоскоростным и высокообъемным маршрутизаторам возможность выполнения сложных функций опознавания и управления адресами, которые соответствуют объемам данных и потребностям в быстрой обработке.
CIDR (Classless Inter-Domain Routing, бесклассовая междоменная маршрутизация) — разновидность маскирования подсетей, при которой упраздняется четкая дифференциация между сетевой и хостовой частью адреса по границам октета; вместо этого используется префиксная нотация /п, где п обозначает количество разрядов в сетевой части данного адреса.
IANA (Internet Assigned Numbers Authority, Агентство по выделению имен и уникальных параметров протоколов Internet) — подразделение Общества Internet (ISOC), ранее ответственное за регистрацию доменных имен и распределение общедоступных IP-адресов. Теперь эта функция выполняется агентством ICANN.
IPSec, или IP Sec (IP Security, IP-защита) — спецификация безопасности, обеспечивающая поддержку различных форм шифрования и аутентификации, распределения ключей и сопутствующих функций. Факультативный компонент IPv4, и обязательный — в IPv6.
IP-перенумерация (IP renumdering) — процесс замены одного набора числовых IP-адресов на другой набор таких адресов из-за смены поставщика услуг или перераспределения адресов.
IP-шлюз (IP gateway) — в терминологии TCP/IP так называется маршрутизатор, обеспечивающий доступ к ресурсам за пределами локального сетевого адреса подсети. (Шлюзом по умолчанию называется клиентская конфигурационная запись TCP/IP, определяющая маршрутизатор, который клиент должен использовать для отправки данных за пределы локальной подсети.)
ISP (Internet Service Provider, поставщик доступа в сеть Internet) — компания, чьей основной специализацией является предоставление доступа в Internet частным лицам и организациям. В настоящее время именно по
118
Глава 2
ставщики доступа в Internet, в основном, осуществляют выделение общедоступных IP-адресов.
loopback (петля) — адрес, указывающий на отправителя. В IPv4 домен класса А 127.0.0.0 (или 127.0.0.1 для конкретного машинного адреса) зарезервирован для выполнения возвратных петель. В протоколе IPv6 существует единственный возвратный адрес, обозначаемый'как "::1" (все нули, кроме последнего разряда, в котором ставится единица). Пропуская трафик через стек TCP/IP в обоих направлениях, возвратный адрес используется для тестирования программного обеспечения TCP/IP.
МАС-адрес (адрес управления доступом к среде) — специальный тип сетевого адреса, управляемый подуровнем Канального уровня, в обычной ситуации заранее устанавливаемый для всех интерфейсов для их уникальной идентификации в любом сегменте сетевого кабеля (или виртуальном факсе). Организация ICANN контролирует присвоение производителями идентификаторов, обеспечивая уникальность таких адресов. Когда IP-фреймы передаются от одного интерфейса другому, адреса МАС-уровня отправителя и получателя применяются для воздействия на передачу.
МАС-уровень (Media Access Control layer, MAC layer) — подуровень Канального уровня. Является частью определения управления доступом к среде, в котором действуют методы сетевого доступа, такие как Ethernet и Token Ring.
OUI (Organizationally Unique Identifier, организационно уникальный идентификатор) — уникальный идентификатор, присваиваемый организациями IANA или ICANN, занимающий первые три байта МАС-адреса сетевой интерфейсной платы и идентифицирующий ее производителя.
QoS (Quality of Service, качество обслуживания) — специальный уровень гарантии работы служб, связанный с протоколами Прикладного уровня, при котором временные требования для данных (например, голоса или видео) предполагают специальные нормы контроля задержки при доставке видимых или слышимых потоков данных.
Альтернативный адрес (anycast address) — новый тип адресов, реализованный в протоколе IPv6; альтернативным называется обычный адрес, который может присваиваться несколькими хостам или интерфейсам. Пакеты, направленные на альтернативный адрес, доставляются ближайшему (в показателях расстояния маршрутизации) к отправителю обладателю этого адреса. В протоколе IPv4 альтернативные адреса отсутствуют.
Атака (attack) — попытка проникновения в систему или сеть, подрыва ее защиты или блокировка доступа в нее.
Безопасное сквозное соединение (cecure end-to-end connection) — сетевое соединение, при котором исходные отправляющий и принимающий IP-адреса неизменны, а связь между отправителем и получателем сохраняется все время, пока соединение остается активным.
IP-адресация и связанные с ней темы
119
Брандмауэр (firewall) — сетевое пограничное устройство, размещаемое между общедоступной и частной сторонами сети; обеспечивает множество служб фильтрации и проверки, гарантируя наличие только санкционированного входящего и исходящего трафика (термин позаимствован от обозначения устройства, предназначенного специально для блокировки распространения огня в домах и автомобилях).
Групповой адрес (multicast address) — один из группы адресов, зарезервированных для отсылки одного сообщения множеству интерфейсов или узлов. Члены групп по интересам подписываются на групповые адреса, чтобы получать обновления маршрутов, потоковые данные (видео-, аудио-, телеконференции) и другую информацию. В протоколе IPv4 для широковещания зарезервирована группа адресов класса D. В протоколе IPv6 все групповые адреса начинаются с OxFF. Контролирует эти адреса Организация по присвоению имен и номеров в сети Internet (ICANN) при поддержке Агентства по выделению имен и уникальных параметров протоколов Internet (IANA).
Доменное имя (domain name) — символическое имя сетевого ресурса TCP/IP; Служба доменных имен (Domain Name System, DNS) преобразует такие имена в числовые IP-адреса, обеспечивая корректную адресацию исходящего трафика. Управление доменными именами осуществляется несколькими частными и государственными организациями по всему миру.
Коммутатор Сетевого уровня (layer-3 switch) — специальное сетевое устройство, сочетающее функции управления сетью, концентратора и маршрутизатора. Позволяет создавать и управлять множеством виртуальных подсетей в пределах одного устройства, обеспечивая чрезвычайно высокую пропускную способность при отдельных соединениях между парами устройств, подсоединенных к нему.
Концентрация (группирование) маршрутов (route aggregation) — разновидность анализа IP-адресов, позволяющая маршрутизаторам демонстрировать общую заинтересованность определенным сетевым префиксом, представляющим "общую часть" ряда сетевых IP-адресов. В результате уменьшается общее число позиций в отдельных таблицах маршрутизации.
Маска подсети (subnet mask) — специальная битовая комбинация, маскирующая сетевую часть IP-адресов единицами.
Маскирование подсетей маской постоянной длины (Constant-length subnet masking, CLSM) — схема организации подсетей IP, при которой все подсети используют одну и ту же маску, которая, таким образом, разделяет фрагментированное адресное пространство на определенное количество равновеликих подсетей.
120
Гпава 2
Маскирование подсети маской переменной длины (Variable-Length Subnet Masking, VLSM) — схема организации подсети для IP-адресов, делающая возможным определение для сетевого префикса контейнеров разных размеров. Наибольшая подсеть определяет максимальный размер контейнера, и каждый отдельный контейнер в данном адресном пространстве может быть подразделен на еще более мелкие подконтейнеры (иногда называемые под-подсетями).
Обратное посредничество (reverse proxying) — методика, посредством которой прокси-сервер представляет внутренний сетевой ресурс (к примеру, Web-, FTP- или почтовый сервер) таким образом, как будто он размещается на этом прокси-сервере; в результате внешние клиенты получают доступ к внутренним сетевым ресурсам, не имея возможности узнать структуру IP-адресов внутренней сети.
Общедоступный IP-адрес (public IP address) — любой адрес TCP/IP, выделенный организациями IANA, ICANN или поставщиком доступа к сети Internet для эксклюзивного использования определенной организацией.
Октет (octet) — обозначение 8-битного числа в терминологии TCP/IP; числовые адреса протокола IPv4 состоят из четырех октетов.
Организация подсетей (subnetting) — применение разрядов, захваченных из хостовой части IP-адреса, для расширения и подразделения адресного пространства сетевой части диапазона IP-адресов.
Организация суперсетей (supernetting) — методика захвата разрядов из сетевой части IP-адреса и их передачи хостовой части; в результате создается более обширное адресное пространство для ведущих адресов.
Преобразование сетевых адресов (Network Address Translation, NAT) — специальное сетевое программное обеспечение, управляющее сетевыми соединениями от имени множества клиентов во внутренней сети и заменяющее исходные адреса во всем исходящем трафике на адрес внешнего сетевого интерфейса. Программное обеспечение NAT также заведует пересылкой ответов на исходящий трафик исходным отправителям. Часто применяется для обеспечения клиентам, пользующимся частными IP-адресами, доступа к сети Internet.
Прокси-сервер (proxy server) — специальный тип сетевой пограничной службы, помещаемой между внешними и внутренними сетевыми адресами. От имени внутренних клиентов прокси-сервер устанавливает соединение с внешними ресурсами и выполняет имитацию адресов. Для внешних клиентов из общедоступной сети Internet прокси-сервер представляет внутренние ресурсы таким образом, как будто они размещаются на нем самом.
Расширенный сетевой префикс (extended network prefix) — часть IP-адреса, выражающая сумму сетевой части адреса и количества разрядов, приме
IP-адресация и связанные с ней темы
121
няемых для организации подсети этого сетевого адреса. Адрес класса В с 3-битной схемой подсети должен иметь расширенный сетевой префикс /19 — 16 бит на сетевую часть по умолчанию и 3 бита на часть подсети адреса, которому соответствует маска подсети 255.255.224.0.
Сетевая часть (network portion) — разряды или октеты, расположенные в левой части числового IP-адреса и идентифицирующие его сетевую и подсетевую части. Значение, присваиваемое числу префикса, определяет количество разрядов в сетевой части любого IP-адреса. (К примеру, 10.0.0.0/8 указывает на то, что первые восемь разрядов адреса относятся к сетевой части общедоступного IP-адреса класса А.)
Сетевой адрес (network address) — часть IP-адреса, содержащая сетевой префикс этого адреса; расширенный сетевой префикс также включает все разряды подсети. Все разряды, относящиеся к расширенному сетевому префиксу, отображаются в виде единиц в соответствующей маске подсети данной сети.
Сетевой префикс (network prefix) — часть IP-адреса, соответствующая сетевой части адреса; к примеру, сетевой префикс для адреса класса В — /16 (это значит, что первые 16 разрядов представляют собой сетевую часть адреса, а соответствующая маска подсети по умолчанию — 255.255.0.0).
Символическое имя (symbolic name) — имя ресурса сети Internet, удобное для человеческого восприятия, такое как www.course.com или msnnews.microsoft.coin. Кроме того, это имя, представляющее устройство вместо адреса. К примеру, servl может послужить символическим именем для устройства с IP-адресом 10.2.10.2.
Служба доменных имен (Domain Name System, DNS) — протокол и служба Прикладного уровня TCP/IP, управляющие распределенной по всей сети Internet базой данных символических доменных имен и числовых IP-адресов; в результате их действия каждый пользователь может запросить ресурс по имени, и это имя будет преобразовано в соответствующий числовой 1Р-адрес.
Суммированный адрес (summary address) — специальный сетевой 1Р-адрес, идентифицирующий "общую часть" ряда сетевых IP-адресов, применяемый при концентрации маршрутов. Этот подход ускоряет маршрутизацию и уменьшает число позиций в таблицах маршрутизации.
Точечное десятичное представление — название формата обозначения числовых IP-адресов, таких как 172.16.1.7, в котором четыре числа разделяются точками.
Транзит (hop) — отдельная передача данных из одной сети в другую через какое-либо сетевое устройство. Часто транзитами называются передачи от маршрутизатора к маршрутизатору. Исходя из количества транзитов, часто производится примерное измерение расстояния между сетями от
122
Гпава 2
правителя и получателя. Число транзитов из сети источника в сеть назначения определяется количеством маршрутизаторов, через которое должен пройти (или проходит) пакет.
Физический числовой адрес (physical numeric address) — синоним адреса управления доступом к среде (МАС-адреса).
Хостовая часть (host portion) — крайние правые разряды IP-адреса, предназначенные для идентификации хостов в суперсети, сети или подсети.
Частный IP-адрес (private IP address) — любой IP-адрес класса А, В или С, зарезервированный агентством IANA для частного применения, документированный в RFC 1918 и предназначенный для неконтролируемого использования в организациях. Поскольку нет гарантии, что такие адреса являются уникальными, их маршрутизация в сети Internet невозможна.
Числовой IP-адрес — IP-адрес, выраженный в точечном десятичном или двоичном представлении.
Числовой адрес (numeric address) — см. Числовой 1Р-адрес.
Широковещательный адрес (brodcast address) — адрес сети или подсети, состоящий из одних единиц; позволяет отправить одну и ту же информацию всем интерфейсам данной сети.
Контрольные вопросы
1.	Следующий тип адреса применяется для идентификации отправителя и получателя в заголовке IP-пакета:
а)	доменное имя;
б)	символическое имя;
в)	числовой 1Р-адрес;
г)	адрес возврата.
2.	8-разрядные числа, обозначающие различные части IP-адреса, называются:
а)	байты;
б)	точечные десятичные числа;
в)	октеты;
г)	битовые строки.
3.	Какой из следующих терминов является синонимом физического числового адреса?
а)	аппаратный адрес;
б)	МАС-адрес;
в)	PROM-адрес;
г)	RIPL-адрес.
IP-адресация и связанные с ней темы
123
4.	Какой из следующих протоколов осуществляет преобразование числовых IP-адресов в физические числовые адреса?
a)	ICMP;
б)	IP;
в)	ARP;
г)	RARP.
5.	Какой из следующих типов IP-адресов включает наибольшее количество ведущих адресов?
а)	класс А;
б)	класс В;
в)	класс С;
г)	класс D;
д)	класс Е.
6.	Какой из следующих типов IP-адресов включает наибольшее количество сетевых адресов?
а)	класс А;
б)	класс В; 
в)	класс С;
г)	класс D;
д)	класс Е.
7.	Какой из следующих типов IP-адресов применяется для широковещания? а) класс А;
б)	класс В;
в)	класс С;
г)	класс D;
д)	класс Е.
8.	Сетевой адрес класса А 12.0.0.0 в префиксной нотации принимает форму 12.0.0.0/8. Да или нет?
а)	да;
б)	нет.
9.	Какая из следующих формул характеризует количество сетей в IP-адресе? а) двойка, возведенная в степень, равную количеству разрядов в сетевой части адреса;
б)	двойка, возведенная в степень, равную количеству разрядов в хостовой части адреса, минус два;
124
Гпава 2
в)	двойка, возведенная в степень, равную количеству разрядов в сетевой части адреса, минус два;
г)	256 минус количество разрядов в хостовой части адреса.
10.	Какая из следующих формул характеризует количество хостов в IP-адресе?
а)	двойка, возведенная в степень, равную количеству разрядов в хостовой части адреса;
б)	двойка, возведенная в степень, равную количеству разрядов в хостовой части адреса, минус два;
в)	двойка, возведенная в степень, равную количеству разрядов в сетевой части адреса, минус два;
г)	256 минус количество разрядов в сетевой части адреса.
11.	Какая из следующих масок подсети принята по умолчанию для IP-адресов класса В?
а)	255.0.0.0;
б)	255.255.0.0;
в)	255.255.255.0;
г) 255.255.255.255.
12.	Какой из следующих IP-адресов не является частным?
а)	10.16.24.24;
б)	172.16.5.7;
в)	192.168.36.74;
г) 224.0.0.9.
13.	Шлюз по умолчанию — это:
а)	любой 1Р-маршрутизатор;
б)	IP-маршрутизатор, подключенный к сети Internet;
в)	элемент конфигурации IP, называющийся маршрутизатор/шлюз для отдельной подсети;
г)	элемент конфигурации IP, называющийся маршрутизатор и который граничит с сетью Internet.
14.	Широковещательный адрес для сети класса В 172.16.0.0 принимает форму.
а)	172.16.0.1;
б)	172.16.0.255;
в)	172.16.255.0;
г) 172.16.255.255.
IP-адресация и связанные с ней темы
125
15.	Какие из следующих средств или методик помогли частично решить проблему нехватки IP-адресов? (Выберите все подходящие ответы.)
а)	бесклассовая междоменная маршрутизация;
б)	организация подсетей;
в)	преобразование сетевых адресов;
г)	возрастающее распространение частных IP-адресов.
16.	Какой документ RFC регламентирует технологию бесклассовой междоменной маршрутизации (CIDR)?
а)	1519;
б)	1878;
в)	1918;
г)	2700.
17.	Какое десятичное значение соответствует двоичному 1 1110000 (четырехразрядная маска подсети)?
а)	192;
б)	224;
в)	240;
г)	248.
18.	Сколько подсетей генерирует маска подсети 11110000?
а)	2;
б)	6;
в)	14;
г)	30.
19.	Сколько хостов доступно в каждой подсети сети класса В с маской подсети 255.255.248.0?
а)	1022;
б)	2046;
в)	4096;
г)	8190.
20.	Сколько нужно смежных адресов класса С, чтобы ведущий адрес расширился на 4 разряда?
а)	3;
б)	7;
126
Гпава 2
в)	15;
г)	31.
21.	Сколько ведущих адресов существует для адреса с префиксом /21 (21 разряд в сетевом адресе)?
а)	254;
б)	510;
в)	1022;
г)	2046.
22.	Укажите ограничения, под которые подпадают частные IP-адреса. (Выберите все подходящие ответы.)
а)	их маршрутизация в сети Internet невозможна;
б)	они не могут применяться без разрешения ICANN или поставщика доступа к Internet;
в)	они не работают с программным обеспечением для преобразования сетевых адресов;
г)	они могут не работать с протоколами, требующими установления безопасных сквозных соединений.
23.	Какие виды устройств безусловно требуют общедоступных IP-адресов? (Выберите все подходящие ответы.)
а)	любые устройства, подключаемые непосредственно к сети Internet;
б)	любые серверы, чьи службы должны быть доступны в сети Internet;
в)	все клиенты во внутренней сети;
б)	все серверы во внутренней сети.
24.	Какое из следующих устройств осуществляет сокрытие адресов? (Выберите все подходящие ответы.)
а)	электронная почта;
б)	FTP;
в)	NAT (программа преобразования сетевых адресов);
г)	прокси (программа-посредник).
25.	Какие действия включает в себя процедура 1Р-перенумерации?
а)	присвоение новых IP-адресов всем пограничным устройствам;
б)	присвоение новых IP-адресов всем маршрутизаторам;
в)	присвоение новых IP-адресов всем серверам и маршрутизаторам;
г)	присвоение новых IP-адресов всем сетевым интерфейсам.
IP-адресация и связанные с ней темы
127
Практические задания
Задание 2.1
При выполнении этого задания вы должны определить диапазон сетевых и ведущих адресов для применения в фрагментированной сети класса В. Пусть вам присвоен номер сети 191.15.0.0. Вы определяете систему сетевой адресации, которая поддерживает 24 сети, разделяя данный адрес на подсети. В задании используется программа IP Subnet Calculator. IP Subnet Calculator — это калькулятор под Windows, предназначенный для определения конфигураций IP-адресов с помощью классовых и бесклассовых сетевых IP-адресов. Эта программа, разработанная Скоттом Ходейлом (Scott Haugdahl), распространяется компанией WildPackets, Inc. Существует версия калькулятора подсетей для карманных компьютеров Palm Pilot. Загрузить Subnet Calculator можно с сайта http://www.wildpackets.com/products/ipsubnetcalculator.
Установка программы IP Subnet Calculator
1.	После загрузки с сайта программы IP Subnet Calculator, находясь в Проводнике (Explorer), откройте папку Мой компьютер (Му Computer).
Перейдите в каталог с сохраненной заархивированной программой, а затем запустите файл архива IPSubnetCalc321.exe.
2.	Нажмите кнопку Setup в программе WinZip.
3.	Нажмите кнопку Next в окне Welcome.
4.	Нажмите кнопку I Agree в окне WildPackets IP Subnet Calculator 3.2.1 Installation.
5.	Нажмите кнопку Next, если вы согласны с предложенным по умолчанию адресом установки программы (возможно, ваш преподаватель предложит другой адрес).
6.	Для начала установки программы нажмите кнопку Next.
7.	После просмотра ознакомительного текста (readme) нажмите кнопку Next.
8.	Для завершения установки нажмите кнопку Finish.
Применение программы IP Subnet Calculator
1.	Откройте программу IP Subnet Calculator, выполнив следующие действия Пуск (Start) > Программы (Programs) > WildPackets IP Subnet Calculator.
2.	В поле IP Address введите адрес 191.15.0.0.
3.	Перейдите на вкладку Subnet Info.
4.	Щелкните на стрелке, указывающей вниз, рядом с полем Max Subnets.
128
Глава 2
5.	Ваша сеть должна поддерживать 24 подсети. В раскрывающемся списке выберите число 30. Обратите внимание, что значение в поле Subnet Mask меняется автоматически, определяя маску подсети, необходимую для поддержки 30 подсетей.
6.	Перейдите на вкладку Subnets/Hosts и просмотрите список возможных подсетей и диапазон идентификаторов хостов.
7.	Закончив выполнение этого задания, закройте программу IP Subnet Calculator.
Задание 2.2
Для выполнения этого задания вам потребуется компьютер с доступом в Internet и браузер.
Статья Джо Рудича "Practical Subnet Design"
1.	Откройте браузер Пуск (Start) > Программы (Programs) > Internet Explorer; если применяется другой браузер, обратитесь к преподавателю.
2.	Введите в адресную строку следующий адрес: http://www.ntsystems.com/ db_area/archive/1999/9906/306fel.shtml.
Эта статья также опубликована на сайте www.course.com. Введите 0619035307 в поле Search и перейдите на страницу Student Downloads.
3.	Прочтите эту статью, в которой содержится более подробная информация об организации подсетей IP, а также дополнительные примеры.
4.	Обратите особое внимание на табл. 2 этой статьи, в которой содержится прекрасная "шпаргалка", помогающая понять воздействие выбора маски подсети от 192 до 255 в любом октете адресов классов А, В и С.
5.	Если вы не собираетесь сразу перейти к следующему заданию, закройте браузер.
Задание 2.3
Для выполнения этого задания вам потребуется компьютер с доступом в Internet и браузер. Нужно будет посетить сайт компании ЗСош и поискать на нем информацию об IP-адресации. После выполнения всех шагов задания вы сможете просмотреть другие ресурсы этого сайта.
Поиск информации об IP-адресации
на Web-сайте компании ЗСот
Содержание "белой книги" ЗСот под названием "Understanding IP Addressing" помогает лучше усвоить темы, рассмотренные в этой главе.
1.	Откройте браузер Пуск (Start) > Программы (Programs) > Internet Explorer; если применяется другой браузер, обратитесь к преподавателю.
IP-адресация и связанные с ней темы
129
2.	Введите в адресную строку адрес http://www.3com.com.
3.	Введите в поле Search название статьи — Understanding IP Addressing и нажмите кнопку Search.
4.	Перейдите по ссылке ЗСош Press Box Technical Papers. Появится список Technical Papers.
5.	Прокручивая этот список, ищите документ под названием "Understanding IP Addressing: Everything You Ever Wanted To Know" (Понимание IP-адресации: Все, что вы хотели бы знать), датированный 26 апреля 1996 года; автор — Чак Семиреа. Чтобы прочитать эту статью, перейдите по ссылке Understanding IP Addressing.
6.	Если вы не собираетесь сразу перейти к следующему заданию, закройте браузер.
Задание 2.4
Для выполнения этого задания вам потребуется компьютер с доступом в Internet и браузер. Вы должны будете посетить Web-сайт группы IETF (проблемной группы проектирования сети Internet) и просмотреть информацию о документе RFC 1878. После выполнения всех шагов задания вы сможете просмотреть другие ресурсы этого сайта.
Ознакомление с документом RFC 1878
1.	Откройте браузер Пуск (Start) > Программы (Programs) > Internet Explorer; если применяется другой браузер, обратитесь к преподавателю.
2.	Введите в адресную строку адрес http://www.ietf.org.
3.	Перейдите по ссылке RFC Pages.
4.	В поле поиска в архиве RFC по числу введите 1878; затем щелкните go.
Определите сетевой адрес класса В, поддерживающий 32 подсети для IP-адреса 191.15.0.0. Сколько разрядов выделено для подсетевой части этого адреса?
5.	Закройте браузер.
Задание 2.5
Проектирование структуры подсети
От вас требуется разработать структуру подсети для сетевого адреса класса В, отвечающую сформулированным требованиям. Для решения этой задачи можете пользоваться либо карандашом и бумагой, либо программой IP Subnet Calculator, представленной вашему вниманию в задании 2.1.
1.	Предположим, что корпорация XYZ хочет создать для сетевого адреса 172.16.0.0 класса В 60 подсетей, каждая из которых должна вмещать как минимум 1000 ведущих адресов.
130
Гпава 2
2.	Возможно ли выполнение этих требований с математической точки зрения? Если невозможно, объясните, почему. Если возможно, выполните указанные действия и ответьте на дополнительные вопросы.
а)	Произведите расчет маски подсети, соответствующей данным условиям. Какая маска подсети потребуется?
б)	Какое максимальное количество подсетей допускает эта схема?
в)	Сколько рабочих станций будет охватывать каждая подсеть?
г)	Каков сетевой адрес, диапазон ведущих адресов и широковещательный адрес для первой используемой подсети, которую допускает эта схема?
Задание 2.6
Проектирование структуры суперсети
От вас требуется разработать структуру суперсети для четырех смежных сетевых адресов класса С — от 192.168.8.0 до 192.168.11.255, отвечающую сформулированным требованиям. Для решения этой задачи можете пользоваться либо карандашом и бумагой, либо программой IP Subnet Calculator, представленной в задании 2.1.
1.	Разработайте максимально крупную суперсеть из заданного диапазона адресов класса С от 192.168.8.0 до 192.168.11.255.
2.	Произведите расчет маски суперсети, соответствующей данным условиям.
3.	Ответьте на вопросы.
а)	Какое максимальное количество сетевых IP-адресов, которые могут быть объединены в данном диапазоне?
б)	Сколько хостов будет охватывать такая суперсеть?
Учебные задачи
1.	От вас требуется спроектировать сеть для компании среднего уровня. В ней решено применять частный IP-адрес 10.0.0.0. Сеть должна охватывать шесть зданий, в каждом из которых будет помещено по маршрутизатору, которые объединят эту сеть. В настоящее время компания имеет примерно 1000 рабочих станций, расположенных следующим образом:
•	здание 1 — 200 рабочих станций;
•	здание 2—125 рабочих станций;
•	здание 3 — 135 рабочих станций;
IP-адресация и связанные с ней темы 131
« здание 4 — 122 рабочих станции;
« здание 5 — 312 рабочих станций;
•	здание 6 — 105 рабочих станций.
Найдите простое решение проблемы адресации, предусматривающее возможность роста и достаточно легкое для администрирования. Объясните, что случится с вашей схемой, если количество хостов на сеть в здании превысит 1024.
2.	Пусть компания ABC Inc. хочет создать сеть TCP/IP для своего единственного подразделения. В компании 180 служащих в двух зданиях; требуется доступ в Internet для почтового сервера, одного Web-сервера, одного FTP-сервера и двух маршрутизаторов, на каждом из которых установлен высокоскоростной Internet-интерфейс. Если компания желает сократить до минимума затраты на поставщика доступа в Internet (ISP), какие типы IP-адресов должны использоваться в первую очередь? Какова минимальная группа общедоступных IP-адресов, необходимая компании ABC Inc. для удовлетворения ее потребностей? (Группы IP-адресов существуют в группах, равных 2й — 1, где b — это число разрядов в общей группе адресов.)
3.	Какие приложения могут воспрепятствовать применению частных IP-адресов во внутренних сетях для конечных пользователей в компании ABC Inc.? Если компания ABC Inc. должна будет применять общедоступные IP-адреса, какую группу таких адресов необходимо приобрести, чтобы охватить всех пользователей и все общие пункты присутствия (public points of presence)? Что изменится, и изменится ли, если в здании А будет находиться ПО служащих и все общедоступные Internet-интерфейсы, кроме одного, а в здании В — 70 рабочих и единственный общедоступный Internet-интерфейс?
4.	Предположим, что корпорация XYZ, занимающаяся торговлей приборами и базирующаяся в Женеве (Швейцария), недавно осуществила серию слияний и приобретений в Соединенных Штатах. Теперь компания желает объединить приобретенные сети в одну связанную и хорошо настроенную сеть, отвечающую корпоративным стандартам. Месторасположения новых офисов, а также количество пользователей в каждом из них, показаны на рис. 2.4.
В дополнение к новым офисам, каждый региональный концентратор (hub) поддерживает восемь местных отделов сбыта, в каждом из которых есть по 10 и 20 пользователей, однако отсутствуют серверы и подключенные к сети принтеры. Нью-йоркское отделение включает три здания с равным количеством пользователей в каждом. Поскольку большую часть сетевого трафика в Нью-Йорке составляет сетевой теледоступ (Telnet) к
132
Гпава 2
мэйнфрейму (mainframe), администраторы ныо-йоркской локальной сети хотят создать по одной IP-сети в каждом здании. Конструкторское и информационное отделения расположены в Чикаго, и пользователи в этом филиале в течение многих лет жалуются на производительность сети. Чикагское отделение включает два восьмиэтажных здания; на каждом этаже присутствуют файловые и принт-серверы, а численность пользователей не превышает 100. Правление корпорации XYZ одобрило приобретение коммутаторов Сетевого уровня (layer-3 switches), которые будут установлены в следующем квартале.
Центральная штаб-квартира в Женеве
4000 пользователей
Американская штаб-квартира в Нью-Йорке
300 пользователей
Региональный концентратор (Hub) в Чикаго
200 пользователей
(город-спутник)
Канзас (город-спутник)
200 пользователей
200 пользователей
Рис. 2.4. Месторасположения офисов корпорации XYZ
IP-адресация и связанные с ней темы	133
В центральной женевской штаб-квартире принято решение о выделении всем американским офисам диапазона адресов 10.12.0.0/18. Сотрудники из Нью-Йорка сообщили о том, что в течение следующих двух лет ожидается ее рост по меньшей мере на 20%, а вы должны распределить IP-адреса между всеми месторасположениями таким образом, чтобы удовлетворить потребности компании в настоящее время и в будущем. От вас не требуется создание соглашений по ведущим адресам, однако вы должны предоставить суммированный адрес, который будет передаваться из каждого отделения в направлении штаб-квартиры, т. е. против основного трафика. Кроме того, вы должны сохранить как можно более обширное адресное пространство для будущих региональных концентраторов.
Глава 3
Протоколы Канального и Сетевого уровней TCP/IP
После прочтения этой главы и выполнения упражнений вы сможете:
□	оценить роль, которую в TCP/IP играют протоколы Канального уровня, такие как SLIP и РРР;
□	проводить различие между разнообразными типами фреймов Ethernet и сети с маркерным доступом;
□	получить представление о том, как в среде TCP/IP работают аппаратные адреса, и узнать сервисы, которые обеспечиваются для таких сетей протоколами ARP и RARP;
□	понять огромную важность протокола Internet (IP) и разбираться в том, как в сетях TCP/IP функционируют его пакеты;
□	ориентироваться в устройстве и функциях IP-заголовка;
□	уяснить назначение максимальной единицы передачи (MTU) в любой физической среде, а так же понять, почему в некоторых случаях на Сетевом уровне необходима фрагментация.
В этой главе рассматриваются ключевые протоколы TCP/IP, действующие на Канальном и Сетевом уровнях эталонной сетевой модели OSI. Здесь вы познакомитесь с различными видами протоколов Канального уровня, делающих возможным подсоединение к сети Internet посредством аналоговой телефонной линии и модема, набора протоколов Х.25 или постоянно действующей цифровой технологии, такой как Т1, кабельного модема или цифровой абонентской линии (Digital Subscriber Line, DSL). Кроме того, вы узнаете, как IP-фреймы распознаются по типу для Ethernet и сети с маркерным доступом, а также — каким образом специальные протоколы обеспечивают преобразование аппаратных адресов уровня управления доступом к среде (MAC layer) в IP-адреса, и наоборот. Наконец, мы проанализируем характеристики протокола IP (Internet Protocol), от которого в значительной степе
136
Гпава 3
ни зависит производительность сетей TCP/IP. В частности, вы поймете, какова внутренняя организация IP-пакетов и как они обрабатываются, находясь в сети TCP/IP на пути от отправителя к получателю.
Протоколы Канального уровня
У Канального уровня есть несколько основных функций, из которых две наиболее важные:
□	организация доступа к любой применяемой сетевой среде, которая называется управлением доступом к среде (Mac Access Control) и обычно сокращается до МА С;
□	создание временных двухточечных соединений между парами МАС-адресов для обеспечения передач данных, которое называется управлением логическим соединением (Logical Link Control) и обычно сокращается до LLC.
Именно поэтому Институт инженеров по электротехнике и электронике (IEEE), разрабатывая 802-е семейство сетевых спецификаций, разделил Канальный уровень на два подуровня: управления логическим соединением (подуровень LLC) и управления доступом к среде (подуровень МАС). По той же причине протоколы Канального уровня играют ключевую роль в обеспечении передачи данных от конкретного отправителя к конкретному получателю в данных обстоятельствах. Такая передача называется двухточечной передачей данных (point-to-point), поскольку происходит отправка данных с определенного МАС-адреса, представляющего точку передачи, на другой МАС-адрес, представляющий точку получения на отдельном сегменте сети, или в подсети TCP/IP.
Интересно, что та же двухточечная технология работает и при передачах данных по каналам в глобальных сетях (Wide-Area Network, WAN), т. е. по аналоговым телефонным линиям, цифровым соединениям или Х.25; вследствие этого некоторые протоколы Канального уровня TCP/IP иногда именуются протоколами WAN. Технологии инкапсуляции данных (data encapsulation), применяемые для защиты полезных нагрузок пакетов для передачи по каналам в глобальных сетях, отличаются от тех, что используются при соединениях в локальных сетях, и задействуют специальные протоколы, работающие на Канальном уровне. Перечислим эти протоколы:
□	SLIP (Serial Line Internet Protocol, межсетевой протокол для последовательного канала);
□	РРР (Point-to-Point Protocol, протокол двухточечного соединения);
□	специальная обработка для соединений Х.25, ретрансляции кадров (frame relay) и ATM (Asynchronous Transfer Mode, асинхронного режима передачи).
Протоколы Канального и Сетевого уровней TCP/IP	137
Остальная часть этой главы посвящена рассмотрению этих протоколов. Ключом к пониманию этого материала может послужить осознание того, что протоколы SLIP и РРР поддерживают прямое двухточечное соединение между двумя сторонами, или узлами, по одному каналу. Среди таких двухсторонних двухточечных соединений — соединения по аналоговым телефонным линиям (analog phon lines) и цифровым абонентским линиям (Digital Subscriber Line, DSL), а также по Т-каналам (T-carriers), таким как Т1, ТЗ, Е1 или ЕЗ. Поскольку все стороны на таком канале известны друг другу (идентификация происходит при организации канала), двухточечные каналы не включают и не требуют явных адресов Канального уровня. Другие виды каналов глобальных сетей (WAN) обеспечивают поддержку сегментов сетей IP, в которых может быть более двух активных узлов, а следовательно, они требуют явных адресов на Канальном уровне. Именно поэтому для каналов WAN с использованием Х.25, ретрансляции кадров и асинхронного режима передачи (ATM) необходима специальная обработка; в них применяются технологии коммутации пакетов или коммутации каналов (circuit-switching), а на Канальном уровне требуется явная адресация отправителя и получателя.
Примечание
Кабельные модемы (cable modems) — это еще одна широко распространенная технология доступа к сети Internet. Они позволяют кабельным телекомпаниям применять существующую инфраструктуру широкополосных кабелей для предоставления клиентам двухстороннего доступа к Internet. Несмотря на то, что такие системы действуют на расстояниях глобальных сетей (на некоторых сегментах кабеля— более двух миль, т. е. примерно 3219 м), они применяют стандартные фреймы Ethernet II, а функционируют более или менее сходно с локальными сетями Ethernet.
Вообще говоря, инкапсуляция фреймов WAN на Канальном уровне задействует одну или несколько служб из перечисленных далее (они варьируют в зависимости от требований конкретного канала).
□	Адресация (addressing). Для каналов WAN, в возможных соединениях которых участвуют более двух узлов, необходим уникальный адрес назначения.
□	Разрядная проверка целостности (bit-level integrity check). При разрядной проверке целостности контрольные суммы, высчитываемые перед и после каждой передачи, а затем сравниваемые, указывают, было ли сообщение модифицировано перед получением. Когда используются сети с коммутацией пакетов и происходит пересылка, такие проверки осуществляются на каждом этапе маршрута (для каждого отправителя и получателя).
□	Разграничение (delimitation). В фреймах Канального уровня необходимы специальные метки конца фреймов, а заголовок и концевик каждого фрейма должны быть отличными от его полезной нагрузки. Благодаря
138
Гпава 3
службе разграничения эти информационные границы отмечаются разграничителями (delimiters).
□	Идентификация протоколов (protocol identification, PID). Когда канал WAN поддерживает множество протоколов, необходим метод, позволяющий распознавать эти протоколы в полезной нагрузке по отдельности. Такую информацию обеспечивает идентификация протоколов (PID, protocol identification) в заголовке (этот метод рассматривается в разд. "Протокол РРР" этой главы).
Протокол SLIP
SLIP (Serial Line Internet Protocol) — это первоначальный двухточечный протокол для трафика TCP/IP; он до сих пор используется для подсоединения к некоторым поставщикам доступа к сети Internet (главным образом для получения доступа к старым хостам UNIX). Кроме того, протокол SLIP иногда применяется для управления передачами или сетевым оборудованием посредством коммутируемого соединения для последовательного порта. SLIP — это простой протокол кадрирования пакетов, описанный в документе RFC 1055. Поскольку он поддерживает только TCP/IP (поэтому идентификатор протокола не требуется) и используется только в двухточечных каналах (а значит, адресация также не нужна), то единственной службой, предоставляемой протоколом SLIP, является разграничение фреймов (разрядная проверка целостности полностью пропускается).
Протокол SLIP применяет специальный символ END (ОхСО), который помещается в начало и конец каждой IP-дейтаграммы для разграничения полезной нагрузки. Таким образом, два символа END разделяют две IP-дейтаграммы: один — в конце первой дейтаграммы, другой — в начале следующей. Чтобы не путать действительные символы END, применяемые в качестве разграничителей, с последовательностями данных ОхСО, которые иногда встречаются в полезных нагрузках дейтаграмм, протокол SLIP заменяет эти последовательности собственным символом ESC (OxDB), за которым может следовать OxDC.
Примечание
Имейте в виду, что символ ESC протокола SLIP не совпадает с принятым в коде ASCII (American Standard Code for Information Interchange, американский стандартный код обмена информацией); шестнадцатеричная последовательность DB-DC обычно обозначается как OxDB-DC.
Если символ ESC протокола SLIP попадается в полезной нагрузке фрейма, его заменяет последовательность OxDB-DD. Чтобы избежать ошибочных замещений, на принимающем конце последовательность OxDB-DC преобразуется обратно в ОхСО, a OxDB-DD — в OxDB. Получается, что эта методика
Протоколы Канального и Сетевого уровней TCP/IP 139
поддерживает разграничители протокола SLIP, не изменяя полезных нагрузок фреймов этого протокола.
Как указано в документе RFC 1055, размер IP-дейтаграммы протокола SLIP не может превышать 1006 байт. Такая максимальная единица передачи (MTU) обусловлена характеристиками драйверов UNIX, бывших в употреблении в момент создания этого документа. Большинство систем до сих пор устанавливают верхнюю границу для дейтаграмм протокола SLIP равной 1006 байт, однако Windows 2000 поднимает эту планку до 1500 байт, чтобы избежать фрагментации (fragmentation), когда соединение SLIP связывает два сегмента Ethernet. Более подробная информация о фрагментации и повторной сборке дейтаграмм содержится в разд. "Фрагментация и повторная сборка" этой главы.
Протокол SLIP довольно примитивен, что характерно для дейтаграммных протоколов. Документ RFC 1144 разрабатывался с целью разрешить сжатие заголовков протоколов IP и TCP при передаче по каналу протокола SLIP. Поскольку адреса источника и назначения обнаруживаются при установке соединения, нет необходимости повторять эту информацию в каждом заголовке, применяющем данный канал. Эта версия протокола SLIP называется C-SLIP (compressed SLIP, сжатым CLIP). И хотя коммутируемые соединения в Windows 2000 имеют возможность применять протоколы SLIP или С-SLIP для подключения к удаленному хосту, службы Routing и Remote Access не поддерживают входящие соединения SLIP и С-SLIP. Эти двухточечные протоколы — как один, так и другой — в настоящее время используются не очень широко.
Протокол РРР
РРР — это универсальный двухточечный протокол, в котором устранены недостатки протокола SLIP и реализованы службы инкапсуляции канала передачи данных WAN, похожие на те, что существуют в локальных сетях. Таким образом, протокол РРР обеспечивает не только разграничение фреймов, но и идентификацию протоколов и разрядную проверку целостности. (Не забывайте, что в двухточечном канале, когда в передачах задействованы лишь две стороны, адресация необязательна.) ,
В документе RFC 1661 содержатся подробные спецификации протокола РРР, и среди них указываются перечисленные далее характерные особенности и атрибуты.
□	Методы инкапсуляции, которые поддерживают одновременное применение нескольких протоколов, проходящих по одному каналу. На самом деле, протокол РРР обеспечивает поддержку широкого спектра протоколов, включая TCP/IP, NetBEUI, IPX/SPX, AppleTalk, SNA, DECNet и многих других.
140
Гпава 3
□	Специальный протокол LCP (Link Control Protocol, протокол управления каналами), применяемый для согласования характеристик любого двухточечного канала, установленного посредством протокола РРР.
□	Коллекция протоколов согласования, применяемых для установления свойств протоколов Сетевого уровня, которые передаются по двухточечному каналу. Такие протоколы называются протоколами управления сетью (Network Control Protocols, NCP). Документы RFC 1332 и RFC 1877 специфицируют протокол NCP для IP, известный под именем IPCP (Internet Protocol Control Protocol, протокол управления протоколом Internet) и применяемый для согласования IP-адреса отправляющей стороны, адресов DNS-серверов, и (необязательного) использования протокола сжатия Якобсена для TCP, где это возможно.
Инкапсуляция и технологии кадрирования протокола РРР базируются на ISO-протоколе HDLC (High-level Data Link Control, высокоуровневый протокол управления каналом), который, в свою очередь, базируется на осуществленных фирмой IBM разработках протокола SDLC (Synchronous Data Link Control, протокол синхронного управления передачей данных), а тот функционирует в рамках группы протоколов архитектуры SNA (Systems Network Architecture, системной сетевой архитектуры). Для того чтобы понять протокол РРР, совершенно не обязательно иметь исчерпывающее представление о протоколах HDLC или SDLC; тем не менее, нужно учесть, что оба предшественника протокола РРР являются хорошо известными, понятными и широко реализованными протоколами (что позволяет протоколу РРР воспользоваться этими реализациями в своих целях). HDLC-подобное кадрирование для фреймов протокола РРР подробно описано в документе RFC 1662.
Несмотря на то, что PPP-кадрирование поддерживает адресацию и информацию, связанную с управлением каналами и получаемую от протокола HDLC, в большинстве реализаций протокола РРР используется сокращенная форма, пропускающая ненужную информацию. Вместо этого протокол LCP (протокол управления каналами) обрабатывает информацию, касающуюся адресации и области управления, во время настройки PPP-канала, а в других обстоятельствах обходится без такой информации. Таким образом, поля в заголовках и концевиках фреймов протокола РРР содержат описанные далее элементы.
□	Flag (флаг). Это однобайтовое поле разграничителя с установленным значением 0х7Е (в двоичном представлении — 01111110). Определяет границу между окончанием одного PPP-фрейма и началом другого. В отличие от протокола SLIP, между фреймами ставится только одно значение флага.
□	Protocol identifier (идентификатор протокола). Это двухбайтовое поле, которое идентифицирует протокол более высокого уровня, транспортируемый фреймом РРР.
Протоколы Канального и Сетевого уровней TCP/IP
141
□	Frame Check Sequence (FCS, контрольная последовательность кадра). 2-байтное поле контрольной последовательности кадра (FCS) обеспечивает разрядную проверку целостности данных в том виде, в котором они были отосланы. (После получения данных подсчет производится заново и результат сравнивается с начальным значением; если оба этих значения получаются идентичными, допускается, что передача данных прошла успешно; если же они не соответствуют друг другу, то полезная нагрузка отвергается.)
Как и SLIP, протокол РРР должен обеспечить метод замещения значений флагов, если они встречаются в полезной нагрузке фрейма. Тем не менее, методы замещения варьируют в зависимости от типа соединения. Для синхронных каналов, таких как аналоговые телефонные линии, в которых символы отсылаются в виде отдельных байтов, подход к замещению символов в протоколе РРР подобен тому, что применяется и в протоколе SLIP. Эти способы подстановки определяются в документах RFC 1661 и RFC 1662.
Когда протокол РРР применяется в синхронных технологиях, таких как каналы Tl, ISDN (Integrated Services Digital Network, цифровые сети связи с комплексными услугами), DSL (цифровые абонентские линии) или SONET (Synchronous Optical Network, синхронные оптические сети), то вместо массового замещения символов, характерного для асинхронных каналов, применяется более быстрая и эффективная методика подстановки битов. В этом случае над любыми последовательностями из шести разрядов "1" в строке (помните, что двоичное значение поляЕ1а§ (Флаг) — 01111110) может быть осуществлен переход — вставка дополнительного нуля после пятого разряда "1" в строке (и изъятие его после получения). Это обеспечивает намного более эффективное (и быстрое) кодирование потенциально запрещенных значений для таких типов каналов, а также объясняет, почему протокол РРР является самым распространенным из всех двухточечных, применяемых в TCP/IP. Другой фактор, определяющий популярность протокола РРР, — это поддержка многоканальной реализации, позволяющей группировать множество каналов передачи данных с одинаковой пропускной способностью для обработки одного потока данных между конкретным отправителем и конкретным получателем. (К примеру, две модемные линии или два канала стандарта ISDN можно без труда объединить, в результате чего пропускная способность между парами устройств будет удвоена, а накладные расходы при этом будут минимальны.)
По умолчанию протокол РРР поддерживает максимальную единицу передачи (MTU) в 1500 байт, что делает этот протокол идеальным для комплекси-рования Ethernet-сетей (или одноранговых узлов сети). Тем не менее, протокол LCP может согласовывать большие или меньшие максимальные единицы передачи (MTU) между одноранговыми PPP-узлами, в зависимости от того, к каким видам сетей они подсоединены (кольцевые сети с мар
142
Гпава 3
керным доступом применяют более крупные максимальные единицы передачи (MTU), но в старых сетях, таких как ARC net, их объем значительно скромнее).
Специальная обработка РРР-каналов
Когда для связывания одноранговых узлов, работающих по протоколу РРР, используется та или иная коммутационная технология (например, Х.25, ретрансляция кадров или ATM (асинхронный режим передачи)), то для организации связи в РРР-заголовки должна помещаться дополнительная информация об управлении и адресации. Такой тип соединения предоставляет значительные преимущества в ситуациях, когда ошибки могут быть обнаружены и обработаны уже на Канальном уровне. Дело в том, что на этом уровне распознавание ошибок и реагирование на них занимает считанные миллисекунды, в то время как на Транспортном уровне этот временной интервал достигает доли секунд, а на Прикладном уровне доходит до нескольких секунд!
В коммутационных технологиях между парой одноранговых узлов сети, планирующих обмен данными, в нормальных ситуациях должны устанавливаться двунаправленные соединения, называемые виртуальными каналами (такие соединения в любом случае должны быть доступны, поскольку иногда постоянные виртуальные каналы могут быть уже установлены). Следующие документы RFC специфицируют инкапсуляцию дейтаграмм протокола РРР для этих технологий.
□ Х.25- RFC 1356.
Х.25 — это стандартный набор протоколов, разработанный в 1970-х годах союзом ITU (International Telecommunications Union, Международный союз телекоммуникаций) и предназначенный для передачи дейтаграмм по общедоступным сетям передачи данных на основе коммутации пакетов с использованием широкополосных медных телефонных линий с высоким уровнем помех. Изначально замышлявшийся как средство связывания терминалов ввода/вывода с универсальными вычислительными машинами, набор протоколов Х.25 приобрел значительную популярность в Европе и других регионах мира, в которых национальные телефонные монополии затрудняли создание международных каналов передачи данных только лишь по телефонным модемам. (Х.25 обеспечивает рациональную и функциональную альтернативу.) Хотя применение Х.25 необязательно в небольших наборах протоколов вроде TCP/IP, он широко распространен, успешно функционирует и остается востребованной технологией для международных каналов глобальной сети (WAN). Другими словами, именно поэтому протокол РРР поддерживает Х.25.
Протоколы Канального и Сетевого уровней TCP/IP
143
□	Ретрансляция кадров (frame relay) — RFC 2427.
В отличие от Х.25, ретрансляция кадров предполагает, что для создания каналов WAN применяются линии передачи цифрового качества. Вследствие этого ретрансляция кадров не обеспечивает методик обнаружения и исправления ошибок, которые повышают надежность набора протоколов Х.25, но при этом ухудшают его пропускную способность и эффективность. Ретрансляция кадров не пытается исправить ошибки передачи; обнаруженные поврежденные фреймы просто отвергаются с расчетом на то, что протоколы более высокого уровня согласуют все необходимые передачи данных. Ретрансляция кадров является распространенной технологией для каналов WAN, поскольку она обеспечивает возможность измерения фактического использования, а расходы на нее не зависят от расстояний (в противоположность телефонным линиям или соединениям Х.25). Поддержка виртуальных каналов позволяет пользователям технологии ретрансляции кадров создавать множество логических двухточечных и многоточечных соединений посредством одного физического интерфейса. Это объясняет популярность PPP-соединений с применением ретрансляции кадров среди организаций среднего и крупного уровня, которые могут себе позволить стоимость этой технологии.
□	ATM (асинхронный режим передачи) — RFC 1557 и RFC 1626.
ATM (Asynchronous Transfer Mode, асинхронный режим передачи) — это высокоскоростная магистральная широкополосная сетевая технология, применяющая сотовую коммутацию. Она обеспечивает огромную и постоянно увеличивающуюся пропускную способность. Технология ATM предоставляет возможность организации виртуальных каналов между одноранговыми узлами сети, однако по части организации надежных передач она полагается на протоколы более высокого уровня (к примеру, TCP). Технология ATM сегментирует весь трафик на 48-байтные последовательности с 5-байтными заголовками; в результате получаются 53-байтные фреймы ATM под названием ячеек. Применение в ATM единиц передачи фиксированной длины дает возможность функционирования на предельно высоких скоростях с максимальной эффективностью. Сегодня нормой для соединений ATM с использованием SONET является поражающая воображение скорость в 13,37 Гбит/с; при этом ATM без труда вмещает данные, факсимиле, голосовой и видеотрафик в единый укрупненный поток данных. Именно по этой причине PPP-соединения с применением ATM настолько важны на магистралях сети Internet, где основные телекоммуникационные носители передают крупнейшие агрегированные потоки трафика TCP/IP.
144
Гпава 3
Типы фреймов
На Канальном уровне модули данных протокола называются фреймами (frames); в терминологии TCP/IP эти модули также могут называться IP-дейтаграммами (IP dadagrams), которые могут инкапсулироваться в различные типы фреймов. В этом разделе мы рассмотрим передачи TCP/IP в локальных сетях (LAN) двух самых распространенных на сегодня типов — Ethernet и сетей с маркерным (эстафетным) доступом.
Типы фреймов Ethernet
Тип фреймов Ethernet II (Ethernet II frame type) является неофициальным стандартом (de facto standard) передач IP-дейтаграмм по сетям Ethernet. Таким образом, фреймы Ethernet II в этой главе, равно как и на всем протяжении книги, рассматриваются наиболее подробно. Фрейм Ethernet II включает поле Туре (поле идентификации протокола, protocol identification field), содержащее значение 0x800, которое устанавливает инкапсулированный протокол как IP.
Прежде чем IP-дейтаграмма передается в кабель, драйвер Канального уровня (data link driver) помещает в нее головной фрейм. Кроме того, драйвер обеспечивает соответствие фрейма установленному минимальному размеру. Минимальный размер фрейма в сетях Ethernet составляет 64 байта. Максимальный размер фрейма в этих сетях — 1518 байт. Если фрейм меньше 64 байт, драйвер должен заполнить (pad) поле данных Data.
Сетевая интерфейсная плата (NIC) в сетях Ethernet выполняет над содержимым фрейма процедуру контроля при помощи кода CRC (Cyclical Redundancy Check, циклический избыточный код) и помещает его значение в поле Frame Check Sequence (FCS, поле контрольной последовательности кадра) в конце фрейма. В конце концов, сетевая интерфейсная плата отсылает фрейм, перед которым помещается преамбула (Preamble), причем головная битовая комбинация используется получателем для корректной интерпретации всех разрядов как единиц и нулей.
Чтобы получить более подробную информацию о технологии Ethernet, посетите Web-сайт Чарльза Спеджона по адресу http://www.ethemetmanage.com/ ethemet/ethernet.html. На сайте http://shop.ieee.org/store можно заказать бесплатную спецификацию IEEE 802.3 по методу множественного доступа с контролем несущей и обнаружением конфликтов (CSMA/CD). Ответы на часто задаваемые вопросы, касающиеся стандарта IEEE 802.3, помещены на странице IEEE 802.3 Interpretations по адресу http://grouper.ieee.org/groups/ 802/3/interp/.
Протоколы Канального и Сетевого уровней TCP/IP 145
TCP/IP может применять три типа фреймов Ethernet:
□	Ethernet II (или Ethernet DIX)
□	Ethernet 802,2 LLC
□	Ethernet 802.2 SNAP
Структура фрейма Ethernet II
На рис. 3.1 иллюстрируется формат фрейма Ethernet II.
о
15 16
31
PREAMBLE
PREAMBLE (continued)
DESTINATION ADDRESS
J
DESTINATION ADDRESS (continued)
SOURCE ADDRESS
SOURCE ADDRESS (continued)
TYPE
DATA
FRAME CHECK SEQUENCE
Рис. 3.1. Структура фрейма Ethernet II
Фрейм типа Ethernet II состоит из следующих значений, полей и структурных компонентов:
□	Preamble (преамбула);
□	Destination Address (поле адреса назначения);
□	Source Address (поле адреса источника);
□	Туре (поле типа);
□	Data (поле данных);
□	Frame Check Sequence (или FCS, поле контрольной последовательности кадра).
6 Зак. 321
146
Гпава 3
Preamble
Preamble (преамбула) состоит из восьми байт — чередующихся единиц и нулей. Из названия понятно, что эта специальная строка разрядов предшествует самому фрейму Ethernet и не считается частью его суммарной длины. Завершающий байт имеет определенную последовательность бит 10101011, указывающую на начало поля адреса назначения (Destination Address). Это поле обеспечивает временную диаграмму, которая необходима получателю для интерпретации всех единиц и нулей в фрейме, а также определяет время, за которое схемы Ethernet должны будут распознать входящие данные и начать их считывание.
Поле Destination Address
Поле Destination Address (адрес назначения) состоит из шести байт и определяет адрес Канального уровня (data link address), также называемый аппаратным адресом (hardware address) или МАС-адресом IP-хоста назначения. Адрес назначения может быть широковещательным (broadcast), групповым (multicast) или однонаправленным (unicast). Протокол ARP (Address Resolution Protocol, протокол разрешения адресов) применяется для получения аппаратного адреса IP-хоста назначения (если адресат является локальным) или следующего маршрутизатора для следующего транзита (если адресат является удаленным). Протокол ARP рассматривается в разд. "Аппаратные адреса в среде IP" этой главы.
Поле Source Address
Поле Source Address (адреса источника) состоит из шести байт и определяет аппаратный адрес отправителя. В этом поле может указываться лишь однонаправленный адрес; широковещательные и групповые адреса запрещены.
Поле Туре
Поле Туре (тип) состоит из двух байт и определяет протокол, применяющий данный тип фрейма. В табл. 3.1 приводятся некоторые стандартные значения типов, утверждаемые агентством IANA (Агентство по выделению имен и уникальных параметров протоколов Internet) и перечисленные на сайте http://www.iana.org.
Таблица 3.1. Стандартные типы протоколов (по значению)
Тип	Протокол
0x0800	IPv4
0x0806	ARP (протокол разрешения адресов)
0x8098	AppleTalk
0x8137	IPX (Internetwork Packet exchange, межсетевой пакетный обмен Novell)
0x6004 DEC LAT (протокол доступа к терминалу в сетях DECnet)
Протоколы Канального и Сетевого уровней TCP/IP	147
Поле Data
Размер поля данных Data может быть не менее 46 и не более 1500 байт.
Поле Frame Check Sequence
Поле Frame Check Sequence (контрольная последовательность кадра) состоит из четырех байт и содержит результат вычисления во время процедуры контроля при помощи циклического избыточного кода CRC.
Примечание
За дополнительной информацией о работе в сетях TCP/IP в среде Ethernet обращайтесь к документу RFC 894 под названием "Standard for the Transmission of IP Datagrams over Ethernet Networks" (Стандарт передачи IP-дейтаграмм в сетях Ethernet).
По получении фрейма Ethernet II IP-хост проверяет достоверность его содержимого, выполняя процедуру контроля при помощи циклического избыточного кода CRC и сопоставляя результат со значением, содержащимся в поле Frame Check Sequence.
После подтверждения того, что адрес назначения соответствует получателю (кроме того, адрес может быть широковещательным или принятым групповым), принимающая сетевая интерфейсная плата (NIC) очищает поле Frame Check Sequence и передает фрейм на Канальный уровень.
На Канальном уровне фрейм исследуется в целях получения фактического адреса назначения (широковещательного, группового или однонаправленного). На этом этапе проверке подвергается поле идентификации протокола (например, поле Туре в структуре фреймов Ethernet II).
Затем оставшаяся структура фрейма Канального уровня очищается с тем, чтобы он мог быть передан на соответствующий Сетевой уровень (в нашем случае — IP).
В этом разделе мы сосредоточимся на рассмотрении структуры фреймов Ethernet II, поскольку в сетях Ethernet TCP/IP она распространена в большей степени. Тип фрейма Ethernet II принимается по умолчанию для TCP/IP на платформе Windows 2000 в сетях Ethernet. Спецификация IEEE 802.2 также определяет для TCP/IP метод, позволяющий выйти за рамки структуры фреймов IEEE 802.3. В следующем разделе мы рассмотрим структуру фреймов IEEE 802.2 для управления логическим соединением, хотя протокол IP нечасто работает с этим типом фреймов.
Структура фрейма Ethernet 802.2 LLC
На рис. 3.2 изображен формат фрейма Ethernet 802.2 LLC, т. е. фрейм для управления логическим соединением (Logical Link Control, LLC). Во многом схожий со структурой фреймов Ethernet II, этот тип фрейма для идентифи-
148
Гпава 3
кации протокола применяет поле SAP вместо Туре. Протоколу IP присваивается значение 0x06.
16
31
PREAMBLE
PREAMBLE (continued)
SFD
DESTINATION ADDRESS
DESTINATION ADDRESS (continued)
SOURCE ADDRESS
SOURCE ADDRESS (continued)
LENGTH
DSAP
SSAP
д
CONTROL
DATA
FRAME CHECK SEQUENCE
Рис. 3.2. Структура фрейма Ethernet 802.2
Фрейм типа Ethernet 802.2 LLC содержит следующие поля:
□	Preamble (преамбула);
□	SFD (Start Frame Delimiter, разграничитель начала фрейма);
□	Destination Address (поле адреса назначения);
□	Source Address (поле адреса источника);
□	Length (поле длины);
□	DSAP (Destination Service Access Point, поле точки доступа к службе назначения);
□	SSAP (Source Service Access Point, поле точки доступа к службе источника);
□	Control (поле контроля);
□	Data (поле данных);
□	Frame Check Sequence (FCS, поле контрольной последовательности кадра).
В следующих разделах мы рассмотрим поля, характерные исключительно для структуры фрейма Ethernet 802.2 LLC.
Протоколы Канального и Сетевого уровней TCP/IP
149
Preamble
Preamble (преамбула) состоит из семи байт и содержит чередующиеся нули и единицы. В отличие от структуры фреймов Ethernet II, эта преамбула не оканчивается непрерывной последовательностью единиц. Для определения начала поля Destination Address (адрес назначения) используется поле SFD (Start Frame Delimiter, разграничитель начала фрейма).
Поле SFD
Поле SFD (Start Frame Delimiter, разграничитель начала фрейма) состоит из одного байта и содержит битовую комбинацию 10101011, которая обозначает начало поля адреса назначения (Destination Address). Как можно заметить, Preamble (преамбула) и поле SFD (Start Frame Delimiter) фрейма Ethernet 802.2 эквивалентны преамбуле фрейма Ethernet II.
Поле Length
Поле Length (длина) состоит из двух байт и обозначает количество байт в блоке данных фрейма. Возможны значения от 0х002Е (46 в десятичном представлении) и 0x05DC (1500 в десятичном представлении). В этой позиции фрейма 802.2 нет поля Туре; протокол идентифицируется в полях SAP (Service Access Point, точка доступа к службе).
Поле DSAP
Поле DSAP (Destination Service Access Point, точка доступа к службе назначения) состоит из одного байта и определяет протокол назначения. В табл. 3.2 приведены некоторые стандартные значения SAP (устанавливаемые Институтом инженеров по электротехнике и электронике, IEEE).
Таблица 3.2. Стандартные значения SAP
Значение	Протокол назначения	Значение	Протокол назначения
0	Null LSAP	78	EIA-RS511
2	Indiv LLC Sublayer Mgt	94	ISI IP
3	Group LLC Sublayer Mgt	142	PROWAY-LAN
4	SNA Path Control	170	SNAP
6	DOD IP	254	ISO CLNS IS 8473
14	PROWAY-LAN	255	Global DSAP
Поле SSAP
Поле SSAP (Source Service Access Point, точка доступа к службе источника) состоит из одного байта и определяет исходный протокол (обычно идентичен протоколу назначения).
150
Гпава 3
Поле Control
Поле Control (контроль) состоит из одного байта и определяет формат фрейма: ненумерованный (unnumbered), т. е. без установления соединения или информационный/контролирующий (informational/supervisory) (в целях управления и для соединений).
Далее мы рассмотрим структуру фрейма Ethernet SNAP.
Структура фрейма Ethernet SNAP
Документ RFC 1042 под названием "Стандарт передачи IP-дейтаграмм в сетях IEEE 802" определяет, каким образом необходимо инкапсулировать IP-трафик в фреймах 802.2 LLC, включающих блок протокола SNAP (SubNetwork Access Protocol, протокол управления доступом к подсети). По умолчанию Windows 2000 осуществляет IP- и ARP-передачи посредством фреймов типа Ethernet II, однако, отредактировав системный реестр (Registry setting), можно обеспечить поддержку этих передач с помощью структуры фрейма Ethernet 802.2 SNAP; для этого необходимо добавить параметр ArpUseEtherSNAP, как показано в табл. 3.3.
Таблица 3.3. Параметр реестра ArpUseEtherSNAP
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\T cpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
Чтобы обеспечить возможность применения формата фрейма Ethernet 802.2 SNAP для трафика IP и ARP в сети Ethernet, необходимо установить значение "1" для параметра реестра ArpUseEtherSNAP. Когда этот параметр блокирован, хост Windows 2000 может получать структуры фреймов Ethernet 802.2 SNAP от других IP-хостов, однако для ответа он использует тип фрейма Ethernet II. Это действие требует автоматического переключения исходного передающего хоста на тип фрейма Ethernet II; в противном случае последующие сообщения между этими двумя хостами будут невозможны.
На рис. 3.3 иллюстрируется формат фрейма Ethernet SNAP. Во многом схожий со структурой фреймов Ethernet 802.2, этот тип фрейма для идентификации протокола применяет поле Ether Туре вместо SAP. Значения поля Ether Туре аналогичны значениям поля Туре, применяемым во фреймах
Протоколы Канального и Сетевого уровней TCP/IP
151
Ethernet II, рассмотренных ранее в этом разделе. Для фреймов SNAP характерно использование значений ОхАА, ОхАА и 0x03 в полях DSAP, SSAP и Control соответственно.
Рис. 3.3. Структура фрейма Ethernet SNAP
Фрейм типа Ethernet SNAP содержит следующие поля:
□	Preamble (преамбула);
□	SFD (Start Frame Delimiter, поле разграничителя начала фрейма);
□	Destination Address (поле адреса назначения);
□	Source Address (поле адреса источника);
□	Length (поле длины);
□	DSAP (Destination Service Access Point, поле точки доступа к службе назначения);
□	SSAP (Source Service Access Point, поле точки доступа к службе источника);
□	Control (поле контроля);
□	Organization Code (поле кода организации);
□	Ether Туре (поле Ether-типа);
152
Гпава 3
□	Data (поле данных);
□	Frame Check Sequence (FCS, поле контрольной последовательности кадра).
В следующих разделах мы рассмотрим только те поля, которые являются характерными для структуры фрейма Ethernet SNAP.
Поле Organization Code
Поле Organization Code (код организации) состоит из трех байт и указывает организацию, назначившую и контролирующую значение типа протокола Ethernet, которое указывается в следующем поле — Ether Туре. Иначе это поле называется OUI (Organizationally Unique Identifier, уникальный идентификатор организации). Коды протоколов для технологий 802 контролирует IEEE, которая имеет значение этого поля, равное 0. Если в будущем потребуются другие коды протоколов для какой-либо новой технологии, то для этого будет достаточно указать другой идентификатор организации, назначающей эти коды.
Поле Ether Туре
Поле Ether Туре (Ether-типа) состоит из двух байт и определяет сетевой протокол, применяющий данный формат фрейма — Ethernet SNAP. Значение этого поля для всех сообщений IP — 0x0800, а для сообщений ARP — 0x0806.
В примерах и конфигурациях, анализируемых в других главах этой книги, мы будем применять структуры фреймов Ethernet II.
Типы фреймов Token Ring
Стандарт IEEE <?025 специфицирует организацию сетей с маркерным доступом. Они характерны звездообразной физической топологией (physical star design), хотя применяют канал передачи "логическое кольцо" (logical ring transmission path), что показано на рис. 3.4.
В сети с маркерным доступом каждая участвующая рабочая станция действует как повторитель (repeater), передавая каждый полученный пакет обратно в сеть. Если фрейм предназначался для принимающей рабочей станции, она создает его копию и передает ее в сеть.
Подобно тому, как в Ethernet сетевые интерфейсные платы выполняют стандартные операции по обнаружению ошибок в пределах содержимого передаваемых пакетов, фреймы Token Ring также содержат поле Frame Check Sequence (контрольная последовательность кадра).
Компания Cisco составила прекрасную документацию по технологии сетей с маркерным доступом. Чтобы ознакомиться с ней, зайдите на сайт http://www.cisco.com. Существует две разновидности фреймов Token Ring: фреймы 802.2 LLC и фреймы SNAP.
Протоколы Канального и Сетевого уровней TCP/IP
153
Рис. 3.4. Звездообразная физическая конструкция сетей
с каналом передачи "логическое кольцо"
Физически — "звезда"
Логически — "кольцо"
Формат фреймов Token Ring 802.2 LLC
Как показано на рис. 3.5, в соответствии со стандартом в состав фреймов Token Ring 802.2 LLC входят те же поля, что и во фреймы Ethernet 802.2 LLC.
Фрейм этого типа содержит следующие поля:
□	Start Delimiter (поле разграничителя начала фрейма);
□	Access Control (поле контроля доступа);
□	Frame Control (поле контроля фрейма);
□	Destination Address (поле адреса назначения);
□	Source Address (поле адреса источника);
□	DSAP (Destination Service Access Point, поле точки доступа к службе назначения) (LLC 802.2);
□	SSAP (Source Service Access Point, поле точки доступа к службе источника) (LLC 802.2);
□	Control (поле контроля) (LLC 802.2);
□	Data (поле данных);
□	Frame Check Sequence (поле контрольной последовательности данных);
□	End Delimiter (поле разграничителя конца фрейма);
□	Frame Status (поле статуса фрейма).
154
Гпава 3

15 16
START DELIMITER	ACCESS CONTROL	FRAME CONTROL	DESTINATION ADDRESS
	DESTINATION	ADDRESS (continued)	
DESTINATION Г ADDRESS (cont.)		SOURCE ADDRESS	
SOURCE ADD	RESS (continued)		DSAP
SSAP	CONTROL
DATA
FRAME CHECK SEQUENCE
END DELIMITER
FRAME STATUS
Рис. 3.5. Структура фрейма Token Ring 802.2 LLC
Поле Start Delimiter
Поле Start Delimiter (разграничитель начала фрейма) состоит из одного байта и обозначает начало фрейма сети с маркерным доступом.
Поле Access Control
Поле Access Control (контроль доступа) состоит из одного байта и указывает, составляют ли последующие поля маркер (token) или фрейм, обозначает приоритет маркера или фрейма и сообщает, проходил ли уже этот маркер или фрейм по кольцу.
Поле Frame Control
Это поле состоит из одного байта и определяет, содержит ли данный фрейм информацию, связанную с управлением сети с маркерным доступом, или данные.
Поле Destination Address
Это поле состоит из шести байт и указывает аппаратный адрес назначения. Может содержать однонаправленный, групповой или широковещательный адрес. Имейте в виду, что, по сравнению с Ethernet, в сети с маркерным доступом МАС-адреса читаются в противоположном порядке: Ethernet считывает значение по байту справа налево, в то время как в сети с маркерным доступом это выполняется слева направо.
Протоколы Канального и Сетевого уровней TCP/IP 155
Поле Source Address
Это поле состоит из шести байт и указывает аппаратный адрес источника. Единственно возможный тип адреса — однонаправленный (unicast).
Поле DSAP (LLC 802.2)
Поле DSAP (Destination Service Access Point, точки доступа к службе назначения) состоит из одного байта, определяет протокол назначения и открывает секцию LLC (управления логическим соединением). Подобно структуре фреймов Ethernet 802.2 LLC, фрейм Token Ring 802.2 LLC содержит поля DSAP, SSAP и Control. Примеры стандартных значений SAP см. в разд. "Структура фрейма Ethernet 802.2 LLC".
Поле SSAP(LLC 802.2)
Поле SSAP (Source Service Access Point, точки доступа к службе источника) состоит из одного байта и определяет применяемый исходный протокол. Обычно значение в этом поле аналогично значению поля DSAP.
Поле Control (LLC 802.2)
Поле Control (контроль) состоит из одного байта и указывает, является ли фрейм ненумерованным (без установления соединения) или же управляю-щим/информационным (в целях управления и для соединений).
Поле Data
Длина этого поля может составлять от нуля до 18 000 байт; оно содержит данные TCP/IP.
Поле Frame Check Sequence
Поле Frame Check Sequence (контрольная последовательность данных) состоит из четырех байт и содержит результат вычислений, осуществляемых в ходе процедуры контроля при помощи циклического избыточного кода CRC; эта информация предназначена для обнаружения ошибок в пакете.
Поле End Delimiter
Поле End Delimiter (разграничитель конца фрейма) состоит из одного байта и обозначает конец фрейма маркерного кольца (кроме поля Frame Status).
Поле Frame Status
Поле Frame Status (статус фрейма) состоит из одного байта и сообщает, был ли распознан адрес назначения фрейма, и был ли этот фрейм копирован.
Теперь рассмотрим структуру фрейма Token Ring SNAP.
156
Гпава 3
Формат фреймов Token Ring SNAP
По сравнению со стандартным 802.2 LLC уровнем соединения формат фреймов Token Ring SNAP содержит дополнительные поля Organization Code (код организации) и Ether Туре (Ether-тип). Это не ошибка — несмотря на то, что речь идет о фрейме сети с маркерным доступом, формат SNAP может применять значение поля Ether Туре. В этом поле заключается значение 0x0800 для всех сообщений IP или 0x0806 для всех сообщений ARP.
Структура фрейма Token Ring SNAP проиллюстрирована на рис. 3.6.
	0	15	16	31
	START DELIMITER	ACCESS CONTROL	FRAME CONTROL	DESTINATION J ADDRESS "5
	Г	DESTINATION	ADDRESS (continued)	
	DESTINATION Г ADDRESS (cont.)		SOURCE ADDRESS	
		SOURCE ADDR	:SS (continued)	DSAP	.
	SSAP	CONTROL	ORCANIZATI	ON CODE
	ORGANIZATION CODE (continued)	ETHER 	J	TYPE 	.		
		DATA		
FRAME CHECK SEQUENCE
END DELIMITER FRAME STATUS
Рис. 3.6. Структура фрейма Token Ring SNAP
Фрейм типа Token Ring SNAP содержит следующие поля:
□	Start Delimiter (поле разграничителя начала фрейма);
□	Access Control (поле контроля доступа);
□	Frame Control (поле контроля фрейма);
□	Destination Address (поле адреса назначения);
□	Source Address (поле адреса источника);
□	DSAP (Destination Service Access Point, поле точки доступа к службе назначения) (LLC 802.2);
Протоколы Канального и Сетевого уровней TCP/IP
157
□	SSAP (Source Service Access Point, поле точки доступа к службе источника) (LLC 802.2);
□	Control (поле контроля) (LLC 802.2);
О Organization Code (поле кода организации);
□	Ether Туре (поле Ether-типа);
□	Data (поле данных);
□	Frame Check Sequence (поле контрольной последовательности кадра);
□	End Delimiter (поле разграничителя конца фрейма);
□	Frame Status (поле статуса фрейма).
В этом разделе мы сосредоточимся лишь на полях, характерных для формата фреймов Token Ring SNAP.
Поле Organization Code
Это поле состоит из трех байт и указывает организацию, назначившую значение типа протокола Ethernet, которое указывается в следующем поле — Ether Туре.
Поле Ether Туре
Поле Ether Туре (Ether-тип) состоит из двух байт и определяет сетевой протокол, применяющий данный формат фрейма — Ethernet SNAP. Значение этого поля для всех сообщений IP — 0x0800, а для сообщений ARP — 0x0806.
[ Примечание
Джеймс Мессер (Network Associates) составил прекрасный список часто задаваемых вопросов (Frequently Asked Questions, FAQ) по теме сети с маркерным доступом. Он расположен в Internet по адресу http://www.networkuptime.com/ faqs/token-ring/index.html. Ознакомиться со спецификацией IEEE 802.5 можно, заказав информацию по адресу http://shop.ieee org/store/ (введите в текстовом окне поиска "802.3 specification" и нажмите кнопку Go).
Аппаратные адреса в среде IP
IP-адреса применяются для идентификации отдельных IP-хостов в объединенной сети TCP/IP. Аппаратный адрес необходим для доставки пакета от одного IP-хоста к другому в одной сети.
К примеру, чтобы добраться от одного IP-хоста к другому, расположенному с противоположной стороны от маршрутизатора, источник должен знать IP-адрес хоста назначения. Кроме того, этот источник вынужден применить процедуру разрешения аппаратного адреса, чтобы узнать аппаратный адрес
158
Гпава 3
маршрутизатора; в результате чего он сможет составить заголовок Канального уровня (например, заголовок Ethernet) и доставить пакет локальному маршрутизатору. Когда пакет поступит в распоряжение маршрутизатора, тот, в свою очередь, также должен будет пройти через процесс разрешения аппаратного адреса, который позволит выяснить следующий локальный аппаратный адрес для данного пакета.
В сетях TCP/IP для определения аппаратного адреса локального места назначения пакета используется протокол ARP (Address Resolution Protocol, протокол разрешения адресов). Каждый IP-хост содержит в памяти ARP-кэш (ARP cache) — таблицу аппаратных адресов, полученных в ходе процесса разрешения адресов. Прежде чем посылать в сеть запрос на разрешение адреса, IP-хост обращается к этому кэшу. И только в том случае, если желаемый аппаратный адрес в кэше отсутствует, IP-хост транслирует ARP-запрос.
L ПримечаниГ^
Протокол ARP (Address Resolution Protocol, протокол разрешения адресов) специфицирован в документе RFC 826.
На рис. 3.7 изображена схема основных функциональных возможностей протокола ARP. На этой иллюстрации исходный 1Р-хост (10.1.0.1) использует протокол ARP для получения аппаратного адреса локального места назначения.
Протокол ARP применяется исключительно для выяснения аппаратных адресов локальных IP-хостов. Если IP-адрес назначения является удаленным (расположен в другой сети), IP-хост должен обратиться к своим таблицам маршрутизации (routing tables), чтобы определить для пакета подходящий маршрутизатор. Все это относится к так называемому процессу разрешения маршрута (route resolution process).
Как показано на рис. 3.8, в структуре ARP-пакетов отсутствует компонент Сетевого уровня, поэтому ARP-маршрутизация невозможна.
Каким бы упрощенным ни был протокол ARP, часто именно он сообщает о проблемах с сетевой адресацией или конфигурацией, как это явствует из разд. "Если пункт назначения удаленный, то какой маршрутизатор ?" этой главы.
Кроме того, протокол ARP испоьзуется для проверки существования в сети дублированного IP-адреса (duplicate IP address). Прежде чем IP-хост начнет осуществлять передачи в сети IP, он должен провести тест на наличие идентичного IP-адреса. В ходе этого процесса IP-хост отсылает ARP-запрос на свой собственный IP-адрес (такой запрос именуется добровольным), как показано на рис. 3.9. Если на такой тест ответит другой хост, то первый не сможет инициализировать свой стек TCP/IP; это значит, что тестируемый IP-адрес уже существует в сети.
Протоколы Канального и Сетевого уровней TCP/IP
159
Широковещательный ARP-запрос Аппаратный адрес источника: 0*00001 В23АС34 Сетевой адрес источника: 10.1.0.1
Аппаратный адрес назначения: 0*000000000000 Сетевой адрвс назначения: 10.1.0,99
Однонаправленный ARP-ответ Аппаратный адрес источника: 0*00001 B9893DE Сетевой адрес источника: 10.1.0.99
Аппаратный адрес назначения: 0*00001 В23АС34 Сетевой адрес назначения: 10.1.0.1
Клиент А Аппаратный адрес: 0*00001В23АС34 Сетевой адрес: 10.1.0.1
Сервер 1
Аппаратный адрес: 0*00001 B9893DE
Сетевой адрес: 10.1.0.99
Рис. 3.7. Широковещательные ARP-сообщения указывают IP-адреса источника и назначения
J	DATA LINK HFADFR	__
"Г 0	15 16	31
HARDW/ HARDWARE ADDRESS LENGTH	USE TYPE PROTOCOL ADDRESS LENGTH	PROTOCOL TYPE OPERATION
	SENDER HARDV	/ARE ADDRESS
1 SENDER HARDWARE ADDRESS (continued)		SENDER PROTOCOL ADDRESS
SENDER PROTOCOL ADDRESS (continued) TARGET HARDWARE		TARGET HARDWARE ADDRESS ADDRESS (continued)
	TARGET PROCOT OL ADDRESS 1	1	l	
Рис. 3.8. Структура фрейма ARP
160
Гпава 3
ф Flags:	0x00
i..Status:	0x00
 Packet Length:64 к О Timestamp:	14:20:27.042000	12/26/2000
-Y“ Ethernet Header
FF:FF:FF:FF:FF:FF 00:20:78:Hl:SA:80
Ethernet Broadcast
'ф Protocol Type:0x0806 IF ARP
mtp- ndrtress Resolution Protocol
!	0	Hardware:			1 Etljerwat.
i-ф	Protocol:			0x0800 IP
	Hardware	Address	Length:	6
L О	Protocol	Address	Length:	4
..ф Operation:	1 ARJ1 Request
‘-•Щ Sender Hardware Address: 00:20:78:Bl:5A:80
: @ Sender4 Internet Address: 10.1.0.99
rW Target Hardware Address: 00:00:00:00:00:00 ('igcworgd,)
(—J Target Internet Address: 10.1.0.99
!--ф	l-ytas (Padding"):
ф Data: (18 bytes)
..ф Frame Check Sequence: 0x00000000
---------z----........—----------------j.а -л
0: FF FF FF FF FF FF 00 20 78 El SA 80 08 06 00ЭД^........................................... xaZ. ..\i <
us iju i>c O' rm ы no /»*, hj ' uu il in »ir« ;‘j ,	,	.	,।
3<~ . uu u(i >i(i nu uh on ii di no f/j ufi ни <)п im rni (uj	. .	( „	.
•» * MIS fill Illi 'll) QU On uu (HI 'Hi nil Oil fit) III) OH HU (III
Рис. 3.9. ARP-тест на наличие дублированного IP-адреса
Обзор пакетов, участвующих в простом ARP-сообщении, должен содействовать лучшему пониманию использования протокола ARP.
Функции и поля ARP-пакетов
По умолчанию Windows 2000 применяет фреймы типа Ethernet II для всего трафика ARP. Существуют два основных ARP-пакета: пакет ARP-запроса и пакет ARP-ответа. Как показано на следующих двух рисунках, оба типа пакетов характеризуются одинаковым форматом.
Из всех характеристик протокола ARP более всего сбивает с толку интерпретация информации об адресах получателя и назначения. Когда какой-либо хост (в нашем случае — хост А) посылает широковещательное ARP-сообщение, он помещает аппаратный адрес и IP-адрес в поля Sender Address (адрес отправителя).
Протоколы Канального и Сетевого уровней TCP/IP
161
В поле Target Internet Address (интернет-адрес назначения) помещается IP-адрес искомого IP-хоста. Но в поле Target Hardware Address (аппаратный адрес назначения) значение состоит из одних нулей, что означает, что эта информация неизвестна (рис. 3.10).
;...$	Flags:	0x00
!...ф	Status:	0x00
Ь-ф Packet Length:64
TiwestaMp:	15:03:29.904000	12/26/2000
.в^я Ethernet Meader i ь» Destination: ; !.w Source:
FF:FF:FF:FF:FF:FF
Ethernet- Broadcast
Hardware:	1 Sth
Protocol:	ux08u0
0 Kardxzare Hddress Length: 6
f’20?2b?
• ф Protocol Address Length:
; 0 Operation:
(ВД ender Hardware Address: Sender Internet Address:
!.8© 'arget Harch/are Address:
L-Tai1 get Internet Address:
1 ЛЛ'Р S'egwes t
00:00:65:10:22:1В
10.1.0.1
00:00:00:00:00:00
10.1.0.99
(.0 A’xtrd bytes
l-.ф Data: (18 bytes)
= •• 0 Brane Check Sequence: 0x00000000
0: FF FF FF FF FF FF 00 00 65 10 ZZ IB 08 06 00 01 .........................e.	;
16: 0« no |J(5 o-l on 01 00 00 6-S 10 22 IB ()A 01 00 01 ....................e.".......
32: fio 00 00 00 00 ПО ОЛ 01 OU 63 4F 3S OK CP SO 14 .........................cos.f.v. !
48: i.n> uu t-i 0» HU uu uu uu uu uu uu uu uu liu uu.uu ..«............................ I
Jd„ Jjext , |
Рис. 3.10. ARP-запрос на IP-хост 10.1.0.99
Примечание |
В спецификации протокола ARP утверждается, что значение в поле Target Hardware Address может быть отличным от комбинации нулей. В некоторых реализациях протокола ARP источник устанавливает для адреса назначения комбинацию единиц; это дезориентирует некоторые маршрутизаторы, в результате чего они отсылают широковещательный ARP-пакет во все подключенные сети. Эта проблема, которую можно без труда отследить с помощью сетевого анализатора, документируется в статье Q199773 из базы знаний Microsoft (Microsoft Knowledge Base). Эта проблема доступна в Internet по адресу http://support.microsoft,com/support/kb/articles/Q199/7/73. ASP.
162
Гпава 3
На рис. 3.11 изображен пакет ARP-ответа. В нем информация об отправителе и месте назначения меняется местами; таким образом демонстрируется, что ответчик теперь является отправителем. Исходная станция выполняет поиск в новом месте.
;..Flags:	0x00
i..ф	Status:	0x00
ф	Packet Length: 64
ф	Tiaiestajap:	16:03:29.986000	12/26/2000
[-1 Ethernet Header
;	Destination: 00:00:65:10:22:IB
j Uад Source:	00:20;78:El:5A:80
;	0 Protocol Type: 0x0806 22- ЛЧР
Л.ВР - Uddrews Itesolution Protocol
i ф ЛагЛтаге:	1 Ethernet ( LC№b)
ф Protocol:	0x0800 IP
I-' 0 Hardware Hddress Length: 6 ;.ф Protocol Jlddress Length: 4
i- 0 Operation:	2 ARP Response
Sender llardvrare Addresc: 00:20:78:El:5A:80 =--Щ Sender Internet Jlddress: 10.1.0.99 над Target Hardware Address: 00: 00: 65:10: 22: IB .Target Internet. Address: 10.1.0.1
i.ф	bytes i'ZJc3<Mlny>
j.$ Data: (18 bytes)
* i....Н.му Check Sequence: 0x00000000
, ..............................-.....(|) ,  _
16: OB 00 1>G 0-5 00 02 op 20 78 Bl SA 00 OA 01 00 63 . ....... «АИ....d
32: 00 OO !.:*> 10 22. IB 0A 01. 00 0.1 G1 62 63 64 65 66 ..e.1'_.abcdei
48: 6? 60 GS GA 6» AC 6» 6П 6¥ 70 71 72 00 00 00 00 yhljkjc.nonqr. . ..
Hov JCjj И j
Рис. 3.11. Однонаправленный пакет ARP-ответа
Интересно, что отвечающий IP-хост вносит IP- и аппаратный адрес хоста, по которым проводился поиск, в свой ARP-кэш. Это логичное действие, поскольку, скорее всего, между IP-хостами будет иметь место двухсторонний диалог, а потому отвечающему IP-хосту в конечном итоге понадобится адрес запрашивающего хоста.
Поле Hardware Туре
Это поле определяет применяемый тип аппаратуры или канала передачи данных, а также устанавливает длину аппаратного адреса, что делает поле Hardware Address Length (длина аппаратного адреса) излишним.
Протоколы Канального и Сетевого уровней TCP/IP 163
В табл. 3.4 приведен неполный список стандартных значений типов аппаратуры, полученный с Web-сайта http://www.iana.org.
Таблица 3.4. Значения типов аппаратуры
Значение	Тип аппаратуры
1	Ethernet
6	IEEE 802 Networks (сети IEEE 802)
7	ARCnet
11	LocalTalk
14	SMDS
15	Frame Relay (ретрансляция кадров)
17	HDLC
19	ATM (Asynchronous Transmission Mode, асинхронный режим передачи)
20	Serial Line (последовательный канал)
21	ATM (Asynchronous Transmission Mode, асинхронный режим передачи)
Поле Protocol Туре
Поле Protocol Туре (тип протокола) обозначает применяемый тип протокола и использует стандартные значения идентификаторов протоколов, которые также употребляются в структурах фреймов Ethernet II. Типы протоколов определяются на сайте http://www.iana.org/assignments/ethemet-numbers.
Это поле применяет те же значения, что присваиваются в поле Ethernet Туре. На сегодняшний день протокол IP является единственным, использующим протокол ARP для разрешения адресов. Это поле также устанавливает длину адреса протокола, делая поле Protocol Address Length (длина адреса протокола) излишним.
Поле Hardware Address Length
Поле Hardware Address Length (длина аппаратного адреса) определяет длину (в байтах) аппаратных адресов, применяемых в данном пакете. Поскольку в поле Hardware Туре устанавливается аналогичное значение, рассматриваемое поле становится излишним.
164
Гпава 3
Поле Protocol Address Length
Поле Protocol Address Length (длина адреса протокола) определяет длину (в байтах) адресов протоколов (сетевых адресов), применяемых в данном пакете. Поскольку в поле Protocol Туре устанавливается аналогичное значение, рассматриваемое поле становится излишним.
Поле Operation
В поле Operation (операции) указывается, является ли ARP-пакет запросом или ответом, а также определяется тип происходящего процесса разрешения адресов. В табл. 3.5 перечислены коды операций протоколов ARP и RARP (Reverse ARP, протокол определения сетевого адреса по местоположению узла).
Таблица 3.5. Коды операций АИР и RARP
Кодовое значение	Тип пакета	Кодовое значение	Тип пакета
1	ARP-запрос	3	RARP-запрос
2	ARP-ответ	4	RARP-ответ
RARP — это протокол, делающий возможным определение IP-хостом сетевого адреса по адресу Канального уровня. Протокол RARP специфицируется в документе RFC 903 и рассматривается в разд. "Протокол RARP" этой главы.
Поле Sender Hardware Address
Это поле определяет аппаратный адрес IP-хоста, отсылающего данный запрос или ответ.
Поле Sender Protocol Address
Это поле определяет адрес протокола (сетевой адрес) IP-хоста, отсылающего данный запрос или ответ.
Поле Target Hardware Address
В этом поле указывается искомый аппаратный адрес назначения, если он известен. В ARP-запросах это поле обычно содержит комбинацию нулей. В ARP-ответах в нем должно содержаться значение одного из следующих двух видов.
□	Аппаратный адрес искомого IP-хоста, если отправитель и пункт назначения находятся на одном канале передачи данных.
Протоколы Канального и Сетевого уровней TCP/IP  /65
□	Аппаратный адрес следующего маршрутизатора на пути к пункту назначения, если он находится на канале передачи данных, отличном от того, на котором располагается отправитель. Речь идет о маршрутизаторе следующего транзита (next-hop router) по отношению к данному 1Р-хосту; это устройство является единственным или одним из множества маршрутизаторов, передающих данные от отправителя к получателю. Каждая сеть, или перемещение от маршрутизатора к маршрутизатору, считается транзитом.
Поле Target Protocol Address
Это поле указывает искомый адрес протокола (сетевой адрес) назначения.
ARP ош
В большинстве операционных систем, включая Linux, BSD UNIX, Windows 95, Windows 98, Windows NT и Windows 2000, информация протокола ARP (аппаратные адреса и связанные с ними IP-адреса) хранится в ARP-кэше. Кроме того, эти операционные системы содержат средства просмотра записей ARP-кэша, их ручного добавления и удаления, а также загрузки записей таблицы из конфигурационного файла. В Windows-системах команда агр -а применяется для просмотра содержимого ARP-таблицы, как показано на рис. 3.12.
Рис. 3.12. Просмотр ARP-таблицы локального хоста с помощью команды агр -а
Windows-системы также имеют в своем составе утилиты для просмотра IP- и аппаратных адресов. В Windows 95 это утилита WINIPCGF, в Windows 98 и Windows 2000 — утилита IPCONFIG для работы из командной строки. На рис. 3.13 изображен результат выполнения утилиты IPCONFIG на устройстве, работающем под управлением Windows 2000.
Как показано на рис. 3.13, утилита IPCONFIG выводит адрес сетевого адаптера (физический адрес) 00-20-78-Е1-5А-80, IP-адрес 10.2.0.1, а также маску
166
Гпава 3
подсети 255.255.0.0. Кроме того, эта утилита указывает, что шлюзом по умолчанию (default gateway) является 10.2.0.99.
Рис. 3.13. Утилита IPCONFIG определяет IP-и аппаратный адреса устройства
В системах Windows 2000 записи ARP-кэша должны удерживаться в памяти на протяжении 120 секунд (двух минут); этот отрезок времени отличается от более распространенного в других типах сетевого оборудования значения по умолчанию, равного 300 секундам (пяти минутам). Прежде чем передавать широковещательные ARP-сообщения, IP-хосты должны обращаться к этим таблицам. Если нужная запись присутствует в ARP-кэше, IP-хост применяет ее, не отсылая в сеть ARP-запрос.
С помощью параметра реестра ArpCacheLife можно изменить "время жизни" записи в ARP-кэше, как показано в табл. 3.6.
	Таблица 3.6. Параметр реестра ArpCacheLife
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	REG_DWORD O-OxFFFFFFFF 120 Нет
Протоколы Канального и Сетевого уровней TCP/IP
167
В Windows 2000 записи ARP-кэша сохраняются на срок более 120 секунд лишь в том случае, если в это время на них были сделаны ссылки. Запись в реестре ArpCacheMinReferencedLife применяется для увеличения времени жизни ARP-записи, на которую сделана ссылка, по умолчанию на 600 секунд (10 минут).
Агент ARP
Агент ARP (proxy ARP) — это метод, позволяющий IP-хосту использовать упрощенную схему подсети. Кроме того, агент ARP дает маршрутизатору возможность "разрешать адреса" в ответ на широковещательные ARP-сообщения 1Р-хоста.
Широковещательный ARP-запрос Аппаратный адрес источника: 0x00001 В23АС34 Сетевой адрес источника: 10.1.0.1
Аппаратный адрес назначения: 0x000000000000 Сетевой адрес назначения: 10.2.77.33
Однонаправленный ARP-ответ Аппаратный адрес источника: 0x00001 B9893DE Сетевой адрес источника: 10.2.77.33
Аппаратный адрес назначения: 0x00001 В23АС34 Сетевой адрес назначения: 10.1.0.1
Клиент А IP-адрес: 10.1.0.1 Маска: 255.0.0.0 Аппаратный адрес: 0x00001 В23АС34
Интерфейс 1 IP-адрес: 10.1.0.33 Маска: 255.255.0.0 Аппаратный адрес: 0x00001 С9834АВ
Маршрутизатор
Сервер 1 IP-адрес: 10.2.77.33 Маска: 255.0.0.0 Аппаратный адрес: 0x00001 В23АС34
Интерфейс 2 IP-адрес: 10.2.0.33 Маска: 255.255.0.0 Аппаратный адрес: 0x00001 СА44523
Рис. 3.14. Схема сети агента ARP
168
Гпава 3
На рис. 3.14 изображена конфигурация агента ARP, состоящего из одной сети, разделенной маршрутизатором, причем на обеих ее сторонах сохраняется единый сетевой адрес. 1Р-хост 10.1.0.1 соответствует маске подсети 255.0.0.0. Этот IP-хост "полагает", что адрес назначения 10.2.77.33 находится в той же сети — 10.0.0.0. Из этого следует, что исходный хост может послать ARP-запрос на аппаратный адрес хоста назначения.
Однако хост назначения, 10.2.77.33, находится не в той, а в отдельной сети. При этом на соединительном маршрутизаторе настроена поддержка агента ARP. Когда IP-xoct 10.1.0.1 посылает ARP-запрос на аппаратный адрес хоста 10.2.77.33, маршрутизатор с агентом ARP не пересылает это широковещательное сообщение; вместо этого он указывает аппаратный адрес маршрутизатора на интерфейсе 1 (который находится в той же сети, что и запрашивающий 1Р-хост).
Примечание
Имейте в виду, что агент ARP не относится к стандартной конфигурации.
Протокол RARP
Протокол RARP (Reverse ARP, обратный ARP), как видно из его названия, по своей функции противоположен протоколу ARP. Протокол RARP применяется для получения IP-адреса по адресу Канального уровня. Первоначально предполагалось, что протокол RARP должен давать возможность бездисковым рабочим станциям (diskless workstations) выяснять свои собственные IP-адреса. Хосты RARP должны были отсылать широковещательные RARP-запросы, указывая свои аппаратные адреса, но оставляя пустыми поля IP-адресов (заполняя их нулями). Серверы RARP в локальных сетях после этого должны были отвечать на такие запросы, снабжая хосты RARP их IP-адресами путем размещения IP-адресов назначения в ответные пакеты.
Протокол RARP был заменен протоколом ВООТР, а впоследствии — DHCP. Как протокол ВООТР, так и DHCP предлагают более четкий и гибкий метод присвоения IP-адресов.
Примечание ^Д
Спецификация протокола RARP содержится в документе RFC 903.
Протоколы Сетевого уровня
Основное назначение протоколов Сетевого уровня заключается в перемещении дейтаграмм по объединенной сети, связанной маршрутизаторами. Пе
Протоколы Канального и Сетевого уровней TCP/IP
169
редачи Сетевого уровня являются сквозными и характеризуют создателя как адрес источника Сетевого уровня, а пункт назначения — как адрес назначения этого уровня. Когда пакеты отсылаются сетевым маршрутизаторам, они анализируют сетевой адрес назначения и определяют, если это возможно, в каком направлении эти пакеты необходимо перенаправить.
В наборе протоколов TCP/IP на Сетевом уровне применяется протокол IP (Internet Protocol). В настоящее время широкое распространение имеет версия 4 (IPv4) этого протокола. Протокол IPv6 (Internet Protocol version 6, протокол Internet версии 6) проходит стадию первоначальной реализации. Протокол IPv6 подробно рассматривается в главе 13.
Возможности и поля сообщений протокола IPv4 специфицированы в документе RFC 791, "Internet Protocol" (Протокол Internet). В этом разделе мы рассмотрим версию протокола IPv4.
О протоколе IP
В этом разделе мы попробуем разобраться в вопросах формирования IP-дейтаграмм, в том, каким образом IP-хост различает удаленные и локальные пункты назначения, как происходит фрагментация и повторная сборка пакетов, и подробно ознакомимся со структурами IP-пакетов. Кроме того, здесь изложены основные процедуры IP-маршрутизации, применяемые для доставки IP-дейтаграмм по объединенным сетям.
Отправка IP-дейтаграмм
Протокол IP обеспечивает сервис без установления соединения со сквозной адресацией Сетевого уровня. Следующий пример иллюстрирует формирование и отправку IP-дейтаграммы. На рис. 3.15 изображен один хост (10.1.0.1), взаимодействующий с другим хостом (10.1.0.2), расположенным с противоположной стороны маршрутизатора.
Формирование пакета 1Р-дейтаграммы лимитируется некоторыми ограничениями. Мы должны знать:
□	IP-адреса источника и назначения;
□	аппаратные адреса источника и маршрутизатора следующего транзита (next-hop).
IP-хост может применить вручную введенный IP-адрес назначения или использовать для его выяснения службу доменных имен (DNS). К примеру, если вы введете telnet 10.2.0.2, система будет знать IP-адрес назначения. Однако при использовании команды telnet fred система должна будет
170
Гпава 3
превратить имя fred в IP-адрес. Это называется процессом разрешения имен (name resolution process). Система DNS подробно исследуется в главе 7.
Сеть 10.1.0.0
Сеть 10.2.0.0
Сетевой адрес источника: 10.1.0.1
Сетевой адрес назначения: 10.2.0.2
Аппаратный адрес источника: 0x00001 CDE3345 Аппаратный адрес назначения: 0x00001В455432
Сетевой адрес источника: 10.1.0.1
Сетевой адрес назначения: 10.2.0.2
Аппаратный адрес источника: 0x00001 В122211
Аппаратный адрес назначения: 0x00001САВ1199
Сервер 1= Fred IP-адрес: 10.2.0.2 Маска: 255.255.0.0 Аппаратный адрес: 0x00001 В455432
-1 Пакет
Клиент А 1Р-адрес: 10.1.0.1 Маска: 255.255.0.0
Аппаратный адрес: 0x00001 В122211
Рис. 3.15. Во время перенаправления пакета заголовок Канального уровня извлекается, а затем повторно создается IP-маршрутизатором
Интерфейс 1 IP-адрес: 10.1.0.33 Маска: 255.255.0.0 Аппаратный адрес: 0x00001 САВ1199
Маршрутизатор
Интерфейс 2 IP-адрес: 10.2.0.33 Маска: 255.255.0.0 Аппаратный адрес: 0x00001 CDE3345
Как указывалось ранее в этой главе, прежде чем запустить ARP-процесс, IP-хост должен узнать, является ли пункт назначения локальным или удаленным. Нужно ли посылать пакет непосредственно получателю или же локальному маршрутизатору? Это называется процессом разрешения маршрута (route resolution process).
По завершении процесса разрешения маршрута IP-хост может запускать процесс разрешения адреса (ARP) для определения аппаратного адреса назначения.
Протоколы Канального и Сетевого уровней TCP/IP
171
Процесс разрешения маршрута
Процесс разрешения маршрута дает IP-хосту возможность определить, является ли пункт назначения локальным или удаленным. Если он является удаленным, IP-хост может определить маршрутизатор следующего транзита.
Локальный
или удаленный пункт назначения?
При определении IP-адреса назначения IP-хост сравнивает сетевую часть этого адреса со своим собственным сетевым адресом.	(
В нашем примере (см. рис. 3.15) IP-адрес сервера Fred — 10.2.0.2, а локальный IP-хост (клиент А) имеет адрес 10.1.0.1 и маску подсети 255.255.0.0. Происходит следующий процесс:
1.	IP-адрес источника — 10.1.0.1.
2.	IP-маска источника — 255.255.0.0.
3.	Локальный номер сети — 10.1.0.0.
4.	IP-адрес сервера Fred — 10.2.0.2.
5.	Сеть cepeepa'Fred — 10.2.0.0.
6.	Поскольку сетевой адрес сервера Fred отличается от локального сетевого адреса, Fred удален по отношению к источнику.
7.	Для того чтобы пакет дошел до сервера Fred, он должен пройти путь от источника через маршрутизатор.
8.	Источнику необходим аппаратный адрес маршрутизатора.
9.	Источник анализирует свои таблицы маршрутизации.
10.	Источник передает ARP-запрос на аппаратный адрес маршрутизатора.
Если пункт назначения удаленный, то какой маршрутизатор?
Теперь, когда локальный IP-хост знает, что пункт назначения удаленный, он должен выяснить аппаратный адрес подходящего для пакета маршрутизатора. Не забывайте, что аппаратные адреса применяются лишь для доставки пакетов от одного IP-хоста сети к другому IP-хосту в той же сети. Маршрутизатор принимает пакет, отосланный на его аппаратный адрес, отбрасывает заголовок Канального уровня, анализирует заголовок Сетевого уровня для выяснения того, по какому маршруту необходимо отправить пакет, затем повторно присваивает заголовок Канального уровня и отправляет пакет в следующую сеть.
172
Гпава 3
IP-хост просматривает свои локальные таблицы маршрутизации на предмет записей хостов или сетевых маршрутизаторов назначения. Адресу назначения должны соответствовать все четыре байта записи хоста; она же указывает локальный маршрутизатор, который может переслать пакеты в пункт назначения. Запись сети означает, что известен путь к сети назначения, а не к хосту назначения. Обычно этого достаточно, поскольку за доставку пакета хосту назначения отвечает маршрутизатор, расположенный к нему ближе всего.
Если в таблице маршрутизации отсутствуют обе записи (хоста и сети), IP-хост ищет запись шлюза по умолчанию.
Шлюз по умолчанию предлагает путь слепой веры (blind faith) — поскольку IP-хост не имеет данных о пути к пункту назначения, он отсылает пакет шлюзу по умолчанию в надежде, что тот сможет выяснить, что с этим пакетом можно сделать. Обычно шлюзы по умолчанию действуют по одному из следующих сценариев:
□	перенаправляют пакет (если обладают информацией о пути к пункту назначения);
□	посылают ICMP-ответ, также называемый ICMP-переадресацией; он указывает на другой локальный маршрутизатор, который может отправить пакет в пункт назначения;
□	посылают ICMP-ответ, в котором утверждается, что неизвестно, куда отправлять пакет — пункт назначения недосягаем.
Если пункт назначения удаленный, а источник знает маршрутизатор следующего транзита или шлюз по умолчанию, который может перенаправить пакет, то для выяснения аппаратного адреса одного из этих устройств источник должен отправить ARP-запрос. Естественно, что перед этим источник просматривает содержимое своего ARP-кэша. Если нужная информация в нем отсутствует, то в целях выяснения аппаратного адреса маршрутизатора следующего транзита происходит отсылка широковещательного ARP-сообщения.
Если IP-хосты не могут наладить взаимодействие, для поиска неисправностей следует воспользоваться анализатором протоколов. Вероятно, имеет место одна из следующих неисправностей:
□	IP-хост имеет возможность посылать ARP-запросы лишь на локальные IP-хосты — возможно, фактический пункт назначения является удаленным (сравните маску подсети источника и IP-адрес назначения);
□	возможно, пункт назначения является локальным, но не отвечает на ARP-запросы, будучи не полнофункциональным (к примеру, был выявлен дублирующий IP-адрес или пункт назначения просто вышел из строя);
Протоколы Канального и Сетевого уровней TCP/IP 173
□ может быть, IP-адрес полученный источником в результате процесса разрешения имен, такого как DNS, неверен и не используется ни одним IP-хостом.
В процессе разрешения адресов проблемы случаются нередко. На рис. 3.16 можно увидеть, что маска подсети на исходном хосте — 255.0.0.0. Сравнивая эту маску с IP-адресом назначения, получаем, что пункт назначения локален по отношению к источнику (они находятся в одной сети 10.0.0.0). Источник отсылает ARP-запрос на аппаратный адрес, соответствующий IP-адресу 10.2.12.4.
Широковещательный ARP-запрос Аппаратный адрес источника: 0x00001 В23АС34 Сетевой адрес источника: 10.1.22.4
Аппаратный адрес назначения: 0x000000000000 Сетевой адрес назначения: 10.2.12.4
?	Клиент А
Сетевой адрес: 10.1.22.4
> Сетевая маска: 255.0.0.0 а
Аппаратный адрес: 0x00001 В23АС34
Маршрутизатор
Сервер 1 IP-адрес: 10.2.12.4 Сетевая маска: 255.255.0.0 Аппаратный адрес: 0x00001 B9893DE
Рис. 3.16. Пример ошибки ARP, произошедшей в результате неверной настройки сетевой маски
Будет ли адрес 10.2.12.4 являться ответом? Нет. Маршрутизаторы не перенаправляют широковещательные ARP-сообщения, а в сети источника нет устройства, имеющего возможность отвечать от имени данного 1Р-хоста.
Проанализировав передачи на уровне пакетов, вы найдете окончательные ответы на эти вопросы; этот подход выгодно отличается от слепого поиска ошибок, в ходе которого приходится придумывать решения наугад, пока одно из них не устранит проблему.
174
Гпава 3
Теперь, когда мы рассмотрели передачу IP-пакета через объединенную сеть, самое время проанализировать следующие уникальные характеристики IP-передач:
□	время жизни 1Р-дейтаграммы;
□	фрагментацию и повторную сборку;
□	опции служб доставки;
□	поля и функции IP-заголовков.
Время жизни 1Р-дейтаграммы
Все IP-пакеты характеризуются предписанным временем жизни, которое указывается в поле Time То Live, часто обозначаемом сокращенно TTL. При этом гарантируется, что пакеты не могут бесконечно циркулировать по замкнутой объединенной сети (looped internetwork). Несмотря на то, что протоколы маршрутизации пытаются не допустить циклов, и при перенаправлении пакетов выбираются наилучшие пути, возможны ситуации, когда канал реконфигурируется или временно закрывается. В этих случаях могут происходить временные циклы.
Рекомендованное стартовое значение времени жизни (TTL) — 64. В Windows 2000 время жизни по умолчанию приравнивается к 128. Значение поля TTL формально определяется в секундах. Тем не менее, на практике это значение реализуется как счетчик транзитов. При каждом перенаправлении пакета отсылающий его маршрутизатор должен уменьшить значение поля TTL на единицу. Коммутаторы и концентраторы не изменяют значение времени жизни, т. к. не просматривают Сетевой уровень пакета.
Если маршрутизатор получает пакет со значением TTL = 1, он должен быть отвергнут, поскольку невозможно уменьшить его до нуля, а затем переслать пакет.
А вот если пакет с TTL = 1 приходит на хост, что этот хост должен сделать? Разумеется, обработать пакет, поскольку при получении пакетов хосты не должны понижать значение поля TTL.
^7 Примечание
В главе 4 "Протокол ICMP" дается объяснение того, как одна из утилит поиска неисправностей, TRACEROUTE, применяет значение поля TTL и процесс таймаута для отслеживания сквозного пути по объединенной сети.
В Windows 2000 значение поля TTL по умолчанию устанавливается с помощью параметра реестра DefaultTTL, как показано в табл. 3.7.
Протоколы Канального и Сетевого уровней TCP/IP
175
	Таблица 3.7. Параметр реестра DefaultTTL
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	1-255 128 Нет
Фрагментация и повторная сборка
IP-фрагментация дает возможность автоматического разделения маршрутизатором большого пакета (к примеру, 4096-байтного пакета сети с маркерным доступом) на ряд малых; это делается с целью передать пакет по каналу, поддерживающему небольшую максимальную единицу передачи (MTU) — например, по каналу Ethernet. Тем не менее, повторной сборки не происходит, пока все фрагменты не прибудут в пункт назначения, а уже там повторная сборка осуществляется на Транспортном уровне.
При фрагментации пакета всем фрагментам присваивается одинаковое значение TTL. Если они будут передаваться по разным маршрутам, то по достижении пункта назначения их значения TTL могут различаться. Однако когда в пункт назначения прибывает первый фрагмент (fragment), принимающий хост начинает отсчет исходя из значения TTL этого пакета. Все фрагменты должны поступить в распоряжение принимающего хоста до истечения этого времени жизни, иначе набор фрагментов будет сочтен неполным и непригодным. В такой ситуации хост назначения посылает источнику ICMP-ответ, в котором указывается, что время жизни пакета истекло.
Фрагменты подвергаются повторной сборке на хосте назначения. К примеру, для надлежащей фрагментации 4096-байтного пакета в целях его передачи по сети Ethernet с максимальной единицей передачи (MTU), равной 1518 байт, маршрутизатор должен выполнить следующие действия:
1.	Маршрутизатор помещает значение поля Identification (идентификация) IP-заголовка исходного пакета во все фрагменты.
2.	Маршрутизатор уменьшает значение поля Time То Live (TTL) на единицу и помещает новое значение в каждый фрагмент.
3.	Маршрутизатор рассчитывает относительное местоположение фрагментированных данных и заключает результирующее значение в поле Fragment Offset (смещение фрагмента) каждого фрагмента.
176
Гпава 3
4.	Маршрутизатор отсылает каждый фрагмент в виде отдельного пакета с отдельным заголовком Канального уровня и значением контрольной суммы.
На рис. 3.17—3.19 показаны первый, средний и последний фрагменты набора фрагментов.
>• - 0	Flags:	0x00
i-	0	Status:	0x00
V- ф	Packet Length: 1518
Н0	Timestamp:	16:56:12.751000	12/26/2000
$ Ethernet Header
j	Destination: 00:20:78:El:SA:80
...Щ Source:	00:00:65:10:22:IB
1	...ф Protocol Type:0x0800 IP
S IP Header - Internet Protocol Datagram
4 5	<20 bytes)
^00000000
ZtorzBal Delay,. Pfc-riudl TJirotjp’hpwt.
1500
7680
:	 ф version:
 i ф Header Length:
i s ф Type of Service:
j j.ф Precedence: Kout-iMS,
;	ф Total Length:
i i..ф Identifier:
;ф Fragment Offset:
!.ф Time To Live:
: p 0 Protocol:
i =.0 Header Checksum:
;	Source IP Address:
;	Best. IP Address:
:	0 No IP Options
АЛТ* ICMP - Internet Control
’*001	Fragment	Frags*cnt
0	(0 bytes)
32
1 ICMP
0x42BC
10-1-0-1
10.1.0.99
Messages Protocol
	ICMP Туре:	8 Echv	
i	о	Code:	0	
i	$	Checks ши:	0x8BA6	
(	ф	Identifier:	0x0100	
	Sequence Number:	0x1300	
:--0	bytes /Padding’/.*
? -0 Data: (1472 bytes)
 •• 0 Frame Check Sequence: 0x00000000 .r-....------r-.---l-J--L_x.------.....................___
0:	00	20	78	El	SA	80	00	00	65	10	22	IB	08	00	45	00
16:	OS	DC	IE	00	gfijEOO	20	01	42	ВС	0A	01	00	01	0A	01
32:	00	63	08	00	SB	A6	01	00	13	00	61	62	63	64	6S	66
48:	67	68	69	6A	6B	6C	6D	6E	6F	70	71	72	73	74	7S	76
64:	77	61	62	63	64	6S	66	67	68	69	6A	6B	6C	6D	6E	6F
........в........CJ . c.....abode	?
ghi jklinnopqrst'u : vab c de f ghi j k lam |. Pf-V : □[ Hext- j
Рис. 3.17. Первый фрагмент из набора фрагментов.
Значение разряда More Fragments Bit поля Flags — 1, а смещение (значение в поле Fragment Offset) равняется нулю
Протоколы Канального и Сетевого уровней TCP/IP
177
На рис. 3.18 значение в поле Fragment Offset, равное 1480 байт, указывает на то, что данный фрагмент не является первым в наборе. Но он и не последний, что делает очевидным значение разряда 2 More Fragments Bit поля Flags.
Примечание Jj|
Эта запись получена путем принуждения IP-хоста фрагментировать крупный эхо-пакет протокола ICMP посредством команды ping -I 4096 10.0.0.1.
	:- ф Flags:	0x00 	ф Status:	0x00 	ф Packet Length:1518 i	ф Tiaestamp:	16:56:12.752000 12/26/2000 Ej Ethernet Header Destination: 00:20:78:El:5A:80 =	ад Source:	00:00: 65: 10:22:18 	0 Protocol Type: 0x0800	7? S -EP Header - Internet Protocol Datagram Нф	Version:	4 !•	0	Header Length.:	5	(20	bytes) :	ф	T^e of Service:	$00000000 ; i-'ф Precedene-e? Routine,	Delay,- Normal TTirccEghput. i	i	ф	Total Length:	1500 i		ф	Identifier:	7680					
	i i	Ф	Fi-a<jiw!nt al ion Elt«j	8	: tOul May Fi-.Kjb.jit Mor*. Fruobcnl b		
	i	ф	Fragment Offset:	185	(1480	bytes) 5	j	$	Time To Live:	32 j	!	ф	Protocol:	1 ICMP .•	i	ф	Header* Checksum:	0x4203 i	Source IP Address:	10.1.0.1 j		®	Best. IP Address:	10.1.0.99  ф No IP Options aicmp ф IP Data Area: j - ф Data: (1480 bytes) =•• ф Frans Check Sequence: 0x00000000				i	
	1 0: 00 20 78 El SA 80 00 00 65 10 22 IB 08 00 45 00 . xaZ. . . e.". . . Kgfi I 16: OS DC IE 00 ЩВ9 20 01 42 03 0A 01 00 01 0A 01 ....f. -B	ISj I 32: 00 63 61 62 63 64 65 66 67 68 69 6A 68 6C 6D 6E . cabcdefghi jklia ;-4 | 48: 6F 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 opqrstuvwabcdef ' 1 64: 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 hijklunopqrstuvjjf , ' ' ~ \ ‘ ftev JO| Hext J					
Рис. 3.18. Второй фрагмент из набора фрагментов. Значение разряда More Fragments Bit поля Flags — 1, а смещение (значение в поле Fragment Offset) равняется 185 (1480 байт)
7 Зак. 321
178
Гпава 3
В’
$ Ф
$
Ф
=- W
4
Г» l- Ф
tt
Flags:	0x00
Status:	0x00
Packet Length:1182
Timestamp:	16: 56: 12.753000	12/26/2000
Ethernet Header
Destination: 00:20:78:El:SA:80
Source:	00:00:65:10:22:IB
Protocol Type:0x0800 IP
Header - Internet Protocol Datagram
4
5	(20 bytes)
WOOOOOOO
Normal Delay, Normal Throughput,
Version:
Header Length: Type of Service: Frececteraje.' Rotttrue,
i 0 Total Length: 1 ф Identifier:		1164 7680
r-^	Eradiation	*000 Mjy
i	0	Fragment Offset:	370	(2960
	Time To Live:	32
i	«	Protocol:	1 ICMP
i	e	Header Checksum:	0x629A
i	a	Source IP Address:	10.1.0.1
-3	Best. IP Address:	10.1.0.99
No IP Options
bytes)
:-ф
Y" ICMP h $ :..e
: - $
IP Data Area:
Data: (1144 bytes)
Frame Check Sequence:
0x00000000
0:
16:
32:
48:
64:
00
04
00
77
70
20
80
63
61
71
78
IE
69
72
El 00 6A 63 73
5A 80
<72
6B
64
74
6C
6S
75
00
20
6D
66
76
00
01
6E
67
77
65
62
6F
68
61
10
9A
70
69
62
OA 71
SA 63
IB
01 72 6B
64
08
00
73
6C
65
00
01
74 6D
66
45
OA 75
6E
67
00
01
76 6F
68
. xaZ
r . b
.cijklmnopqrstu /4 wabc de f ghi j к 1шо / 4 pqrstuwabcde
grey JpJL J
В

Рис. 3.19. Последний фрагмент из набора фрагментов. Значение разряда More Fragments Bit поля Flags — 0, а смещение (значение в поле Fragment Offset) равняется 370 (2960 байт)
По прибытии пакетов на IP-хост назначения происходит их обратная сборка в порядке, определяемом значениями поля Fragment Offset в IP-заголовках.
Фрагментация обладает некоторыми нелицеприятными чертами, делающими ее трафик нежелательным. Во-первых, процедура фрагментации требует времени для обработки данных на IP-хосте или маршрутизаторе. Во-вторых, все фрагменты должны прибыть в расположение пункта назначения до истечения времени жизни первого из них. В противном случае получатель от
Протоколы Канального и Сетевого уровней TCP/IP
179
сылает ICMP-сообщение типа 11 (Time Exceeded, время истекло) с кодом 22 (Fragmentation Reassembly Time Exceeded, время повторной сборки фрагментов истекло). В этой ситуации IP-хост, посылавший пакет, делает это повторно (и производит очередную фрагментацию). В сетях с ограниченной пропускной способностью процесс повторной передачи фрагментов (fragment retransmission process) увеличивает трафик.
Опции служб доставки
Протокол IP поддерживает метод определения приоритета пакетов и маршрутов. Поле Type of Service (TOS, тип службы) IP-заголовка (его подробное описание содержится в разд. "Тип службы (TOS)" этой главы) подразделяется на два индивидуальных раздела поля:
□ Precedence (приоритет); □ Type of Service (тип службы).
Приоритет
Маршрутизатор использует приоритет (precedence) для определения преимущества отправки пакета, когда в очередь на передачу с интерфейса с одним выходом стоят несколько пакетов. Некоторые приложения можно настроить таким образом, чтобы они поддерживали высокий приоритет для первоочередного обращения.
Есть восемь уровней приоритета. Уровень 0 устанавливается для стандартного трафика, не имеющего преимуществ. Уровни 1—5 обозначают более приоритетный трафик. Уровни 6—7 резервируются для сетевых и межсетевых управляющих пакетов.
Примером использования приоритета может послужить сетевой метод передачи Voice over IP (VoIP). Для трафика VoIP может быть установлен 5-й уровень приоритета, в результате чего будет обеспечена поддержка функциональности в реальном времени.
Тип службы (TOS)
Маршрутизаторы применяют TOS для выбора пути в ситуациях, когда возможны множественные пути (multiple paths).
Для функционирования TOS необходимо, чтобы протокол маршрутизации "понимал" и поддерживал различные представления сети, основываясь на возможных типах служб. К примеру, маршрутизатор должен понимать, что спутниковая линия связи предполагает значительную задержку из-за расстояния до спутника. Примерами протоколов маршрутизации, поддерживающих множество различных типов служб, могут послужить протоколы OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов) и BGP (Border Gateway Protocol, пограничный межсетевой протокол).
180
Гпава 3
Существует шесть возможных типов служб; все они перечислены в табл. 3.8.
Таблица 3.8. Значения типов служб
Двоичное значение	Десятичное значение	Тип службы
0000	0	По умолчанию (конкретный маршрут не определен)
0001	1	Минимизация денежных затрат
0010	2	Максимизация надежности
0100	4	Максимизация пропускной способности
1000	8	Минимизация задержек
1111	15	Максимизация безопасности
За один раз может быть установлен лишь один разряд TOS.
Как показано в табл. 3.9, в системе Windows 2000 можно установить значение TOS по умолчанию с помощью параметра реестра DefaultTOS.
Таблица 3.9. Параметр реестра DefaultTOS
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REGJDWORD
Разрешенный диапазон	0-255
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
Запись в реестре устанавливается в десятичном выражении для целого поля Tipe of Service (TOS). К примеру, чтобы заставить хост применять стандартный уровень приоритета в сочетании с максимальной надежностью, необходимо сделать значение параметра DefaultTos равным четырем (00000100).
Документ RFC 1349 определяет использование TOS протокола IP и предлагает способы применения возможностей типов служб, которые перечислены в табл. 3.10.
Таблица 3.10. Назначение типов служб
Протокол	Значение TOS	Назначение
TELNET	1000	Минимизация задержек
FTP-управление	1000	Минимизация задержек
Протоколы Канального и Сетевого уровней TCP/IP
181
Таблица 3.10 (окончание)
Протокол	Значение TOS	Назначение
FTP-данные	0100	Максимизация пропускной способности
TFTP	1000	Минимизация задержек
SMTP (этап команды)	1000	Минимизация задержек
SMTP (этап данных)	0100	Максимизация пропускной способности
DNS UDP-запрос	1000	Минимизация задержек
DNS ТСР-запрос	0000	Стандарт
DNS Zone Transfer	0100	Максимизация пропускной способности
NNTP	0001	Минимизация денежных затрат
ICMP-ошибки	0000	Стандарт
ICMP-запросы	0000	Стандарт
ICMP-ответы	0000	Стандарт
Любой IGP	0010	Максимизация надежности
EGP	0000	Стандарт
SNMP	0010	Максимизация надежности
ВООТР	0000	Стандарт
Поля и назначение IP-заголовка
На рис. 3.20 изображена целостная структура IP-заголовка.
0	DATA LINK HEADER 15 16	31	
VERSION L£nGTH	TYPE OF SERVICE		1	 TOTAL LENGTH
IDENTIf	:ICATION	I FLAGS FRAGMENT OFFSET I
TIME TO LIVE	PROTOCOL	I HEADER CHECKSUM 	  I	.		
	SOURCE II	I ADDRESS
	I	I DESTINATION IPADDRESS	
	OPTIONS (IF ANY) „	I			J	...		
		
Рис. 3.20. Структура IP-заголовка
182
Гпава 3
В этом разделе мы рассмотрим поля и назначение этого заголовка. Подробная спецификация по каждому полю содержится в документе RFC 791.
Поле Version
Первое поле Version (версия) в IP-заголовке обозначает версию протокола. В настоящее время применяется версия 4.
Поле Header Length
Поле Header Length (длина заголовка) также именуется полем Internet Header Length (IHL, длина Internet-заголовка). Оно обозначает длину отдельно взятого IP-заголовка. Его длина может варьировать вследствие того, что IP-заголовок обеспечивает поддержку дополнительных возможностей.
Значение поля выражается в числах, кратных четырем байтам. Предположим, к примеру, что фактический десятичный код этого поля равен пяти. Анализаторы умножают это значение на четыре байта и получают точную длину IP-заголовка, равную 20 байтам. Обычно длина IP-заголовка действительно составляет 20 байт; так происходит потому, что дополнительные возможности используются редко.
Поле Type of Service
Как указывалось ранее, поле Type of Service (TOS, тип службы) фактически состоит из двух компонентов: Precedence (приоритета) и Type of Service (типа службы). Приоритет определяется первыми тремя разрядами и может применяться маршрутизаторами для распределения трафика, стоящего в очереди маршрутизатора (router queues) в порядке очередности согласно его приоритета. Тип службы определяется следующими четырьмя разрядами и должен1 использоваться маршрутизаторами для направления пакета по пути указанного типа. Последний бит в поле Type of Service (TOS) зарезервирован и приравнен к нулю. Разделы поля Type of Service показаны на рис. 3.21.
р	р	р	т	т	т	т	0
р = Приоритет
Т = Тип службы
Рис. 3.21. Поле Type of Service (TOS) содержит разряды, определяющие приоритет и тип службы
В табл. 3.11 перечислены возможные комбинации разрядов, определяющих приоритет.
Протоколы Канального и Сетевого уровней TCP/IP	 183
Таблица 3.11. Комбинации разрядов приоритета
Двоичное значение	Десятичное значение	Назначение
111	7	Network Control (сетевое управление)
110	6	Internetwork Control (межсетевое управление)
101	5	CRITIC/ECP
100	4	Flash Override (подмена групповой записи)
011	3	Flash (групповая запись)
010	2	Immediate (срочность)
001	1	Priority (приоритет)
000	0	Routine (стандарт)
Когда вы будете преобразовывать эти двоичные значения в десятичное представление, то можете воспользоваться табл, 3.12.
Таблица 3.12. Десятичные значения, соответствующие позиции разряда
Разряд	Десятичное значение
Разряд 2	4
Разряд 1	2
Разряд 0	1
К примеру, двоичное значение 111 соответствует десятичному 7 (4 + 2 + 1).
В табл. 3.13 перечислены возможные значения разрядов, определяющих тип службы.
Таблица 3.13. Комбинации разрядов, определяющих тип службы)
Двоичное значение	Назначение
0000	По умолчанию (конкретный маршрут не определен)
0001	Минимизация денежных затрат
0010	Максимизация надежности
0100	Максимизация пропускной способности
1000	Минимизация задержек
1111	Максимизация безопасности
184
Гпава 3
К примеру, пакет с двоичным значением 00010000 в поле Type of Service (TOS) требует стандартного обслуживания (000) и направления по пути минимальной задержки (1000).
Примечание
Некоторые анализаторы отображают лишь четыре основных типа служб (по умолчанию задержка, пропускная способность и надежность).
В документе RFC 2474, "Определение дифференцированного поля службы (DS) в заголовках IPv4 и IPv6", содержатся рекомендации по полному переопределению значений и назначения в поле Type of Service (TOS).
По всей вероятности, вы обнаружите, что значение в этом поле приравнено к 00000000 (по умолчанию).
Поле Total Length
Это поле обозначает длину IP-заголовка и всех действительных данных (исключая заполнение канала передачи данных).

;.e
!.$
1.Ф
й-Г
Flags:	0x00
Status:	0x00
Packet Length:231
Timestamp:	09:09:14.517000	12/27/2000
Ethernet Meader
!	..Destination: 00:00:65:10:22:1В
--ЗД Source:	00: 20: 78: El: SA: 80
!	5.о Protocol Type:0x0800 IP
EJ-’V” IP Header - Internet Protocol Datagram
.ф Version:
!•.ф Header Length:
i-ф Type o£ Service: ..ф	Routine, ..
4
S (20 bytes)
$00000000
Nor&al Del-ay, Noirsial
..Ф ..Ф i.
J.Ф
Identifier: fragmentation flags: fragment Offset: Time To live: Protocol: Meader Checksum.: Source IP Address: Best. IP Address: No IP Options
B TCP - Transport Control
8192
% 010 Do Nob Ft'olpbienb 0	(0 bytes)
128
6 TCP, OxCSBD 10.1.0.99 10.1.0.1
ф Source Port:
Protocol
21 ftp
0: 00 00 65
16:
32.\ 00 01 00
10
00
IS
22
40
04
IB
00
03
00
80
00
20
06
49
78
CS
29
El ED 91
SA
OA 00
80
01
agisms 08 00 E3
00
63
59
45
0A SO
00
01
18
I lb, | (JI 4i t
И '.Ф
«т
О

-
Tbroughpu t, N
bast Егадтагт
Рис. 3.22. Пример определения длины данных пакета
Протоколы Канального и Сетевого уровней TCP/IP
185
В примере, показанном на рис. 3.22, общая длина равняется 213 байт. IP-заголовок занимает первые 20 байт, из чего следует, что длина оставшихся данных пакета — 193 байт.
Поле Identification
При отсылке каждого отдельного пакета полю Identification (Идентификация) присваивается уникальный идентификатор. Если для прохождения по сети, поддерживающей меньшую максимальную единицу передачи, пакет приходится разделить на фрагменты, то при этом каждому фрагменту присваивается одинаковый идентификатор. Это помогает опознать фрагменты как части единого набора данных.
Поле Flags
Поле Flags (флаги) состоит из трех разрядов, значения каждого из которых показаны в табл. 3.14.
Таблица 3.14. Значения поля Flags
Положение	Описание поля	Значение/Интерпретации
Разряд 0	Зарезервирован	Приравнен к нулю
Разряд 1	Don't Fragment Bit (Не фрагментировать)	0 = фрагментация разрешена; 1 = фрагментация запрещена
Разряд 2	More Fragments Bit (Дальнейшие фрагменты)	0 = последний фрагмент; 1 = ожидаются дальнейшие фрагменты
Обычно фрагментация разрешена. Тем не менее, по каким-либо причинам приложение может решить ее запретить. В таком случае оно устанавливает значение разряда Don't Fragment Bit (Не фрагментировать) равным нулю.
Если фрагментация разрешена, и пакет фрагментируется для прохождения по сети, поддерживающей меньшую максимальную единицу передачи (MTU), значение разряда Don't Fragment Bit устанавливается равным нулю. Когда пакет разделяется на несколько фрагментов (скажем, на три), то в первом и втором из них значение разряда More Fragments Bit устанавливается равным единице. В последнем фрагменте этого набора это значение приравнивается к нулю.
Фрагментация — хорошо ли это? Иногда хорошо. Несомненно, при наличии смешанных типов сетей (к примеру, сети с маркерным доступом и Ethernet) может потребоваться разделить 4096-байтный пакет сети с маркерным доступом на несколько фрагментов, которые смогут пройти через 1518-
186
Гпава 3
байтную сеть Ethernet. Тем не менее, фрагментация занимает дополнительное время и требует некоторых издержек.
Поле Fragment Offset
Если пакет является фрагментом, то в поле Fragment Offset (смещения фрагмента) указывается, в какую позицию следует поместить содержащиеся в нем данные, когда все фрагменты будут повторно объединяться в единый пакет (на IP-хосте назначения).
Смещение в этом поле представляется 8-байтными значениями. Например, первый фрагмент может характеризоваться нулевым смещением и содержать 1400 байт данных (исключая заголовки). При этом второй фрагмент может содержать значение смещения, равное 175 (175 х 8 = 1400).
Это поле используется лишь применительно к фрагментам.
Поле Time to Live
В поле Time to Live (TTL, время жизни) указывается оставшееся время существования или, иначе, жизни пакета. Теоретически выражается в секундах, практически — в количестве транзитов через маршрутизаторы. Стандартные исходные значения поля Time to Live — 32, 64 и 128.
Поле Protocol
В заголовках должны присутствовать поля, предполагающие дальнейшее развитие протоколов. К примеру, в пакетах TCP/IP заголовок Ethernet включает поле идентификации протокола (Туре или Ether Туре), указывающее, какой Internet-протокол ожидается далее. Аналогично, в IP-заголовке поле Protocol (протокол) применяется для идентификации ожидаемого протокола. Общепринятые значения поля Protocol перечислены в табл. 3.15.
Таблица 3.15. Общепринятые значения поля Protocol
Значение Описание
1	ICMP (протокол контроля сообщений в Internet)
2	IGMP (межсетевой протокол управления группами)
6	TCP (протокол управления передачей)
8	EGP (внешний шлюзовой протокол)
9	Любой частный внутренний шлюз, такой как IGRP компании Cisco
17	UDP (протокол передачи дейтаграмм пользователя)
45	IDRP (междоменный протокол маршрутизации)
Протоколы Канального и Сетевого уровней TCP/IP
187
Таблица 3.15 (окончание)
Значение	Описание
88	EIGRP (расширенный протокол шлюзовой маршрутизации в Internet) компании Cisco
89	OSPF (первоочередное открытие кратчайших маршрутов)
Значения в диапазоне 134—254 свободны, а 255 зарезервировано агентством IANA (Агентство по выделению имен и уникальных параметров протоколов Internet). Чтобы получить наиболее свежий список значений поля Protocol, посетите сайт http://www.isi.edu/in-notes/assignments/protocol-numbers.
Поле Header Checksum
Поле Header Checksum (контрольная сумма заголовка) обеспечивает возможность обнаружения ошибок в пределах содержимого JP-заголовка. Оно не затрагивает других данных в пакете и не включает в вычисления само поле Checksum.
Это механизм обнаружения ошибок (error-detection mechanism), дополняющий подобный механизм Канального уровня (например, контроль при помощи циклического избыточного кода CRC для Ethernet). Он необходим применительно к пакетам, проходящим через маршрутизаторы. К примеру, когда пакет Ethernet прибывает в распоряжение маршрутизатора, тот выполняет контроль при помощи циклического избыточного кода (CRC) на Канальном уровне, проверяя, не был ли пакет попорчен в пути. После успешного прохождения пакетом проверки CRC маршрутизатор отбрасывает заголовок Канального уровня, оставляя "негерметичный" пакет Сетевого уровня. Если в пакете не проходит никаких процессов обнаружения ошибок, то неисправный маршрутизатор может изменить данные, создать новый заголовок Канального уровня (с новым CRC недействительного пакета) и отправить пакет дальше. Механизм обнаружения ошибок на Сетевом уровне необходим для проверки повреждения пакета маршрутизатора.
Поле Source Address
В поле Source Address (адрес источника) указывается IP-адрес хоста, отославшего пакет. В некоторых случаях, например при загрузке процесса DHCP, IP-хост может не знать собственного IP-адреса, поэтому значение в этом поле может равняться 0.0.0.0.
Поле не может содержать групповые и широковещательные адреса.
188
Гпава 3
Поле Destination Address
В поле Destination Address (адрес назначения) может указываться однонаправленный, групповой или широковещательный адрес — конечный пункт назначения пакета.
Поле Options
IP-заголовок может расширяться посредством добавления некоторых дополнительных опций (хотя используются они довольно редко). В такой ситуации эти опции должны завершаться 4-байтной границей, поскольку поле Internet Header Length (IHL, поле длины Internet-заголовка) определяет длину заголовка именно в 4-байтных границах.
В табл. 3.16 перечислены лишь некоторые дополнительные возможности. Их полный список есть на сайте http://www.iana.org.
Таблица 3.16. Значения поля Options
Значение	Имя
0	Конец списка опций
3	Неопределенный исходный маршрут
4	Отметка времени
7	Запись маршрута
9	Определенный исходный маршрут
Выводы по главе /
□	Протоколы Канального уровня отвечают не только за доступ к сетевой среде, но и за передачу дейтаграмм по сети. В обычных ситуациях это подразумевает установление сообщения между двумя сторонами и перемещение данных от одного из них к другому. Такие передачи называются двухточечными (point-to-point), поскольку в ходе их действия данные передаются от одного интерфейса к другому в пределах одного сегмента сети или сеанса связи.
□	Протоколы WAN, такие как SLIP и РРР, делают возможным использование аналоговых телефонных линий, цифровых технологий, включая ISDN, DSL или Т-каналы, коммутационных технологий, таких как Х.25, ретрансляцию кадров или ATM (асинхронный режим передачи), для установления каналов связи, по которым от отправителей к получателям передаются IP- и другие дейтаграммы. На Канальном уровне это значит,
Протоколы Канального и Сетевого уровней TCP/IP
189
что протоколы должны осуществлять доставку служб, в числе которых разграничение, разрядная проверка целостности, адресация (для соединений на основе коммутации пакетов) и идентификация протоколов (для каналов, по которым в течение одного соединения передаются протоколы различных типов).
□	В локальных сетях фреймы типа Ethernet II получили наибольшее распространение, однако существует множество других типов фреймов, передающих TCP/IP по сетям Ethernet и сетям с маркерным доступом. Среди типов фреймов Ethernet, отвечающих за передачу TCP/IP, — Ethernet 802.2 LLC и Ethernet 802.2 SNAP; в сетях с маркерным доступом это Token Ring 802.2 LLC и Token Ring SNAP.
□	Понимание структур фреймов, независимо от их типа, жизненно необходимо для правильной трактовки их содержимого. В фреймах различных типов обычно присутствуют стартовые метки или разграничители (иногда называемые преамбулами), МАС-адреса источника и назначения, поля Туре, идентифицирующие протокол в полезной нагрузке фрейма, а также сами полезные нагрузки, содержащие фактические данные фрейма. Большинство фреймов TCP/IP содержат концевики, в пределах которых в поле Frame Check Sequence (контрольная последовательность кадра) содержится информация, необходимая для осуществления разрядной проверки целостности содержимого фреймов. Пересчитав специальное значение под названием CRC (контроль при помощи циклического избыточного кода) и сравнив его со значением в поле Frame Check Sequence, сетевая интерфейсная плата может либо принять фрейм для дальнейшей обработки, либо просто отбросить его в случае несоответствия.
□	Необходимо хотя бы в общих чертах представлять различия между схемами и значениями полей во фреймах различных типов при их сравнении применительно к конкретной сетевой среде. Важно дифференцировать фреймы Ethernet II, Ethernet 802.2 LLC и Ethernet SNAP, с одной стороны, и Token Ring 802.2 LLC и Token Ring SNAP, с другой стороны.
□	Поскольку при идентификации отдельных хостов в любом сегменте сети TCP/IP определяющее значение имеют МАС-адреса, совершенно обязательно понимать, каким образом TCP/IP организует преобразование МАС-адресов в числовые IP-адреса, и наоборот. В случае с TCP/IP крайне важную роль в этом отношении играет протокол ARP (протокол разрешения адресов); кроме того, он помогает создавать и поддерживать содержимое таблиц преобразований — ARP-кэшей. ARP может не только проверять действительность адресов, присвоенных любой машине, посылая ARP-запросы, но и выявлять дублирование IP-адресов в пределах одного сегмента сети.
□	Знание полей ARP-пакетов помогает разобраться в процессе разрешения адресов, в частности в использовании "нулевых" адресов в полях Target
190
Гпава 3
Hardware Address (аппаратный адрес назначения), которые определяют неизвестные адреса. Кроме того, ARP-пакет содержит информацию о типе аппаратуры и протокола, длине аппаратного адреса (варьирует в зависимости от аппаратуры) и адреса протокола, а также поле Operation (операция), идентифицирующее тип пакета ARP или RARP.
□	Более сложный механизм, именуемый агентом ARP, позволяет маршрутизатору наладить взаимодействие между несколькими сегментами сети и заставить их действовать как единое целое. Это означает, что ото всех таких сегментов сети требуются аппаратные адреса; следовательно, функция агента ARP состоит в том, чтобы, во-первых, перенаправлять ARP-запросы от одного сегмента сети к другому, когда в этом возникает необходимость, во-вторых, обеспечивать возможность разрешения аппаратных адресов и, наконец, доставлять ответы отправителям соответствующих запросов. Помимо этого, когда маршрутизатор-агент ARP получает широковещательное ARP-сообщение, в ответе он указывает свой собственный адрес. Получая последующий пакет данных, он передает его дальше, основываясь на информации из своих таблиц маршрутизации.
□	Протоколы Сетевого уровня переходят на Канальный уровень посредством процесса инкапсуляции данных. Таким образом, формирование IP-дейтаграмм зависит от понимания того, как преобразовать содержимое IP-пакета в дейтаграмму, содержащую IP-пакет и его полезную нагрузку. Этот процесс подразумевает получение числового IP-адреса пункта назначения (и может потребовать базового доступа к службам разрешения имен вроде DNS), а затем применения протокола ARP (или ARP-кэша) для установления соответствия адреса назначения аппаратному адресу. (Вместо этого можно использовать аппаратный адрес известного маршрутизатора или шлюза по умолчанию, а одно из этих устройств, в свою очередь, начнет процесс маршрутизации из передающей сети в получающую сеть.)
□	При необходимости передачи фрейма из одного сегмента сети в другой должен быть выполнен процесс разрешения его маршрута. Локальные пункты назначения могут быть достигнуты посредством одной передачи на Канальном уровне, однако для достижения удаленных пунктов необходимо перенаправление и множество транзитов. Таким образом, важно понять значимость локальных таблиц маршрутизации, в которых содержатся описания всех известных маршрутов по сети, а также роль шлюзов по умолчанию, которые обрабатывают исходящий трафик, когда точные маршруты неизвестны. На этом этапе протокол ICMP помогает организовать оптимальные маршруты, а также определить, какие пункты назначения могут быть недосягаемы.
□	Среди других важных характеристик IP-дейтаграмм — значения времени жизни (TTL), которые не дают возможности устаревшим фреймам суще
Протоколы Канального и Сетевого уровней TCP/IP
191
ствовать в сети бесконечно; фрагментация входящих фреймов, осуществляемая в ситуациях, когда следующий канал маршрута поддерживает максимальную единицу передачи (MTU), меньшую, чем входящий канал (повторная сборка фрагментов всегда происходит по прибытии всех фреймов на хост назначения); опции служб доставки, управляющие приоритетами пакетов и маршрутов (несмотря на то, что они редко используются, о них стоит иметь понятие).
□ Глава завершается общим обзором полей IP-заголовка. При этом сводятся воедино все темы, рассматривавшиеся в более ранних разделах, и дается возможность исследования заголовков IP-диаграмм и планирования их содержимого. В конце концов, приводится схема, исходя из которой можно анализировать и расшифровывать инструкции по адресации и обработке, связываемые с любой 1Р-дейтаграммой.
Основные термины
ARP-кэш — временная таблица в памяти, содержащая последние записи ARP. В системах Windows 2000 записи удаляются из ARP-кэша через две минуты после помещения в него.
ASCII (American Standard Code for Information Interchange, Американский стандартный код обмена информацией) — наиболее распространенный метод кодирования символов (данных, введенных с клавиатуры) в совокупность 8-битных цифровых шаблонов для ввода, хранения и отображения на компьютере.
ATM (Asynchronous Transfer Mode, асинхронный режим передачи) — всере-жимная магистральная широкополосная сетевая технология, в своих последних версиях обеспечивающая огромную пропускную способность. ATM основывается на учреждении виртуальных каналов между одноранговыми партнерами по передаче и пользуется протоколами высокого уровня (к примеру, TCP) для обеспечения надежной связи. ATM сегментирует весь трафик в 48-байтные последовательности с 5-байтными заголовками, формируя 53-байтный фрейм ATM, который называют ячейкой. Своеобразный способ применения единиц передачи фиксированной длины позволяет ATM развивать чрезвычайно высокие скорости передачи с максимальной эффективностью.
BGP (Border Gateway Protocol, пограничный межсетевой протокол) — широко распространенный протокол маршрутизации, который подсоединяется к общим магистралям сети Internet (к примеру, к поставщикам доступа в Internet) или другим маршрутным доменам сети Internet, в которых ответственность за управление трафиком разделена между множеством сторон. Протокол BGP, заменивший внешний шлюзовой протокол (Exterior Gateway Protocol, EGP), описывается в документе RFC 1163.
192
Глава 3
CRC (Cyclical Redundancy Check, контроль при помощи циклического избыточного кода) — специальное 16- или 32-битное уравнение, применяемое к содержимому пакета. Результат вычисления CRC помещается в поле Frame Check Sequence (контрольная последовательность кадра) в конце фрейма. Сетевая интерфейсная плата выполняет CRC-контроль по отношению ко всем исходящим и входящим пакетам.
C-SLIP (Compressed Serial Line Interface Protocol, сокращенный протокол интерфейса линии последовательной передачи) — специальная разновидность SLIP, в которой при передаче данных по каналу не указываются адреса источника и назначения. (Этой информацией одноранговые партнеры по передаче обмениваются при установлении канала, и поэтому ее не нужно передавать с каждым фреймом; пропуск этих данных увеличивает эффективность соединений.)
Е1 — стандартная европейская служба цифровой связи с возможностью организации 30 каналов для передачи данных или речевых сигналов со скоростью передачи в 64 Кбит/с и двух каналов управления, работающих на той же скорости; таким образом, общая пропускная способность равняется 2,048 Мбит/с. Стандарт Е1 широко распространен за пределами Северной Америки, где он заменяет стандарт Т1.
ЕЗ — стандартная европейская служба цифровой связи с возможностью организации 16 каналов Е1 с общей пропускной способностью в 34,368 Мбит/с. Стандарт ЕЗ широко распространен за пределами Северной Америки, где он заменяет стандарт ТЗ.
Ethernet II, тип фреймов — неофициальный стандарт типа фреймов для сообщений TCP/IP.
Fragment Offset (смещение фрагмента) — поле, определяющее позицию фрагмента при повторной сборке набора данных.
Frame Check Sequence (FCS, контрольная последовательность кадра) — разновидность разрядной проверки целостности, применяемая в концевиках (завершителях) дейтаграмм протокола РРР; алгоритм FCS определяется в документе RFC 1661. Поле Frame Check Sequence (FCS) содержит значение CRC. Все фреймы в сетях Ethernet и сетях с маркерным (эстафетным) доступом содержат поле Frame Check Sequence (FCS).
HDLC (High-Level Data Link Control, Высокоуровневый протокол управления каналом) — протокол синхронной передачи данных.
IEEE 802.5 — определенный институтом IEEE стандарт метода управления доступом к среде с передачей маркера.
IEEE 802.3 — определенный институтом IEEE стандарт контроля несущей, метода параллельного доступа с обнаружением конфликтов.
IPCONFIG — утилита командной строки, применяемая для определения адреса Канального уровня и IP-адреса локального хоста.
Протоколы Канального и Сетевого уровней TCP/IP
193
IPCP (Internet Protocol Control Protocol, протокол управления протоколом Internet) — специальный протокол управления сетью TCP/IP, устанавливающий и управляющий IP-каналами на Сетевом уровне.
IPv6 (Internet Protocol version 6, протокол Internet версии 6) — правопреемник IPv4. В настоящее время IPv6 специфицирован, но пока не полностью введен в действие.
ISDN (Integrated Services Digital Network, цифровая сеть связи с комплексными услугами) — старая технология коммутируемых цифровых каналов, разработанная в 1980-х годах в расчете на использование стандартных телефонных линий. ISDN базового уровня (BRI) обеспечивает два канала передачи данных и речевой информации со скоростью в 64 Кбит/с, а также канал связи/управления для абонентов, действующий на скорости 16 Кбит/с; таким образом, общая пропускная способность равна 144 Кбит/с. Основной уровень ISDN — это более мощная версия, обеспечивающая двадцать три канала передачи данных и речевой информации со скоростью в 64 Кбит/с, а также один канал связи/управления, работающий с той же скоростью; следовательно, общая пропускная способность составляет 1,544 Мбит/с (т. е. она равна пропускной способности Т1). Основной уровень предназначен для бизнеса и носителей связи. Поскольку стоимость сети ISDN примерно равна стоимости более быстрых технологий, таких как кабельные модемы и DSL, ее применение в первом мире быстро сокращается.
LCP (Link Control Protocol, протокол управления каналом связи) — специальный протокол согласования соединений, применяемый протокол РРР для установления двухточечных каналов между одноранговыми партнерами для проведения текущих соединений.
LLC (Logical Link Control, управление логическим соединением) — спецификация Канального уровня для идентификации протоколов в соответствии со стандартом IEEE 802.2. Уровень управления логическим соединением расположен над уровнем управления доступом к среде.
NCP (Network Control Protocol, протокол управления сетью) — любой протокол из семейства протоколов Сетевого уровня TCP/IP, применяемый для установления и управления каналами протоколов на Сетевом уровне (уровень Internet модели TCP/IP).
SAP (Service Access Point, точка доступа к службе) — поле идентификации протокола в заголовке 802.2 LLC, следующее непосредственно за МАС-заголовком.
SDLC (Synchronous Data Link Control, протокол синхронного управления передачей данных) — протокол синхронного соединения.
SNAP (Sub-Network Access Protocol, протокол доступа к подсети) — разновидность уровня управления логическим соединением 802.2, применяющая числа типа Ethernet для идентификации следующего протокола.
194
Гпава 3
SONET (Synchronous Optical Network, 'синхронная оптическая сеть) — семейство оптоволоконных цифровых служб передачи со скоростью передачи данных от 51,84 Мбит/с до 13,27 Гбит/с. SONET разрабатывалась для того, чтобы обеспечить гибкость, необходимую для одновременной передачи различных типов цифровых сигналов, включая речь, видео, мультимедиа и данные, а также для того, чтобы дать возможность взаимодействия оборудования разных производителей. SONET предусматривает инфраструктуру для высокоскоростных служб ATM, поддерживающих магистраль Internet, а также магистрали наиболее масштабных носителей связи (например, WorldCom и AT&T).
Token Ring (маркерное кольцо) — протокол управления доступом к среде (МАС-протокол) сети с маркерным (эстафетным) доступом. Спецификации IEEE 802.5 определяют управление доступом к среде и функциональные процессы в сетях с маркерным (эстафетным) доступом.
Token Ring 802.2 LLC (тип фрейма) — фрейм сети с маркерным (эстафетным) доступом, включающий уровень управления логическим соединением 802.2 LLC, который, в свою очередь, включает поле идентификации протокола SAP (Service Access Point, точка доступа к службе).
Token Ring SNAP (тип фрейма) — фрейм сети с маркерным (эстафетным) доступом, включающий заголовок SNAP, который является разновидностью заголовка 802.2 LLC. В этом фрейме значение поля Ether Туре применяется для идентификации протокола.
TRACEROUTE - См. TRACERT.
TRACERT — название Windows-версии утилиты TRACEROUTE, применяющей множество команд PING для установления идентичности и периодов кругового обращения для всех хостов между отправителем и получателем.
Type of Service (TOS, тип службы) — поле (1 байт), содержащееся в заголовке дейтаграммы и служащее для определения типа пути прохождения пакета по сети. Среди возможностей TOS — обеспечение максимальной пропускной способности, минимальной задержки и наибольшей надежности.
VoIP (Voice over IP, передача голоса по протоколу IP) — сетевой метод, игнорирующий традиционную общедоступную коммутационную телефонную систему, и применяющий IP (к примеру, Internet или Intranet) для поддержки передачи речевых сигналов.
WAN protocol — тип протокола Канального уровня, предназначенный для передачи данных на большие расстояния, обычно обеспечивающий носителям возможность измерять уровень использования и предъявлять счет пользователям. Примерами могут послужить аналоговые телефонные линии, ISDN, Т-каналы, ретрансляция кадров или асинхронный режим передачи (ATM) между парами участников связи.
Протоколы Канального и Сетевого уровней TCP/IP
195
WINIPCFG — утилита Windows, предназначенная для идентификации адреса Канального уровня и IP-адреса локального хоста.
Агент ARP (proxy ARP) — процесс ответа на ARP-запросы, исходящие от IP-хостов в другой сети. Подобная конфигурация сети эффективно скрывает от отдельных IP-хостов разделение сети на фрагменты.
Адрес Канального уровня (Data Link address) — адрес локальной машины на основе ее аппаратного адреса. Также называется МАС-адресом.
Аналоговые телефонные линии — традиционные речевые телефонные линии можно применять для обеспечения работы стандартных телефонных модемов (устройств модуляции/демодуляции), которые преобразуют цифровые данные в аналоговые сигналы для передачи по таким линиям, а затем проводят повторное (обратное) преобразование аналоговых сигналов в цифровые данные на принимающем конце двухточечного соединения.
Аппаратный адрес — адрес сетевой интерфейсной платы. Обычно используется в качестве адреса Канального уровня.
Бездисковая рабочая станция (diskless workstation) — рабочая станция, не располагающая жестким или гибким диском, с которого можно было бы загрузиться или считать информацию о конфигурации хоста.
Время жизни (Time to Live, TTL) — обозначение расстояния, которое может пройти пакет. Теоретически выражаемое в секундах, значение TTL реализуется в других единицах — количестве транзитов, которые может совершить пакет прежде, чем будет отвергнут маршрутизатором.
Двухточечное соединение (point-to-point) — тип соединения Канального уровня, при котором канал устанавливается и функционирует лишь между двумя сторонами (отправителем и получателем).
Драйвер Канального уровня (Data Link driver) — программное обеспечение, позволяющее сетевой интерфейсной плате взаимодействовать с локальной операционной системой. Перед передачей фрейма сетевой интерфейсной плате драйвер Канального уровня помещает этот фрейм (за исключением CRC) поверх IP-дейтаграммы и обеспечивает необходимую длину пакетов. Что касается входящих фреймов, драйвер Канального уровня анализирует поле идентификации протокола и передает пакет соответствующему стеку протоколов.
Дублированный IP-адрес (duplicate IP address) — IP-адрес, который уже присвоен другому IP-хосту. При загрузке IP-хосты должны производить проверку дублирования адресов, обеспечивая уникальность собственного IP-адреса. Если этот адрес уже используется, IP-стек локального хоста не инициализируется.
Замкнутая объединенная сеть (looped internetwork) — субоптимальное состояние в объединенной сети, в результате которого пакет проходит по
196
Гпава 3
сетевому сегменту более одного раза. Протоколы маршрутизации пытаются предотвращать такие циклы, но когда они все-таки случаются, маршрутизаторы перенаправляют пакет до того момента, пока его время жизни не придет к нулю.
Заполнитель (pad) — байты, помещаемые в конец Ethernet-поля Data для обеспечения соответствия требованиям минимальной длины этого поля — 46 байт. Эти байты не имеют никакого значения и отвергаются входящим канальным формирователем во время обработки пакета.
Звездообразная топология (physical star design) — физическая топология сети типа "звезда" подобна кольцевой сети с маркерным доступом, но отличается от нее тем, что все устройства с помощью кабеля подсоединяются к центральному устройству, такому как коммутатор (switch) или концентратор (hub). Тем не менее, в логическом отношении такая сеть с маркерным управлением — это действительно кольцо, действующее на основе канала передачи пакетов.
Идентификация протокола (protocol identification, PID) — служба дейтаграмм, применение которой необходимо в таких случаях, когда отдельно взятый протокол переносит несколько других протоколов во время одного соединения (так может делать протокол РРР на Канальном уровне). Идентификация протоколов позволяет различать отдельные полезные нагрузки дейтаграмм на основании содержащихся в них типов протоколов.
Инкапсуляция (encapsulation) — вложение данных протоколов более высокого уровня между заголовком и (необязательным) концевиком текущего уровня в целях идентификации отправителя и получателя, а если это возможно, и для включения информации о проверке целостности данных.
Информационный/контролирующий формат — формат на основе соединений, применяемый пакетами управления логическим соединением.
Кабельный модем (cable modem) — устройство связи, предназначенное для отправки и получения сетевых сигналов (в основном, для доступа в Internet) через два канала данных в широкополосной сети кабельного телевидения. Несмотря на то, что кабельные телевизионные линии обеспечивают пропускную способность до 27 Мбит/с, чаще всего пользователи кабельных модемов работают на скорости 1,5 Мбит/с (это скорость передачи данных локального провайдера).
Канал передачи "логическое кольцо" (logical ring transmission path) — канал передачи, применяемый в сетях с маркерным (эстафетным) доступом, где пакеты передаются обратно в кольцо и переходят от одной станции кольца к другой в логическом и последовательном порядке.
Коммутация каналов (circuit switching) — метод связи, при котором временное или постоянное соединение между отправителем и получателем (называемое каналом) создается в рамках систем коммутации носителя
Протоколы Канального и Сетевого уровней TCP/IP
197
связи. Так как временные каналы постоянно появляются и исчезают, каналы все время коммутируются — отсюда и термин.
Маркер (token) — специальная последовательность полей, указывающая на то, что устройство сети с маркерным (эстафетным) доступом имеет право на передачу фрейма данных в сетевую среду.
Маршрутизатор следующего транзита (next-hop router) — локальный маршрутизатор, применяемый для маршрутизации пакета в следующую сеть в соответствии с указанным путем.
Механизм обнаружения ошибок (error-detection mechanism) — метод обнаружения поврежденных пакетов. Таким механизмом является процесс контроля при помощи циклического избыточного кода (CRC). Другим методом обнаружения ошибок является вычисление контрольной суммы IP-заголовка.
Множественные пути (multiple paths) — несколько путей к одному пункту назначения. Множественные пути обычно характерны для ячеистых и топологически сложных сетей, таких как Internet. Они обеспечивают отказоустойчивость и повышают использование пропускной способности.
Ненумерованный формат (unnumbered format) — формат пакета 802.2 LLC без установления соединения.
Неофициальный стандарт — стандарт, принятый большинством пользователей, но не принятый управляющей организацией, такой как IEEE.
Очереди маршрутизатора (router queues) — система буферизации маршрутизатора, необходимая для хранения пакетов в условиях его переполнения.
Параметр реестра (Registry setting) — конфигурация, управляющая действием устройств на платформах Windows. Функционирование Windows 2000 в среде TCP/IP регулируется множеством подобных настроек.
Повторитель (repeater) — устройство, повторяющее биты вне зависимости от их значения и без интерпретации. Концентратор повторяет биты, полученные одним портом из всех остальных портов. Станция сети с маркерным доступом повторяет биты, полученные входящей принимающей парой от передающей пары.
Поле идентификации протокола (protocol identification field) — поле, содержащееся в большинстве заголовков и предназначенное для отождествления следующего протокола. В заголовках Ethernet в такой роли выступает поле Туре; в заголовках протокола IP — поле Protocol.
Преамбула (preamble) — заглавная последовательность значений, предшествующая содержимому всех пакетов Ethernet. Помещаемая в начало фрейма отправляющей сетевой интерфейсной платой и удаляемая принимающей платой, преамбула используется как средство синхронизации, позволяющее принимающим IP-хостам должным образом распознать и интерпретировать разряды как нули или единицы.
198
Гпава 3
Приоритет (precedence) — определение старшинства IP-пакета. В условиях, когда очередь переполнена, маршрутизаторы могут обрабатывать пакеты с высоким уровнем приоритета раньше, чем пакеты с низким уровнем приоритета.
Приоритет маршрута (route priority) — приоритет, указанный в поле Type of Service (TOS) заголовка дейтаграммы, определяющий порядок маршрутизации пакетов в сети. Чтобы принять подходящее решение о перенаправлении пакета на основании значения поля Type of Service (TOS), содержащегося в IP-заголовке, маршрутизатор должен поддерживать и отслеживать множество сетевых типов.
Приоритет пакета (packet priority) — приоритет, указываемый в поле Type of Service (TOS) заголовка дейтаграммы, определяет порядок, в котором должны обрабатываться пакеты, находящиеся в очереди маршрутизатора.
Процесс повторной передачи фрагмента — процесс повторной передачи исходного нефрагментированного пакета из-за ошибки передачи или потери фрагмента.
Процесс разрешения имен (name resolution process) — процесс получения IP-адреса на основе символического имени. Процессом разрешения имен является DNS.
Процесс разрешения маршрутов (route resolution process) — процесс, выполняемый на хосте для определения того, является ли пункт назначения локальным или удаленным и (в последнем случае) — какой маршрутизатор следующего транзита нужно использовать.
Разграничение (delimitation) — применение специальных маркирующих битовых строк или символов, называемых разделителями, для отделения полезной нагрузки от заголовка и концевика (завершителя).
Разделитель (delimiter) — специальная битовая строка или символ, маркирующий границу в пределах модуля данных протоколов, которая может располагаться в начале или в конце этого модуля, между заголовком и полезной нагрузкой или между полезной нагрузкой и концевиком (завершителем).
Разрядная проверка целостности (bit-level integrity check) — специальная математическая операция, выполняемая в отношении полезной нагрузки пакета (дейтаграммы Канального уровня) перед передачей этой дейтаграммы; значение, полученное в результате этой операции, может храниться в коцевике (завершителе) дейтаграммы. Вычисление повторяется на принимающем конце, и его результат сравнивается с переданным значением; если два значения равны друг другу, прием признается безошибочным; если же они разнятся, дейтаграмма обычно отвергается без предупреждения (т. е. сообщение об ошибке не отсылается).
Протоколы Канального и Сетевого уровней TCP/IP
199
Ретрансляция кадров (Frame Relay) — технология глобальной сети, обеспечивающая скорость передачи до 1,544 Мбит/с. При ретрансляции ошибки передачи не исправляются; испорченные фреймы просто отвергаются.
Т1 — цифровой канал сигнализации, чье название расшифровывается как "магистраль первого уровня"; применяется как стандарт сигнализации по цифровым каналам в Северной Америке. Канал Т1 обеспечивает общую пропускную способность в 1,544 Мбит/с и может поддерживать до 24 речевых цифровых каналов по 64 Кбит/с каждый; кроме того, в его рамках возможно разделение передачи речи и данных.
ТЗ — цифровой канал сигнализации, чье название расшифровывается как "магистраль третьего уровня"; применяется как стандарт сигнализации по цифровым каналам в Северной Америке. Канал ТЗ обеспечивает общую пропускную способность в 28 Т1, или 44,736 Мбит/с. Канал ТЗ функционирует на коаксиальных или оптоволоконных кабелях или посредством ультракоротковолновой передачи и становится стандартным каналом для мелких и средних поставщиков доступа к Internet.
Таблица маршрутизации (routing table) — таблица, хранящаяся в памяти на локальном хосте. Обращение к таблице маршрутизации происходит перед перенаправлением пакета в удаленные пункты назначения и направлено на поиск для пакета наиболее оптимального маршрутизатора следующего транзита.
Т-канал — характерный термин из области телефонии, обозначающий магистральные высокочастотные соединения, предоставляющие клиентам цифровые службы непосредственно от носителей связи (которыми обычно являются местные или междугородные телефонные или коммуникационные компании). Тем не менее, существует возможность прокладки магистральных линий от одного пункта к другому, однако подобные линии во время такого соединения всегда будут проходить через помещения пользователя в одной или нескольких точках.
Фрагмент (fragment) — в терминологии организации IP-сетей "фрагментом" называется часть более крупного набора данных, который должен быть разделен для обеспечения передачи по сети, максимальная единица передачи в которой меньше, чем исходный размер пакета.
Фрагментация (fragmentation) — процесс разделения пакета на множество более мелких пакетов с целью их прохождения по каналу, который поддерживает максимальную единицу передачи, меньшую, чем в исходной сети пакета.
Цифровая абонентская линия (Digital Subscriber Line, DSL) — семейство постоянно функционирующих цифровых линий, обычно предоставляемых местными телефонными компаниями или станциями и служащих для подсоединения домашних или офисных сетей к носителям связи (в основном, в целях подключения к сети Internet). Расстояние между поме
200
Гпава 3
щениями пользователей линий DSL до пограничного оборудования, соединяющего линию DNS с каналом передачи, не должно превышать 17 500 футов (5334 м).
Шлюз по умолчанию (default gateway) — название IP-адреса маршрутизатора, через который машина, подсоединенная к локальной сети, должна пропускать исходящий трафик, направленный за пределы локальной сети; таким образом, этот адрес действительно становится "шлюзом" в мир IP-адресов за пределами локальной подсети. Так же называется шлюз "последней инстанции", на который пакеты отсылаются в том случае, если в таблице маршрутизации локального хоста отсутствует запись маршрута хоста или сети.
Контрольные вопросы
1.	Протокол SLIP поддерживает следующие службы инкапсуляции WAN: (Выберите все подходящие ответы.)
а)	адресацию;
б)	разрядную проверку целостности;
в)	разграничение;
г)	идентификацию протокола.
2.	При использовании в асинхронных соединениях типа аналогового телефонного канала протокол РРР поддерживает следующие службы инкапсуляции WAN: (Выберите все подходящие ответы.)
а)	адресацию;
б)	разрядную проверку целостности;
в)	разграничение;
г)	идентификацию протокола.
3.	Для каких из нижеперечисленных каналов протокол РРР должен обеспечивать адресацию как часть служб инкапсуляции WAN? (Выберите все подходящие ответы.)
а)	аналоговый телефонный канал;
б)	Т-канал;
в)	соединение Х.25;
г)	соединение ATM (соединение в асинхронном режиме передачи).
4.	Какой из следующих протоколов поддерживается протоколом РРР, но не поддерживается протоколом SLIP? (Выберите все подходящие ответы.)
а)	TCP/IP;
б)	IPX/SPX;
Протоколы Канального и Сетевого уровней TCP/IP
201
в)	NetBEUI;
г)	AppleTalk.
5.	Windows 2000 может создавать исходящие соединения по протоколу SLIP, но принимает только входящие PPP-соединения. Да или нет?
а)	да;
б)	нет.
6.	Методы инкапсуляции протокола РРР базируются на протоколе SDLC (протокол синхронного управления передачей данных) компании IBM, который, в свою очередь, базируется на протоколе HDLC (High-level Data Link Control, высокоуровневый протокол управления каналом) Международной организации по стандартизации ISO. Да или нет?
а)	да;
б)	нет.
7.	Какая из следующих сетевых технологий обеспечивает наилучшую пропускную способность для протокола РРР?
a)	ISDN;
б)	DSL;
в)	кабельный модем;
г)	SONET.
8.	Какой из следующих типов фреймов Ethernet является неофициальным стандартом?
a)	Ethernet I;
б)	Ethernet II;
в)	Ethernet 802.2 LLC;
г)	Ethernet 802.2 SNAP.
9.	Какое действие в первую очередь выполняет IP-хост, получая фрейм Ethernet II?
а)	проверяет аппаратный адрес, выясняя, нужно ли его читать дальше;
б)	проверяет действительность значения поля Frame Check Sequence;
в)	отбрасывает поле Frame Check Sequence и передает пакет на Канальный уровень;
г)	исследует полезную нагрузку для определения фактического адреса назначения.
10.	Какое поле фрейма Ethernet 802.2 LLC заменяет поле Туре?
a)	Ether Туре;
б)	SAP;
202
Гпава 3
в)	Control;
г)	Data.
11.	Какой указатель в поле Service Access Point (SAP) в структуре Ethernet SNAP идентифицирует тип фрейма?
а)	0;
б)	6;
в)	170;
г)	255.
12.	Что происходит, когда хост Windows 2000 получает фрейм Ethernet 802.2 SNAP, но при этом в его реестре отключен параметр Ethernet 802.2 SNAP?
а)	принимающая машина игнорирует все фреймы Ethernet 802.2 SNAP;
б)	принимающая машина получает фрейм SNAP и отвечает при помощи фрейма этого же типа;
в)	принимающая машина получает фрейм SNAP, но отвечает при помощи фрейма типа Ethernet II, принимаемого по умолчанию;
г)	принимающая машина получает фрейм SNAP и автоматически переключается на этот тип фреймов.
13.	Сети с маркерным доступом используют физическую кольцевую схему и логический звездообразный канал передачи. Да или нет?
а)	да;
б)	нет.
14.	Формат фрейма Token Ring SNAP поддерживает значение поля Ether Туре. Да или нет?
а)	да;
б)	нет.
15.	Какое из следующих утверждений наилучшим образом характеризует роль ARP-кэша?
а)	это специальная область в памяти маршрутизаторов, где хранятся разрешенные трансляции адресов из IP- в аппаратные;
б)	это специальная область в памяти IP-хостов, где хранятся разрешенные трансляции адресов из IP- в аппаратные;
в)	это специальный файл, в котором во время отключения компьютера хранятся разрешенные трансляции адресов из IP- в аппаратные; при включении они считываются вновь;
г)	это специальный файл, в котором хранятся трансляции из символических имен в IP-адреса.
Протоколы Канального и Сетевого уровней TCP/IP
203
16.	IP-хост всегда сначала посылает широковещательный ARP-запрос, а потом уже проверяет содержимое ARP-кэша на наличие нужного значения. Да или нет?
а)	да;
б)	нет.
17.	К какой структуре должен обращаться IP-хост для получения необходимой информации при поиске адреса назначения для дейтаграммы, которая в конечном итоге должна попасть в удаленную сеть?
а)	к ARP-кэшу;
б)	к таблицам маршрутизации;
г)	к запросу исходного маршрута;
д)	к агенту ARP (для получения аппаратного адреса пункта назначения).
18.	Протокол ARP может осуществлять проверки на наличие дублированных IP-адресов. Да или нет?
а)	да;
б)	нет.
19.	Что происходит, когда IP-хост отсылает ответ другому IP-хосту, который запросил его аппаратный адрес?
а)	ничего кроме непосредственной отсылки ответа;
б)	отсылающий хост отвечает ARP-запросом исходному запрашивающему хосту;
в)	отсылающий хост использует содержимое своего ответа запрашивающему хосту для помещения записи о нем в свой ARP-кэш;
г)	отсылающий хост использует содержимое своего ответа для обновления записи о запрашивающем хосте в своем ARP-кэше.
20.	Какой из следующих протоколов сделал протокол RARP практически ненужным в современных сетях TCP/IP? (Выберите все подходящие ответы.)
a)	ARP;
б)	ВООТР;
в)	DHCP;
г)	DNS.
Практические задания
Задание 3.1
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (ее дистрибутив присутствует на сопровождающем компакт-диске).
204
Гпава 3
Просмотр локального ARP-кэша
1.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). В результате откроется окно Командная строка (Command Prompt).
2.	Для просмотра ARP-кэша введите агр -а. Запишите все записи, присутствующие в кэше.
3.	В командной строке введите ping ip_address, заменив ip_address IP-адресом любого другого IP-хоста в аудитории. Не указывайте IP-адрес хоста, запись которого уже есть в ARP-кэше. Убедитесь в получении ping-ответа. Если запрос был неудачен, попробуйте запросить другой 1Р-хост.
4.	Для повторного просмотра ARP-кэша введите агр -а. Запишите новую запись, появившуюся в ARP-кэше.
Вы должны увидеть IP- и аппаратный адреса только что запрошенного IP-хоста. Теперь можете проверить ARP-кэш компьютера, к которому вы обращались, на наличие в нем ваших собственных IP- и аппаратного адресов.
5.	Закройте окно-Командная строка (Command Prompt).
Задание 3.2
Считывание локальной таблицы маршрутов
1. Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt).
2,- В командной строке введите route print, а затем нажмите <Enter>. Появится локальная таблица маршрутизации. Она должна выглядеть примерно так, как показано на рис. 3.23.

д-кайЖГ ' хлжкяШ
5.255
‘2'1.0
255
0.0
255
о.о 55.0
0.0
0.0
н" i-Л-и 1>пгь<<14 ) .V")
10.1.0.99
127.0.0.1
127. 0.0.1
10. 1. 3.1
10.1.0.1
10.1.0.1

Рис. 3.23. Просмотр локальных таблиц маршрутизации хоста
3. Закройте окно Командная строка (Command Prompt).
Протоколы Канального и Сетевого уровней TCP/IP
205
Примечание
Процесс ручного добавления маршрутов в локальную таблицу маршрутизации рассматривается в главе 10.
Задание 3.3
Открытие сохраненного файла трассировки и анализ расшифровки ARP-пакета
Примечание
Для выполнения практических заданий вы должны скопировать файлы трассировки с сопровождающего компакт-диска на жесткий диск. Для этого вставьте диск в дисковод. Находясь в Проводнике (Explorer), откройте папку Trace компакт-диска TCP/IP и затем дважды щелкните на файле 18654-2d.exe. В результате откроется окно WinZip Self - Extractor, в котором с помощью кнопки Browse можно выбрать каталог установки файлов или воспользоваться предложенным каталогом по умолчанию c:\Course Technology\18654-2. Для распаковки файлов нажмите кнопку Unzip и после завершения распаковки закройте окно WinZip Self - Extractor, нажав кнопки ОК и Close.
1.	Выберите Пуск (Start) > Программы. (Programs) > WildPackets EtherPeek Demo, чтобы открыть анализатор.
2.	Нажмите кнопку ОК, чтобы закрыть информационное окно демо-версии EtherPeek.
3.	В строке меню выберите File > Open.
4.	Откройте каталог по умолчанию Course Technology\18654-2\Ch3 на вашем жестком диске или любой другой, в который вами были установлены файлы трассировки.
5.	Выберите файл трассировки arp.pkt. Нажмите кнопку Открыть (Open). В результате откроется окно сводки пакета; в нем будут отображены семь пакетов в данном файле трассировки.
6.	Для открытия окна расшифровки пакета дважды щелкните на первом пакете в файле трассировки. Внимательно просмотрите содержимое этого ARP-пакета. Ответьте на следующие вопросы:
а)	Каков IP-адрес источника, пославшего этот пакет?
б)	Какой IP-адрес этот IP-хост пытается разрешить?
в)	Каково назначение этого пакета?
206
Гпава 3
7.	Закройте окно расшифровки пакета № 1 (Packet #1). Не закрывая программу EtherPeek, переходите к следующему заданию.
Задание 3.4
Фильтрование ARP-трафика
в файле трассировки
1.	Выполните задание 3.3, чтобы открыть файл трассировки arp.pkt (если он еще не открыт).
2.	В этом файле трассировки содержится трафик ARP, ICMP и NetBIOS. Чтобы выделить только ARP-пакеты (запросы и ответы), перейдите на вкладку Protocols в нижней части окна файла трассировки. Появится окно Protocols. Если все записи протоколов в окне не помещаются, нажимайте клавишу прокрутки вниз, пока не появится протокол ARP, а также строки Req и Rsp.
3.	Щелкните на строке ARP правой кнопкой мыши, чтобы открыть контекстное меню протоколов, как это показано на рис. 3.24.

Save Ptotocol SJalislics .
Select Related Pad lI|.
Рис. 3.24. Фильтрование ARP-трафика
4.	Выберите пункт меню Select Related Packets. Программа EtherPeek выведет окно Selection Results и укажет количество пакетов, относящихся к набору ARP, как показано на рис. 3.25.
Протоколы Канального и Сетевого уровней TCP/IP
207
5.	Нажмите кнопку Hide Unselected. Теперь в окне сводки трассировки должны отображаться только три ARP-пакета: № 1, 4 и 5. Каково назначение пакетов № 4 и 5?
6.	Если появится диалоговое окно, оповещающее об окончании захвата, нажмите кнопку ОК. Закройте окно сводки трассировки и сразу переходите к заданию 3.5.

Putkfts:

1 I 00:00:65:10:22:IB
| UciitinMion
I Ethernet Broadcast
Ml
IP-10.1.0.1
IP-10.1.0.1
00:00:65:10:22:1В
00:00: IB: 09?7э’:Ьб
IP-10.1.0.1
IP-10.1.0.2
! IP-10._255.255.255
' IP-io". 255.2557255
Ethernet Broadcast |~00:00:65:10:~22:1B
j Prot le
: UDP ; UDP
07:55:27.291000 ARP
"~l ARP
! Size | Time-Stamp
64 !
07:54:09.726000
114 .
114 ;
07:54:18.331000
07:54:18.331000
i Д-IRJMHCT.	r.jxj
I	j| HideUmelected | Close |
Selection Results
PIN
PIN

3
б

Рис. 3.25. Все ARP-сообщения в буфере слежения выделены
Задание 3.5
Просмотр и анализ 1Р-трафика
1.	Чтобы открыть программу EtherPeek for Windows (если она еще не открыта) и каталог Course Technology\18654-2\Ch3 на вашем жестком диске, выполните задание 3.3.
2.	Выберите файл ftp.pkt. Для открытия окна сводки пакета нажмите кнопку Открыть (Open). В этой трассировке изображен простой процесс регистрации FTP. FTP-хост — 10.1.0.1. FTP-сервер — 10.1.0.99.
3.	Исходя из того, что хост 10.1.0.1 посылает ARP-запрос на пункт назначения 10.1.0.99, можно заключить, что два этих IP-хоста расположены в одной сети. Двойным щелчком откройте пакет № 3 (Packet #3), и ответьте на следующие вопросы:
а)	Какой тип фрейма применяется в этом IP-пакете?
б)	Какова длина IP-заголовка?
в)	Каково оставшееся время жизни пакета?
208
Гпава 3
г)	Какое количество данных (в байтах) следует за IP-заголовком?
д)	Может ли этот пакет в случае необходимости быть фрагментирован?
е)	Какой протокол следует за IP-заголовком?
ж)	Какой тип службы (TOS) запрашивает это приложение?
4.	Закройте окно расшифровки пакета № 3.
5.	Двойным щелчком откройте пакет № 20 (Packet #20), и ответьте на следующие вопросы:
а)	Какой тип фрейма используется в этом IP-пакете?
б)	Какова длина IP-заголовка?
в)	Каково оставшееся время жизни пакета?
г)	Какое количество данных (в байтах) следует за IP-заголовком?
д)	Может ли этот пакет в случае необходимости быть фрагментирован?
е)	Какой протокол следует за IP-заголовком?
ж)	Этот пакет исходит от FTP-клиента или же от FTP-сервера?
6.	Закройте окно расшифровки пакета № 20. Закройте файл трассировки ftp.pkt и переходите к заданию 3.6.
Задание 3.6
Идентификация проблем соединения, раскрываемых моделями трафика ARP
1.	В этом задании вам нужно будет просмотреть файл трассировки, записанный, когда пользователь (IP-адрес — 10.1.0.1) безуспешно пытался подсоединиться к FTP-серверу (10.2.23.11). Чтобы открыть программу EtherPeek for Windows (если она еще не открыта) и каталог Course Technology\ 18654-2\Ch3 на вашем жестком диске, выполните задание 3.3.
2.	Выберите файл probleml.pkt. Для открытия окна сводки пакета нажмите кнопку Открыть (Open).
Ответьте на следующие вопросы:
а)	Может ли FTP-xoct 10.1.0.1 участвовать в сетевых сообщениях?
б)	Может ли хост 10.1.0.1 успешно подключаться к другому пункту назначения?
3.	Просмотрите пакеты с № 38 по № 41. Почему хост 10.1.0.1 не может осуществлять передачу файлов на сервер 10.2.23.II?
4.	Заройте файл трассировки probleml.pkt. Переходите к заданию 3.7.
Протоколы Канального и Сетевого уровней TCP/IP	209
Задание 3.7
Исследование фрагментированных IP-пакетов
1.	В этом примере один хост (10.1.0.1) отсылает фрагментированный пакет другому хосту (10.1.0.99). Чтобы открыть программу EtherPeek for Windows (если она еще не открыта) и каталог 18654-2\Ch3 на вашем жестком диске, выполните задание 3.3.
2.	Выберите файл fragments.pkt. Для открытия окна сводки пакета нажмите кнопку Открыть (Open).
3.	Чтобы открыть первый пакет из набора, дважды щелкните на пакете № 3. Для перемещения между пакетами пользуйтесь кнопками Decode Previous (кнопка с изображением стрелки влево) и Decode Next (кнопка с изображением стрелки вправо), а затем ответьте на следующие вопросы:
а)	Каков максимальный объем данных, который можно поместить после Ethernet-заголовка в этом пакете?
б)	Все ли фрагменты в этом наборе применяют одинаковые значения в поле Identification?
в)	Каковы значения поля Fragment Offset в каждом из фрагментированных пакетов первого набора (ping-запрос)?
г)	Каков будет объем блока данных, следующего за IP-заголовком, после выполнения повторной сборки пакета?
4.	Закройте демонстрационную версию программы EtherPeek for Windows.
Учебные задачи
1.	Предположим, что вы работаете в центральном офисе крупной фармацевтической компании, находящемся в Атланте. Технический специалист из офиса в Портланде послал вам на экспертизу файл трассировки. Он утверждает, что осуществил захват передачи от 1Р-хоста, который не может подсоединиться к устройствам с противоположной стороны от локального маршрутизатора. При этом проблемный 1Р-хост может взаимодействовать с локальными системами. Какой процесс может являться причиной проблемы? Какую информацию нужно искать в файле трассировки?
2.	Недавно ваша компания приобрела небольшое предприятие и переместила его компьютерное оборудование в свое главное здание. 16-мегабайтная сеть с маркерным доступом этой компании обеспечивает поддержку пакетов размером до 17 Кбайт. В остальной части главного здания используется 100-мегабайтная сеть Ethernet с максимальной единицей передачи 1518 байт. Каким образом мультимедиа влияет на IP-
8 Зак. 321
210
Гпава 3
трафик? На какую информацию в файлах трассировки нужно обращать внимание, оценивая производительность объединенной сети?
3.	Вы хотите знать, насколько долгий путь прошли пакеты, прежде чем они достигли шлюза, ведущего в Internet. Какое поле позволит вам определить расстояние от источника? Можно ли, основываясь на показаниях этого поля, делать окончательные выводы относительно расстояния, пройденного пакетами?
4.	Объясните различие между функциональным назначением приоритета (precedence) и типом службы (TOS) IP-пакетов. Приведите примеры использования этих характеристик в вашей сети.
Глава 4
Протокол ICMP
После прочтения этой главы и выполнения упражнений вы сможете:
□	получить представление о службах маршрутизации и доставки сообщений об ошибках протокола ICMP (Internet Control Message Protocol, протокол контроля сообщений в Internet);
□	объяснить роль протокола ICMP в процессе определения максимальной единицы передачи маршрута и перечислить ситуации, в которых этот протокол применим;
□	понять, каким образом пакеты Echo и Echo Reply протокола ICMP поддерживают функции утилит PING и TRACEROUTE;
□	разобраться в том, как сообщения Destination. Unreachable протокола ICMP документируют ошибки маршрутизации и доставки;
□	уяснить, каким образом сообщение Source Quench протокола ICMP помогает справиться с различными формами перегрузки сети;
□	получить представление о специфическом назначении ICMP-процесса Redirect, а также о структуре сообщений Redirect;
п
понять, как при поиске маршрутизатора используются ICMP-сообщения Router Advertisement и Router Solicitation и как эти сообщения функционируют;
□	ориентироваться в том, каким образом ICMP-сообщения других типов, включая Time Exceeded и Parameter Problem, обеспечивают дополнительную информацию о неудавшейся доставке.
Несмотря на то, что протокол IP, бесспорно, является самым известным протоколом Сетевого уровня из всего семейства TCP/IP, он не единственный в своем роде. В этой главе рассматривается протокол ICMP (Internet Control Message Protocol, протокол контроля сообщений в Internet) — важный протокол TCP/IP, отвечающий за обработку информации и ошибок и также действующий на Сетевом уровне. Наряду с обзором различных функций, который он может выполнять, эта глава затрагивает возможности про
212
Гпава 4
токола ICMP, структуру его пакетов и форматы полей, а также способы поддержки всевозможных форм сообщений об ошибках, определение максимальной единицы передачи маршрута, анализ достижимости (reachability), трассировку маршрутов (route tracing) и другие функции, связанные с маршрутизацией.
О протоколе ICMP
ICMP как протокол Сетевого уровня немаловажен, постольку он обеспечивает информацию о сетевой деятельности и маршрутизации, которую протокол IP транспортировать не умеет.
Когда речь заходит о диагностике и локализации неисправностей в соединениях TCP/IP, необходимо знать, где взять информацию о том, как пакеты перемещаются от источника к пункту назначения в объединенной сети IP. Если взять любой узел сети, взаимодействующий и обменивающийся данными с другим узлом, между ними обязательно должен существовать какой-либо способ отправки пакетов. Этот принцип называется достижимостью (reachability).
В обычных ситуациях доступные пути отправки пакетов можно найти в локальных таблицах IP-маршрутизации, которые присутствуют на множестве хостов между отправителем и получателем. Поиск таких путей также облегчается шлюзами по умолчанию, которые играют роль маршрутизаторов, передающих трафик за пределы локальной сети, когда явный внешний путь маршрутизации неизвестен. (Дополнительная информация о маршрутизации содержится в главе 5.)
Протокол ICMP обеспечивает способ возврата отправителям информации в форме специальных ICMP-сообщений; эта информация может касаться маршрутов, пройденных пакетом (включая данные о достижимости) во время его передачи, а также проблем маршрутизации или достижимости, которые сделали невозможной доставку IP-дейтаграммы. Эти возможности гармонично дополняют службы доставки IP-дейтаграмм, поскольку протокол ICMP делает то, что не умеет делать протокол IP — обеспечивать информацию о маршрутизации, достижимости и управлении, а также отчеты об ошибках во время доставки. Таким образом, если протокол IP подобен толпе пассажиров, передвигающихся по шоссе из пункта А в пункт Б, то протокол ICMP напоминает пассажиров, находящихся в транспортном потоке, которые по сотовым телефонам сообщают, какие выезды закрыты и на каких участках шоссе образовались пробки.
Способность протокола ICMP предоставлять отчет об ошибках, перегрузках и других ситуациях в сети не улучшает принцип "оптимальной доставки" IP-пакетов. На самом деле, сами по себе ICMP-сообщения — это просто специальным образом форматированные IP-диаграммы, находящиеся в зависи
Протокол ICMP
213
мости от тех же условий, что и другие IP-пакеты общего сетевого трафика. Даже несмотря на то, что протокол ICMP может сообщать об ошибках или сетевых перегрузках (которые происходят в ситуациях, когда объем сетевого трафика начинает превышать возможности обработки), решение о том, предпринимать ли какие-либо меры, исходя из содержимого ICMP-сообщений, остается за IP-хостом. В основном в этой главе мы будем рассматривать то, что может сообщить протокол ICMP и что на это может ответить хост.
Обзор протокола ICMP и документа RFC 792
Документ RFC 792 под названием "Internet Control Message Protocol" (Протокол контроля сообщений в Internet) содержит базовую спецификацию всех действительных ICMP-сообщений, а также определяет виды информации и службы, которые предоставляет протокол ICMP. Кроме того, в этом документе освещаются некоторые вопросы, касающиеся взаимоотношений протоколов IP и ICMP, знание которых помогает лучше уяснить взаимосвязь между этими двумя протоколами Сетевого уровня TCP/IP.
□	Протокол ICMP предусматривает механизм сообщения между шлюзами (маршрутизаторами) или хостами назначения, с одной стороны, и исходными хостами, с другой стороны.
□	ICMP-сообщения существуют в форме специально отформатированных IP-дейтаграмм, которым соответствуют характерные типы и коды сообщений; в этой главе именно эти типы и коды являются предметом исследования.
□	Протокол ICMP является обязательным элементом в некоторых реализациях TCP/IP, в особенности в стеках протоколов TCP/IP, признанных пригодными для продажи правительству Соединенных Штатов. Кроме того, протокол ICMP обычно рассматривается как неотъемлемая часть системы поддержки протокола IP.
□	Протокол ICMP сообщает об ошибках, произошедших только при обработке IP-дейтаграмм, не являющихся ICMP. Чтобы препятствовать появлению бесконечного цикла сообщений, информирующих об ошибках, протокол ICMP не передает сообщения о самом себе; кроме того, он предоставляет информацию только о первом фрагменте из любой последовательности фрагментированных дейтаграмм.
Несмотря на то, что документ RFC 792 был издан еще в 1981 году, он определяет все основные функции ICMP-сообщений, которые актуальны и по сей день. Яркой иллюстрацией этого утверждения может послужить то обстоятельство, что многие разделы настоящей главы, затрагивающие тему ICMP-сообщений, практически заимствованы из этого документа. За более подробной информацией обращайтесь к документу RFC 950, в котором объ
214
Гпава 4
ясняется, как ICMP-сообщения можно использовать для обеспечения хостам возможности определения своих сетевых адресов и масок подсети по требованию.
Основные функции протокола ICMP в сетях IP
Как упоминалось ранее, протокол ICMP предназначен для сбора разнообразной информации о функционировании IP-маршрутизации, достижимости, путях между конкретными парами хостов, ошибках при доставке и тому подобных вещах. Каждая из таких возможностей применяется определенными приложениями, многие из которых довольно полезны при мониторинге сети и поиске неисправностей. Они расписаны в табл. 4.1, структура которой предполагает перечисление типов ICMP-сообщений и краткое пояснение того, как каждый из них может применяться.
Таблица 4.1. Типы ICMP-сообщений и наиболее важные способы их применения
Тип ICMP-сообщения	Важный способ применения
Echo/Echo Reply (эхо/эхо-ответ)	Обеспечивает деятельность утилит достижимости вроде PING и TRACEROUTE; незаменимо при установке и конфигурации IP-сетей, а также при поиске неисправностей в них
Destination Unreachable (пункт назначения недостижим)	Содержит описание ситуаций, когда проблемы маршрутизации или доставки делают невозможным достижение дейтаграммами пунктов назначения; чрезвычайно важны кодовые значения. Кроме того, используется для определения максимальной единицы передачи маршрута между парами хостов
Source Quench (ослабление источника)	Позволяет принимающему хосту или промежуточному шлюзу сообщить отсылающему хосту о необходимости скорректировать (снизить) частоту отправки, чтобы снять перегрузку
Redirect (перенаправление)	Позволяет шлюзу (маршрутизатору), находящемуся на неоптимальном пути между отправителем и получателем, перенаправить трафик по более оптимальному пути
Router Discovery (поиск маршрутизатора)	Позволяет хостам запрашивать информацию о локальных маршрутизаторах, а маршрутизаторам — информировать о своем присутствии в IP-сети
Time Exceeded (превышение лимита времени)	Указывает на то, что время жизни IP-дейтаграммы истекло или что лимит времени на повторную сборку фрагментов IP-дейтаграммы превышен. Может свидетельствовать либо о слишком коротком времени жизни, либо о наличии в сети цикла маршрутизации (который должен быть устранен)
Протокол ICMP
215
Таблица 4.1 (окончание)
Тип ICMP-сообщения	Важный способ применения
Parameter Problem (проблема параметра)	Указывает на то, что во время обработки IP-заголовка входящей дейтаграммы произошла некая ошибка, в результате чего дейтаграмма была отвергнута; делая очевидным наличие неясных или разнородных ошибок, появление такого сообщения свидетельствует о необходимости дальнейшего расследования
В табл. 4.1 содержится лишь краткое объяснение этих функций, однако этого должно быть достаточно, чтобы понять, что они представляют собой основу любого серьезного поиска неисправностей в сетях TCP/IP и маршрутизаторах. Далее в настоящей главе все эти типы ICMP-сообщений, а также их приложения, рассматриваются более детально.
Порядок тестирования и поиска неисправностей средствами протокола ICMP
Два наиболее распространенных способа применения протокола ICMP — это тестирование и поиск неисправностей. Две самые известные утилиты, PING и TRACEROUTE, выполняют тестирование возможности соединения и поиск пути, основываясь на протоколе ICMP.
Тестирование возможности соединения с помощью утилиты PING
Многие знакомы с утилитой PING, но, вероятно, они и не знают, что в действительности она представляет собой ICMP-процесс Эхо (ICMP Echo process). Этот процесс достаточно прост. ICMP-пакет Echo Request (эхо-запрос протокола ICMP) содержит заголовки протоколов Ethernet, IP и ICMP, а также некие неопределенные данные. Пакет отсылается хосту назначения, а тот "отражает" эти данные обратно, как это показано на рис. 4.1.
Эхо-запрос протокола ICMP — это процесс без установления соединения и гарантии доставки, относящийся к разряду "оптимальных".
Большинство PING-утилит отсылают в пункт назначения последовательность эхо-запросов, что делается для того, чтобы вычислить среднее время отклика (average response time). Как показано на рис. 4.2, значения этого времени отображаются  в миллисекундах (milliseconds) (тысячных секунды), однако его не следует принимать за копию текущего периода кругового обращения (round-trip time). В расчет не принимается то обстоятельство, что не
216
Гпава 4
которые маршрутизаторы определяют для ICMP-трафика более низкий уровень приоритета, в результате чего в ходе PING-теста время ожидания кругового обращения может быть более значительным.
С: \WINDOWS>ping 10.3.99.99
Pinging 10.3.99.99 with 32 bytes of data:
Reply from	10.3.99.99:	bytes=32	time=5ms	TTL=255
Reply from	10.3.99.99:	bytes=32	time=5ms	TTL=255
Reply from	10.3.99.99:	bytes=32	time=5ms	TTL=255
Reply from	10.3.99.99:	bytes=32	time=5ms	TTL=255
Ping statistics for 10.3.99.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss) Approximate round trip times in milli-seconds:
Minimum = 5ms, Maximum = 5ms, Average = 5 ms
Эхо-запрос ICMP
Сетевой адрес источника: 10.2.10.2
Сетевой адрес назначения: 12.2.99.99
Данные: adcdefghijklmnopqrstuv...
Клиент A
10.2.10.2
Эхо-ответ ICMP
Сетевой адрес источника: 10.2.99.99
Сетевой адрес назначения: 10.2.10.2
Данные: adcdefghijklmnopqrstuv...
Интерфейс 0
10.2.99.99
Рис. 4.1. Утилита PING использует эхо-запросы и ответы протокола ICMP
В операционной системе Windows 2000 утилита PING отсылает четыре эхо-запроса ICMP с секундным значением Echo Reply Timeout (превышение лимита времени на эхо-ответ). Эхо-запросы состоят из 32 байт данных (согласно порядка букв в латинском алфавите) в IP-пакете с возможностью фрагментирования (fragmentable). Утилита PING в Windows 2000 поддерживает IP-адреса и имена, и, когда это возможно, применяет обычный процесс разрешения имен (символических в IP-адреса). На рис. 4.2 изображен результат выполнения утилиты PING.
Протокол ICMP
217
С : \ ЫIN1) оыз: 1> i ng 10.3.99.99
Ringing 10.3,99.99 with 32 bytes of data:
Reply from 10.3
Reply from 10.3
Reply from 10.3
Reply from 10.3
.99.99: bvteS“"32
.99.99: bytes=32
.99.99; byter>=32
.99.99: bytes=32
time=5ros ТТГ,=255
tiir<e=5ms TTL=255
Г1и<е=5гоз TTL=255
tiine=5nis 111=2 55
Fing statistics for 10.3.99.99:
Packets: Sent = 4, Received - 4, Lost = 0 (0% loss), Approximate round trip tu«es in lailli-seconds:
Mininutni = Sms, Maximum = Sios, Average = Sres
Рис. 4.2. Утилита PING выводит информацию об успехе запроса и периодах кругового обращения
Примечание
Дополнительная информация о разрешении имен содержится в главе 7.
Маршрутизаторы обычно не отвечают на эхо-запросы протокола ICMP, отправленные на групповые или широковещательные адреса. Аналогичным образом, большинство стеков TCP/IP на хостах не позволяют посылать запросы на широковещательные адреса.
Параметры командной строки, применяемые при использовании утилиты PING, могут влиять на внешний вид и возможности эхо-пакетов протокола ICMP. Ниже перечислены некоторые параметры, поддерживаемые утилитой PING в системе Windows 2000:
□	-1 size, где size — количество отсылаемых байт данных;
□	-f — устанавливает разряд Don't Fragment Bit в поле Flags IP-заголовка;
□	-i тть, где ttl устанавливает значение поля Time to Live (TTL) в IP-заголовке;
□	-v tos, где tos устанавливает значение поля Type of Service (TOS) в IP-заголовке;
□	-w timeout, где timeout устанавливает время ожидания ответа в миллисекундах.
В приложении 3 содержится полный список параметров, поддерживаемых утилитой PING.
218
Гпава 4
Поиск пути
с помощью утилиты TRACEROUTE
Утилита TRACEROUTE распознает путь (path) от отправителя к хосту назначения, используя эхо-запросы протокола ICMP и изменяя значение поля Time to Live (TTL) в IP-заголовке. Результат действия утилиты TRACEROUTE представляет собой список маршрутизаторов, расположенных на данном пути, а также время ожидания кругового обращения до каждого маршрутизатора. Кроме того, в некоторых реализациях утилиты TRACEROUTE предпринимается попытка разрешения имен маршрутизаторов.
Ниже описаны действия, предпринимаемые утилитой TRACEROUTE для определения пути от локального хоста (хост А) до удаленного хоста (хост Б) по объединенной сети (рис. 4.3).
1.	Хост А отправляет эхо-запрос протокола ICMP на IP-адрес хоста Б, приравнивая значение поля Time to Live к единице (TTL =1).
2.	Маршрутизатор 1 не может уменьшить значение TTL до нуля и перенаправить пакет; поэтому он отвергает его и посылает хосту А ICMP-сообщение Time Exceeded-TTL Exceeded in Transit (лимит времени жизни для транзита исчерпан). Маршрутизатор 1 устанавливает в поле Time to Live (TTL) этого ICMP-сообщения Time Exceeded значение по умолчанию, например 128.
3.	Хост А запоминает IP-адрес отвечающего маршрутизатора (маршрутизатор 1).
4.	Хост А отправляет эхо-запрос протокола ICMP на IP-адрес хоста Б, приравнивая значение поля Time to Live к двум (TTL = 2).
5.	Маршрутизатор 1 уменьшает значение TTL ICMP-пакета с эхо-запросом до одного и передает пакет маршрутизатору следующего транзита (маршрутизатор 2).
6.	Маршрутизатор 2 не может уменьшить значение TTL до нуля и перенаправить пакет; поэтому он отвергает его и посылает хосту А ICMP-сообщение Time Exceeded-TTL Exceeded in Transit (лимит времени жизни для транзита исчерпан). Маршрутизатор 2 устанавливает в поле Time to Live (TTL) этого ICMP-сообщения Time Exceeded значение по умолчанию, например 128.
7.	Хост А запоминает IP-адрес второго маршрутизатора (транзита), находящегося на пути.
8.	Хост А отправляет эхо-запрос протокола ICMP на IP-адрес хоста Б, приравнивая значение поля Time to Live к трем (TTL = 3).
9.	Маршрутизатор 1 уменьшает значение этого поля ICMP-пакета с эхо-запросом до двух и передает пакет маршрутизатору следующего транзита (маршрутизатор 2).
Протокол ICMP
219
Рис. 4.3. Утилита TRACEROUTE изменяет значение поля Time to Live (TTL), чтобы определить маршрутизаторы, находящиеся на пути
10.	Маршрутизатор 2 уменьшает значение поля Time to Live (TTL) ICMP-пакета с эхо-запросом до одного и передает пакет маршрутизатору следующего транзита (маршрутизатор 3).
11.	Маршрутизатор 3 не может уменьшить значение времени жизни (TTL) до нуля и перенаправить пакет; поэтому он отвергает его и посылает хосту А ICMP-сообщение Time Exceeded-TTL Exceeded in Transit (лимит времени жизни для транзита исчерпан). Маршрутизатор 3 устанавливает в поле Time to Live (TTL) этого ICMP-сообщения Time Exceeded значение по умолчанию, например 128.
12.	ХостА запоминает IP-адрес третьего маршрутизатора (транзита), находящегося на пути.
13.	Хост А отправляет эхо-запрос протокола ICMP на IP-адрес хоста Б, приравнивая значение поля Time to Live к четырем (TTL = 4).
14.	Маршрутизатор 1 уменьшает значение поля Time to Live (TTL) ICMP-пакета с эхо-запросом до трех и передает пакет маршрутизатору следующего транзита (маршрутизатор 2).
15.	Маршрутизатор 2 уменьшает значение поля Time to Live (TTL) ICMP-пакета с эхо-запросом до двух и передает пакет маршрутизатору следующего транзита (маршрутизатор 3).
220
Гпава 4
16.	Маршрутизатор 3 уменьшает значение поля Time to Live (TTL) ICMP-пакета с эхо-запросом до одного и передает пакет в конечный пункт назначения (хост Б).
17.	Хост Б отсылает ICMP-пакет Echo Reply.
18.	ХостА запоминает период кругового обращения эхо-теста протокола 1СМР, отправленного хосту Б.
Параметры командной строки TRACERT, применяемые в Windows-версии утилиты TRACEROUTE, могут влиять на вид и возможности этого процесса. Ниже перечислены некоторые параметры утилиты TRACERT в системе Windows 2000:
□	-d — указывает утилите TRACERT не выполнять обратные DNS-запросы на маршрутизаторах;
□	-h max_hops, где max_hops определяет максимально возможное значение времени жизни пакета, устанавливаемое в поле Time to Live (TTL);
□	—w timeout, где timeout определяет, как долго необходимо ждать ответа, прежде чем отобразить символ звездочки (*).
В приложении 3 содержится полный список поддерживаемых параметров утилитой TRACERT.
Поиск пути
с помощью утилиты PATHPING
В операционной системе Windows 2000 появилась новая утилита, выполняющаяся из командной строки, — PATHPING’, она использует эхо-пакеты протокола ICMP для тестирования маршрутизаторов, задержек в канале, а также потерь пакетов. Более подробная информация об утилите PATHPING содержится в приложении 3.
Определение максимальной единицы передачи маршрута (PMTU)
с помощью протокола ICMP
В документе RFC 1191 под названием "Path MTU Discovery" (Определение максимальной единицы передачи маршрута) описывается метод поиска максимальной единицы передачи маршрута (Path MTU, PMTU) с помощью протокола ICMP. В главе 3 мы подробно обсуждали, как маршрутизатор осуществляет фрагментацию IP-пакета, . направляемого в сеть с меньшей максимальной единицей передачи. Кроме того, мы выяснили, что фрагментация не способствует оптимальному применению пропускной способности из-за высоких издержек (overhead), связанных с множеством заголовков, ко
Протокол ICMP
221
торые необходимы для доставки блока данных по сети. Методика определения максимальной единицы передачи маршрута (PMTU) дает источнику возможность узнать, какая максимальная единица передачи (MTU) в текущий момент времени поддерживается на протяжении всего пути, а это в свою очередь позволяет избежать фрагментации.
С помощью этой методики хост всегда устанавливает значение разряда Don't Fragment Bit в поле Flags IP-заголовка в единицу (это означает, что маршрутизаторы, находящиеся на пути пакета, не могут его фрагментировать). Если пакет окажется слишком большим для того, чтобы его можно было передать по сети, принимающий маршрутизатор отвергнет его и пошлет источнику ICMP-сообщение Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (пункт назначения недостижим: необходима фрагментация и изменение значения Don't Fragment Bit). Помимо этого, маршрутизаторы с возможностью определения максимальной единицы передачи маршрута (PMTU) поместят в ICMP-ответ значение единицы передачи ограничивающего канала (restricting link) (т. е. канала, который не поддерживает пересылку пакета текущего формата и конфигурации).
По получении ICMP-сообщения Fragmentation Needed and Don't Fragment was Set (необходима фрагментация и изменение значения Don't Fragment Bit), в котором указана максимальная единица передачи (MTU) ограничивающего канала, хост должен либо уменьшить размер единицы передачи сообщения в соответствии с полученной информацией, а затем повторно отослать данные, либо сбросить флаг Don't Fragment Bit в поле Flags IP-заголовка, и отправить пакет в исходном размере. Уменьшение размера пакета на основании максимальной единицы передачи (MTU) ограничивающего канала гарантирует, что пакет сможет пройти через маршрутизатор, который ранее его отверг.
В ходе этого процесса хост может получить сообщение Fragmentation Needed and Don't Fragment was Set от одного маршрутизатора, уменьшить максимальную единицу передачи и после повторной пересылки данных получить аналогичное сообщение от другого маршрутизатора, находящегося на пути пакета. Процесс определения максимальной единицы передачи будет продолжаться, пока не выяснится размер сквозной минимальной единицы передачи (end-to-end minimum MTU size). После этого происходит повторный процесс проверки. Для примера рассмотрим сеть, изображенную на рис. 4.4. Хост А и хост Б используют одинаковую максимальную единицу передачи — 18 000 байт. Поскольку для их взаимодействия применяется маршрут № 1, то пакеты, размер которых превышает 1518 байт, должны быть фрагментированы.
222
Гпава 4
Рис. 4.4. Процесс определения максимальной единицы передачи маршрута (PMTU) автоматически находит единицу передачи, приемлемую для всего пути, что помогает избежать фрагментации
Разложим по действиям процесс определения максимальной единицы передачи маршрута (PMTU), показанный на рис. 4.4.
1.	Хост А посылает хосту Б 4096-байтный пакет. Он попадает на маршрутизатор 2 (шлюз по умолчанию для хоста А).
2.	Маршрутизатор 2 "знает", что этот 4096-байтный пакет не может быть передан по сети Ethernet; следовательно, он посылает хосту А ICMP-сообщение Fragmentation Needed and Don't Fragment was Set (необходима фрагментация и изменение значения Don't Fragment Bit), указывая в нем максимальную единицу передачи (MTU) следующего канала — 1500.
3.	Хост А повторно отсылает пакет, используя максимальную единицу передачи, равную 1518.
4.	Перед пересылкой пакета по сети Ethernet маршрутизатор 2 удаляет заголовок сети с маркерным доступом, заменяя его заголовком Ethernet.
Спецификация определения максимальной единицы передачи маршрута (PMTU) в документе RFC 1191 требует, чтобы поддерживающий эту методику хост периодически пробовал применить более крупную единицу передачи, с тем чтобы определить, не увеличился ли разрешенный объем данных (allowable data size). Для примера рассмотрим рис. 4.5, на котором между 1-м и 2-м маршрутизаторами открыт резервный канал сети с маркерным доступом.
Если маршрутизатор 2 применяет протокол маршрутизации, который различает пропускную способность (throughput difference) сети Ethernet в 10 Мбит/с от пропускной способности сети с маркерным доступом в 16 Мбит/с, то для пересылки пакетов этот маршрутизатор должен выбрать путь № 2. Изменение маршрута незаметно для клиента PMTU (хост А). Именно поэтому в
Протокол ICMP	323
спецификации рекомендуется, чтобы хост PMTU пытался отсылать пакет размером больше текущей максимальной единицы передачи маршрута не раньше, чем через пять минут после последнего полученного ICMP-пакета Fragmentation Needed and Don't Fragment was Set (необходима фрагментация и изменение значения Don't Fragment Bit) и последующего уменьшения единицы передачи. Более того, спецификация предписывает обеспечение обратной совместимости (backwards compatibility) для маршрутизаторов, которые не могут помещать значение максимальной единицы передачи в ICMP-пакет Fragmentation Needed and Don't Fragment was Set, поэтому следует увеличивать максимальную единицу передачи постепенно, до того момента, пока на отсылающий хост от маршрутизатора не придет первое такое сообщение.
Рис. 4.5. Периодическое испытание больших максимальных единиц передачи (MTU) дает возможность обнаружения пути с более крупной единицей передачи
В реестре Windows 2000 можно установить два параметра PMTU — EnablePMTU Discovery и EnablePMTUBHDetect. Параметр реестра EnablePMTUDiscovery разрешает или запрещает определение максимальной единицы передачи маршрута на Windows-хосте (табл. 4.2).
Таблица 4.2. Параметр реестра EnablePMTUDiscovery
Информация реестра
Подробности
Местоположение
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Tcpip\Parameters
224
Гпава 4
Таблица 4.2 (окончание)
Информация реестра	Подробности
Тип данных Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	REGJDWORD 0 или 1 0 Нет
По умолчанию определение максимальной единицы передачи маршрута разрешено. Установка нуля в качестве значения параметра EnablePMTUDiscovery запрещает этот процесс.
Параметр реестра EnablePMTUBHDetect определяет, должен ли хост, работающий под управлением Windows 2000, выявлять маршрутизаторы типа "черная дыра" (black hole routers). Такие маршрутизаторы отвергают без уведомления (silently discards) пакеты, не объявляя об этом и не указывая причины такого действия; этим они обрекают на неудачу все попытки автоматического восстановления (auto-recovery) или автоматической реконфигурации (auto-reconfiguration). Многие администраторы отключают возможность ICMP-ответов, руководствуясь соображениями безопасности. (Вопросы безопасности в отношении протокола ICMP подробно обсуждаются в главе 9.) К примеру, если маршрутизатор не поддерживает определение максимальной единицы передачи маршрута, и, в соответствии со своими настройками, с помощью протокола ICMP не может отсылать пакеты "Пункт назначения недостижим" (Destination Unreachable packets), то отсылаемый с хоста PMTU крупный пакет рискует никогда не дойти до пункта назначения. Если обратная связь с маршрутизатором отсутствует, хост не может определить, существуют ли проблемы с максимальной единицей передачи маршрута. В этом случае хост будет просто раз за разом повторно передавать пакет, пока не выйдет время или не будет исчерпан лимит попыток в счетчике попыток (retry counter) и сообщение потерпит неудачу. Если параметр реестра EnablePMTUBHDetect задействован, хост PMTU сделает несколько попыток пересылки пакетов с крупной единицей передачи, и, не получив ответа, автоматически установит значение максимальной единицы передачи маршрута (PMTU) в 576 байт.
Информация о параметре реестра EnablePMTUBHDetect содержится в табл. 4.3.
Таблица 4.3. Параметр реестра EnablePMTUBHDetect
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Tcpip\Parameters
Протокол ICMP
225
Таблица 4.3 (окончание)
Информация реестра	Подробности
Тип данных Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	REGJDWORD 0 или 1 0 Нет
По умолчанию определение "черных дыр" запрещено.
Порядок маршрутизации
для протокола ICMP
Тогда как протоколы маршрутизации, такие как RIP (Routing Information Protocol, протокол маршрутной информации) и OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов), обеспечивают маршрутизаторы в сети информацией о маршрутах, протокол ICMP может предоставлять подобную информацию хостам. Маршрутизаторы могут применять протокол ICMP для снабжения хостов настройками шлюзов по умолчанию (если хостам требуется помощь). Кроме того, маршрутизаторы могут отсылать ICMP-сообщения Redirect для перенаправления или, иначе, переадресации (redirect) хоста на другой маршрутизатор, который предположительно обеспечивает более оптимальный маршрут (optimal route). Эти вопросы подробно раскрыты в разд. "Переадресация"этой главы.
Примечание
В разделе 4.3 документа RFC 1812, "Requirements for IP Version 4 Routers" (Требования к маршрутизаторам IP версии 4), указывается, каким образом IP-маршрутизаторы должны обрабатывать сообщения протокола ICMP об ошибках (ICMP error message) (ICMP error messages) и сообщения ICMP-запроса (ICMP query messages).
Поиск маршрутизатора
Обычно IP-хосты узнают о существующих маршрутах посредством ручной настройки параметра шлюза по умолчанию и сообщений переадресации (исследуемых далее в разд. "Переадресация" этой главы). Когда хост загружается без настройки шлюза по умолчанию, он может выполнить ICMP-обращение к маршрутизаторам, послав соответствующий ICMP-пакет Router Solicitation (запрос маршрутизатора), чтобы определить местонахождение локального маршрутизатора. Хосты Windows 98 и Windows 2000 в подобных ситуациях отсылают такие пакеты автоматически. Как вы узнаете из даль
226
Гпава 4
нейшего содержания настоящего раздела, этот параметр можно перенастроить. Рассматриваемый процесс называется ICMP-запросом маршрутизатора (ICMP Router Solicitation) и ICMP-поиском маршрутизатора (ICMP Router Discovery). IP-хосты отсылают ICMP-запросы маршрутизатора, а маршрутизаторы отвечают ICMP-сообщениями Router Advertisement, в которых извещают о своем существовании.
По умолчанию ICMP-пакет Router Solicitation отсылается на групповой IP-адрес для всех маршрутизаторов — 224.0.0.2. В документе RFC 1812 существует положение о том, что все IP-маршрутизаторы "должны поддерживать часть протокола ICMP, относящуюся к маршрутизации, а именно ICMP-поиску маршрутизатора (ICMP Router Discovery) во всех сетях, в которых они поддерживают групповую или широковещательную IP-адресацию", тем не менее, многие из них этого не выполняют. Если маршрутизатор не поддерживает эту часть протокола ICMP по поиску маршрутизатора, то все запросы Router Solicitation, отсылаемые хостом, останутся без ответа.
Если IP-хост расположен в сети, которая обеспечивает поддержку многочисленных IP-маршрутизаторов, он может получить несколько ответов — по одному от каждого локально подсоединенного IP-маршрутизатора. Обычно хост принимает первый ответ, и применяет пославший его маршрутизатор в качестве шлюза по умолчанию. На рис. 4.6 изображена сеть, в которой присутствует несколько маршрутизаторов и хост, на котором отсутствует установка шлюза по умолчанию.
|	Маска: 255.255.0.0
।	Шлюз по умолчанию:
.	отсутствует
Маска: 255.255.0.0 Шлюз по умолчанию: 10.2.99.99
Рис. 4.6. С помощью процесса поиска маршрутизатора хосты могут определять местонахождение локальных маршрутизаторов
В этом примере хостА, 10.2.10.2, отсылает групповое IP-сообщение, чтобы определить локальный маршрутизатор и использовать его в качестве шлюза
Протокол ICMP	227
по умолчанию. Поскольку маршрутизатор 1 поддерживает часть протокола ICMP по поиску маршрутизатора (ICMP Router Discovery), он отсылает хосту ответ, в котором указывает собственный IP-адрес. После этого хост А помещает этот адрес в свои таблицы маршрутизации.
На рис. 4.6 отвечает только один маршрутизатор — локальный. Маршрутизатор 2 и хост А расположены в разных сетях, и потому групповое IP-сообщение маршрутизатором 1 далее не перенаправляется. На хосте Б уже есть установка шлюза по умолчанию, поэтому он не испытывает необходимости в осуществлении запроса маршрутизатора.
Как следует из записей в табл. 4.4, хосты Windows 2000 можно настроить таким образом, что они не будут пользоваться запросами маршрутизатора; для этого необходимо изменить параметр реестра PerformRouterDiscovery.
Таблица 4.4. Параметр реестра PerformRouterDiscovery
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe t\Services\Tcpip\Parameters\lnterfaces\<interface>
Тип данных	REGJDWORD
Разрешенный диапазон	0 или 1
Значение по умолчанию	1
Присутствует ли по умолчанию	Да
Установка нуля в качестве значения параметра реестра PerformRouterDiscovery запрещает процесс поиска маршрутизатора.
На хостах Windows 2000 параметр реестра SolicitationAddressBCast можно настроить на применение широковещательного адреса подсети (например, 10.2.255.255 во время процесса поиска маршрутизатора) вместо группового адреса, общего для всех маршрутизаторов. Информация о параметре реестра SolicitationAddressBCast содержится в табл. 4.5.
Таблица 4.5. Параметр реестра SolicitationAddressBCast
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters\lnterfaces\<interface>
Тип данных	REGJDWORD
Разрешенный диапазон	0 или 1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
228
Гпава 4
Установка единицы в качестве значения параметра реестра SolicitationAddressBCast- разрешает хосту, работающему под управлением Windows 2000, использовать широковещательный адрес IP-подсети для выполнения ICMP-запросов маршрутизатора.
Извещение
о существовании маршрутизатора
Как утверждалось ранее, IP-хосты обычно узнают о существующих маршрутах с помощью ручной настройки параметра шлюза по умолчанию и процесса переадресации (рассматриваемого далее в этой главе). С другой стороны, настройки некоторых маршрутизаторов позволяют периодически отсылать ICMP-пакеты Router Advertisement (извещение о существовании маршрутизатора). Эти регулярные сообщения не означают, что ICMP является протоколом маршрутизации. Они лишь позволяют хостам узнать о доступных маршрутах (available routes), не предпринимая для этого активных действий.
Маршрутизаторы могут время от времени отсылать ICMP-сообщения Router Advertisement в ответ на ICMP-пакеты Router Solicitation. При такой конфигурации маршрутизаторы через определенные промежутки времени отправляют незапрашиваемые (unsolicited) извещения на групповой адрес 224.0.0.1, общий для всех хостов. Эти извещения обычно содержат IP-адрес маршрутизатора-отправителя. Кроме того, в них в поле Time То Live помещается значение времени жизни, определяющее, на протяжении какого периода времени принимающий хост должен сохранять запись маршрута. Значение времени жизни по умолчанию равняется 30 минутам. По истечении этого временного интервала устаревшая запись маршрута (expired route entry) удаляется из таблицы маршрутизации, и хост может либо отослать новый ICMP-пакет Router Solicitation, либо ждать прибытия ICMP-пакета Router Advertisement.
Частота извещений (advertising rate) по умолчанию варьирует от 7 до 10 минут.
ICMP-извещения маршрутизаторов в подробностях рассматриваются в документе RFC 1256, "ICMP Router Discovery Message" (ICMP-сообщения поиска маршрутизаторов).
Переадресация
При необходимости протокол ICMP может использоваться для указания хосту наилучшего маршрутизатора. К примеру, на рис. 4.7 адрес 10.2.99.99 — это установка шлюза по умолчанию для хоста А (10.2.10.2/16). Этот хост планирует установить соединение с хостом Б, IP-адрес которого — 10.3.71.7.
Протокол ICMP
229
достижения сети 10.3.0.0
Рис. 4.7. Маршрутизаторы отсылают хостам ICMP-сообщения Redirect, указывая оптимальный путь выхода пакета из локальной сети
Процесс разрешения маршрута для хоста А состоит из следующих шести этапов:
1.	ХостА применяет свою сетевую маску (255.255.0.0) по отношению к адресу назначения 10.3.71.7 и определяет, что хост Б находится в другой сети.
2.	Хост А просматривает свои таблицы маршрутизации в поисках записи маршрута хоста (host route entry) 10.3.71.7. Такой записи не существует.
3.	Хост А просматривает свои таблицы маршрутизации в поисках записи маршрута сети (network route entry) 10.3.0.0. Такой записи также не существует.
4.	Хост А просматривает свои таблицы маршрутизации в поисках записи шлюза по умолчанию. Установка шлюза по умолчанию для этого хоста — 10.2.99.99.
5.	Хост А просматривает ARP-кэш в поисках аппаратного адреса, соответствующего адресу 10.2.99.99, и находит его — 0х00107В8143ЕЗ.
6.	ХостА формирует пакет, предназначенный хосту с IP-адресом 10.3.71.7, и посылает его на аппаратный адрес шлюза по умолчанию.
Когда маршрутизатор 1 получает пакет, он выполняет все необходимые операции по обнаружению ошибок, отбрасывает заголовок Канального уровня и проверяет значение времени жизни в поле Time То Live (TTL) (оно должно быть больше единицы). После успешного завершения этого процесса маршрутизатор 1 просматривает свои таблицы маршрутизации, чтобы найти
230
Глава 4
подходящий для пакета путь. Оказывается, он не располагает сведениями о наилучшем пути из сети 10.2.0.0 к пункту назначения, находящемуся в сети 10.3.0.0, однако такой информацией обладает маршрутизатор 2 10.2.99.98. Таким образом, маршрутизатор 1 отсылает хосту А ICMP-пакет Redirect. В нем указывается, что 10.2.99.98 является оптимальным адресом маршрутизатора для доступа к сети 10.3.0.0. В результате хостА осуществляет повторную отправку пакета, но в этот раз он направляется на аппаратный адрес маршрутизатора 10.2.99.98.
Процесс переадресации обслуживает только IP-хосты; он не распространяется на IP-маршрутизаторы. Другими словами, если один маршрутизатор переадресовывает пакет другому маршрутизатору, который не может обеспечить оптимальный путь, первый маршрутизатор не получает ICMP-сообщения Redirect с указанием наилучшего пути. Пакет просто перенаправляется. Для определения оптимального пути используются мощные протоколы маршрутизации, применяющие метрику (metrics). Дополнительная информация о протоколах IP-маршрутизации содержится в главе 10.
Вопросы безопасности в протоколе ICMP
Поскольку протокол ICMP предоставляет информацию о сетевых конфигурациях и возможности соединения, он помогает узнать настройки и структуру сети. Кроме того, протокол ICMP может применяться как компонент процесса рекогносцировки (reconnaissance process), исследующего активные сетевые адреса и процессы. Часто реализация процесса рекогносцировки предшествует несанкционированному проникновению в сеть. Так как протокол ICMP можно приспособить для сбора информации, некоторые компании ограничивают объемы ICMP-трафика, проходящего через их сети.
Если хакер (hacker) решил проникнуть в сеть, он обычно начинает с составления списка IP-адресов, существующих в этой сети (за исключением случаев, когда в качестве мишени выступает отдельная известная система). Одним из методов получения такого списка является процесс пробы IP-хостов (host probe). Суть его состоит в отсылке PING-пакета (ICMP-пакета Echo Request) каждому хосту в пределах известного диапазона и запоминании поступивших ответов. Устройства, ответившие на подобный запрос, вполне реально могут стать мишенью хакера. В нормальных ситуациях следующим действием при подготовке атаки становится проба портов (port probe). Более подробная информация об этом содержится в главе 9.
Узнав адреса активных устройств сети, хакер может сконцентрировать на них следующий процесс рекогносцировки — пробу портов. Поскольку многие системы не отвечают на PING-запросы, отправленные на широковещательные адреса, типичные пробы IP-хостов отсылаются индивидуально на каждый возможный адрес посредством однонаправленных сообщений. Этот процесс обычно осуществляется не вручную, а с помощью сценария.
Протокол ICMP	231
На большинстве хакерских сайтов, например http://www.atstake.com/ research/tools/index, есть инструментальные средства, которые способны сканировать отдельные диапазоны IP-адресов.
Теперь, когда вы имеете представление о разнообразных способах использования протокола ICMP, в том числе и противоправного, самое время углубиться в исследование структуры ICMP-сообщений, а также различных типов сообщений, поддерживаемых протоколом ICMP. Эти темы составляют предмет обсуждения на протяжении оставшейся части настоящей главы.
Поля и функции ICMP-пакета
Единица в поле Protocol IP-заголовка обозначает, что за ним следует ICMP-заголовок (рис. 4.8). Он состоит из двух частей: постоянной и переменной. В этом разделе мы проанализируем обе эти части, рассмотрим функции различных типов ICMP-пакетов, а также разберем примеры ICMP-запросов и сообщений об ошибках, встречающихся в сетях.
Рис. 4.8. Единица, выступающая в качестве значения поля Protocol IP-заголовка, обозначает, что за ним следует ICMP-заголовок
Постоянные поля
ICMP-пакеты содержат лишь три обязательных поля, следующие за IP-заголовком: Туре (тип), Code (код) и Checksum (контрольная сумма). Тем не менее, в некоторых ICMP-пакетах присутствуют дополнительные поля, обеспечивающие информацию или подробности относительно сообщений.
232
Гпава 4
К примеру, ICMP-пакет Redirect должен содержать адрес шлюза для переадресации пакета. По получении этого пакета хост должен добавить в свои таблицы маршрутизации динамическую запись пути и сразу после этого начать применять полученную информацию маршрутизации. На рис. 4.8 изображены постоянные поля ICMP-заголовка.
Примечание
Дополнительная информация о структурах фреймов, перечисленных в этом разделе, содержится в документах RFC 792, RFC 1191 и RFC 1256.
Поле Туре
В поле Туре (тип) указываются типы ICMP-сообщений, отправка которых возможна в данной сети. Нижеследующий список базируется на документации агентства IANA (Агентство по выделению имен и уникальных параметров протоколов Internet). На сайте http://www.iana.org всегда можно просмотреть самую свежую версию этого списка.
В табл. 4.6 перечислены стандартные значения типов ICMP-сообщений.
Таблица 4.6. Значения типов ICMP-сообщений
Тип	Название	Справочная информация
0	Echo Reply (эхо-запрос)	RFC 792
1	Свободен	
2	Свободен	
3	Destination Unreachable (пункт назначения недостижим)	RFC 792
4	Source Quench (ослабление источника)	RFC 792
5	Redirect (переадресация)	RFC 792
6	Alternate Host Address (резервный адрес хоста)	Джон Б. Постел
7	Свободен	
8	Echo (эхо)	RFC 792
9	Router Advertisement (извещение о существовании маршрутизатора)	RFC 1256
10	Router Solicitation (запрос маршрутизатора)	RFC 1256
11	Time Exceeded (превышение лимита времени)	RFC 792
12	Parameter Problem (проблема параметра)	RFC 792
13	Timestamp (отметка времени)	RFC 792
Протокол ICMP
233
	Таблица 4.6 (окончание)
Тип Название	Справочная информация
14	Timestamp Reply (ответ на отметку времени)	RFC 792
15	Information Request (запрос информации)	RFC 792
16	Information Reply (ответ на запрос информации)	RFC 792
17	Address Mask Request (запрос маски адреса)	RFC 950
18	Address Mask Reply (ответ на запрос маски адреса)	RFC 950
19	Зарезервирован (в целях безопасности)	Solo
20— 29	Зарезервированы (для испытаний устойчивости)	Zsu
30	Traceroute (отслеживание маршрута)	RFC 1493
31	Datagram Conversion Error (ошибка преобразования дейтаграммы)	RFC 1475
32	Mobile Host Redirect (переадресация мобильного хоста)	Дэвид Джонсон
33	IPv6 Where-Are-You ("где ты" для IPv6)	Билл Симпсон
34	IPv6 l-Am-Here ("я здесь" для IPv6)	Билл Симпсон
35	Mobile Registration Request (запрос мобильной регистрации)	Билл Симпсон
36	Mobile Registration Reply (ответ на запрос мобильной регистрации)	Билл Симпсон
37	Domain Name Request (запрос доменного имени)	Билл Симпсон
38	Domain Name Reply (ответ на запрос доменного имени)	Билл Симпсон
39	SKIP (пропуск)	Марксон
40	Photuris	Билл Симпсон
41- 255	Зарезервированы	Джон Б. Постел
Из перечисленных в этом списке пакетов в настоящее время используются не все. Некоторые находятся в стадии разработки, другие применяются лишь в экспериментальных целях.
Примечание
Джон Б. Постел, упомянутый в списке, был одним из разработчиков протокола IP. Этот бородач с исключительными умственными способностями работал над созданием системы коммуникаций в сети Internet и миллионах частных сетей
234
Гпава 4
вплоть до своей безвременной смерти в октябре 1998-го. На сайте http://www.postel.org/remembrances можно узнать намного больше об этом светиле сетевых технологий.
Поле Code
В ICMP-пакетах многих типов присутствует поле Code (код). В табл. 4.7 перечислены коды, применяемые в ICMP-пакетах Destination Unreachable (пункт назначения недостижим).
Таблица 4.7. Тип 3: коды сообщений Destination Unreachable
Код	Описание
О	Net Unreachable (сеть недостижима)
1	Host Unreachable (хост недостижим)
2	Protocol Unreachable (протокол недостижим)
3	Port Unreachable (порт недостижим)
4	Fragmentation Needed and Don't Fragment Was Set (необходима фрагмента-
ция, установлено значение Don't Fragment Bit (запрет фрагментации))
5	Source Route Failed (исходный маршрут не функционирует)
6	Destination Network Unknown (сеть назначения неизвестна)
7	Destination Host Unknown (хост назначения неизвестен)
8	Source Host Isolated (исходный хост отсоединен)
9	Communication with Destination Network is Administratively Prohibited (сообщение с сетью назначения административно запрещено)
10	Communication with Destination Host is Administratively Prohibited (сообщение с хостом назначения административно запрещено)
11	Destination Network Unreachable for Type of Service (сеть назначения недостижима для типа службы)
12	Destination Host Unreachable for Type of Service (хост назначения недостижим для типа службы)
13	Communication Administratively Prohibited (сообщение административно запрещено)
14	Host Precedence Violation (нарушение приоритета хоста)
15	Precedence Cutoff in Effect (приоритет фактически не действует)
В табл. 4.8 перечислены коды, применяемые в ICMP-пакетах Redirect (переадресация).
Протокол ICMP
235
Таблица 4.8. Тип 5: коды сообщений Redirect
Код Описание
О Redirect Datagram for the Network (or subnet) (переадресация дейтаграммы для сети (или подсети))
1	Redirect Datagram for the Host (переадресация дейтаграммы для хоста)
2	Redirect Datagram for the Type of Service and Network (переадресация дей-
таграммы для типа службы и сети)
3	Redirect Datagram for the Type of Service and Host (переадресация дейтаграммы для типа службы и хоста)
В табл. 4.9 указан код, применяемый в ICMP-пакетах Alternate Host Address (резервный адрес хоста).
Таблица 4.9. Тип 6: код сообщений Alternate Host Address
Код	Описание
О	Alternate Address for Host (резервный адрес для хоста)
В табл. 4.10 перечислены коды, применяемые в ICMP-пакетах Time Exceeded (превышение лимита времени).
Таблица 4.10. Тип 11: коды сообщений Time Exceeded
Код Описание
0	Time to Live Exceeded in Transit (во время транзита истекло время жизни)
1	Fragment Reassembly Time Exceeded (превышен лимит времени на по-
вторную сборку пакета)
В табл. 4.11 перечислены коды, применяемые в ICMP-пакетах Parameter Problem (проблема параметра).
Таблица 4.11. Тип 12: коды сообщений Parameter Problem
Код	Описание
0 Pointer Indicates the Error (указатель обозначает ошибку)
1	Missing a Required Option (отсутствует необходимая опция)
2	Bad Length (некорректная длина)
236
Гпава 4
В табл. 4.12 перечислены коды, применяемые в ICMP-пакетах Photuris.
Таблица 4.12. Тип 40: коды сообщений Photuris
Код	Описание
О	Reserved (зарезервирован)
1	Unknown Security Parameters	Index	(неизвестный	показатель	параметров
безопасности)
2	Valid Security Parameters, but	Authentication Failed (разрешенные параметры
безопасности, но аутентификация не удалась)
3	Valid Security Parameters, but Decryption Failed (разрешенные параметры безопасности, но расшифровка не удалась)
Поле Checksum
Поле Checksum (контрольная сумма) обеспечивает обнаружение ошибок в пределах ICMP-заголовка. Поля, следующие вслед за полем Checksum, индивидуальны для каждого типа ICMP-сообщений. В очередном разделе мы рассмотрим наиболее распространенные типы ICMP-пакетов, разберем их коды и структуру.
Переменные структуры и функции
Некоторые ICMP-пакеты, такие как Redirect, содержат специальную информацию в своей ICMP-части. Эти пакеты обеспечивают поддержку дополнительных полей, рассматриваемых в этом разделе.
Типы 0 и 8:
пакеты Echo Reply (эхо-ответ) и Echo (эхо)
Тип 8 ICMP-сообщений соответствует пакетам Echo Request (эхо-запрос), а тип 0 используется для формирования пакетов Echo Reply (эхо-ответ). Значение в поле Code (код) этих пакетов всегда приравнивается к нулю. Оба этих типа ICMP-пакетов характеризуются одинаковой структурой, изображенной на рис. 4.9.
В документе RFC 792 указывается, что поля Identifier (идентификатор) и Sequence Number (порядковый номер) должны способствовать установлению соответствий между эхо-запросами и эхо-ответами. В качестве примера предлагается следующее: "идентификатор может использоваться для определения сеанса, подобно портам в протоколах TCP или UDP, а порядковый номер можно наращивать при каждой новой отсылке запроса, причем в эхо-ответе должны указываться те же значения, что и в эхо-запросе".
Протокол ICMP
237


0
0
0
0
Flags:
..0
Tip
i- -0
1.0
; 0
i 0
I- 0
:• 0
0
]- 0
I- 0
’~0
0
0x00 0x01
Packet Length:78 Tinestanp:	10:47:01.210000 01/02/2001
Ethernet Header Destination: 00:10:7B:81:43:S3 Source:	00:20:78:Bl:SA:80
Protocol Type:0x0800 IT Deader - Internet. Protocol Datagram
Рис. 4.9. Структура ICMP-пакетов Echo Request и Echo Reply
- 0
Version: Header Length: Type of Service: Frecedanoe; Routine, Total Length: Identifier: Fragmentation Flags. Fragrant Offset: Time To Live: Protocol: Header Checksum: Source IP Address; Pest. IP Address: No IP Options
(3 • V" ICMP ~ Internet Control
4
5	(20 bytes)
*00000000	i
Iterate 1 ZJeiay,	/tercel Throughput t Ztera.,
so	i!
4864
*000 Way Frapzterti Last FrapraeHt	.•
0	(0 bytes)
32
1 icmp	;
0x0659	i;
10,2.10.2
10.2.99.99
- 0 -  0 ..§ .. 0 .. 0
0
, 0
0
Messages Protocol
8 Scho Retries t
0
0x3A5C
0x0200
0x1100
ICMP Type:
Code:
Checks un:
Identifier:
Sequence Number •.
Sxti'a bytes (Padding):
Data: (32 bytes)
Frame Check Sequence: 0x00000000
0:	00	10	7B	81	43	ЕЗ	00	20	78	El	5A	80	08	00	45	00	..(.Ca. xaZ,.,E.
16:	00	3C	13	00	00	00	20	01	06	59	0A	02	0A	02	0A	02	. <	Y	
32:	63	63	08	00	ЗА	SC	02	00	11	00	61	62	63	64	65	66	cc..abcde f
48:	67	68	69	6A	6B	6C	6D	6E	6F	70	71	72	73	74	75	76	ghi jk lianop qr s tuv
64:	77	61	62	63	64	6S	66	67	68	69	00	00	00	00			uabcdefghi....
!<gOt Dl Next j
Рис. 4.10. ICMP-пакет Echo Request от хоста 10.2.10.2
238
Гпава 4
>•-•0 Flags:	0x00
:---ф Status:	0x01
к-ф Packet Length: 78
к-ф Timestamp:	10:47:01.212000 01/02/2001
В "IT* Ethernet Meader i i....^Destination: 00:20:78:El:SA:80
j j...Цр Source:	00:10:7B:81:43:E3
• t--0 Protocol Type: 0x0800 IF
ЙIP Header - Internet Protocol Datagram
; !••• Version:
i j- ф Header length:
Type of Service:
..Q Freaedence: RoutxMe, . ф Total Length:
.ф Identifier:
fragmentation flags:
k-0 Fragment Offset:
l- ф Time To Live:
t-ф Protocol:
; I.ф Header Checksum:
; I.Source IP Address:
5 :.@ Best. IP Address:
I !.0 No IP Options
Й ICMP " Internet Control - $ ICMP Type:
4 5	(20 bytes)
*00000000
Norxnsi Daley.' iVoraal 27ix’oug'hp«t, 60 4864 *000 Afey Frdsiaenfc Lest Fragment 0	(0 bytes)
255 1 rcw? 0x27S8 10.2.99.99 10.2.10.2
Messages protocol 0 Saho Reply
Worn,
.0	Code:	0
-• ф	Checksum:	0x42SC
.0	Identifier:	0x0200
I.ф	Sequence Number:	0x1100
ф Extra bytes <Paddi»g9 ф Data: (32 bytes)
ф Brains Check Sequence: 0x00000000
j	0:	00	20	78	Bl	SA	80	00	10	7B	81	43	S3	08	00	45	00	. x4Z...(.Ca..В.
!	16:	00	3C	13	00	00	00	FT	01	27	58	0A	02	63	63	0Л	OZ	.<.'X..CC..
j	32:	0A	02	00	00	4Z	SC	02	00	11	00	61	62	63	64	65	66	...,B\....abedet
!	48:	67	68	69	6A	6B	6C	6D	6B	6F	70	71	72	73	74	75	76	ghijklmnopqrsCuv
| 64: 77 61 62 63 64 6S 66 67 68 69 00 00 00 00	wabedefghi....
Рис. 4.11. ICMP-пакет Echo Response от хоста 10.2.99.99
PING-пакеты в Windows 2000 обладают следующими характеристиками:
□	значение поля Identifier приравнено к 256 в десятичном выражении (или 0x100);
□	при отправке первого эхо-запроса значение поля Sequence Number (порядковый номер) приравнивается к числу, кратному 256 (0x100). В каждом последующем эхо-пакете это значение увеличивается на 256 в десятичном выражении (0x100);
□	поле Data (данные) содержит значение "abcdefghijklmnopqrstuvwabcdefghi".
Протокол ICMP
239
На рис. 4.10 изображена расшифровка эхо-пакета, отправленного хостом 10.2.10.2 хосту 10.2.99.99. На рис. 4.11 показан соответствующий ответ.
На рис. 4.10 и 4.11 значения полей Identifier (идентификатор) и Sequence Number (порядковый номер) одинаковы. Данные, содержащиеся в ICMP-пакетах, также идентичны.
Тип 3: пакеты Destination Unreachable
Часто для тщательного поиска неисправностей в сети применяют ICMP-пакеты Destination Unreachable (пункт назначения недостижим). Некоторые версии этих пакетов могут выявлять ошибки конфигурации или служб, наличествующие в сети. Структура ICMP-пакетов Destination Unreachable изображена на рис. 4.12.
IP HEADER
о
15Щ6.
31
TYPE = 3
CODE = 0
THROUGH 15
CHECKSUM
—H——
UNUSED
INTERNET HEADER + 8 BYTES OF ORIGINAL DATA DATAGRAM
Рис. 4.12. Структура ICMP-пакета Destination Unreachable
Как показано на рис. 4.12, хост, отсылающий пакет Destination Unreachable (пункт назначения недостижим), должен возвратить IP-заголовок и 8 байт исходной дейтаграммы, которая инициировала этот ответ. К примеру (рис. 4.13), если IP-хост (хостА) отсылает DNS-запрос другому хосту (хоту Б), который не поддерживает DNS, то ответное ICMP-сообщение Destination Unreachable содержит IP-заголовок и первые 8 байт данных, присутствовавших в исходном DNS-запросе. Взглянув на этот ICMP-пакет, мы можем точно определить, что инициировало ICMP-ответ, кто отправил исходный проблемный пакет, а также номера портов источника и назначения, содержащиеся в этом исходном пакете (поскольку эти номера указываются в пределах 8 байт, следующих за IP-заголовком).
Наличие в одном ICMP-пакете двух IP-заголовков может сбить с толку. Просмотрев пакет от начала до конца, вы сможете определить, какой IP-заголовок используется для проведения дейтаграммы по сети (этот заголовок в пакете указывается в первую очередь), а какой — для идентификации проблемы (второй IP-заголовок).
240
Гпава 4
DNS-запрос
Ethernet-заголовок
IP-заголовок: от 10.2.10.2 в направлении 10.3.71.7 UDP-заголовок: процессу DNS
Справка по DNS: www.packet-level.com
Хост Б
10.3.71.7
Хост А	ICMP-ответ
10.2. Ю.2	(2)—
Ethernet-заголовок
IP-заголовок: от 10.3.71.7
ICMP-заголовок: Пункт/порт назначения недостижим
IP-заголовок: от 10.2.10.2 в направлении 10.3.71.7
UDP-заголовок: процессу DNS
Рис. 4.13. Многие типы ICMP-пакетов включают в ICMP-ответы блоки данных инициирующих пакетов
| Примечание
Несмотря на то, что документ RFC 792 требует отправки в составе ICMP-ответа лишь восьми байт, следующих за IP-заголовком, в подобных ситуациях допустимо и даже желательно отсылать как можно больше данных.
Как показано на рис. 4.12, в настоящее время для указания номера типа ICMP-сообщения Destination Unreachable (пункт назначения недостижим) в поле Code выделяется в общей сложности 16 возможных комбинаций кодов. Они разрешены RFC, но многие из них используются редко. В этом разделе вы сможете ознакомиться с каждым кодом индивидуально.
Код 0: Net Unreachable
Когда маршрутизатор отсылает пакет с кодом 0: Net Unreachable (сеть недостижима), это значит, что ему известен номер сети, указанный во входящем пакете, но он полагает, что эта сеть в данный момент не функционирует — возможно, она располагается на слишком большом расстоянии. В теории, этот код прекрасно определен; тем не менее, возникает вопрос: как маршрутизатор узнает, какая часть IP-адреса относится к сети, а какая — к хосту? В настоящее время сети активно делятся на подсети, при этом не существует стандартных правил бесклассовой междоменной маршрутизации (CIDR) и расположения масок подсети переменной длины. Если маршрутизатор не может переадресовать пакет, т. к. он не содержит записи, обозначающей пункт назначения, то его отправитель, скорее всего, получит сообщение с кодом 1: Host Unreachable.
Протокол ICMP
241
Код 1: Host Unreachable
Если маршрутизатор не в состоянии определить хост назначения, он отсылает этот ответ. В настоящее время он также отправляется в случаях, когда сеть неизвестна. На рис. 4.14 изображено расшифрованное сообщение Host Unreachable (хост недостижим). Взглянув на ICMP-заголовок и на второй IP-заголовок этого пакета (значение в поле Identifier которого равно 9984), мы сможем определить причину появления сообщения об ошибке. Очевидно, что устройство 10.2.10.2 отправило ICMP-пакет Echo Request (эхо-запрос) несуществующему хосту 10.4.88.88.

iciiip-ileU -urn. pH
	 •• 0	Flags:	0x00 '• ф	Status:	0x01 ;.... 0	Packet Length: 74 :	0	Tinestamp:	11:38:59.679000	01/02/2001	
□ •*^яа Ethernet Header Header - Internet Protocol Datagram Й V" TCMP - Internet Control Messages Protocol i 1....ф ICMP Type:	3 Destindtxon	Itareachehle Code;	1 Host Unreachable Checksum:	0xA7A2 Vnused (must be zero): 0x00000000 -0 :•••$ Header of packet that caused evroi' follows . Й'^Г" TP Header - Internet Protocol Datagram ;• 0 Version:	4 :•• • ф Header* Length:	5 (20 bytes) ;	0 Type of Service:	% 00000000	
Precedence: Routine.- ifforael Delay, Noriiel ЗЪгои&Ьриt :	0	Total Length:	60 ;	0	Identifier:	9984 ;		0 Fragmentation Flags; % 000 May Усаутаеп1:- Last Frayza&nt Q	Fragment Offset:	0	(0 bytes) :	$	Time To Live:	31 Protocol:	1 ICMP ' !	Header Checksum:	0xFE61 I	;	ДЦ,	Source IP Address:	10.2.10.2 !	Я	Best. IP liddress:	10.4.8S.88 • •фКоХР Options < Й-Г ICMP ~ Internet Control Messages Protocol i	- ф ICMP Type.	8 Scho P.eques t \	- ф Code:	0 (	!•	Checksum:	0x26SC Identifier:	0x0200 1	Sequence Number:	0x2500 )	 Q Frame Check Sequence: 0x00000000	Пети
t 0: 00 20 78 El SA 80 00 10 7B 81 43 E3 08 00 45 00 . xa2...(.	С a. . К.
;	16: 00 38 00 5A 00 00 FF 01 ЗА 02 0A 02 63 63 0A 02	.8.2....:.	
(	32: 0A 02 03 01 A7 A2 00 00 00 00 45 00 00 3C 27 00				W	1	V.'  . * 7.	T	;
:	lai Ывхт 1	
Рис. 4.14. ICMP-пакет указывает, что хост назначения, 10.4.88.88, не найден
9 Зак. 321
242
Гпава 4
Примечание '/sj
На рис. 4.14 Ethernet- и IP-заголовки представлены в сокращенном виде, что сделано для того, чтобы как можно полнее показать структуру ICMP-ответа.
Код 2: Protocol Unreachable
Это сообщение, которое может быть отправлено хостом или маршрутизатором, указывает, что протокол, определенный в IP-заголовке, невозможно обработать. Например, если IGMP-пакет отправить хосту, применяющему стек TCP/IP и не поддерживающему протокол IGMP (Internet Group Management Protocol, протокол межсетевого протокола управления группами), он отошлет исходному отправителю сообщение с кодом Protocol Unreachable (протокол недостижим). Этот ответ связывается исключительно со значениями в поле Protocol IP -заголовка.
Код 3: Port Unreachable
Это сообщение с кодом 3: Port Unreachable (порт недостижим), которое может быть отправлено хостом или маршрутизатором, говорит о том, что его отправитель не поддерживает указанный процесс или приложение. К примеру, если хост отсылает пакет службы имен NetBIOS (порт 137) другому хосту, который не поддерживает эту службу, ICMP-ответ будет иметь структуру, показанную на рис. 4.15.
Код 4: Fragmentation Needed and Don’t Fragment Was Set
Для этого ICMP-ответа с кодом 4: Fragmentation Needed and Don't Fragment Was Set (необходима фрагментация, установлено значение Don't Fragment Bit) существуют две разновидности: стандартная версия, в которой просто констатируется, что по прибытии на маршрутизатор пакет, который необходимо было фрагментировать, содержал запрет фрагментации, и версия PMTU, в которую включается информация об ограничивающем канале.
Как показано на рис. 4.16, маршрутизаторы, поддерживающие функцию определения максимальной единицы передачи маршрута (PMTU), помещают сведения о единице передачи ограничивающего канала в 4-байтную область, которая в документе RFC 792 обозначается как "неиспользуемая".
Код 5: Source Route Failed
Отсылая ICMP-ответ с кодом 5: Source Route Failed (исходный маршрут не функционирует), маршрутизатор сообщает, ,что он не может применить точный или свободный путь маршрутизации, указанный в исходном пакете. В случае с точным путем, возможно, что данный маршрутизатор не имеет доступа к следующему маршрутизатору, определенному в перечне пути. Если же речь идет о свободном пути, вероятно, что данный маршрутизатор не имеет информации о маршрутизаторе следующего транзита, который мог бы перенаправить пакет.
Протокол ICMP
243
; ; 0 Flags:	0x00		...
1 		0 Status:	0x01		
s 		0 Packet Length:74		
I !	ф Tiaestmp:	10:01:23.298000 01/02/2001		
'	Ethernet Meader		
[£!••“$ IP Header - Internet Protocol Datagram		
; (-1	ICMP -• Internet Control Messages Protocol > >	0 ICMP Type:	3 DestxiMtieM Unreachabl		' If*
! ! i--0 Code:	3 Fort tfnr'sachabl's >  ••• 0 Checksum:	0x4FF8		
•		0 Vnused (must be zero) : 0x00000000 j i h Ф :	’--0 /fed tier of p&ak&t that caused error follows.		
i i-l-fr* IP Meader - Internet Protocol Datagram. h-0 Version:	4		
i >	:- ф Meader Length:	5	(20 bytes)		f
! !	• 0 Type of Service:	$00000000		
I ! r-• 0 Precedence: Routine, Normal Delay.. tfc-rael Throughput,		
i i ;	0 Total Length:	78		
i : i	0 Identifier:	768 ;	0 Fragmentation Flags: $000 May У recant Last		
: ; r- 0 Fragment Offset:	0	(0 bytes)		
< :	:.--.0 Tuivi To Live:	128		
‘ ) : 0 Protocol:	17 ЯМ?		
’ ; ?•••• 0 Header Checksum:	0x2339		>
| i	Source IP Address:	10.1.0.99 i i-.g Dest. IP Address:	10.1,0.2 I I : - 0 No TP Options i HUBl> - User Datagram Protocol 1 i i--0 Source Port:	137 FISTBIOS Nene Service		
• •	0 Destination Port:	137		
I | k-0 Length:	S8 } :-0 Checksum:	OxABBS : FV ’ NetBIOS Name Service - Network Basic Input/Output	SyBt&xn.	
(	0 Identification:	0x0000	_		««Jil
0:	00 20	78	El	SA 80	00	00	IB	09	F3 D6	08	00	45	00	. xaZ.	
16:	00 38	08	00	00 00	20	01	7E	5F	OA 01	00	02	0A	01	.8... .	Xi
32:	00 63	03	03	4F F8	00	00	00	00	4S 00	00	4E	03	00	. c. . 0.	ud,
IJcv J nJ.
Рис. 4.15. ICMP-пакет указывает, что порт назначения (порт 137), не поддерживается хостом назначения
Рис. 4.16. Структура ICMP-сообщения Destination Unreachable для определения максимальной единицы передачи маршрута (PMTU)
244
Глава 4
Код 6: Destination Network Unknown
ICMP-пакет с кодом 6: Destination Network Unknown (сеть назначения неизвестна) уже устарел. Маршрутизаторы отсылают сообщение с кодом 1: Host Unreachable (хост недостижим), когда они не имеют информации о сети назначения и, соответственно, не могут перенаправить в нее пакет.
Код 7: Destination Host Unknown
Маршрутизатор отсылает ICMP-пакет с кодом 7: Destination Host Unknown (хост назначения неизвестен) в том случае, если он не может применить прямо связанный канал — например, двухточечный.
Код 8: Source Host Isolated (исходный хост отсоединен)
ICMP-пакет с кодом 8: Source Host Isolated (исходный хост отсоединен) уже устарел. Раньше маршрутизаторы отсылали этот пакет, указывая, что хост отсоединен и прокладка маршрутов для его пакетов невозможна.
Код 9: Communication with Destination Network
Is Administratively Prohibited
Маршрутизатор отсылает ICMP-пакет с кодом 9: Communication with Destination Network Is Administratively Prohibited (сообщение с сетью назначения административно запрещено), сообщая, что его конфигурация предусматривает блокирование доступа к сети назначения. Поскольку блокировка передач может осуществляться по соображениям безопасности, большинство маршрутизаторов не генерирует эти ICMP-сообщения.
Код 10: Communication with Destination Host
Is Administratively Prohibited
Маршрутизатор отсылает ICMP-пакет с кодом 10: Communication with Destination Host Is Administratively Prohibited (сообщение с хостом назначения административно запрещено), сообщая, что его конфигурация предусматривает блокирование доступа к хосту назначения. Опять же, по причинам, связанным с обеспечением безопасности, большинство маршрутизаторов не генерирует такие ICMP-сообщения.
Код 11: Destination Network Unreachable
for Type of Service
Маршрутизатор отсылает ICMP-сообщение с кодом 11: Destination Network Unreachable for Type of Service (сеть назначения недостижима для типа службы), указывая, что тип службы (Type of Service, TOS), запрошенный во входящем IP-заголовке, или TOS по умолчанию (0), недоступен посредством этого маршрутизатора для сети назначения. Сообщения этого типа могут отправлять только те маршрутизаторы, которые поддерживают TOS.
Протокол ICMP
245
Код 12: Destination Host Unreachable for Type of Service
Маршрутизатор отсылает ICMP-сообщение с кодом 12: Destination Host Unreachable for Type of Service (хост назначения недостижим для типа службы), указывая, что тип службы (TOS), запрошенный во входящем IP-заголовке, или TOS по умолчанию (0), недоступен посредством этого маршрутизатора для хоста назначения. Сообщения этого типа могут отправлять только те маршрутизаторы, которые поддерживают TOS.
Код 13: Communication Administratively Prohibited
Маршрутизатор отсылает ICMP-сообщение с кодом 13: Communication Administratively Prohibited (сообщение административно запрещено) в том случае, когда маршрутизация пакета невозможна по причине фильтрации пакетов. Поскольку фильтрация пакетов обычно реализуется исходя из соображений безопасности, многие маршрутизаторы не отсылают такие ответы, т. к. в противном случае они могли бы обнаружить настройки фильтрации.
Код 14: Host Precedence Violation
Маршрутизатор отсылает ICMP-сообщение с кодом 14: Host Precedence Violation (нарушение приоритета хоста), указывая, что значение в поле Precedence, определенное в исходном IP-заголовке, недействительно на хосте, в сети или порте назначения. Это приводит к тому, что пакет-нарушитель отвергается.
Код 15: Precedence Cutoff in Effect
Маршрутизатор отсылает ICMP-сообщение с кодом 15: Precedence Cutoff in Effect (приоритет фактически не действует) в случаях, когда сетевой администратор определил минимальный уровень приоритета, необходимый для получения права на обслуживание маршрутизатором, а полученный пакет характеризуется более низким уровнем приоритета. Такие пакеты отвергаются, в результате чего возможна передача ICMP-сообщения этого типа.
Тип 4: Source Quench
С помощью сообщения Source Quench (ослабление источника) маршрутизатор или хост имеет возможность известить о том, что он перегружен. К примеру, если маршрутизатор перегружен и начинает удалять пакеты, он может отослать хостам пакет Source Quench, требуя сокращения частоты отсылки данных или полного прекращения этой передачи. В результате уменьшается объем исходящего трафика и, следовательно, маршрутизатор или хост получает время на преодоление перегрузки.
Когда хост Windows 2000 получает сообщение Source Quench, он проверяет, есть ли в этом сообщении сведения о проблемах с передачами TCP. Если
246
Гпава 4
это так, то хост Windows 2000 интерпретирует полученное сообщение Source Quench как потерянный сегмент TCP. По умолчанию многие современные маршрутизаторы не отсылают такие сообщения, поскольку они могут усугубить перегрузку проблемного канала.
Примечание
Более подробная информации о контроле перегрузок TCP содержится в главе 5.
Структура ICMP-пакетов Source Quench (ослабление источника) изображена на рис. 4.17.
Рис. 4.17. Структура ICMP-пакета Source Quench
Тип 5: Redirect
Маршрутизаторы отсылают хостам ICMP-сообщения Redirect (перенаправление), указывая, что планируемый маршрут существует. Структура пакетов этого типа изображена на рис. 4.18. 4-байтное поле Code (код) в ICMP-пакете Redirect выделяется для указания желаемого адреса шлюза.
IP HEADER
О
31
TYPE = 5
CODE = 0, 1,2 or 3
CHECKSUM
GATEWAY INTERNET ADDRESS
INTERNET HEADER + 8 BYTES OF ORIGINAL DATA DATAGRAM
Рис. 4.18. Структура ICMP-пакета Redirect
Протокол ICMP 247
В идеале клиенты должны обновлять свои таблицы маршрутизации, фиксируя оптимальный путь для будущих передач.
Код 0: Redirect Datagram for the Network or Subnet
Маршрутизатор может послать ICMP-сообщение с кодом 0: Redirect Datagram for the Network or Subnet (переадресация дейтаграммы для сети или подсети), если он имеет информацию о лучшем пути к сети назначения. Поскольку маршрутизаторы не умеют определять, какая часть адреса назначения является сетевой, а какая — хостовой, в ICMP-ответах Redirect они используют код 1.
Код 1: Redirect Datagram for the Host
Маршрутизатор может отослать ICMP-сообщение с кодом 1: Redirect Datagram for the Host (переадресация дейтаграммы для хоста), если он имеет информацию о лучшем пути к хосту назначения. Эта разновидность ICMP-сообщений Redirect встречается в сетях чаще всего. На рис. 4.19 изображен расшифрованный ICMP-пакет Redirect. В нем маршрутизатор 10.2.99.99 (IP-адрес источника в IP-заголовке) информирует хост 10.2.10.2 (IP-адрес назначения в IP-заголовке) о том, что лучшим путем к хосту назначения является 10.2.99.98. Рис. 4.7 иллюстрирует схему сети, соответствующую процессу Redirect протокола 1СМР.
Код 2: Redirect Datagram
for the Type of Service and Network
Посылая ICMP-сообщение с кодом 2: Redirect Datagram for the Type of Service and Network (переадресация дейтаграммы для типа службы и сети), маршрутизатор указывает на существование лучшего пути доступа к сети назначения при использовании желаемого типа службы (TOS). Опять же, поскольку маршрутизаторы не могут определять, какая часть адреса назначения является сетевой, а какая — хостовой, то в ответах, касающихся TOS, они применяют код 3.
Код 3: Redirect Datagram for the Type of Service and Host (переадресация дейтаграммы для типа службы и хоста)
Отсылая ICMP-сообщение с кодом 3: Redirect Datagram for the Type of Service and Host (переадресация дейтаграммы для типа службы и хоста), маршрутизатор утверждает, что существует лучший путь к хосту назначения при помощи желаемого типа службы.
248
Гпава 4
i-w
Й "’tT* Ethernet Header
Destination: 00:20:78:El:5A:80
Source:	00:10:7B:81:43:E3
Protocol Type.-0x0800 IF
i аТ“	Header - Internet Protocol Datagram		
Н - $	Version:	4	
 : i-Q	Header Length.	5	(20 bytes)	
i i	Type of Service.	% 08000000	
: ; ; 0	Precedence: "Rozttzne,	Лтоzwa 2 Del a у,	U.
И г О	Total Length:	56	
Н |--ф	Identifier:	25149	
 l !	0	Fragment ation Flag&-.	% 0 0 0 ?Лг у Fra ди an t	
i :	Fragment Offset:	0	(0 bytes)	
К i -0	Time To Live:	255	
	Protocol:	1 1Ш	
: ' :-0	He ade r C he c te uni.	0xD81E	
 : i-3	Source IP Address:	10.2.99.99	
! > r® • -0	Best. IP Address' No IP Options	10.2.10.2	
Last

Messages Pi'otocol
ICMP - Internet Control
	ICMP Type	5 jRedzrect
: Г-0	Code 	1 for Ros t
i H. 0	Checksum;	0x383E
i AS	Gateway IP	Address-.	10.2.99.98
; :	0		
; a: *	Heydar of	packet that ceuse'i ez-ror
’c>22ou-*3 .
Header - Internet Protocol Datagram ' Version: Header Length' Type оf Service: Fr-ecedarjce; Routine, Total Length: Identifier:
Fragmentat ion Flags:
El T И i M I i о i ' H : |...0 i Г  $ i н
J J--& Fragmid Offset
...........................>
S (20 byt.es) toooooooo
Normal Delay, iVoratdl Throughput,
€0
14848
% 000 May Fragnuafjl Last Frapzxent
0	(0 bytes)
&£>
0:	00	20	78	El	SA	80	00	10	7B	81	43	E3	08	00	45	00	. x&Z..	. {. C a. . E; a
16:	00	38	6Z	3D	00	00	FF	01	D8	IE	OA	02	63	63	OA	02	.8b=...		с	c.	.
32:	0A	02	OS	01	38	3E	0A	02	63	62	45	00	00	3C	ЗА	00	. . . .8>.	. cbE. .	:
О?
Рис. 4.19. Шлюз по умолчанию 10.2.99.99 не может предложить лучшего пути
Типы 9 и 10: Router Advertisement
и Router Solicitation
Как утверждалось ранее, в разд. "Поиск маршрутизатора" этой главы, хосты отсылают пакеты Router Solicitation (запрос маршрутизатора), а маршрутизаторы в ответ отправляют пакеты Router Advertisement (извещение маршрутизатора). Структура ICMP-пакетов Router Solicitation изображена на рис. 4.20.
Протокол ICMP
249
0
IP HEADER
31
TYPE= 10
CODE = 0
CHECKSUM
RESERVED
Рис. 4.20. Структура ICMP-пакета Router Solicitation
По своей структуре пакеты Router Solicitation чрезвычайно просты. В них не содержится никакой информации, кроме значений типа (поле Туре) и кода (поле Code) ICMP-сообщений. В разд. "Поиск маршрутизатора" этой главы указывается, что такие пакеты по умолчанию отсылаются на групповой адрес 224.0.0.2, общий для всех маршрутизаторов. В некоторых случаях конфигурация хоста позволяет отправлять эти пакеты на широковещательный адрес (если локальный маршрутизатор не может обрабатывать групповые пакеты).
Структура ICMP-пакетов Router Advertisement изображена на рис. 4.21.
IP HEADER
0
J5
31
TYPE = 9
CODE = 0
CHECKSUM
II OF ADDRESSES
ADDRESS SIZE
LIFETIME
ROUTER ADDRESS 1
PRECEDENCE LEVEL 1
ROUTER ADDRESS 2

PRECEDENCE LEVEL 2
Рис. 4.21. Структура ICMP-пакета Router Advertisement
После поля Checksum (контрольная сумма) в ICMP-пакетах Router Advertisement следуют перечисленные далее поля:
□	of Addresses (№ адресов) — указывает количество адресов маршрутизатора, наличествующих в пакете;
□	Address Size (длина адреса) — содержит количество 4-байтных приращений, применяемых для определения каждого адреса маршрутизатора, указанного в пакете. Поскольку эта версия содержит 4-байтное поле
250
Гпава 4
Precedence (приоритет), а также поле IP Address (IP-адрес) аналогичного объема, то значение в поле Address Size приравнивается к двум (2x4 байт);
□	Lifetime (время жизни) — предназначено для указания максимального периода времени в секундах, в течение которого предоставленная информация о маршрутизаторе считается действительной;
□	Router Address (адрес маршрутизатора) — указывает IP-адрес маршрутизатора, являющегося отправителем сообщения;
□	Precedence Level 1 (уровень приоритета 1) — содержит значение, обозначающее старшинство каждого из указанных адресов маршрутизатора. Чем выше значение, тем выше приоритет адреса. Более высокий уровень приоритета может задаваться в настройках маршрутизатора (если он поддерживает эту возможность). Это делается для увеличения вероятности того, что данный маршрутизатор будет признан локальными хостами шлюзом по умолчанию.
Тип 11: Time Exceeded
ICMP-пакеты типа 11: Time Exceeded (превышение лимита времени) могут отсылать как маршрутизаторы (сообщения с кодом 0: Time to Live Exceeded in Transit— время жизни истекло во время транзита), так и хосты (сообщения с кодом 1: Fragmentation Reassembly Time Exceeded — превышен лимит времени на повторную сборку пакета). Структура ICMP-пакетов Time Exceeded изображена на рис. 4.22.
IP HEADER
0.
15 16
TYPE = 11
CODE = 0 or 1
CHECKSUM

UNUSED
INTERNET HEADER + 8 BYTES OF ORIGINAL DATA DATAGRAM
--------1--------------------------------------I ________
Рис. 4.22. Структура ICMP-пакета Time Exceeded
Код 0: Time to Live Exceeded in Transit
Отсылая ICMP-сообщение с кодом 0: Time to Live Exceeded in Transit (время жизни истекло во время транзита), маршрутизатор указывает, что значение времени жизни TTL, указанное в поле Time to Live полученного им пакета, равнялось единице. Так как маршрутизаторы не могут уменьшить значение TTL до нуля и перенаправить пакеты с подобным значением, они вынуждены отвергать их и отсылать ICMP-сообщения этого типа.
Протокол ICMP ?51
Код 1: Fragment Reassembly Time Exceeded
Хост отправляет ICMP-сообщение с кодом 1: Fragment Reassembly Time Exceeded (превышен лимит времени на повторную сборку пакета), если он не получает все фрагменты пакета до момента истечения (в секундах времени удержания) лимита времени, определяемого значением TTL первого полученного пакета.
Примечание
Сообщение с кодом 1 (Fragment Reassembly Time Exceeded) может быть отправлено и маршрутизатором, если он действует как хост и занимается повторной сборкой пакетов.
Когда первый пакет из набора фрагментов достигает пункта назначения, его значение TTL интерпретируется как "оставшееся время жизни в секундах". Секундный таймер начинает отсчет. Если до окончания работы таймера на хост не пребывают все оставшиеся фрагменты, то весь набор признается недействительным. В результате получатель отсылает сообщение обратно создателю набора фрагментов, заставляя его выполнить повторную отправку пакета.
Тип 12: Parameter Problem
Эти сообщения освещают ошибки, не предусмотренные в других ICMP-сообщениях. Структура ICMP-пакетов Parameter Problem (проблема параметра) изображена на рис. 4.23.
j
о
TYPE = 12
IP HEADER 15 16	।	31
CODE =0,1, or 2	CHECKSUM
POINTER	UNUSED
INTERNET HEADER + 8 BYTES OF ORIGINAL DATA DATAGRAM
Рис. 4.23. Структура ICMP-пакета Parameter Problem
Код 0: Pointer Indicates the Error
ICMP-сообщение с кодом 0: Pointer Indicates the Error (указатель обозначает ошибку) содержит поле Pointer, определяющее позицию в IP-заголовке и дейтаграмме, на которой произошла ошибка.
252
Гпава 4
Код 1: Missing a Required Option
ICMP-сообщение об ошибке с кодом 1: Missing a Required Option (отсутствие необходимой опции) указывает, что отправителю необходима некая дополнительная информация в поле Option исходного пакета.
Код 2: Bad Length
ICMP-сообщение с кодом 2: Bad Length (некорректная длина) означает, что структура исходного пакета характеризуется некорректной длиной.
Типы 13 и 14: Timestamp и Timestamp Reply
ICMP-сообщение этого типа задумывалось как метод получения 1Р-хостом информации о текущем времени. Возвращаемое значение выражается в миллисекундах начиная с полуночи, т. е. используется стандарт всемирного времени (Universal Time, UT), ранее известный под названием среднего времени по Гринвичу (Greenwich Mean Time, GMT). ICMP-пакеты Timestamp (отметка времени) и Timestamp Reply (ответ на отметку времени) характеризуются одной и той же структурой, изображенной на рис. 4.24.
IP HEADER
О
16
31
TYPE = 13 or М	CODE = 0 or 1	CHECKSUM
IDEN	IIEIER	SEQUENCE NUMBER
	ORIGINATE	TIMESTAMP
	*	1 RECEIVE TIMESTAMP t	i	
		1	1 TRANSMIT TIMESTAMP 	1	1		
Рис. 4.24. Структура ICMP-пакетов Timestamp и Timestamp Reply
Инициатор запроса вводит в поле Originate Timestamp (исходная отметка времени) время на момент его отсылки. Получатель вводит значение текущего времени в поле Receive Timestamp (отметка времени получения) во время обработки пакета. Впоследствии, при отправке пакета инициатору запроса, получатель еще раз помещает значение текущего времени, но уже в поле Transmit Timestamp (отметка времени отправки).
Некоторые другие протоколы, такие как NTP (Network Time Protocol, синхронизирующий сетевой протокол), обеспечивают более мощный и функциональный метод временной синхронизации.
Протокол ICMP
253
Типы 15 и 16: Information Request и Information Reply
Эти ICMP-сообщения позволяют хосту выяснить, в какой сети он находится. Оба ICMP-пакета — Information Request (запрос информации) и Information Reply (ответ на запрос информации) — имеют одинаковую структуру, изображенную на рис. 4.25.
IP HfАИЛ
v 			 j TYPE = 15 or 16 *	coot = 0	Щ			 CHECKSUM
IDEN	flFIER	I SEQUENCE NUMBER 	 	i	
Рис. 4.25. Структура ICMP-пакетов Information Request и Information Reply
Для применения этой возможности хост должен отправить пакет Information Request (запрос информации), установив нули в полях Source IP Address (IP-адрес источника) и Destination IP Address (IP-адрес назначения). Аппаратный адрес назначения должен быть широковещательным. Маршрутизаторы отвечают на подобный запрос с помощью пакетов Information Reply (ответ на запрос информации), причем IP-заголовок в ответах содержит сетевой адрес. Таким образом, хосты получают возможность узнать свои сетевые адреса.
Типы 17 и 18: Address Mask Request и Address Mask Reply
ICMP-процессы запроса маски адреса и ответа на него призваны обеспечить бездисковые хосты методом получения информации об их сетевых масках. ICMP-пакеты Address Mask Request (запрос маски адреса) и Address Mask Reply (ответ на запрос маски адреса) применяют структуру, показанную на рис. 4.26.
Рис. 4.26. Структура ICMP-пакетов Address Mask Request и Address Mask Reply
254
Гпава 4
Тип 30: Traceroute
ICMP-пакет типа 30: Traceroute (отслеживание маршрута) довольно интересен. Его спецификация содержится в документе RFC 1393, но в настоящее время он не используется, поскольку требует реализации дополнительных возможностей на IP-маршрутизаторах, подвергаемых отслеживанию; кроме того, он предусматривает добавление в IP-пакет нового элемента. В принципе, процесс отслеживания маршрута предполагает, что хост должен отослать в пункт назначения IP-пакет с новым элементом Traceroute (IP-пакет Traceroute Option — элемент отслеживания маршрута). После этого из пункта назначения отсылается IP-пакет Traceroute Option Reply (ответ на элемент отслеживания маршрута). При переадресации этих пакетов маршрутизаторы, находящиеся на их пути, автоматически отсылают ICMP-пакеты Traceroute Return (возврат отслеживания маршрута) хосту, инициировавшему процесс Traceroute. Этот ICMP-пакет — Traceroute Return — содержит информацию, заимствованную из IP-пакетов Traceroute Option Outbound (отсылка элемента отслеживания маршрута) и Return во время их прохождения через локальный маршрутизатор.
Структура ICMP-пакетов Traceroute изображена на рис. 4.27.
IP HEADER

Дб.
31
TYPE = 30
CODE = 0 or 1
CHECKSUM
IDENTIFIER
UNUSED
OUTBOUND HOP COUNT
RETURN HOP COUNT
OUTBOUND LINK SPEED
OUTPUT LINK MTU
Рис. 4.27. Структура ICMP-пакета Traceroute
В поле Outbound Hop Count (число исходящих транзитов) указывается число транзитов в исходящем IP-пакете Traceroute Option в момент его прибытия на маршрутизатор. Поле Return Hop Count (число возвратных транзитов) содержит информацию о числе транзитов в возвратном IP-пакете Traceroute Option в момент его прихода на локальный маршрутизатор. Поле Outbound Link Speed (исходящая скорость канала) определяет скорость канала, по которому IP-пакет Traceroute будет отсылаться далее. Значение этого поля выражается не битах в секунду, а в байтах в секунду. В поле Output Link MTU (максимальная единица передачи выходного канала) указывается макси
Протокол ICMP
255
мальная единица передачи канала, по которому IP-пакет Traceroute Option/ Return будет передаваться далее.
Реализовав разнообразные возможности протокола ICMP, можно проанализировать работу сети и узнать, как в ней происходит передача из одного пункта в другой. Однако, поскольку' протокол ICMP можно приспособить для выполнения нелегальных операций, вероятно, вы обнаружите, что по соображениям безопасности применение этого протокола для утилит PING или TRACERT в некоторых сетях запрещено. Это обстоятельство следует воспринимать как следствие осторожного подхода сетевых администраторов к предоставлению посторонним пользователям информации о своих сетях. Как бы то ни было, протокол ICMP и его множественные службы могут быть незаменимы при организации ваших собственных сетей, а также при поиске проблем, связанных с достижимостью.
Выводы по главе
□	Протокол ICMP обеспечивает необходимую информацию об IP-маршрутизации и проблемах доставки. Кроме того, он предоставляет важные возможности управления и IP-диагностики, в числе которых — анализ достижимости, снятие перегрузок, оптимизация маршрутов, а также отчеты об ошибках, связанных с превышением лимита времени.
□	Несмотря на то, что ICMP-сообщения подразделяются на несколько четко определенных типов и функционируют на Сетевом уровне TCP/IP как отдельный протокол' на самом деле они являются неотъемлемой частью протокола IP. Поддержка этого протокола необходима во всех реализациях протокола IP, придерживающихся заданных стандартов. Спецификация протокола ICMP содержится в документе RFC 792, однако многие другие подобные документы (например, RFC 950, RFC 1191 и RFC 1812) содержат дополнительные аспекты функционирования протокола ICMP, создания и обработки его сообщений.
□	Две важнейшие диагностические утилиты TCP/IP — PING и TRACEROUTE (в среде Windows она также обозначается как TRACERT) — применяют протокол ICMP для измерения периодов кругового обращения сообщений между отправляющим и получающим хостами, а также для поиска пути между отсылающим хостом и всеми промежуточными хостами или маршрутизаторами между отправителем и получателем.
□	Протокол ICMP умеет производить поиск максимальной единицы передачи маршрута (PMTU) между отправителем и получателем; это помогает оптимизировать эффективность передачи данных между парами хостов, при этом избегая фрагментации. Такой результат достигается установкой наименьшего значения единицы передачи (MTU) по всему маршруту
256
Гпава 4
между отправителем и получателем, и последующей передачей всех дейтаграмм аналогичного или меньшего размера.
□	Информация о маршрутах и ошибках маршрутизации поступает в виде различных типов ICMP-сообщений. Среди них — Router Solicitation (позволяющее хостам определять местонахождение маршрутизаторов), Router Advertisement (применяемое маршрутизаторами для извещения хостов о своем существовании и возможностях), а также различные коды ICMP-сообщения Destination Unreachable, которые обозначают множество возможных причин возникновения проблем доставки.
□	Помимо этого, протокол ICMP осуществляет оптимизацию маршрутов посредством ICMP-сообщений типа Redirect, однако эта возможность обычно гарантируется лишь проверенным источникам информации, причиной чему — потенциальные проблемы безопасности, обусловленные неконтролируемым приемом таких сообщений.
□	Хотя протокол ICMP имеет огромное положительное значение как средство диагностики и оповещения, его способности с тем же успехом можно использовать при незаконных действиях, поэтому, соответственно, вопросы безопасности для протокола ICMP очень значимы. Когда хакеры обследуют цель, ICMP-пробы хоста зачастую определяют атаку на ранней стадии.
□	Понимание значения и смысла полей Туре и Code необходимо для того, чтобы различать отдельные ICMP-сообщения и информацию, которую они пытаются донести. Структура и назначение ICMP-сообщений могут варьировать в зависимости от содержащихся в них данных.
Основные термины
ICMP (Internet Control Message Protocol, протокол управляющих сообщений в сети Internet) — протокол Сетевого уровня модели TCP/IP, предназначенный для обмена информацией о режимах сетевого трафика, перегрузке и достижимости отдельных сетевых адресов, т. е. для выполнения технологических функций в сети Internet. Утилиты PING и TRACEROUTE используют протокол ICMP.
ICMP-запрос маршрутизатора (ICMP Router Solicitation) — процесс, выполняемый хостом для получения информации о локальных маршрутизаторах. ICMP-сообщения Router Solicitation (обращение к маршрутизаторам) отсылаются на групповой адрес всех маршрутизаторов 224.0.0.2.
ICMP-пакет Destination Unreachable (Destination Unreachable packet, пакет "Пункт назначения недостижим") — пакет протокола ICMP, указывающий на неудачу попытки достижения пункта назначения вследствие проблемы, которая может быть связана с параметрами, фрагментацией или еще чем-либо.
Протокол ICMP
257
ICMP-пакет Echo Request (эхо-запрос протокола ICMP) — пакет, отсылае-. мый устройству для проверки возможности соединения с ним. Если принимающее устройство функционирует и имеет возможность ответить, оно должно отправить обратно данные, содержащиеся в части данных исходного пакета эхо-запроса.
ICMP-поиск маршрутизатора (ICMP Router Discovery) — процесс, в ходе которого хосты отправляют ICMP-сообщения Router Solicitation (обращение к маршрутизаторам) на групповой адрес всех маршрутизаторов (224.0.0.2). Локальные маршрутизаторы могут отправить хосту ответ в виде ICMP-сообщения Router Advertisement (извещение о существовании маршрутизатора). Это извещение содержит адрес маршрутизатора и значение времени жизни информации этого маршрутизатора.
ICMP-процесс Эхо (ICMP Echo process) — процесс протокола ICMP, посредством которого хост отсылает эхо-пакет другому хосту в объединенной сети. Если хост назначения активен, он отправляет ответное эхо-сообщение с данными, содержащимися в первом эхо-пакете протокола ICMP.
IGMP (Internet Group Management Protocol, межсетевой протокол управления группами) — протокол, обеспечивающий формирование многоабонентских групп. С помощью протокола IGMP хосты присоединяются к таким группам и покидают их. Маршрутизаторы следят за принадлежностью к группам протокола IGMP и перенаправляют многоадресные (групповые) сообщения только по тем каналам, в которых присутствуют действующие члены данной многоабонентской группы.
NTP (Network Time Protocol, синхронизирующий сетевой протокол) — протокол временной синхронизации, спецификация которого содержится в документе RFC 1305. Протокол NTP обеспечивает механизмы синхронизации и координации временного распределения в крупной разнотипной сети Internet, действующей на различных скоростях.
PATHPING — утилита Windows 2000, предназначенная для тестирования задержки маршрутизатора и пути, а также возможности соединения.
TRACEROUTE - см. TRACERT.
TRACERT — название Windows-версии утилиты TRACEROUTE, применяющей множество команд PING для установления идентичности и периодов кругового обращения для всех хостов между отправителем и получателем.
Автоматическая реконфигурация (auto-reconfiguration) — процесс автоматического изменения конфигурации устройства. К примеру, когда хост PMTU получает пакет ICMP Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (пункт назначения недостижим: необходима фрагментация, но она запрещена), этот хост может выполнить реконфи
258
Гпава 4
гурацию исходящего размера максимальной единицы передачи (MTU), чтобы привести ее в соответствие с размером, допустимым в сдерживающем канале.
Автоматическое восстановление (auto-recovery) — процесс автоматического восстановления от неисправности. К примеру, процесс выявления "черных дыр" позволяет хосту провести автоматическое восстановление от неудачи в установлении связи, причиной которой стал маршрутизатор, который не перенаправляет пакеты и не отсылает сообщения с указаниями об ошибках.
Временная синхронизация (time synchronization) — процесс получения одинакового времени на разных хостах. Обеспечивается синхронизирующим сетевым протоколом (Network Time Protocol, NTP).
Всемирное время (Universal Time, UT) — см. Среднее время по Гринвичу (GMT)', другие названия —- всемирное координированное время (Universal Coordinating Time, UCT) и зулусское время (Zulu Time).
Достижимость (reachability) — возможность нахождения хотя бы одного пути передачи между парой хостов, с тем чтобы они могли обмениваться дейтаграммами по объединенной сети.
Доступные маршруты (available routes) — известные функциональные маршруты в объединенной сети. Доступные маршруты необязательно являются оптимальными. В IP-сетях маршрутизаторы периодически объявляют доступными маршруты.
Запись маршрута сети (network route entry) — запись в таблице маршрутизации, содержащая указание на маршрутизатор следующего транзита для определенной сети.
Запись маршрута хоста (host route entry) — запись в таблице маршрутизации, содержащая все четыре байта пункта назначения. В записи маршрута к сети содержатся лишь сетевые разряды адреса назначения.
Максимальная единица передачи маршрута (Path Maximum Transmission Unit, PMTU) — единица передачи, поддерживаемая на всем протяжении пути; общий знаменатель единиц передачи маршрута. Определяется с помощью процесса поиска максимальной единицы передачи маршрута.
Маршрутизатор типа "черная дыра" (black hole router) — маршрутизатор, который по какой-то причине не может пересылать пакеты (например, из-за неподдерживаемого размера PMTU) и не оповещает источник о неудаче сообщения. Для обнаружения "черных дыр" и восстановления после ошибок сообщений, произошедших по их вине, IP-хостам обычно нужны дополнительные возможности.
Метрика (metrics) — измерения, основанные на расстоянии (числе транзитов), времени (секундах) или других значениях.
Протокол ICMP
259
Миллисекунда (millisecond) — одна тысячная секунды.
Незапрашиваемый (unsolicited or unrequested) — пришедший не в результате запроса. Незапрашиваемыми обычно являются извещения, посылаемые периодически. К примеру, ICMP-сообщения Router Advertisement (извещение о существовании маршрутизатора) обычно приходят раз в 7— 10 минут.
Обратная совместимость (backwards compatibility) — возможность, позволяющая устройству, процессу или протоколу взаимодействовать с более ранними версиями программного или аппаратного обеспечения, которое не поддерживает все новейшие или сложные функции. К примеру, хост PMTU может автоматически постепенно сокращать применяемый размер MTU до того момента, пока не будет определен поддерживаемый размер PMTU.
Ограничивающий канал (restricting .link) — канал, не поддерживающий передачу пакета текущего формата и конфигурации. Для идентификации ограничивающих каналов применяется процесс определения максимальной единицы передачи маршрута; в результате его действия хост получает возможность повторно отослать пакет, использовав при этом допустимое значение единицы передачи.
Определение максимальной единицы передачи маршрута (MTU) — процесс, помогающий выяснить, какая максимальная единица передачи поддерживается на протяжении всего маршрута. В ходе процесса применяется протокол ICMP.
Определение пути (path discovery) — процесс сбора информации о возможных путях перемещения данных по сети.
Оптимальный маршрут (optimal route) — наилучший из возможных маршрутов. Обычно протоколы маршрутизации применяются для обмена метрической информацией о маршрутах и определения лучшего маршрута. Оптимальный маршрут может быть самым быстрым, самым надежным, самым безопасным или лучшим по какому-либо иному критерию. Если тип службы (TOS) не указывается, оптимальным признается либо самый короткий (на основе числа транзитов) маршрут, либо маршрут, характеризующийся наилучшей пропускной способностью.
Отвержение без уведомления (silent discard) — процесс отвержения пакета без уведомления об этом других устройств. Например, маршрутизатор типа "черная дыра" не объявляет об отвержении пакета, который он не может перенаправить.
Параметр командной строки (command-line parameter) — опции, добавляемые к команде, выполняемой в командной строке (не в оконной среде). К примеру, в команде агр -а параметр -а дополняет команду агр.
260
Гпава 4
Переадресация (redirect) — указание на другой путь. С помощью протокола ICMP маршрутизатор может переадресовывать хост на другой, более оптимальный путь.
Период кругового обращения (round-trip time) период времени, необходимый для передачи пакета от одного хоста к другому и обратно. Включает время передачи из первого пункта во второй, время обработки в пункте назначения и время возвращения к исходному пункту.
Проба порта (port probe) — процесс рекогносцировки, помогающий установить, какие процессы на хосте активны. Обычно пробы портов представляют собой сценарии, последовательно отсылающие запросы и получающие всю информацию об активных портах.
Проба хоста (host probe) — процесс рекогносцировки, определяющий активные хосты в IP-сети. Обычно для выполнения проб хостов применяется PING-процесс.
Процесс рекогносцировки (reconnaissance process) — процесс выяснения различных характеристик сети или хоста. Обычно рекогносцировка предшествует сетевым атакам.
Путь (path) — маршрут, по которому пакет может пройти через объединенную сеть.
Различие пропускных способностей (throughput difference) — сравнение пропускных способностей двух путей. Пропускная способность измеряется в килобитах в секунду (Кбит/с) или мегабитах в секунду (Мбит/с).
Разрешенный размер данных — объем данных, передача которого по каналу возможна; максимальная единица передачи (MTU).
Сетевая перегрузка (network congestion) — состояние, происходящее тогда, когда время доставки пакетов (также называемое сетевой задержкой) превышает нормальный уровень. Перегрузка может происходить в результате нескольких причин, включая проблемы с сетевыми каналами, перегрузку хостов или маршрутизаторов или необычно высокий уровень использования сети. Характеристикой сетевой перегрузки является потеря пакетов.
Сквозная минимальная единица передачи (end-to-end minimum MTU size) — минимальный размер данных, которые могут быть отправлены одним хостом объединенной сети другому. Для достижения этого размера памяти могут быть фрагментированы, а для определения этого размера может использоваться процесс PMTU (максимальной единицы передачи маршрута).
Служебные данные (overhead) — биты или байты, не содержащие данных, но необходимые для перемещения таковых из одного пункта в другой. Заголовок Канального уровня является примером служебных данных; он тре
Протокол ICMP
261
буется для того, чтобы передать IP-пакет по сети от одного устройства к другому. IP-заголовок также относится к этой категории, но он необходим для перемещения пакета через объединенную сеть. В идеале, пропускная способность и производительность должны служить для перемещения больших объемов фактических, а не служебных данных.
Сообщение ICMP-запроса (ICMP query message) — ICMP-сообщения, содержащие запросы на конфигурацию или другую информацию. Примерами таких сообщений являются ICMP-пакеты Echo (эхо), Router Solicitation (обращение к маршрутизаторам) и Address Mask Request (запрос маски адреса).
Сообщения протокола ICMP об ошибках (ICMP error message) — сообщения об ошибках, отправляемые с помощью протокола ICMP. Примерами таких сообщений являются пакеты Destination Unreachable (пункт назначения недостижим), Time Exceeded (превышение лимита времени) и Parameter Problem (проблема параметра).
Среднее время отклика (average response time) — среднее время, требующееся на выполнение ответа на запрос. Статистика этих значений используется как эталон для сравнения с текущим средним временем отклика.
Среднее время по Гринвичу (GMT, Greenwich Mean Time, Гринвичское (всемирное) время) — среднее солнечное время по Гринвичскому меридиану, применяемое в качестве стандартного времени по всему миру. В местечке Гринвич (Англия) восток встречается с западом на Гринвичском меридиане (0° долготы). Также называется всеобщим временем (Universal Time, UT).
Счетчик попыток (retry counter) — счетчик, отслеживающий количество повторных передач в сети. В сетях TCP/IP чаще всего встречается счетчик попыток. Если соединение не может успешно завершиться до истечения показания счетчика, то передача признается неудачной.
Тесты связности (connectivity tests) — тесты, направленные на определение достижимости устройства. Такие тесты могут проводиться утилитами протокола IP: PING и TRACEROUTE.
Трассировка маршрутов (route tracing) — методика, позволяющая установить, через какие хосты и маршрутизаторы дейтаграмма прошла, перемещаясь от отправителя к получателю. (Команда TRACEROUTE или TRACERT систематически применяет утилиту PING для получения этой информации.)
Устаревшая запись маршрута (expired route entry) — запись маршрута, признанная "слишком старой" и не используемая для пересылки данных в объединенной сети. Устаревшие записи маршрута могут в течение некоторого времени храниться в таблице маршрутизации в ожидании объявления соответствующих маршрутов другими устройствами.
262
Гпава 4
Фрагментируемый (fragmentable) — обладающий возможностью фрагментирования. Для того чтобы IP-пакет при необходимости можно было фрагментировать, в нем должен быть установлен бит May Fragment (разрешение фрагментации).
Хакер (hacker) — человек, использующий свои знания компьютеров и сетевых технологий для несанкционированного доступа к информации или функциям устройства.
Частота извещений (advertising rate) — временной интервал между объявлениями служб (обычно — служб маршрутизации) в сети. К примеру, частота объявления пакетов ICMP Router Advertisement (извещение о существовании маршрутизатора) равна 10 минутам.
Шлюз (gateway) — в среде TCP/IP термин "шлюз" обозначает устройство перенаправления Сетевого уровня, которое обычно называется маршрутизатором. Шлюз по умолчанию —- это маршрутизатор, на который хост отсылает пакет за отсутствием определенного маршрута к пункту назначения.
Контрольные вопросы
1.	ICMP — это отдельный протокол Сетевого уровня TCP/IP, не имеющий ничего общего с протоколом IP. Да или нет?
а)	да;
б)	нет.
2.	Как называется понятие, подразумевающее, что между двумя хостами TCP/IP в сети существует путь?
а)	поиск пути;
б)	максимальная единица передачи маршрута;
в)	достижимость;
г)	трассировка маршрута.
3.	Какая из следующих служб протокола ICMP дополняет базовые службы доставки IP-дейтаграмм? (Выберите все подходящие ответы.)
а)	повышенная надежность доставки дейтаграмм;
б)	поддержка анализа достижимости;
в)	службы поиска пути;
г)	регулирование сетевых перегрузок;
д)	измерение использования сетей.
Протокол ICMP
263
4.	IP-хост, получивший входящее ICMP-сообщение, действует на свое усмотрение, отталкиваясь от его содержания. Да или нет?
а)	да;
б)	нет.
5.	Какой из следующих документов RFC специфицирует протокол ICMP?
a)	RFC 792;
б)	RFC 950;
в)	RFC 1191;
г)	RFC 1812.
6.	Какой из следующих документов RFC предписывает определенные режимы функционирования и возможности протокола ICMP? (Выберите все подходящие ответы.)
a)	RFC 950;
б)	RFC 1001;
в)	RFC 1191;
г)	RFC 1812;
д)	RFC 1918.
7.	Протокол ICMP сообщает ошибки, случившиеся лишь с IP-дейтаграммами. Сами ошибки в сообщениях об ошибках не указываются. Да или нет?
а)	да;
б)	нет.
8.	Какой из следующих видов ICMP-сообщений имеет отношение к анализу достижимости?
a)	Destination Unreachable (пункт назначения недостижим);
б)	Echo/Echo Reply (эхо/эхо-ответ);
в)	Redirect (переадресация);
г)	Source Quench (ослабление источника).
9.	Какой из следующих видов ICMP-сообщений оповещает об ошибках доставки?
a)	Destination Unreachable (пункт назначения недостижим);
б)	Echo/Echo Reply (эхо/эхо-ответ);
в)	Redirect (переадресация);
г)	Source Quench (ослабление источника).
264
Гпава 4
10.	Какой из следующих видов ICMP-сообщений имеет отношение к контролю перегрузки?
a)	Destination Unreachable (пункт назначения недостижим);
б)	Echo/Echo Reply (эхо/эхо-ответ);
в)	Redirect (переадресация);
г)	Source Quench (ослабление источника).
11.	Какой из следующих видов ICMP-сообщений имеет отношение к оптимизации маршрута?
a)	Destination Unreachable (пункт назначения недостижим);
б)	Echo/Echo Reply (эхо/эхо-ответ);
в)	Redirect (переадресация);
г)	Source Quench (ослабление источника).
12.	Какая из следующих Windows-утилит, работающих из командной строки, выполняет тесты достижимости или возможности соединения?
a)	PING;
б)	TRACERT;
в)	TRACEROUTE;
г)	IPCONFIG.
13.	Какая из следующих Windows-утилит, работающих из командной строки, выполняет поиск путей?
a)	PING;
б)	TRACERT;
в)	TRACEROUTE;
г)	IPCONFIG.
14.	Какой из следующих параметров командной строки определяет значение времени жизни (TTL, Time to Live)?
a)	-f;
б)	-i;
в)	-i;
г)	—W.
15.	Какой из следующих параметров командной строки определяет значение Reply Timeout (истечение срока ответа)?
a)	-f;
б)	-i;
Протокол ICMP
265
В) -i;
г) —w.
16.	Какой из следующих параметров командной строки для поиска пути отключает обратные справки по DNS?
а)	-а;
б)	-а;
в)	-ь;
г)	-w.
17.	Какую дополнительную возможность обеспечивает утилита PATHPING? а) она отчитывается обо всех помещенных хостах и маршрутизаторах между отправителем и получателем;
б)	она разрешает все возможные IP-адреса в символические имена для посещенных узлов;
в)	она использует ICMP-сообщения типа Traceroute;
г)	она тестирует задержку маршрутизатора и канала.
18.	Какое из следующих утверждений лучше всего характеризует назначение процесса определения максимальной единицы передачи маршрута (PMTU)?
а)	он определяет наибольшую единицу передачи на пути между отправителем и получателем;
б)	он определяет наименьшую единицу передачи на пути между отправителем и получателем;
в)	он указывает отправителю, какую единицу передачи необходимо использовать, чтобы избежать дальнейшей фрагментации по мере прохождения маршрута;
г)	он оправдывает включение в ICMP-сообщения флагов Don't Fragment Bit (запрет фрагментации).
19.	Какое из следующих утверждений лучше всего характеризует маршрутизатор типа "черная дыра"?
а)	он отвергает весь входящий трафик;
б)	он не поддерживает PMTU, но настроен таким образом, чтобы отсылать сообщения Destination Unreachable (пункт назначения недостижим);
в)	он не поддерживает PMTU и настроен таким образом, чтобы не отсылать сообщений Destination Unreachable (пункт назначения недостижим);
г)	он не поддерживает PMTU.
266
Гпава 4
20.	Какие функции маршрутизаторов описывает документ RFC 1812? (Выберите все подходящие ответы.)
а)	предотвращение создания маршрутизаторов типа "черная дыра";
б)	обработка ICMP-сообщений об ошибках;
в)	обработка ICMP-запросов;
г)	оповещение об ошибках доставки.
21.	Какое из следующих временных значений точно представляет частоту извещений, принятую по умолчанию для незапрашиваемых ICMP-сообщений Router Advertisement (извещение о существовании маршрутизатора)?
а)	каждые 30 секунд;
б)	каждые 60 секунд;
в)	от 2 до 5 минут;
г)	от 7 до 10 минут.
22.	Процесс ICMP-переадресации обслуживает только 1Р-маршрутизаторы, а не IP-хосты. Да или нет?
а)	да;
б)	нет. •
23.	Какого типа сканирование происходит, когда утилита PING запрашивает диапазон IP-адресов?
а)	сканирование портов;
б)	сканирование протоколов;
в)	проба хостов;
г)	составление карты сети.
24.	К какому из следующих типов ICMP-сообщений относятся сообщения Echo (эхо) и Echo Reply (эхо-ответ)? (Выберите все подходящие ответы.) а) 0;
б)	1;
в)	3;
г)	8;
Д) 30.
25.	К какому из следующих типов ICMP-сообщений относится сообщения Router Advertisement (извещение о существовании маршрутизатора) и
Протокол ICMP
267
Router Solicitation (запрос маршрутизатора)? (Выберите все подходящие ответы.)
а)	8;
б)	9;
в)	Ю;
г)	П;
Д) 12.
Практические задания
Задание 4.1
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (ее дистрибутив присутствует на сопровождающем книгу компакт-диске).
Отправка ping-запроса другому устройству сета
1.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). В результате откроется окно Командная строка (Command Prompt).
2.	Введите ping, чтобы просмотреть список доступных параметров командной строки. Приступая к последующим действиям по запуску программы EtherPeek, не закрывайте окно Командная строка (Command Prompt).
3.	Выберите Пуск (Start) > Программы (Programs) > WildPackets EtherPeek Demo.
4.	Появится список ограничений в демо-версии программы EtherPeek. Нажмите кнопку ОК.
5.	Может открыться окно Adapter Selection. Выберите адаптер, установленный в вашей системе. Для закрытия окна нажмите кнопку ОК.
6.	Нажмите Capture в строке меню, а затем щелкните Start Capture.
7.	Появится окно Capture Buffer Options. Чтобы подтвердить размер буфера, по умолчанию равный 1024 Кбайт, нажмите кнопку ОК. Откроется окно Capture. Число таких окон увеличивается при каждом запуске нового процесса захвата.
8.	Нажмите кнопку Start Capture в окне Capture.
9.	Нажмите кнопку Командная строка (Command Prompt) на панели задач или сочетание клавиш <Alt>+<Tab> на клавиатуре для активизации окна Командная строка (Command Prompt).
268
Гпава 4
10.	Введите ping ip_address, где ip_address — это адрес другого устройства в сети. При этом в буфере слежения программы EtherPeek должно находиться несколько пакетов.
11.	Не закрывайте окно Командная строка (Command Prompt). Нажмите кнопку EtherPeek demo на панели задач или сочетание клавиш <Alt>+ +<Tab> на клавиатуре для активизации окна EtherPeek.
12.	Если программа все еще осуществляет захват, нажмите кнопку Stop Capture. (А если захват прекратился автоматически, нажмите кнопку ОК в появившемся окне сообщения.)
13.	Прокрутите список пакетов, помещенных в буфер слежения. Среди них должно быть несколько ICMP-пакетов Echo Request и Echo Reply. Поскольку перед запуском захвата никаких фильтров установлено не было, в буфере, помимо вашего трафика, может быть трафик других машин сети. При выполнении следующего задания вы создадите фильтр, в результате чего захвату будет подвергаться лишь ваш собственный трафик.
14.	Закройте окно Capture программы EtherPeek, но оставьте открытыми окна EtherPeek и Командная строка (Command Prompt), после чего сразу переходите к следующему заданию.
Задание 4.2
Предполагается, что вы уже выполнили задание 4.1 и сразу перешли к этому заданию.
Создание фильтра для своего трафика
1.	Нажмите кнопку Start or Stop Capture на панели инструментов EtherPeek.
2.	Появится окно Capture Options. Нажмите кнопку ОК, чтобы подтвердить принятый по умолчанию размер буфера, равный 1024 Кбайт. Откроется окно Capture.
3.	Перейдите на вкладку Filters в нижней части окна Capture.
4.	Нажмите кнопку Insert. В результате откроется окно Edit Filter (рис. 4.28).
5.	Введите Му ip Address в текстовом поле Filter.
6.	Установите флажок Address filter.
7.	Раскройте список Туре (рядом со списком Address 1). Появится перечень возможных адресов. Выберите пункт IP.
8.	Введите ваш IP-адрес в поле Address 1. Поскольку нам интересен любой трафик, входящий и исходящий из вашей системы, выберите пункт Any address в списке Address 2. Теперь окно Edit Filter на вашем экране должно выглядеть так же, как на рис. 4.28.
9.	Нажмите кнопку ОК. Окно Edit Filter будет закрыто. На экране вновь появится список фильтров.
Протокол ICMP
269
10.	Найдите в списке фильтр Му IP Address. По умолчанию новый фильтр должен быть выделен полужирным начертанием.
11.	Отметьте флажок, находящийся рядом с записью фильтра Му IP Address. При закрытии программы EtherPeek этот фильтр будет сохранен.
12.	Перейдите на вкладку Packets.
13.	Теперь, выбрав фильтр для захвата только своего трафика, выполните шаги 8—13 задания 4.1.
14.	Закройте окно Командная строка (Command Prompt) и сразу переходите к следующему заданию.
Задание 4.3
Предполагается, что вы уже выполнили задание 4.2 и сразу же перешли к заданию 4.3.
Определение и тестирование
максимальной единицы передачи (MTU), допустимой в данной сети
1.	Запишите на листе бумаги максимальный размер пакета (включая заголовки), разрешенный в вашей сети. К примеру, сети Ethernet поддерживают пакеты размером до 1518 байт.
270
Гпава 4
2.	Запишите размер служебных данных заголовка и концевика Канального уровня.
3.	Запишите размер служебных данных IP-заголовка.
4.	Запишите размер служебных данных ICMP-заголовка в пакете Echo Request.
5.	Вычтите значения шагов 2, 3 и 4 от значения шага 1. Запишите результат. Это и есть максимальная единица передачи (MTU), принятая в вашей сети. Протестировать ее можно, выполнив шаги 6—8.
6.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). Появится окно Командная строка (Command Prompt).
7.	Введите ping -f -1 mtu ip_address, где mtu — это результат вычислений, выполненных на шаге 5, a ip_address — адрес другого хоста в сети. Параметр -f обозначает, что данный пакет не следует фрагментировать. Параметр -1 mtu определяет размер поля Data, поддерживаемый этим эхо-пакетом. Был ли запрос успешным? Если максимальная единица передачи была вычислена правильно, то после подачи запроса вы должны получить соответствующие ответы.
8.	Теперь увеличьте максимальную единицу передачи (MTU). Добавьте 2 к значению MTU, полученному во время выполнения шага 5. Повторите шаг 7, введя команду ping -f -1 mtu+2 ip_address, где mtu+2 на два больше, чем значение, указанное в шаге 5. Был ли запрос успешным? Запишите Windows-сообщение, полученное при выполнении этого задания.
9.	Закройте окно Командная строка (Command Prompt) .и программу EtherPeek.
Задание 4.4
Толкование различия
между двумя ICMP-пакетами Echo
Для выполнения следующих практических заданий вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
1.	Запустите программу EtherPeek в соответствии с инструкциями, данными в задании 4.1.
2.	Выберите File > Open и откройте файл трассировки ping.pkt, размещенный в каталоге Course Technology\18654-2\Ch4 с файлами трассировки (или другом назначенном вами при их установке) на вашем жестком диске.
Протокол ICMP
271
3.	Двойным щелчком откройте пакет № 1 (Packet #1). Это ICMP-пакет Echo Request. Просмотрите его ICMP-компонент. Ответьте на следующие вопросы.
а)	Каково значение поля Identifier в ICMP-пакете № 1?
б)	Каково значение поля Sequence Number в ICMP-пакете № 1?
в)	Каково значение поля Checksum в ICMP-пакете № 1?
4.	Нажмите кнопку Decode Next для просмотра пакета № 2 (Packet #2) и ответьте на следующие вопросы.
а)	Каково значение поля Identifier в ICMP-пакете № 2?
б)	Каково значение поля Sequence Number в ICMP-пакете № 2?
в)	Каково значение поля Checksum в ICMP-пакете № 2?
5.	Значения в полях Identifier и Sequence Number в обоих пакетах одинаковы. Почему же значения полей Checksum в ICMP-пакетах разнятся?
6.	Закройте программу EtherPeek, если не собираетесь сразу переходить к следующему заданию. Собираетесь? Тогда пропустите шаг 1 задания 4.5.
Задание 4.5
Установление причины появления ICMP-сообщения об ошибке
1.	Запустите программу EtherPeek, руководствуясь инструкциями из задания 4.1.
2.	Выберите File > Open и откройте файл трассировки icmplab:pkt, размещенный в каталоге Course Technology\18654-2\Ch4 с файлами трассировки (или другом назначенном вами при их установке) на вашем жестком диске.
3.	Просмотрите пакеты № 1 и № 2 (Packet #1 и Packet #2). Ответьте на следующие вопросы.
а)	ICMP-пакет какого типа был отправлен?
б)	Какое значение было помещено в поле Code ICMP-пакета?
в)	Каково назначение этого ICMP-пакета?
г)	Какой IP-адрес у хоста, который послужил причиной отсылки этого ICMP-пакета?
д)	Почему этот пакет был отправлен?
4.	Закройте программу EtherPeek.
Задание 4.6
Предполагается, что ваш компьютер подключен к сети Internet.
272
Глава 4
Отслеживание пути к другому устройству в сети Internet
1.	Выберите Start > Programs > Accessories > Command Prompt. Появится окно Command Prompt.
2.	Введите tracert, чтобы просмотреть список доступных параметров командной строки. Во время выполнения следующих действий по открытию программы EtherPeek не закрывайте окно Командная строка (Command Prompt).
3.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > WildPackets EtherPeek Demo.
4.	Появится список ограничений в демо-версии программы EtherPeek. Нажмите кнопку ОК.
5.	Может открыться окно Adapter Selection. Выберите адаптер, установленный в вашей системе. Для закрытия окна нажмите кнопку ОК.
6.	Нажмите Capture в строке меню, а затем щелкните Start Capture.
7.	Появится окно Capture Buffer Options. Чтобы подтвердить размер буфера, по умолчанию равный 1024 Кбайт, нажмите кнопку ОК. Откроется окно Capture. Число таких окон увеличивается при каждом запуске нового процесса захвата.
8.	Перейдите на вкладку Filters и выберите фильтр Му IP Address (созданный во время выполнения задания 4.2).
9.	Нажмите кнопку Start Capture в окне Capture.
10.	Нажмите кнопку Командная строка (Command Prompt) на панели задач или сочетание клавиш <Alt>+<Tab> на клавиатуре для активизации окна Командная строка (Command Prompt).
11.	Введите tracert ip_address, где ip^address — это адрес, предоставленный вашим преподавателем для использования в этом задании. Далее нажмите клавишу <Enter>.
12.	Когда сеанс отслеживания маршрута будет успешно завершен, закройте окно Командная строка (Command Prompt). Активизируйте окно программы EtherPeek.
13.	Если программа все еще осуществляет захват, нажмите кнопку Stop Capture. (А если захват прекратился автоматически, нажмите кнопку ОК в появившемся окне сообщения.) Просмотрите пакеты, помещенные в буфер слежения. Ответьте на несколько вопросов, касающихся процесса TRACEROUTE.
а)	Каково исходное значение времени жизни (TTL)?
б)	Через какое количество маршрутизаторов прошел пакет, прежде чем он достиг пункта назначения?
Протокол ICMP
273
в)	Все ли маршрутизаторы, находящиеся на пути пакета, ответили на запрос?
г)	Сколько пакетов было необходимо для выполнения этого процесса отслеживания маршрута?
Учебные задачи
1.	Допустим, вы заново сконфигурировали сеть, используя абсолютно новые маршрутизаторы. Но у вас нет уверенности, что выбранные настройки шлюзов по умолчанию на хостах являются оптимальными. Как применить анализатор, чтобы определить, насколько целесообразны эти настройки?
2.	Пусть вас попросили проверить конфигурацию корпоративной сети, чтобы определить, нужно ли создать фильтры для блокирования определенного ICMP-трафика. Ваш руководитель попросил составить список разновидностей ICMP-трафика и пояснить причины, по которым соответствующие пакеты могут' быть проблемными. Составьте такой список. Укажите хотя бы пять ICMP-пакетов и обоснуйте связанные с ними факторы риска.
3.	Предположим, вы переехали в Сан-Диего и поступили на работу в крупную компанию, занимающуюся изготовлением спортивной одежды. Ее корпоративная сеть увеличилась в результате нескольких приобретений и теперь представляет собой мешанину из различных сред, скоростей, компьютеров и приложений. Вы не уверены, поддерживают ли хосты и маршрутизаторы этой сети процесс определения максимальной единицы передачи маршрута (PMTU), который может помочь избежать фрагментации. Напишите план тестирования сети на предмет поддержки этого процесса.
4.	В документах RFC встречаются инициалы JBP и имя Джона Б. Постела. Зайдите на Web-сайт агентства IANA (агентства по выделению имен и уникальных параметров протоколов Internet) по адресу http://www.iana.org и найдите информацию об этом человеке. В нескольких словах опишите влияние, которое Джон Постел оказал на развитие протокола IP и других протоколов Internet.
10 Зак. 321
Глава 5
Протоколы
Транспортного уровня TCP/IP
После прочтения этой главы и выполнения упражнений вы сможете:
□	усвоить понятия, связанные с транспортными протоколами, работающими как на основе соединений, так и без установления оных, включая назначение номеров портов;
□	объяснить, почему протоколы, работающие без установления соединения, требуют меньших издержек и обеспечивают большую скорость выполнения операций, чем протоколы' на основе соединений;
□	получить представление о ключевых возможностях и функциях протокола UDP (User Datagram Protocol, протокола передачи дейтаграмм пользователя);
□	разобраться в механизмах, заведующих сегментацией, повторной сборкой и ретрансляцией для протокола TCP (Transmission Control Protocol, протокол управления передачей);
□	понять, почему соединения по протоколу TCP проходят стадии установки, сопровождения и обрыва;
□	различать основные адреса портов протоколов UDP и TCP;
□	уяснить обычные и целесообразные случаи применения и прикладные службы, которые затрагивают транспортные протоколы UDP или TCP.
В то время как протоколы Сетевого уровня TCP/IP обеспечивают сетевые адреса, маршрутизацию и доставку, протоколы Транспортного уровня предоставляют механизмы, необходимые для передачи сообщений произвольного размера по сети от отправителя к получателю. Несмотря на то, что протокол TCP (Transmission Control Protocol, протокол управления передачей), чьим именем обозначается весь стек, несомненно, более важен, чем второй транспортный протокол TCP/IP, а именно протокол UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя), они оба играют решающую роль при передаче произвольных данных по сети. Озна
276
Гпава 5
комившись с содержанием этой главы, вы сможете усвоить основные представления, связанные с транспортными механизмами на основе соединений и без их установления, и понять, в какой степени эти механизмы обуславливают сложность, мощность, надежность и накладные расходы.
Изначально транспортный протокол обеспечивает возможность доставки сообщений по сети от отправителя к получателю. Более сложные протоколы этого типа разбивают исходящие сообщения произвольного размера на мелкие блоки данных, вмещая их в IP-пакеты, которые могут передаваться в любой сетевой среде. Дальнейшие усовершенствования в этой области требуют установления соединения между отправителем и получателем. Когда пропускная способность, доступная для данного соединения, превышает уровень потребления отдельно взятой службой более высокого уровня, протоколы Транспортного уровня могут чередовать многочисленные пакеты из различных сообщений в пределах одного соединения. Эта методика, называемая мультиплексированием (multiplexing), позволяет повысить эффективность использования пропускной способности. Столь сложные действия невозможны без применения транспортных служб на основе соединений; они будут рассматриваться далее в этой главе. Начнем мы с простейшего типа транспортных протоколов, действующего без установления соединения.
Введение в транспортные протоколы без установления соединения
Протоколы без установления соединения (connectionless protocol) обеспечивают простейший вид транспортных служб, поскольку они лишь берут сообщения с Прикладного уровня TCP/IP и "упаковывают" их в дейтаграммы. В принципе, дейтаграмма накладывает заголовок на данные более высокого уровня и передает их на уровень протокола IP, где она снабжается IP-заголовком и преобразуется в пакет, после чего может передаваться по сети. Этот метод называется доставкой "без обязательств" (best-effort delivery), поскольку он не предоставляет встроенных методов проверки доставки и характеристики повторной передачи, что могло бы повысить надежность по сравнению с протоколами и сетевыми технологиями без установления соединения на Транспортном уровне, например протоколом UDP.
Причина, по которой служба дейтаграмм протокола UDP столь проста и незатейлива, состоит в том, что все сложные функции, которые может обеспечить протокол на основе соединений вроде TCP, за нее выполняет любой протокол более высокого уровня, пользующийся ее транспортными услугами. В современных сетях это проектное решение доказывает свою состоятельность, т. к. при предоставлении различных гарантий доставки и механизмов обеспечения надежности (которые присутствуют в протоколе TCP), увеличиваются накладные расходы. Чем больше возможностей, тем выше
Протоколы Транспортного уровня TCP/IP
277
непроизводительные расходы, поскольку для того, чтобы эти возможности реализовать, необходимо наладить сбор, обмен и управление соответствующей информацией.
Таким образом, получается, что в некоторых условиях протокол UDP функционирует до 40% быстрее, чем протокол TCP, и все потому, что он выполняет очень ограниченный набор функций. На практике это обычно означает, что все дейтаграммы в последовательности UDP по размеру соответствуют максимальной единице передачи (MTU) среды и передающей системы. Исключением является лишь последняя дейтаграмма, размер которой должен отвечать требованиям, предъявляемым заключительной отложенной полезной нагрузкой и информацией заголовка. Дело в том, что протокол Прикладного уровня перед передачей данных протоколу UDP осуществляет все необходимые операции по разделению, несмотря на то, что сегментация обычно считается функцией Транспортного уровня. Более того, протокол Прикладного уровня не предъявляет протоколу UDP слишком высоких требований, своими силами обеспечивая повторную сборку и управление обработкой ошибок на противоположном конце цикла доставки.
Для протоколов без установления соединения характерно выполнение перечисленных далее задач.
□ Вычисление контрольной суммы сообщений. Несмотря на то, что протоколы без установления соединения не отслеживают производительность передачи и завершенность доставки (вот что значит "доставка без обязательств"), в качестве дополнительной службы они могут высчитывать контрольную сумму для каждой дейтаграммы. В результате транспортному протоколу становится проще докладывать протоколу более высокого уровня о том, добрался ли пакет до пункта назначения в том же виде, в котором он был отправлен, не озабочиваясь обработкой потенциально чудовищных подробностей. Об этих подробностях вы узнаете далее из разд. "Протокол TCP" этой главы.
□ Идентификация протокола более высокого уровня. Вообще говоря, все протоколы Транспортного уровня TCP/IP в своих заголовках используют два поля адресов портов для идентификации определенных протоколов Прикладного уровня или процессов на отправляющем и принимающем хостах, тем самым обеспечивая возможность обмена сообщениями на этом более высоком уровне. Этот механизм распознает протокол Прикладного уровня при помощи хорошо известных адресов портов, которые соответствуют большинству протоколов и служб этого уровня TCP/IP. Кроме того, он позволяет прикладным процессам, применяющим эти протоколы и службы, обмениваться данными для взаимной уникальной идентификации во время происходящего соединения (или даже нескольких потоков такого соединения) между отправителем и получателем. Таким образом, несмотря на то, что протокол без установления соединения не
278
Гпава 5
обладает внутренними методами создания, управления и завершения соединений, он содержит механизм, запускающий такие методы на Прикладном уровне. Материал, содержащийся в этой главе, позволит вам намного более подробно изучить адреса портов и разнообразные способы их использования.
Протокол UDP
Так как протокол UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя) является единственным протоколом без установления соединения, действующим на Транспортном уровне TCP/IP, очевидно, что все характеристики, приписанные протоколам такого типа в предыдущем разделе, непосредственно и в полной мере относятся именно к протоколу UDP. Таким образом, совершенно уместно привести подробное описание характерных признаков этого протокола (описание основано на документе RFC 768, в котором содержится полная спецификация протокола UDP).
□	Отсутствие механизмов обеспечения надежности. Дейтаграммы не упорядочиваются, и их прием не подтверждается. Большинство приложений и служб, применяющих протокол UDP, употребляют свои собственные механизмы обеспечения надежности или отслеживают значения лимита времени, и в случаях, когда этот лимит превышается, осуществляют повторную отправку дейтаграмм.
□	Отсутствие гарантий доставки. Дейтаграммы отсылаются без предоставления гарантий их доставки, и поэтому, опять-таки, Прикладной уровень должен обеспечивать механизмы отслеживания и повторной передачи.
□	Отсутствие обработки соединений. Каждая дейтаграмма представляет собой независимое сообщение; протокол UDP не содержит метода установления, управления и завершения соединения между отправителем и получателем.
□	Идентификация транспортируемого протокола Прикладного уровня. Как указывалось ранее, UDP-заголовок содержит поля для идентификации адресов (номеров) портов, что делает возможным отправку и получение служб или процессов Прикладного уровня.
□	Контрольная сумма всего сообщения, помещаемая в UDP-заголовок. В каждом UDP-заголовке может по требованию помещаться значение контрольной суммы, которое при получении пакета пересчитывается и сравнивается с исходным значением. Тем не менее, решение о соответствующих действиях согласно предоставленной информации принимается службой Прикладного уровня — протокол UDP лишь высчитывает эти данные, хотя сам не нуждается в них.
Протоколы Транспортного уровня TCP/IP
279
□	Отсутствие служб буферизации. Протокол UDP не координирует размещение в памяти входящих данных перед доставкой и исходящих данных перед передачей. Относительно служб, применяющих протокол UDP, управление памятью для данных, находящихся в движении, должно производиться на Прикладном уровне, т. к. протокол UPD единовременно "видит" только одну дейтаграмму.
□	Отсутствие сегментации. Протокол UDP не содержит служб, позволяющих разбивать достаточно крупные сообщения на отдельные меченые блоки данных для передачи, или проводить повторную сборку последовательностей таких блоков после их получения. Протокол UDP лишь отсылает и получает дейтаграммы; при необходимости сегментацию и повторную сборку должен осуществлять протокол Прикладного уровня.
Обратите внимание, что протокол UDP настолько же определяется тем, чего он сам не обеспечивает (все перечисленные отсутствующие в протоколе UDP характеристики присутствуют в TCP), насколько и тем, что он обеспечивает (в основном, механизм вычисления контрольной суммы и идентификация адресов портов отправителя и получателя для использования на более высоком уровне).
Поля UDP-заголовка и их назначение
Значение 17 (0x11) в поле Protocol IP-заголовка означает, что за ним следует UDP-заголовок. Этот заголовок краток и прост — его длина составляет лишь 8 байт. Основная функция UDP-заголовка — определить процесс или приложение, которые применяют Сетевой и Транспортный уровни протоколов IP и UDP. На рис. 5.1 изображена структура UDP-заголовка.
IP HEADER - PROTOCOL FIELD = 17
О
15 16
31
SOURCE PORT NUMBER
DESTINATION PORT NUMBER
UDP LENGTH
UDP CHECKSUM
DATA
Рис. 5.1. Длина UDP-заголовка составляет 8 байт
Спецификация протокола UDP содержится в документе RFC 768. UDP-заголовок содержит только четыре поля:
□	Source Port Number (номер порта источника);
□	Destination Port Number (номер порта назначения);
280
Глава 5
□	UDP Length (длина UDP);
□	UDP Checksum (контрольная сумма UDP).
В следующих разделах мы рассмотрим поля UDP-заголовка и их назначение.
Поле Source Port Number
В поле Source Port Number (номер порта источника) определяется приложение или процесс, отсылающий пакет посредством UDP-транспортировки. В некоторых случаях используется временный номер порта.
Номера портов делятся на три диапазона:
□	хорошо известные номера портов (well-known port number);
□	зарегистрированные номера портов (registered port number);
□	динамические номера портов (dynamic port numbers).
Хорошо известные номера портов (от 0 до 1023)
Хорошо известные номера портов присваиваются ключевым, или базовым системным службам (core services). Их диапазон — от 0 до 1023. До 1992 года этот диапазон был значительно меньше и включал значения от 1 до 255.
Зарегистрированные номера портов (от 1024 до 49 151)
Зарегистрированные номера портов присваиваются промышленным приложениям и процессам; к примеру, 1433 является номером порта процесса Microsoft SQL Server. Некоторые системы TCP/IP применяют диапазон значений от 1024 до 5000 для назначения временных номеров портов, хотя агентство IANA (Агентство по выделению имен и уникальных параметров протоколов Internet) включат этот интервал в свой диапазон динамических номеров портов.
Динамические номера портов (от 49 152 до 65 535)
Динамические порты, также называемые эфемерными портами (ephemeral ports), применяются в качестве временных портов (temporary port) для определенных передач. Агентство IANA определяет диапазон динамических номеров портов, применяющихся для идентификации динамических портов.
Некоторые из наиболее распространенных хорошо известных номеров портов перечислены в табл. 5.1.
Таблица 5.1. Общераспространенные хорошо известные номера портов
Номер порта UDP	Приложение или процесс
67	ВООТР-сервер (протокола загрузки), а также DHCP-сервер
68	ВООТР-клиент (протокола загрузки), а также DHCP-клиент
Протоколы Транспортного уровня TCP/IP
281
Таблица 5.1 (окончание)
Номер порта UDP Приложение или процесс
161	Протокол SNMP (простой протокол сетевого управления)
162	Прерывание протокола SNMP
520	Протокол RIP (протокол маршрутной информации)
В большинстве случаев приложение или процесс может применять один и тот же номер, если оно использует протоколы UDP или TCP; дело в том, что для этих протоколов присваиваются одинаковые номера портов. Иногда, причем достаточно редко, номера портов протоколов UDP и TCP все же относятся к разным службам; наиболее удачным примером может послужить порт 520. В протоколе UDP он присваивается протоколу RIP (протоколу маршрутной информации), а в TCP — процессу сервера расширенных имен файлов (Extended File Name Server, EFS). На сайте http://www.iana.org содержится список присвоенных номеров портов, а также определение трех типов таких номеров в заголовках протоколов UDP и TCP.
Как видно из содержимого табл. 5.1, протокол UDP вступает в силу тогда, когда надежность не является первоочередным вопросом. Такая ситуация может сложиться, если отправляющий хост не обладает "уровнем интеллекта", достаточным для предоставления или истолкования механизмов обеспечения надежности, как это происходит в случае протокола DHCP (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста), или же если при систематическом управлении, опросе маршрутизации или извещении постоянные передачи отодвигают требования надежности на второй план за счет повторения. В других условиях передаваемые данные или предоставляемые службы приобретают существенное значение (бывает, становится чрезвычайно желательной единовременная передача) или повышаются потребности в надежности и гарантиях доставки. Именно в этих ситуациях становится необходима передача на основе соединений, рассмотренная далее в этой главе.
Поле Destination Port Number
Значение поля Destination Port Number (номер порта назначения) определяет приложение или процесс назначения, применяющий заголовки протоколов IP и TCP. Иногда номера портов источника и назначения одинаковы для обслуживающих и обслуживаемых процессов. В других случаях для этих процессов могут существовать отдельные и уникальные номера (как в случае с протоколом DHCP). Другой вариант — использование динамических номеров портов на стороне клиента и хорошо известных (или зарегистрированных) номеров портов на стороне сервера.
282
Гпава 5
Поле UPD Length
Поле UPD Length (длина) определяет длину пакета от UDP-заголовка до конца действительных данных (valid data) (не включая набивку, т. е. заполнение блока данных незначимой информацией Канального уровня, если она необходима). Измерения этого поля избыточны, поскольку ту же информацию можно вычислить с помощью значения IP-заголовка, а также исходя из того, что длина UDP-заголовка составляет 8 байт. Для примера проанализируем пакет, изображенный на рис. 5.2.
;--0 Flags:	0x00	’
•.Status:	0x01	;
U-0 Packet Length:70 j.0 Tiwestaup:	12:48:37.228000	01/14/2001
Ethernet Header
; ;• ЦР Destination: FF:FF:FF:FF:FF:FF Ethernet Broadcast
i-	-HP Source:	00:10:78:81:30:56
Protocol Type:0x0800 IF
0 V3 IP Header - Internet Protocol Datagram
! - Ф  $	Version: Header Length:	4 5	(20 bytes)
0	Type of Service:	«00000000
0	Precedence: Routine,	Normal D<s2ayf Normal Throughput
- 0	Total Length:	52
 0	Identifier:	0
0	Fragmentation Flags:	5 000 May Frac^ent Last Р'гедще.чЛ
;  0	Fragment Offset:	0	(0 bytes)
М	Tiru» To Live:	2
и- 0	Protocol:	17 UDF
!-$	Header Checksum:	0x4BS6
:...,® ; ши	Source IP hddress:	10.2.99.98
!...	Dest. IP Hddress:	255.255.255.255 IP Broadcast
0	No IP Options	
ЕЭ“1Г° МНР ~ User Datagram Protocol
; i--0 Source Port:	520 ЙГР/ехй&мййа’ rile server
! :..0 Destination Port; 520	4
:	:--0	Length:	32
:	:.0	Checksum:	0x0000
B"1^3 RIP - Routing Information Protocol
;	•— 0	Command:	2 Яезроизе cc-nteimnp' «ehrork distai
i	j--.0	Version:	1
!	!..0	Zero;	0x0000
6-T info on Net H l
'-0 hddr Family Id: 2
r-0 Zero:	0x0000
	
0: FF FF FF FF	FF FF 00 10 7B 81 3C 66 08 00 45 00 	.
16: 00 34 00 00	00 00 02 11 4B 56 0A 02 63 62 FF FF .4	KV.	.ST
32: FF FF 02 08	02 08 00 20 00 00 02 01 00 00 00 02		
.. „ёГ:у .. I i
Рис. 5.2. Протокол UDP применяется для транспортировки служб без установления соединения, таких как RIP
Протоколы Транспортного уровня TCP/IP 253
Ниже приводится интерпретация полей Length этого пакета.
□	Header Length = 5 (обозначена в 4-байтных приращениях). Таким образом, длина IP-заголовка равна 20 байт.
□	Total Length — 52. Данные после IP-заголовка занимают 32 байта (вычитаем 20-байтный IP-заголовок).
□	UDP Length = 32. Данные после IP-заголовка (включая UDP-заголовок) занимают 32 байта; это значение мы только что получили, исходя из значения в поле Total Length IP-заголовка. Вычтем 8-байтный UDP-заголовок и получим, что после него должны располагаться данные объемом 24 байт.
Поле UPD Checksum
Поле UDP Checksum (контрольная сумма) не является обязательным — к примеру, на рис. 5.2 оно отсутствует. Но если оно используется, вычисление контрольной суммы производится по отношению ко всему содержимому дейтаграммы, в которую входит UDP-заголовок (кроме самого поля UDP Checksum), полезная нагрузка, а также псевдозаголовок (pseudo-header), получаемый из IP-заголовка. Псевдозаголовок протокола UDP фактически не входит в состав пакета; он применяется лишь при вычислении контрольной суммы UDP-заголовка и связывает UDP-заголовок с IP-заголовком. Псевдозаголовок содержит поля Source IP Address (адрес источника), Destination IP Address (адрес назначения), неиспользуемое поле Zero (значение которого приравнивается к нулю), Protocol (протокол) и UDP Length (длина). Псевдозаголовок UDP изображен на рис. 5.3.
	
1 SOURCE IP ADDRESS (from IP header) 1	
1 DESTINATION IP ADC	RESS (from IP header)
1 ZERO	PROTOCOL = 17 ——	I UDP LENGTH
Рис. 5.3. Псевдозаголовок протокола UDP
Номера портов и процессы протокола UDP
Как протокол UDP, так и протокол TCP применяют номера портов для определения процессов или приложений источника и назначения. Как было ранее упомянуто в разд. "Поле Destination Port Number" этой главы, совершенно не обязательно, чтобы во время сообщения использовались одни и те же номера портов источника и назначения. Хост может открыть динамический
284
Гпава 5
номер порта источника для отсылки DNS-запроса. По получении пакета DNS-запроса хост исследует IP-заголовок, пытаясь опознать применяемый протокол Транспортного уровня. Затем принимающий хост просматривает поле Destination Port Number (номер порта назначения), определяя, как нужно обрабатывать входящий пакет.
На рис. 5.4 приведена схема демультиплексирования пакетов на основе номеров типа, протокола и порта.
DHCP
DNS
Telnet [ HTTP
UDP	UDP	UDP	UDP
порт	порт	порт	порт
161	69	520	67 + 68
UDP	UDP	UDP	UDP	UDP
порт	порт	порт	порт	порт
53	21	23	80	110
UDP-заголовок
ТСР-заголовок
Поле 17
Поле 06
IP-заголовок
Тип 0800
Канальный уровень
Рис. 5.4. Сообщения протоколов TCP и UDP перенаправляются подходящему протоколу Прикладного уровня в зависимости от номера порта назначения
По умолчанию Windows 2000 поддерживает номера портов до 5000. Файл, называемый SYSTEM в каталоге SystemRoot\system32\drivers\etc содержит список поддерживаемых номеров портов.
Можно расширить диапазон поддерживаемых номеров портов, добавив в реестр запись о параметре MaxUserPort, как показано в табл. 5.2.
Информация реестра
Местоположение
Таблица 5.2. Параметр реестра MaxUserPort
Подробности
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Tcpip\Parameters
Протоколы Транспортного уровня TCP/IP
285
Таблица 5.2 (окончание)
Информация реестра	Подробности
Тип данных	REG_DWORD
Разрешенный диапазон	5000-65 534
Значение по умолчанию	5000
Присутствует ли по умолчанию	Нет
Принципиальная простота протокола UDP подтверждается относительно небольшим количеством значений и параметров реестра Windows NT и Windows 2000, касающихся этого протокола. Из заключения следующего раздела станет очевидным, что сложность протокола TCP, напротив, ведет к увеличению связанных с ним настроек и элементов управления.
Введение в протоколы на основе соединений
Протоколы на основе соединений создают логическое соединение (logical connection) непосредственно между двумя узлами объединенной сети. Они отслеживают передачу данных и гарантируют, что эти данные будут успешно доставлены, применяя для этого подтверждение (acknowledgement) приема сообщений и отслеживание порядковых номеров (sequence number tracking). Подтверждение приема — это положительный отклик (positive response), указывающий, что набор данных прибыл в пункт назначения. Узлы на основе соединений применяют отслеживание порядковых номеров для идентификации объема передаваемых данных, а также для вычисления выпадающих пакетов (out-of-order packets). Протоколы на основе соединений обладают механизмом определения превышения лимита времени (timeout mechanism), который указывает, что хост слишком долго ожидал связи, и этот сеанс должен быть признан неуспешным. Кроме того, эти протоколы обеспечивают механизм повторной передачи (retry mechanism), который позволяет им восстановить потерянные данные путем их повторной передачи определенное количество раз.
TCP относится к классу протоколов на основе соединений. Приложения, для которых важно достижение данными пункта назначения, применяют протокол TCP вместо UDP.
286
Гпава 5
Протокол TCP
Протокол TCP предоставляет службы на основе соединений с упорядочиванием, устранением ошибок (error recovery) и механизмом раздвижного окна (sliding window). Благодаря гибкости и надежности сквозной передачи (end-to-end reliability) данных, обеспечиваемой TCP/IP, протокол TCP является предпочтительным транспортным методом для приложений, которые передают большие объемы данных и требуют надежных служб доставки.
Хосты TCP создают друг с другом виртуальное соединение (virtual connection) с помощью процесса квитирования (handshake process). В ходе этого процесса хосты обмениваются порядковым номером, применяемым для отслеживания данных при их передаче от одного хоста к другому.
Протокол TCP передает данные в виде последовательного потока байтов, не имея представления о сообщениях (messages) или границах сообщений, которые могут содержаться в этом потоке байтов (byte stream). По получении данных приложение более высокого уровня интерпретирует этот поток данных, считывая содержащиеся в нем сообщения.
Максимальный размер сегмента протокола TCP — 65 495 байт. Это значение достигается путем вычитания 20 байт IP-заголовка и еще 20 байт ТСР-заголовка из значения поля Total Length (общая длина). На рис. 5.5 изображен процесс сегментации данных и их обрамления рядом заголовков, среди которых заголовки протоколов TCP, IP и Ethernet.
Заголовок Канального уровня
ТСР-сегмент
IP-дейтаграмма
Фрейм Канального уровня
IP-заголовок
ТСР-заголовок
Данные
Концевик Канального уровня
Рис. 5.5. К информации, помещенной в пакет, обращение происходит по разным именам, в зависимости от уровня протокола
В этом разделе мы обсудим основные функции и возможности ТСР-соединений:
□	процесс запуска соединения TCP (квитирование);
□	процесс поддержки соединения TCP;
□	процесс завершения соединения TCP;
Протоколы Транспортного уровня TCP/IP
287
□	процесс упорядочивания и подтверждения приема TCP;
□	процесс обнаружения и устранения ошибок TCP;
□	процесс контроля перегрузок TCP;
□	процесс раздвижного окна TCP;
□	поля и функции ТСР-заголовка.
Процесс запуска соединения TCP (квитирование)
Протокол TCP обеспечивает передачу на основе соединения, которая начинается с квитирования (установления связи) между двумя хостами. Один хост инициирует квитирование с другим хостом, чтобы: а) убедиться в том, что хост назначения доступен; б) удостовериться в том, что ожидание происходит с использованием номера порта назначения; в) сообщить хосту назначения порядковый номер инициатора, чтобы две стороны могли отслеживать передачу данных.
TCP-квитирование представляет собой трехшаговый процесс между двумя хостами, изображенный на рис. 5.6.
SYN (Synchronize Sequence Number) MSS (Maximum Segment Size) Source/Destination Port Number
Клиент Хост 1
SYN (Synchronize Sequence Number) ACK (Acknowledgment Field is Significant) MSS (Maximum Segment Size) Source/Destination Port Number
АСК (Acknowledgment Field is Significant)
Сервер
Хост 2
Рис. 5.6. В процессе TCP-квитирования участвуют три пакета
1.	Хост 1 отсылает TCP-пакет хосту 2. Этот пакет не содержит данных; в него помещена только стартовая последовательность (starting sequence)
288
Гпава 5
хоста 1, желаемый номер порта назначения, а также указание максимального размера сегмента (Maximum Segment Size, MSS), который может вместиться в каждый ТСР-пакет.
2.	Хост 2 отвечает своим стартовым порядковым номером (starting sequence number) и максимальным размером сегмента (MSS).- Кроме того, в ответе устанавливается флаг АСК (Acknowledgment) (подтверждение приема сообщения). Этим подтверждается получение первого пакета квитирования.
3.	Хост 1 подтверждает получение информации о порядковом номере и размере сегмента от хоста 2. В этом пакете соответственно устанавливается флаг АСК. Данный пакет, третий по счету, завершает процесс квитирования.
Подробная информация о порядковых номерах и принципах их приращения находится далее в разд. "Процесс упорядочивания и подтверждения приема TCP" этой главы. Теперь мы проанализируем сами пакеты, чтобы разобраться в том, что содержит TCP-заголовок на этапе установления соединения.
Пакет квитирования № 1
На рис. 5.7 изображен TCP-заголовок пакета № 1 процесса квитирования.
В исходном пакете отправитель, хост 1, помещает в поле Sequence Number (порядковый номер) TCP-заголовка самостоятельно назначенный первоначальный порядковый номер (2371727). Этот номер используется для отслеживания последовательности данных, отсылаемых хосту 2, и обеспечения сохранности пакетов. В рассматриваемом пакете установлен лишь один флаг — SYN (синхронизация порядкового номера); он означает, что данный пакет применяется для синхронизации порядковых номеров двух хостов.
В поле Acknowledgment Number иначе АСК Number (подтверждение) содержится следующий порядковый номер, ожидаемый от противоположной стороны сообщения, кроме того, в этом случае должен быть установлен флаг АСК. Поскольку это первый пакет процесса квитирования, хост 1 не имеет представления, какой порядковый номер будет использовать хост 2. По этой причине значение поля Acknowledgment Number (подтверждение) приравнивается к нулю и флаг АСК сброшен.
Поле Data Offset (смещение данных) определяет длину ТСР-заголовка. (Обычно она равняется 24 байт в первых двух пакетах процесса квитирования и 20 байт при обычном обмене данными.) На рис. 5.7 значение поля Data Offset (обозначено как Offset) равняется шести (24 байт).
Обратите внимание, что в этом пакете хост 1 определил максимальный размер сегмента (MSS) в 1460 байт. Это значение подходит для Ethernet-пакета и вычисляется следующим образом.
1460 Данные после ТСР-заголовка
20 Обычный размер ТСР-заголовка
Протоколы Транспортного уровня TCP/IP
289
20	Обычный размер IP-заголовка
18	Обычный размер Ethernet-заголовка (включая 4-байтное значение
контроля при помощи избыточного кода	CRC)
1518	Максимальный размер Ethernet-пакета
Рис. 5.7. Первый пакет процесса ТСР-квитирования
TCP-заголовок также определяет желаемый процесс или приложение для данного соединения; в нашем случае (на рис. 5.7 это поле Destination Port) — порт 21, протокол передачи файлов (FTP).
Пакет квитирования № 2
На рис. 5.8 изображен TCP-заголовок пакета № 2 процесса квитирования.
Хост 2 задал свой стартовый порядковый номер — 135471. Значение в поле Acknowledgement Number (подтверждение) (на рис. 5.8 это поле именуется
290
Гпава 5
как Ack Number) — 2371728. Оно обозначает следующий порядковый номер последовательности данных, которые хост 2 ожидает получить от хоста 1. В этом пакете установлены два флага —' SYN (синхронизация порядкового номера) и АСК (подтверждение получения первого пакета от хоста 1). Кроме того, в пакете указан максимальный размер сегмента (MSS), который, как и в первом случае, приравнивается к 1460 байт.
й tcp-hdndshake.pkl - Packet U2	ИЕ1Е?
$	Flags:	0x00	;а/
Status:	0x01
- ф	Packet Length: 64
L $	Timescaiap:	14:58:53.597000 01/14/2001
S’-V” Ethernet Header
®	Header - Internet Protocol Datagram
B-T - Transport Control Protocol
ф Source Port:	21 ftp
Destination Port: 1025 blackjack
•	Q Sequence Number: 135471 Ack Nurriber:	2371728
; Offset:	6
Q Reserved:	$000000
. $ Code:	$010010
ф	Azk is valid
Q	Sywch Sequence
	Window:	8760
-	ф	Checkfiwu:	0xB6D5
• •ф	Urgent Pointer:	0	>
-	ф	TCP Options:
. - Q Option Type:	2 Maxi&iw.	Size
ф	Length;	4
г- ф	MSS:	1460
:	No More FTP Coirenand or Reply Data	!
= 	bytes'	/Fadding):	4-^
0i	00	00	65	10	22	IB	00	20	78	El	5A	80	08	00	45	00
16:	00	2C	15	00	40	00	80	06	6C	BE	0A	03	IE	01	0A	03
32:	47	07	00	15	04	01	00	02	11	2F	00	24	30	90	60	12
Bev '' | CHS3I
Рис. 5.8. Второй пакет процесса TCP-квитирования
Пакет квитирования Na 3
На рис. 5.9 изображен TCP-заголовок пакета № 3 процесса квитирования.
Теперь порядковый номер хоста 1 — 2371728. Значение поля Acknowledgment Number (подтверждение) (на рис. 5.9 это поле именуется как Ack Number) — 135472. Таким образом, следующий ожидаемый порядковый номер последо-
Протоколы Транспортного уровня TCP/IP
291
вательности данных, приходящих от хоста 2, — 135472. В заключительном пакете процесса квитирования флаг АСК обозначает получение информации о порядковом номере хоста 2.
О Flags:	0x00
Q Status:	0x01
: ф Packet Length:64 j ф Tibies tamp:	14:58:53.597000 01/14/2001
Ш' Ethernet Header
Meader - Internet Protocol Datagram S 'T"	~ ^'x'ajbSpob,t Control Protocol
-0	Source Port:	1025 blackjack
• 0	Destination Port:	21 ftp
: -	Sequence Number:	2371728
: ф	Ack Number:	135472
>0	Offset:	5
..ф	Reserved:	$000000
: 0	Code:	$010000
?- ф	Ack is valid
Window:	8760
i-	 ф	Checksum:	0XCE92
$	Vrgent Pointer:	0
ф	No TCP Options
; • ф No More FTP Command or Reply Data
j -ф Sxtra bytes (Padding):
ф Data: (6 bytes)
’ Er-ama Check Sequence: 0x00000000
0:
16:
32:
00 20	78	El	SA	80	00 00	65	10	22	IB	08	00	45	00	сж|
00 28	2C	01	40	00	20.06	B5	Cl	0A	03	47	07	0A	03	£-1
IE 01	04	01	00	IS	00 24	30	90	00	02	11	30	SO	10	.» |
......
Рис.
5.9. Третий пакет процесса TCP-квитирования
Существуют два параметра системного реестра Windows, позволяющих настраивать установление соединения по протоколу TCP. Первый из них, TcpMaxConnectRetransmissions, представлен в табл. 5.3.
Таблица 5.3. Параметр реестра TcpMaxConnectRetransmissions
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Tcpip\Parameters
292
Гпава 5
Таблица 5.3 (окончание)
Информация реестра	Подробности
Тип данных	REG_DWORD
Разрешенный диапазон	0-255
Значение по умолчанию	2
Присутствует ли по умолчанию	Нет
Параметр реестра TcpMaxConnectRetransmissions определяет количество повторных передач (retries) пакетов с установленным флагом SYN, осуществляемых при попытке установить TCP-соединение. Второй параметр, TcpNumConnections, представлен в табл. 5.4.
	Таблица 5.4. Параметр реестра TcpNumConnections
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	REG_DWORD O-OxFFFFFE OxFFFFFE (16 777 214) соединений Нет
Параметр реестра TcpNumConnections указывает, сколько ТСР-соединений может быть открыто одновременно.
Полуоткрытые ТСР-соединения
Полуоткрытые соединения (half-open connections), осуществляемые по протоколу TCP, происходят тогда, когда процесс квитирования не может быть успешно завершен последним пакетом подтверждения (АСК). Последовательность сообщений при полуоткрытом соединении выглядит следующим образом.
SYN »>»
««< АСК SYN
««< АСК SYN
««< АСК SYN
В данном случае хост 1 отсылает первый пакет квитирования (пакет SYN) хосту 2. Тот отвечает пакетом АСК-SYN. Хост 1 должен завершить процесс
Протоколы Транспортного уровня TCP/IP	293
квитирования, отослав третий пакет (АСК), но он этого не делает. Вероятно, хост 1 потерял возможность соединения или был заблокирован. Такое соединение и называется полуоткрытым. Оно пользуется ресурсами хоста 2; при этом мы не знаем состояния хоста 1.
Примечание
При атаке DoS (Denial of Service, отказ от обслуживания), также известной под названием SYN-атаки, применяется двухсторонний процесс квитирования (two-way handshake) с приращением порта источника; цель этих действий — перегрузить пункт назначения. Если вы видите, что происходит слишком много взаимных операций по установлению соединения, стоит серьезно поинтересоваться причиной этой ситуации. В главе 9 приведены подробные рекомендации по защите сети от SYN-атак.
Процесс поддержки соединения TCP
После того как TCP-соединение было установлено, процесс поддержки соединения (keep-alive process) получает возможность сохранять его в ситуациях, когда непосредственной передачи данных по каналам не происходит. Заведует процессами поддержки соединения Прикладной уровень; к примеру, он может запускать сторожевой процесс (watchdog process) NetWare, который поддерживает соединение между NetWare-хостом и сервером. Если приложение не в состоянии обеспечивать поддержку соединения, ответственность за выполнение таких процессов может переходить к протоколу TCP. Если процесс поддержки TCP-соединений реализован, его может запускать только сервер.
Процессы поддержки соединений в Windows 2000 по умолчанию отключены, хотя, если того хочет программист, приложение может их задействовать. В Windows 2000 существуют два параметра системного реестра, относящихся к поддержке соединений. Параметр KeepAliveTime определяет период времени до отсылки первого пакета поддержки TCP-соединения. Параметр KeepAlivelnterval указывает задержку между передачами поддержки соединения, когда подтверждения не получаются.
Значение параметра реестра KeepAliveTime можно изменить, руководствуясь данными табл. 5.5.
Таблица 5.5. Параметр реестра KeepAliveTime
Информация реестра	Подробности
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Tcpip\Parameters
Местоположение
294
Гпава 5
Таблица 5.5 (окончание)	
Информация реестра	Подробности
Тип данных	REG_DWORD
Разрешенный диапазон	O-OxFFFFFFFF
Значение по умолчанию	0x6DDD00 (7 200 000) миллисекунд
Присутствует ли по умолчанию	Нет
Значение параметра реестра KeepAlivelnterval можно изменить, руководствуясь данными табл. 5.6.
Таблица 5.6. Параметр реестра KeepAlivelnterval
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	O-OxFFFFFFFF
Значение по умолчанию	0хЗЕ8 (1000) миллисекунд
Присутствует ли по умолчанию	Нет
Примечание Jj
Количество повторных передач определяется параметром реестра TcpMaxDataRetransmissions (он описывается далее в разд. "Процесс обнаружения и устранения ошибок ТОР" этой главы).
Процесс завершения соединения TCP
Процесс завершения TCP-соединения требует отсылки четырех пакетов. Как показано на рис. 5.10, первый одноранговый TCP-узел (хост 1) отсылает пакет, не содержащий данных. В этом пакете устанавливаются флаги FIN (окончание) и АСК (подтверждение). Второй узел (хост 2) в ответ отсылает пакет АСК. Затем хост 2 отсылает TCP-пакет без данных, но с установленными флагами FIN и АСК. Наконец, хост 1 возвращает ответ АСК.
Протоколы Транспортного уровня TCP/IP
295
АСК (Acknowledgment Field is Valid)
Клиент
Хост 1
Сервер Хост 2
Рис. 5.10. В процессе завершения TCP-соединения используются четыре пакета
Режимы соединения TCP
TCP-сообщения проходят несколько режимов соединения, перечисленных в табл. 5.7.
Таблица 5.7. Режимы ТСР-соединения
Режим соединения	Описание
CLOSED (закрыто)	TCP-соединение не установлено
LISTEN (ожидание)	Хост находится в ожидании, и готов принять соединение с портом
SYN SENT (пакет SYN отправлен)	Хост отослал SYN-пакет
SYN RECD (пакет SYN получен)	Хост получил SYN-пакет и отправил ответ SYN-ACK
ESTABLISHED (установлено)	Трехэтапный процесс квитирования успешно завершен (независимо от того, какой хост его запустил). Можно передавать данные (если доступен допустимый размер окна)
296
Гпава 5
	Таблица 5.7 (окончание)
Режим соединения	Описание
FIN-WAIT-1 (ожидание окончания 1)	Отправлен первый пакет FIN-АСК для завершения соединения
FIN-WAIT-2 (ожидание окончания 2)	Хост отправил пакет FIN-АСК и получил ответ АСК
CLOSE WAIT (ожидание закрытия) LAST АСК (последнее подтверждение) CLOSING (закрытие)	Хост получил FIN-АСК и отправил FIN-ACK Хост отправил АСК-пакет в ответ на полученный FIN-ACK Получен пакет FIN-ACK, однако значение АСК не соответствует отправленному FIN-ACK. Это значит, что обе стороны пытаются одновременно закрыть соединение
TIME WAIT (ожидание перед повторным использованием параметров)	Обе стороны отослали пакеты FIN-ACK и АСК. Соединение закрыто, однако, прежде чем повторно использовать любой из параметров соединения, хосты должны подождать хотя бы четыре минуты
Задержку TIME WAIT (Time Wait delay) можно контролировать; она указывает, в течение какого времени хост TCP должен подождать, прежде чем повторно использовать параметры соединения. По умолчанию эта задержка равна четырем минутам (такое значение рекомендовано в документе RFC 793).
Чтобы изменить задержку TIME WAIT, установите новое значение параметра реестра TcpTimedWaitDelay, руководствуясь данными табл. 5.8.
Таблица 5.8. Параметр реестра TcpTimeWaitDelay
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REGJDWORD
Разрешенный диапазон	30-300
Значение по умолчанию	OxFO (240)
Присутствует ли по умолчанию	Нет
Протоколы Транспортного уровня TCP/IP
297
Процесс упорядочивания
и подтверждения приема TCP
Процесс упорядочивания и подтверждения приема TCP. гарантирует корректное расположение пакетов и предохраняет от потери сегментов. В ходе процесса квитирования каждая сторона соединения выбирает свой собственный порядковый номер. Они приращивают этот номер в соответствии с объемом данных, помещаемым в каждый пакет.
К примеру, на рис. 5.11 изображена общая схема процесса передачи файла. Стрелки связывают подтверждения с наборами данных, к которым они относятся. Первый пакет является подтверждением данных, полученных ранее. (Данные можно взять из окна.)
I Source	] Dasfhutfon ; Prirtocnt
7J.-2 ' iP-io.^q^i  ip tcp -^^HpITo X'30.1 T IP-10. 3,71.7^ IP tcp" 1003] IP-10.3.30.1  IP-10.3.71.7 • IP TCP 1004 : IP-10.3.30.1 ; IP-10.3.71.7  IP TCP 1005 ; IP-10.3.71.7 ; IP-10.3.30.1 , IP TCP .1006 J IP-10. 3.30.1 J IP-10;3_.71.7 - IP TCP 1007 ‘ IP-io.3.30,1 \ IP-10.3.71.7 • IP TCP “166b rip-io J??!.7.7^р71о7з7зо.Х 1009; ip-10.3.30.1 ; ip-ю.з.тГз *^‘ip tcp 1610  IP-10.3.30.1 j IP-10.3.71.7 IP TCP Чо1Глр^'з7пл,д^1р-1о.3,30.1 : ip tcp. 1012; IP-10,3.71.7 : IP-10.3.30.1 IP TCP "lOlH'lP-lO. зТ?!. 7 1 ! 1 IP-io. з7зо."1 IP tcp'*" 1014 ' IP-10.3.71.7 , IP-10.3.30.1 ; IP TCP
These are ACKefor earlier data.
Seq#+data=Next Seq#
S8411071+1460=8412531
S 8412£3J+i460=841399i 5 8413991+1460=8415451
5 8415451 +1 '460=84169IT
5 8416911+1.460=841837 L
S 84_1 8371+1460=871^31
S8419831 +1460=841.12.91
Pl!JQ-ln Wtl
S= ‘9363103,U "0,A* 8406691,U= ’8760 T4TioVrT““
8412531,1= 1460,A= 9363103,U= 8760 8413991,1= 1460,A= 9363103,U='87 60 9363103,1= 0,A« 8409611,V» 8760 8415451,1= 1460,A= 9363103^U=> 8760
8416911,1= 1460,A= _ 9363103,H= 8760 9363103,1=' Qr.Aa.~ ...S41253|^ga 8760 8418371,1= 1460,A= “*“9363103,U=~8760 8419831^1= .1460/4=.. ;,?93 63103,7=' 8760 9363103,1= . 0 гA= 7,8415451,0= 5840 9363103,1= 0,A= ^8418371,TJ= 2920 9363103,1= 0,A= ~8421291,U= “б 9363103,1= 0,A= ’ 8421291,U= 8760
5=
Set Wndow !o 6
Set Window back to 8760
I 5 =
Рис. 5.11. Чтобы узнать, какой порядковый номер будет использован в следующий раз, прибавьте количество отправленных байт данных к значению в поле Sequence Number
Пакеты №№ 1002, 1003 и 1004 содержат данные (по 1460 байт в каждом). Значение поля Acknowledgment Number в пакете № 1008 обозначает, что оно является подтверждением всех данных, полученных вплоть до пакета № 1002 (до байта 8412531). Пакет № 1011 подтверждает данные вплоть до байта 8415451 (пакет № 1004).
Обратите внимание: в этом файле трассировки мы видим, что хост отсылает пакет АСК, отмечая, что размер окна (доступный размер буфера получателя) теперь равен нулю. Почти что сразу он отсылает еще один пакет АСК, вновь приравнивая размер окна для данной передачи файла к 8760.
При анализе процесса упорядочивания и подтверждения приема имейте в виду следующее равенство.
Входной порядковый номер + количество полученных байт данных = значение исходящего подтверждения
298
Гпава 5
На рис. 5.12 изображено простое упорядоченное сообщение. (Помните, что поле Acknowledgment Number содержит значение следующего порядкового номера, ожидаемого от противоположной стороны.)
Хост 1:	“*"
поле Sequence Number = 1 с 9 байтами данных
поле Acknowledgment Number =100
Хост 2: «<—-
поле Sequence Number = 100 без данных (АСК)
поле Acknowledgment Number = 10 (1 +9 байт данных)
Хост 1:	—Эп-
пеле Sequence Number =10 с 5 байтами данных
поле Acknowledgment Number =100
Хост 2: "*“
поле Sequence Number =100 безданных (АСК)
поле Acknowledgment Number =15(10 + 5 байт данных)
ХоСТ 2:	•*—
поле Sequence Number = 100 с 20 байтами данных *
поле Acknowledgment Number =15
Хост 1:	—-Э»»
поле Sequence Number =15 без данных (АСК)
поле Acknowledgment Number = 120 (100 + 20 байт данных)
* Теперь хост 2 отправляет данные хосту 1
Рис. 5.12. Простое упорядоченное сообщение
Значение в поле Acknowledgment Number (подтверждение) увеличивается только по получении данных. Поскольку поток данных может изменять направление (хост 1 отправляет данные хосту 2, а после этого хост 2 отправляет данные обратно хосту 1), значение в поле Sequence Number (порядковый номер) может какое-то время увеличиваться, а затем остановиться — в то же время начнется приращение значения в поле Sequence Number на другой стороне.
На рис. 5.12 показано, что сначала данные отсылает хост 1, а затем, когда хост 2 получает данные для отправки, направление меняется. Это типичное двухстороннее сообщение.
Во время стартовой последовательности и последовательности обрыва (teardown sequences) для протокола TCP значения в полях Sequence Number
Протоколы Транспортного уровня TCP/IP  299
(порядковый номер) и Acknowledgment Number (подтверждение) увеличиваются на единицу, несмотря на то, что действительные данные не отсылаются и не получаются. Это обстоятельство может привести к путанице, поскольку, как вы только что узнали, значение поля Sequence Number увеличивается только в случае получения данных.
Процесс обнаружения и устранения ошибок TCP
Есть много причин, по которым передачи последовательности сообщений могут быть неуспешны. Пакет данных отправителя может попасть в конфликтную ситуацию. Подтверждение может так и не возвратиться из-за проблем с маршрутизаторами на его пути. Какая бы причина не обусловила ошибку передачи, протокол TCP располагает процессом, способным обнаружить и устранить ее.
Одним из механизмов обнаружения и устранения ошибок является таймер повторной передачи (retransmission timer). Значение, определяемое этим таймером, называется лимитом времени на повторную передачу (retransmission timeout, RTO). Таймер повторной передачи запускается при каждой отправке данных. После получения ответов он останавливается. Хост измеряет период кругового обращения сообщения (RTT, round-trip time). Этот период, а также среднее отклонение от RTT, используются для определения значения лимита времени на повторную передачу.
По истечении работы таймера повторной передачи отправитель в первую очередь ретранслирует первый неподтвержденный сегмент данных TCP. Затем отправитель удваивает значение RTO и делает это вновь при каждой ретрансляции сегмента данных протокола TCP. Этот процесс продолжается, пока отправитель не достигнет своего лимита повторной передачи.
В Windows 2000 максимальное количество повторных передач устанавливается с помощью параметра реестра TcpMaxDataRetransmissions, описанного в табл. 5.9.
Таблица 5.9. Параметр реестра TcpMaxDataRetransmissions
Информация реестра
Подробности
Местоположение
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
REGJDWORD
O-OxFFFFFFFF
Тип данных	REG
Разрешенный диапазон	0—0
Значение по умолчанию	5
Присутствует ли по умолчанию Нет
300
Гпава 5
Исходя из процесса повторной передачи по протоколу TCP, операция ретрансляции проходит со следующей динамикой приращения:
□	1-я повторная передача: RTO секунд;
□	2-я повторная передача: 2 х RTO секунд;
□	3-я повторная передача: 4 х RTO секунд;
□	4-я повторная передача: 8 х RTO секунд;
□	5-я повторная передача: 16 х RTO секунд.
На рис. 5.13 приведен пример работы таймера повторной передачи и процесса ретрансляции в действии. В этом примере хост (1О.З.ЗО.1) отсылает пакет № 102, но не получает пакет подтверждения, который теоретически должен содержать значение подтверждения, равное 5 405 497. Эта расшифровка демонстрирует процесс ретрансляции, экспоненциально удлиняющийся между повторными передачами.
Retries
105
106
107
108
109
t Ш1 I'JSl pH
..............................................
Pgekd I Sourco_________i Dgstinstwn______| Ttene»Stemp______I Protocol | PliitHnlnfo:
101 IP-10.3.71.7 IP-io.3.30.1	16:18:01.289000 IP TCP
103 ! 1P-1U. j.71. / • ir-iu. J. 30.1 i6;io:0i.ZHb>uuu  ir nr : a»
104 . IP-10. 3.71.7  IP-10.3.30.1 ~ 16:18:01.289000 j IP TCP ; 5=
7118811,1=	0,А=	5399657,V- 8760
5405497,1=	648,А=	imiiT8&WlJOWZ60g|l
5402S77;W= 8760
7118811,1= "7118811, L=
IP-10.
IP-10,
IP-10, IP-10.
IP-10.3.30.1
3.30.1
3.
3.
3.
30.
3p’
30.
' IP-10. • ip-lo ; ip-io.
( IP-10 J IP-16.3.71.7
3.
3.
71.7
71.7
495000
095000
295000
16:18:01.
16:18:02.
: 16:18:03.
,16:18:05.695000
j 16:18:10^500000
’ IP • 1F ' IP : ip ' IP
TCP . s=
TCP
TCP
TCP
TCP
5405497,1= 5405497,1= 5405497,L= 5405497,1=
5405497,1=
648,A= 648,A= 648,A=
648,A= 648,A=
• U= ,U=

7118811.
7118811,
7118811, 7118811
7118811,U»
8760 ;
8760 j
8760 |
8760 j
8760
J.
© ©
5 =
Рис. 5.13. Сервер отсылает несколько TCP-пакетов, интервал между которыми увеличивается экспоненциально
Обратите внимание, что повторные передачи происходят через периоды времени, не обязательно отражающие точные экспоненциальные границы, и это нормально. Иногда сам процесс не начинается в точное время; в других случаях ощущается влияние анализатора, отсчитывающего время.
В Windows 2000 исходный лимит времени на повторную передачу (RTO) определяется с помощью параметра реестра TcpInitialRTT, описанного в табл. 5.10.
Таблица 5.10. Параметр реестра TcpInitialRTT
Информация реестра Подробности
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Местоположение
Протоколы Транспортного уровня TCP/IP
301
Таблица 5.10 (окончание)
Информация реестра	Подробности
Тип данных	REGJDWORD
Разрешенный диапазон	0—OxFFFF (секунд)
Значение по умолчанию	3 (секунды)
Присутствует ли по умолчанию	Нет
Значение параметра TcpInitialRTT применяется для отсчета времени ожидания пакетов квитирования, и исходные сегменты данных отсылаются по новому соединению. После успешной отсылки сегментов значение RTO, определенное параметром TcpInitialRTT, меняется на новое значение, соответствующее текущему периоду кругового обращения (учитывая отклонение).
Процесс контроля перегрузок TCP
Перегрузка (congestion) может происходить в сети или в системе-получателе. Перегрузка сети происходит тогда, когда объем данных превышает возможности сетевой среды. Еще большее увеличение объема данных усугубляет перегрузку и приводит к потере пакетов. Перегрузка получателя происходит в случаях, когда количество байт данных не вмещается в объявленное окно (advertised window) (определяемое в поле Window TCP-заголовка получателя). Текущее окно (current window) всегда меньше того уровня, с которым могут справиться сеть и получатель.
На рис. 5.14 приведен пример перегрузки сети и получателя. Перегрузка сети — понятие несложное; оно определяется возможностями сети по обработке пакетов. Намного сложнее распознать перегрузку получателя. Размер окна получателя зависит от его доступного размера буфера. При получении TCP-данных они помещаются в буферную область TCP (TCP buffer area). Протокол Прикладного уровня извлекает данные из буфера, руководствуясь своими нормами.
Протокол TCP располагает четырьмя определенными механизмами контроля перегрузок, которые призваны обеспечить наиболее эффективное использование пропускной способности (bandwidth), а также быстрое устранение ошибок и перегрузок. Протокол TCP поддерживает организацию окон (windowing) — процесс последовательной отсылки многочисленных пакетов данных без ожидания промежуточных подтверждений. Размер окна зависит от объема трафика, с которым может справиться сеть (окно перегрузки), и от доступного размера буфера получателя (объявленное окно получателя).
302
Гпава 5
Перегрузка получателя происходит здесь
TCP-буфер получателя
Рис. 5.14. Окна сети и получателя определяют текущий размер окна перегрузки
Перегрузка сети происходит здесь
Четыре механизма, о которых идет речь и которые подробно описаны и специфицированы в документе RFC 2581, таковы:
□	затяжной запуск;
□	ликвидация перегрузок;
□	быстрая повторная передача;
□	быстрое восстановление.
В следующем разделе мы подробно рассмотрим каждый из этих механизмов.
Затяжной запуск
Когда TCP-хост стартует, размер окна перегрузки неизвестен. Исходно используемое значение для этого окна равняется настройке максимального размера сегмента (MSS) отправителя, помноженной на два. К примеру, если размер MSS приравнивается к 1460, то исходное окно, применяемое хостом, равняется 2920 байт. Параметр MSS увеличивает это окно для каждого полученного сообщения АСК, подтверждающего новые данные.
Ликвидация перегрузок
После того как размер окна был увеличен с помощью алгоритма затяжного запуска (Slow Start algorithm), в случае ошибки (истечения лимита времени) этот размер уменьшается вдвое. После этого используется алгоритм предотвращения перегрузок (Congestion Avoidance algorithm), увеличивающий размер окна линейным способом.
Быстрая повторная передача/восстановление
После получения выпадающего сегмента данных получатель должен незамедлительно отослать дублирующие пакеты подтверждения (duplicate ACKs).
Протоколы Транспортного уровня TCP/IP
303
Оба таких пакета подтверждения указывают, какой порядковый номер был ожидаем. Процесс быстрого восстановления предписывает немедленную повторную передачу потерянных сегментов (lost segments) в случае получения трех дублирующих подтверждений; при этом ожидания истечения показаний таймера повторной передачи не происходит.
В соответствии с документом RFC 2581 размер окна постепенно увеличивается. Максимальный размер окна на прием можно определить с помощью параметра реестра GlobalMaxTcpWindowSize, показанного в табл. 5.11.
Таблица 5.11. Параметр реестра GlobalMaxTcpWindowSize
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REGJDWORD
Разрешенный диапазон	0—0x3FFFFFFF (байт)
Значение по умолчанию	0x4000 (байт)
Присутствует ли по умолчанию	Нет
Максимальный размер окна на прием для интерфейса можно установить с помощью параметра реестра TcpWindowSize, как показано в табл. 5.12. Эта настройка, если она присутствует, подменяет значение параметра GlobalMaxTcpWindowSize для интерфейса, на котором она установлена.
	Таблица 5.12. Параметр реестра TcpWindowSize
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\S егуюез\Тср1р\Рагате1ег5\1п1ег1асе\<имя_интерфейса>
Тип данных Разрешенный диапазон Значение по умолчанию	REGJDWORD 0-0X3FFFFFFF (байт) OxFFFF (17 520 для Etherent, 65 535 байт для других сетей, или GlobalMaxTcpWindowSize; с другими исключениями можно ознакомиться в файле Regentry.chm)
Присутствует ли по умолчанию	Нет
Примечание
Файл Regentry.chm, входящий в состав Windows 2000 Resource Kit, содержит исчерпывающую информацию о реестре Windows 2000.
304
Гпава 5
Процесс раздвижного окна TCP
Протокол TCP поддерживает механизм раздвижного окна — если посмотреть на отправленные данные и отодвинуть от них окно, то в его левой части будут размещаться подтвержденные данные. Правая часть при этом определяет границу данных, которые могут быть отправлены в зависимости от объявленного окна получателя. Рис. 5.15 иллюстрирует это утверждение.
Рис. 5.15. Окно перемещается по мере получения подтверждений
На рис. 5.15 присутствует набор данных А + В, который был отправлен и подтвержден. Текущее окно отправило набор данных C + D + E + F, и отправитель ожидает их подтверждения. Теперь окно перемещается вправо для отправки следующего набора данных, G + Н + I +J. По мере поступления подтверждений окно продолжает плавно перемещаться вправо.
Есть несколько интересных исключений из стандартной операции по организации окна. К примеру, в соответствии с алгоритмом Нейгла (Nagle algorithm) (по имени Джона Нейгла, автора документа RFC 896), в случае, если небольшие сегменты данных отправлены, но не подтверждены, другие небольшие сегменты отсылаться не могут. Такие данные встречаются в интерактивных приложениях вроде Telnet.
Другой интересный аспект организации окон TCP — синдром "глупого" окна (Silly Window Syndrome, SWS). Он появляется тогда, когда полученные ТСР-хостом данные заполняют буфер приема, и получатель входит в режим нулевого окна (zero-window state). Получатель объявляет, что размер окна равняется нулю, пока протокол Прикладного уровня не извлечет данные из буфера приема. В ситуации синдрома "глупого" окна (SWS) протокол Прикладного уровня извлекает из буфера только один байт. В результате хост объявляет, что размер окна равняется единице. По получении этой информации отправитель передает один байт информации. Новый размер окна, несомнен
Протоколы Транспортного уровня TCP/IP
305
но, — самый неэффективный из всех методов передачи данных. Получатели могут избежать появления синдрома "глупого" окна (SWS), не объявляя новый размер окна, пока свободное пространство в буфере по меньшей мере не станет равняться значению максимального размера сегмента (MSS). Отправители могут избежать таких ситуаций подобным образом, т. е. не отправляя данные, пока размер объявленного окна хотя бы не будет приравнен к значению MSS.
Поля и функции ТСР-заголовка
Теперь рассмотрим структуру ТСР-заголовка, изображенную на рис. 5.16. Некоторые из его характеристик (например, поля Source Port Number и Destination Port Number) должны быть вам уже знакомы. Поэтому более подробно мы остановимся на других аспектах структуры ТСР-заголовка.
IP HEADER — PROTOCOL FIELD = б
О	15 16	31
SOURCE PORT NUMBER	DESTINATION PORT NUMBER
SEQUENCE NUMBER
ACKNOWLEDGEMENT NUMBER
OPTIONS (IF ANY)
DATA
Рис. 5.16. Длина ТСР-заголовка составляет как минимум 20 байт
Поле Source Port Number
См. описание поля Source Port Number (номер порта источника) UDP-заголовка в разд. "Поля UDP-заголовка и их назначение" этой главы.
Поле Destination Port Number
См. описание поля Destination Port Number (номер порта назначения) UDP-заголовка в разд. "Поля UDP-заголовка и их назначение"этой главы.
11 Зак. 321
306
Гпава 5
Поле Sequence Number
В поле Sequence Number (порядковый номер) содержится число, уникально идентифицирующее TCP-сегмент. Этот порядковый номер дает возможность получателям TCP-пакетов идентифицировать пропущенные части потока информации. Порядковый номер увеличивается на значение, представляющее количество байт данных в пакете. К примеру, на рис. 5.17 текущий порядковый номер — 1720360319, а пакет содержит 42 байт данных (чтобы получить это значение, нужно вычесть из значения поля Total Length (82) в IP-заголовке 20 байт самого IP-заголовка и еще 20 байт ТСР-заголовка).
"V” Ethernet Meader
Header - Internet Protocol Datagram
..Ф  -Ф
..Ф
..0
\.Ф
i.0
i.$
..0
Version:
Header Length:
Type of Service: Pra-зedercce: R#u t ine.
Total Length:
Identifier:
Fragmentation Flags: Fragment Offset: Time To Live:
Protocol:
Reader Checksum:
Source IP Address:
Dest. IP Address:
No IP Options
S-'y3 TCP - Transport Control
Source Port: Destination Port:
5	(20 bytes)
$00000000
Not'snal Delay.- Normal Ttortfughput 82
2 $000 Nay FrayKtent Last F^ag^ent
0	(0 bytes)
255
6 TCP ОхЗАЗС
10.1.99.99
10.2:10.2
Protocol
23 telnet
1031 iad2
:  ♦ : ....«
i -ф
! i...
; j..0
! «
;	• ф 1ЧМ	UJJVXUllZJ
Й-'Т TELNET - Network Virtual Terminal
Sequence Number:
Ack Number: Offset:
1720360319
248606632 5
Reserved: Code:
$000000
$011000
Push Request Window: Checksum:
Urgent Pointer: No TCP Options
4288 0xED58
0:	00	20	78	Е1	5А	80	00	10	7В	81	43	ЕЗ	08	00	45	00	. XQZ..,
16:	00	52	00	02	00	00	РР	06	ЗА	ЗС	0А	01	63	63	0А	02	.А	
32:	0А	02	00	17	04	07	66	8А	9D	7F	0Е	D1	6Р	А8	50	18		f.
{.Ca. .E!
□ ...o
$
0

Рис. 5.17. Расшифровка ТСР-заголовка
Каждый TCP-хост самостоятельно определяет свой порядковый номер. Схема его приращения рассмотрена ранее в разд. "Процесс упорядочивания и подтверждения приема TCP" этой главы.
Протоколы Транспортного уровня TCP/IP
307
Поле Acknowledgment Number
В поле Acknowledgment Number (подтверждение) определяется порядковый номер, применение которого ожидается в последующем от противоположной стороны. Например, на рис. 5.17 в поле, обозначенном как Ack Number, отправитель указывает следующий ожидаемый порядковый номер другого хоста — 248606632.
Поле Data Offset
В поле Data Offset (смещение данных) или, иначе, поле Header Length (длина заголовка) сокращенно обозначаемое как Hdr Len, указывается длина ТСР-заголовка в 4-байтных приращениях. Значение "5" в этом поле означает, что длина ТСР-заголовка составляет 20 байт (5x4 байта = 20 байт). Это поле необходимо, потому что длина ТСР-заголовка может варьировать в зависимости от того, какие дополнительные возможности ТСР-заголовка применяются. Несмотря на то, что UDP-поле Options используется редко, TCP-поле Options определяется почти при каждом установлении ТСР-соединения; это делается для того, чтобы указать максимальный объем данных, помещаемый после ТСР-заголовка.
Поле Flags
Флаги управления содержатся в 6-битном поле Flags (флаги). В табл. 5.13 перечислены флаги, применение которых возможно в ТСР-заголовке.
Таблица 5.13. Установки флагов ТСР-пакетов
Установка флага	Описание
URG (срочность)	Указывает на необходимость проверки значения поля Urgent Pointer (указатель срочности). Если этот флаг установлен, то поле Urgent Pointer сообщает получателю, где следует начинать считывать байты, содержащиеся в блоке данных пакета
АСК (подтверждение)	Поле Acknowledgment Number (подтверждение) имеет существенное значение. В нем определяется следующий порядковый номер, применение которого ожидается от другого однорангового ТСР-узла
PSH (проталкивание)	Игнорирует буферизацию (флаг форсированной отправки) и передает данные прямо на верхний уровень. Эта возможность применяется для приложений, выполняющихся однократно, а также приложений с ограниченным временным ресурсом. После приема пакета с установленным флагом PSH получатель должен не заносить его данные в буфер, а передать их непосредственно протоколу Прикладного уровня
308
Глава 5
	Таблица 5.13 (окончание)
Установка флага	Описание
Reset (сброс)	Завершает соединение. Применяется для полного закрытия соединения, а также для отказа в соединение (по любой причине)
SYN (синхронизация)	Синхронизирует порядковые номера. Этот флаг используется в ходе процесса квитирования и обозначает, что отправитель извещает противоположную сторону ТСР-сое-динения о значении в своем поле Sequence Number (порядковый номер)
FIN (окончание)	Соединение завершено. Флаг обозначает, что хост завершил соединение. Сам по себе флаг FIN не может явно закрыть соединение. Тем не менее, если обе стороны оправят TCP-пакеты FIN и ответят друг другу соответствующими подтверждениями, то соединение будет закрыто
Поле Window
В поле Window (окно) определяется размер TCP-буфера приема в байтах. К примеру, на рис. 5.17 отправитель указывает, что он может принять поток данных длиной до 4288 байт. Размер окна, приравненный к нулю, означает, что отправитель должен приостановить передачу — TCP-буфер получателя заполнен.
Поле Checksum
В поле Checksum (контрольная сумма) помещается контрольная сумма сегмента. Контрольная сумма TCP-пакетов, как и UDP-пакетов, неоднозначна. Она высчитывается из содержимого ТСР-заголовка и данных (не включая набивку (padding) Канального уровня), равно как и псевдозаголовок, выводимый из IP-заголовка. ТСР-псевдозаголовок схож со своим UDP-аналогом; он применяется лишь для вычисления контрольной суммы и фактически заголовком не является. Псевдозаголовок TCP-пакета содержит значения трех полей IP-заголовка: Source IP Address (IP-адрес источника), Destination IP Address (IP-адрес назначения) и Protocol (протокол). Кроме того, он включает значение TCP-поля Length (длина).
Более подробную информацию о псевдозаголовке TCP можно почерпнуть из документа RFC 793.
Поле Urgent Pointer
Поле Urgent Pointer (указатель срочности) значимо только в том случае, если установлен флаг URG. В таком случае получатель должен просмотреть
Протоколы Транспортного уровня TCP/IP
309
это поле, чтобы установить, откуда начинать просматривать/считывать данные пакета. Два документа RFC 1122 и RFC 793 трактуют значение этого поля по-разному. При желании в Windows 2000 можно настроить его интерпретацию в соответствии с документом RFC 1122. Информация о параметре реестра TcpUseRFC1122UrgentPointer содержится в табл. 5.14.
Таблица 5.14. Параметр реестра TcpUseRFCI 122UrgentPointer
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
По умолчанию хосты Windows 2000 пользуются интерпретацией поля Urgent Pointer, данной в документе RFC 793.
Поле Options
Поле Options (дополнительные параметры) не является обязательным. Но один дополнительный параметр вы обязательно сможете увидеть в действии — максимальный размер сегмента (MSS); он используется в первых двух пакетах трехступенчатого процесса квитирования. Его назначение — определить поддерживаемый хостом размер сегмента. Хосты применяют наименьший общий знаменатель двух значений MSS.
Некоторые дополнительные возможности протокола TCP расписаны в табл. 5.15.
Таблица 5.15. Дополнительные возможности TCP
Номер	Описание	Справочная информация
2	Максимальный размер сегмента (Maximum Segment Size, MSS). Определяет, данные какого объема отправитель может поместить после ТСР-заголовка	RFC 793
. 3	Шкала окна (Window Scale). Расширяет значение размера TCP-окна до 32-битного, используя 16-битное поле	RFC 1323
4	Разрешение выборочных подтверждений (Selective АСК, SACK). Означает, что отправитель может отсылать выборочные подтверждения определенных пакетов в пределах последовательности сегментов данных	RFC 2018
310
Гпава 5
	Таблица 5.15 (окончание)	
Номер	Описание	Справочная информация
5	SACK — применяется в SACK-пакетах.	RFC 2018
8	Отметка времени (Timestamp Option). Устанавливает значение лимита времени на повторную передачу (RTO), и подменяет любое подобное подсчитанное значение.	RFC 1323
Полный список "TCP Option Numbers" (номеров дополнительных параметров TCP) есть на сайте http://www.iana.org/assignments/tcp-parameters. Из-за сложности и широкого спектра опций протокола TCP этот список не краток и не слишком доходчив. Лишь изредка может возникнуть необходимость ознакомиться с дополнительными возможностями протокола TCP, не описанными в заключительной части этой главы.
Распространенные
и характерные ситуации
применения протоколов TCP и UDP
Если протокол TCP мощен и надежен, a UDP не обладает такими преимуществами, зачем же службам и протоколам Прикладного уровня использовать для транспортировки протокол UDP, имея под рукой TCP? Все дело в непроизводительных издержках. Из-за мощности и надежности TCP этому протоколу приходится переносить значительные объемы "лишней" служебной информации: к примеру, дополнительные поля заголовков, а также явные метасообщения в виде TCP-сообщений, в которых содержится информация о соединении, а не данные, которые по этому соединению следует передавать.
Для некоторых простых служб, таких как Microsoft Messenger Service (ее можно запустить в командной строке, введя команду net send; в результате желаемое сообщение появится на экране или экранах назначения), применение протокола TCP — это уж слишком серьезно и избыточно, а вот протокола UDP — оптимальный вариант. Для других приложений, которые работают во время запуска системы или в ситуации ограниченных сетевых возможностей (если, к примеру, используется только широковещание), протокол UDP является очевидным средством доставки, передающим запросы загрузки для протокола ВООТР и запросы адресов для протокола DHCP.
Кроме того, для таких приложений, как протокол RIP (протокол маршрутной информации), требующих регулярных обновлений таблиц маршрутизации и постоянно отслеживающих значения лимита времени, высокая на
Протоколы Транспортного уровня TCP/IP
311
дежность протокола TCP является излишней; в этих случаях используется протокол UDP. Наконец, некоторые разработчики приложений решили создать собственные механизмы обеспечения надежности и доставки файлов по сети (вроде тех, что реализованы в сетевой файловой системе — NFS, Network File System), которые позволят не зависеть от универсальных механизмов-протокола TCP. В большинстве подобных случаев выбор протокола UDP диктуется желанием избежать ненужной сложности или повысить общую производительность.
С другой стороны, протокол TCP создавался во времена, когда соединения на скорости 300 бит/с считались быстрыми, а зашумленные и нестабильные сообщения делали рискованной передачу данных на значительные расстояния; для разрешения таких проблем и нужна была мощная и надежная транспортная служба. Вероятно, для локальных сетей возможности протокола TCP в любом случае чрезмерны. Тем не менее, в сети Internet преимущества TCP имеют неоспоримую ценность. По этой причине большинство служб доставки информации, предназначенных для использования в Internet, применяют протокол TCP, а не UDP; такой подход позволяет разработчикам приложений сосредоточиться на совершенствовании самих служб, не озадачиваясь проблемами обеспечения надежности и доставки. К примеру, сетевая файловая система (NFS) изначально замышлялась (и до сих пор применяется в первую очередь) как метод доступа к файлам в локальных сетях. Такое проектное решение обусловило предпочтение протокола UDP, поскольку скорость его работы выше. Хотя протокол FTP, предоставляет аналогичные механизмы доступа к файлам, но в масштабах сети Internet используется протокол TCP, гарантируя надежную передачу между любыми двумя точками на земном шаре.
Исторически протокол TCP как средство транспортировки имеет значительно большую важность, чем UDP, и до сих пор применяется большинством протоколов и служб прикладного уровня TCP/IP. Но он уже не так незаменим, как когда-то, поскольку с момента возникновения TCP/IP скорость, возможности и надежность магистральных и локальных сетей существенно увеличились. Протокол TCP сохраняет свою популярность; тем не менее, необходимо помнить, что всегда быстрее (но не всегда проще) обеспечивать устойчивость и надежность на уровне аппаратного, а не программного обеспечения. С возникновением сотовых технологий передачи, таких как ATM и SONET, появились люди, утверждающие, что дни протокола TCP сочтены, потому что упомянутые технологии передачи более низкого уровня сделают возможности этого протокола ненужными. Однако пока инфраструктура сети Internet представляет собой мешанину технологий передачи, как это и есть сегодня, протокол TCP будет продолжать выполнять свою важнейшую функцию, обеспечивая корректную и полную доставку необходимых данных.
312
Гпава 5
Выводы по главе
□	Существуют два типа транспортных протоколов. Протоколы без установления соединения просты и ненадежны; они в состоянии выполнять лишь доставку модулей данных "без обязательств". С другой стороны, протоколы на основе соединений обеспечивают мощные и надежные службы сквозной доставки, включая явное подтверждение, сегментацию и повторную сборку сообщений произвольного размера, механизмы установления соединения и управления им, а также повторную передачу недостающих или ошибочных сегментов. Поскольку протоколы без установления соединения крайне упрощены, они характеризуются лучшей производительностью по сравнению с протоколами на основе соединений; причина этого в меньших объемах служебных сигналов в сообщениях, а также в отсутствии необходимости контролировать и управлять трафиком сообщений (подтверждениями, повторными передачами, контролем перегрузок и т. д.).
□	UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя) — это протокол без установления соединения, входящий в стек протоколов TCP/IP. Обычно он связывается с протоколами и службами Прикладного уровня, такими как ВООТР, DHCP, SNMP, NFS и RIP, которые либо обладают собственными механизмами обеспечения надежности, либо вообще обходятся без таковых.
а в соответствии со скромными возможностями протокола UDP, его заголовок краток и прост; он, в основном, состоит из идентификатора протокола и IP-заголовка, необязательного значения контрольной суммы, а также адресов портов источника и назначения для протоколов или процессов Прикладного уровня на отправляющем и принимающем конце передачи.
□	TCP (Transmission Control Protocol, протокол управления передачей) — это усложненный протокол на основе соединений, составляющий часть названия стека протоколов TCP/IP. Он по-прежнему тесно связан с большинством протоколов Прикладного уровня TCP/IP, особенно с такими, для которых желательна надежная доставка данных — Telnet, FTP и SMTP.
а в соответствии с более многообразными и мощными возможностями протокола TCP, его заголовок объемнее и комплекснее; он включает разнообразные флаги, значения и типы сообщений, предназначенные для доставки подтверждений, управления транспортными потоками, для запрашивания повторных передач и установления соединений между хостами.
□	Характерные (и исторические) случаи применения протокола UDP касаются служб Прикладного уровня, самостоятельно контролирующих надежность и соединения (например, NFS, Network File System), а также
Протоколы Транспортного уровня TCP/IP
313
протоколов и служб (например, DHCP, SNMP или RIP), которые для устранения потенциальных проблем надежности, доставки и достижимости используют простые элементы управления, средства обеспечения отказоустойчивости и широковещательные или периодические передачи.
□ Характерные (и исторические) случаи применения протокола UDP подразумевают обеспечение надежной доставки пользовательских служб, таких как терминальная эмуляция (Telnet и утилиты удаленного доступа), передача файлов (FTP), электронная почта (SMTP) и новости (NNTP), в которых потенциально важные данные должны быть доставлены либо в целости и сохранности, либо не доставлены вообще (с формированием сообщения об ошибке).
Основные термины
DoS (Denial of Service, отказ от обслуживания) — атака, в результате которой система становится не способной к исполнению служб, т. к. она занимается обработкой запросов атаки. К примеру, повторяющиеся двухсторонние процессы квитирования могут быть вызваны атакой TCP SYN.
MSS (Maximum Segment Size, максимальный размер сегмента) — максимальное количество данных, которое может уместиться в пакете протокола TCP после его заголовка. В течение процесса квитирования одноранговые TCP-узлы обмениваются этой информацией.
Алгоритм затяжного запуска (Slow Start algorithm) — метод отсылки данных экспоненциально увеличивающимися порциями, обычно — начиная со значения максимального размера сегмента (MSS), помноженного на два. Алгоритм затяжного запуска применяется для определения максимального размера окна сети.
Алгоритм Нейгла (Nagle algorithm) — метод, в соответствии с которым после отсылки небольших пакетов, не получивших подтверждения, дальнейшие пакеты не отправляются. Алгоритм Нейгла применим в сетях, поддерживающих многочисленные малые пакеты для обеспечения работы интерактивных приложений (например, в Telnet).
Алгоритм предотвращения перегрузок (Congestion Avoidance algorithm) — заданный метод, не допускающий перегрузку сети. Этот механизм осуществляет медленное и постепенное увеличение размера окна сообщений.
Базовые системные службы (core services) — первичные и ключевые службы, применяемые в сетях TCP/IP. Такими службами считаются FTP, DNS и DHCP. Им присваиваются хорошо известные номера портов в диапазоне между 0 и 1023.
Буферная область TCP — область организации очередей, в которой удерживаются входящие и исходящие пакеты протокола TCP. Если в таком па
314
Гпава 5
кете установлен флаг PUSH, он не может удерживаться в исходящей или входящей буферной области.
Виртуальное соединение (virtual connection) — логическое соединение между двумя одноранговыми узлами TCP. Виртуальное соединение требует возможности сквозного сообщения.
Временный порт (temporary port) — порт, применяемый во время работы соединения. Номера портов, присваиваемые временным портам, также называются динамическими (или эфемерными) номерами портов.
Выборочное подтверждение (Selective Acknowledgement, SACK) — этот метод определяет способы идентификации узлом TCP отдельных успешно полученных сегментов. Эта возможность специфицируется в документе RFC 2018.
Выпадающие пакеты (out-of-order packets) — пакеты, прибывающие в порядке, отличном от определяемого порядковыми номерами. Когда хост TCP получает выпадающие пакеты, он отсылает резервные подтверждения, указывая, что пакеты прибыли в неправильном порядке.
Двухсторонний процесс квитирования (two-way handshake) — двухпакетное квитирование, завершенное не полностью. Этот процесс свидетельствует об атаке TCP SYN.
Действительные данные (valid data) — данные, следующие за заголовками, но не содержащие набивки (т. е. заполнения блока данных незначащей информацией) и другой посторонней информации.
Динамический номер порта (dynamic port number) — временный номер порта, применяемый лишь для одного процесса связи. Эти номера портов очищаются через четыре минуты после закрытия соединения.
Доставка "без обязательств" (best-effort delivery) — простой сетевой транспортный механизм, при котором доставку модулей данных протокола (PDU) от отправителя к получателю обеспечивают устройства Сетевого, Канального и Физического уровней, причем дополнительных средств обеспечения выносливости и надежности не предусматривается; доставка без обязательств применяется протоколом UDP.
Дублирующие пакеты подтверждения (duplicate ACKs) — набор идентичных пакетов подтверждения (АСК-пакетов), отсылаемых отправителю TCP с указанием получения выпадающих пакетов. По получении дублирующих (резервных) пакетов подтверждений отправитель осуществляет повторную передачу данных, не дожидаясь истечения таймера повторной передачи.
Задержка TIME WAIT (Time Wait delay, задержка ожидания перед повторным использованием параметров) — период времени после закрытия соединения, в течение которого хост TCP не должен использовать его параметры.
Протоколы Транспортного уровня TCP/IP
315
Лимит времени на повторную передачу (retransmission timeout, RTO) — временное значение, определяющее, когда хост TCP должен осуществить повторную передачу пакета после его потери. Значение RTO экспоненциально увеличивается после явной потери соединения.
Логическое соединение (logical connection) — виртуальное соединение между хостами, иногда называемое каналом. Для установления логического соединения между равноправными узлами TCP используется процесс квитирования.
Механизм определения превышения лимита времени (timeout mechanism) — метод определения момента времени, на котором следует прекратить повторную передачу данных через пакеты. Этот механизм состоит из счетчика попыток и максимального количества таковых.
Механизм повторной передачи (ретрансляции) (retry mechanism) — метод обнаружения проблем соединения и повторной отправки данных по сети.
Надежность сквозной передачи (end-to-end reliability) — характеристика служб на основе соединения, гарантирующая успешное получение данных пунктом назначения.
Объявленное окно (advertised window) — количество данных, которое, по утверждению получателя, может быть обработано в его буферном пространстве протокола TCP. Фактический размер окна определяется исходя из нижнего значения количества байт, которое может быть обработано сетью и объявленным окном. Объявленное окно, равное нулю, обозначает, что получатель не располагает свободным пространством в буфере протокола TCP. Чтобы избежать синдрома "глупого" окна, отправитель не должен отправлять данные, пока получатель не объявит размер окна, по меньше мере равный максимальному размеру сегмента (MSS).
Организация окон (windowing) — процесс подтверждения множества пакетов с помощью единственного сообщения о подтверждении.
Отслеживание порядковых номеров (sequence number tracking) — процесс отслеживания порядкового номера, отсылаемого узлом TCP, и отправки значения подтверждения с указанием следующего ожидаемого порядкового номера.
Перегрузка (congestion) — состояние "закупорки" сети или получателя. Когда сеть перегружена, отправители теряют возможность отправки дальнейших пакетов TCP. Чтобы избежать перегрузки, получатель объявляет размер окна, равный нулю.
Повторные передачи (retries) — количество повторных отправок данных узлом TCP, не получившим подтверждения их доставки.
Подтверждение (acknowledgement) — оповещение об успешном получении данных. В пакетах подтверждения ставится флаг АСК.
316
Гпава 5
Положительный отклик (positive response) — позитивное подтверждение получения данных. TCP-заголовки с установленным флагом АСК указывают, что поле Acknowledgment Number (подтверждение) действительно, и определяют следующий ожидаемый от другого узла TCP порядковый номер.
Полуоткрытые соединения (half-open connections) — TCP-соединения, не завершенные конечным подтверждением. Такие соединения могут свидетельствовать об SYN-атаке TCP.
Последовательность обрыва (teardown sequence) — процесс закрытия ТСР-соединения.
Потерянный сегмент (lost segment) — часть данных TCP, не прибывшая в пункт назначения. После обнаружения потерянного сегмента отправитель TCP должен наполовину уменьшить окно перегрузки. Считается, что явление потерянных сегментов обусловливается перегрузкой сети.
Поток байтов (byte stream) — непрерывный поток данных, в которых нет никаких границ.
Пропускная способность (bandwidth) — измерение объема информации, который может проходить по сети. К примеру, сеть Ethernet характеризуется пропускной способностью в 10 Мбит/с.
Протокол без установления соединения (connectionless protocol) — протокол, который отправляет дейтаграммы без установления, управления и прочей обработки соединения между отправителем и получателем; транспортным протоколом без установления соединения является UDP.
Процесс квитирования (handshake process) — процесс установки виртуального соединения между одноранговыми партнерами TCP. Процесс квитирования состоит из трех пакетов, которые применяются для определения исходного порядкового уровня для каждого партнера. Кроме того, в ходе этого процесса одноранговые узлы TCP обмениваются размерами окон на прием и значениями максимальных размеров сегментов (MSS).
Процесс поддержки соединения (keep-alive process) — процедура поддержки бездействующего соединения. TCP-соединения поддерживаются при помощи специальных TCP-пакетов, если конфигурация это разрешает. Если процесс поддержки соединения выполняется на Прикладном уровне, то на уровне TCP он не требуется.
Псевдозаголовок (pseudo-header) — ложная заголовочная структура, применяемая для подсчета контрольной суммы. Контрольные суммы протоколов UDP и TCP вычисляются на основе значений псевдозаголовков.
Раздвижное окно (sliding window) — набор данных, отсылаемый в соответствии со скользящей временной шкалой. После подтверждения отосланных данных окно отодвигается, передавая узлу протокола TCP следующий набор данных.
Протоколы Транспортного уровня TCP/IP
317
Режим нулевого окна (zero-window state) — ситуация, при которой узел TCP объявляет размер окна, приравнивая его к нулю. Хост TCP не может продолжать отправку такому узлу.
Синдром "глупого" окна (Silly Window Syndrome, SWS) — проблема, возникающая при организации окон TCP и обуславливаемая тем, что приложение удаляет из буфера приема TCP лишь небольшие объемы данных; в результате TCP-узел объявляет очень незначительный размер окна. Чтобы разрешить эту проблему, TCP-хосты ждут, пока размер окна не достигнет значения максимального размера сегмента (MSS).
Сообщения (messages) — данные, которые характеризуются четкими границами и командной информацией в рамках пакета.
Сторожевой процесс (watchdog process) — процесс, используемый серверами NetWare для определения того, активны ли клиенты NetWare и поддерживают ли они соединение между двумя устройствами.
Таймер повторной передачи (retransmission timer) — таймер, обслуживающий значение лимита времени на повторную передачу (RTO).
Текущее окно (current window) — фактический размер окна, применяемый в данный момент. Отправитель определяет текущий размер окна, используя объявленное окно получателя и окно сетевой перегрузки (обозначающее возможности сети по обработке трафика).
Устранение ошибок (error recovery) — процедура повторной передачи отсутствующих или поврежденных данных. В качестве примеров можно привести резкое уменьшение текущего размера окна, а также повторную передачу данных до истечения таймера повторной передачи.
Эфемерный порт (ephemeral port) — см. Временный порт.
Контрольные вопросы
1.	Какие из следующих сокращений обозначают транспортные протоколы TCP/IP? (Выберите все подходящие ответы.)
a)	IP;
б)	TCP;
в)	UDP;
г)	FTP.
2.	В то время как UDP является протоколом, TCP — это протокол.
а)	транспортный;
б)	сетевой;
318
Гпава 5
в)	без установления соединения;
г)	на основе соединений.
3.	Выберите все нижеперечисленные службы, являющиеся характеристиками протокола на основе соединений. (Выберите все подходящие ответы.) а) обработка соединений;
б)	гарантии доставки;
в)	сегментация и повторная сборка;
г)	контрольная сумма уровня обмена сообщениями в заголовке;
д)	явное подтверждение передачи.
4.	Протокол на основе соединений создает больше служебных данных, чем протокол без установления соединения. Да или нет?
а)	да;
б)	нет.
5.	Протоколы без установления соединения обычно работают медленнее, чем протоколы на основе соединений. Да или нет?
а)	да;
б)	нет.
6.	Применительно к протоколам без установления соединения протокол или служба Прикладного уровня должны формировать сообщения, не превышающие максимальную единицу передачи (MTU) дейтаграммы. Да или нет?
а)	да;
б)	нет.
7.	Какие из следующих служб предоставляются протоколом UDP? (Выберите все подходящие ответы.)
а)	сегментация;
б)	необязательная контрольная сумма заголовка;
в)	идентификация адресов порта источника или назначения;
г)	явное подтверждение передачи;
д)	повторная сборка.
8.	Сколько байт занимает UDP-заголовок?
а)	4;
б)	8;
в)	16;
г)	32.
Протоколы Транспортного уровня TCP/IP 	319
9.	Какой диапазон адресов традиционно относится к хорошо известным адресам портов?
а)	0-1023;
б)	1-512;
в)	10-4097;
г)	0—65 535.
10.	Какой диапазон адресов соответствует зарегистрированным номерам портов?
а)	0-1023;
б)	1024-65 535;
в)	1024-47 999;
г)	1024-49 151.
11.	Какой диапазон адресов соответствует динамическим номерам портов?
а)	0-1023;
б)	1024-49 151;
в)	49 152-65 535;
г)	49 152-64 0,00.
12.	Идентичные номера UDP- и TCP-портов всегда соответствуют одному и тому же протоколу или службе TCP/IP. Да или нет?
а)	да;
б)	нет.
13.	Подтверждение эквивалентно положительному отклику; оно обозначает, что набор данных прибыл в пункт назначения. Да или нет?
а)	да;
б)	нет.
14.	Какие механизмы протокол TCP использует для отслеживания передачи данных и их успешной доставки? (Выберите все подходящие ответы.)
а)	логическое соединение между одноранговыми узлами;
б)	подтверждения;
в)	порядковые номера;
г)	механизм повторной передачи (ретрансляции).
15.	Какие характеристики протокола TCP делают предпочтительным его применение для обеспечения надежности доставки?
а)	упорядочивание;
б)	устранение ошибок;
320
Гпава 5
в)	надежность сквозной передачи данных;
г)	процесс квитирования.
16.	Процесс протокола TCP, применяемый для поддержания активного соединения между узлами, называется:
а)	запуск соединения TCP;
б)	завершение соединения TCP;
в)	поддержка соединения;
г)	контроль перегрузок.
17.	Сколько этапов входит в процесс ТСР-квитирования?
а)	два;
б)	три;
в)	четыре;
г)	другое количество.
18.	Какое из следующих утверждений лучше всего характеризует полуоткрытое соединение?
а)	процесс квитирования не завершается конечным пакетом SYN;
б)	процесс квитирования не завершается конечным пакетом АСК;
в)	процесс квитирования не завершается конечным пакетом FIN;
г)	процесс квитирования просто не завершается.
19.	Поддержка TCP-соединения в Windows 2000 по умолчанию разрешается. Да или нет?
а)	да;
б)	нет.
20.	Каков характерный отклик на завершение ТСР-соединения?
а)	хост 1 отправляет TCP-пакет с установленными флагами FIN и АСК, но не содержащий данных;
б)	хост 2 отправляет TCP-пакет с установленными флагами FIN и АСК, но не содержащий данных;
в)	хост 2 отправляет пакет АСК в качестве отклика, а уже после этого — TCP-пакет с установленными фагами F1N и АСК, но не содержащий данных;
г)	хост 1 возвращает отклик АСК.
21.	Подтверждения протокола TCP содержат порядковые номера, обозначающие полученные данные. Да или нет?
а)	да;
б)	нет.
Протоколы Транспортного уровня TCP/IP_______________________321
22.	Какой из следующих механизмов является частью возможностей протокола TCP по обнаружению и устранению ошибок?
а)	упорядочивание и повторная сборка;
б)	таймер повторной передачи;
в)	явное подтверждение;
г)	контроль перегрузок.
23.	Текущий размер окна TCP всегда превышает возможности обработки сети и получателя. Да или нет?
а)	да;
б)	нет.
24.	Где хранятся TCP-данные после их получения?
а)	в сетевой интерфейсной плате получателя;
б)	внутри окна протокола TCP;
в)	в буферной области протокола TCP;
г)	внутри окна сети.
25.	Каков исходный размер окна перегрузки протокола TCP?
а)	в два раза больше максимального размера буфера приема;
б)	в два раза больше размера максимальной единицы передачи;
в)	в два раза больше максимального размера сегмента (MSS) отправителя;
г)	в два раза больше максимального размера сегмента (MSS) получателя.
26.	Какая последовательность событий запускает TCP-процесс быстрого восстановления?
а)	дублирующие подтверждения (АСК);
б)	три набора дублирующих подтверждений (АСК);
в)	дублирующие окончания (FIN);
г)	три дублирующих окончания (FIN).
27.	Какие два утверждения определяют механизм раздвижного окна протокола TCP? (Выберите оба правильных ответа.)
а)	подтвержденные данные и размер окна получателя;
б)	все полученные данные;
в)	все данные в течение передачи;
г)	все подтвержденные данные.
28.	Какое из следующих значений является действительно устанавливаемым флагом ТСР-заголовка? (Выберите все подходящие ответы.)
a)	SYN;
б)	АСК;
322
Гпава 5
в)	NUL;
г)	FIN;
д)	PSH.
29.	Какие два документа RFC по-разному интерпретируют указатель срочности (URG) TCP?
a)	RFC 1001;
б)	RFC 793;
в)	RFC 1918;
г)	RFC 1122.
30.	Протокол TFTP (Trivial File Transfer Protocol, простейший протокол передачи данных) — это упрощенный и ненадежный механизм транспортировки файлов. Какой из транспортных протоколов он, скорее всего, будет применять?
a)	UDP;
б)	TCP.
Практические задания
Задание 5.1
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (процесс ее установки описывается в задании 1.1 главы 7).
Исследование структуры UDP-заголовка
Для выполнения практических заданий вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
1.	Следуйте инструкциям, приведенным в задании 1.2 главы 1, чтобы запустить демо-версию программы EtherPeek for Windows.
2.	Выберите File > Open.
3.	Откройте каталог Course Technology\18654-2\Ch5 с файлами трассировки (или другой назначенный вами при их установке) на вашем жестком диске.
4.	Выберите файл трассировки dns-moviefone.pkt. Нажмите Открыть (Open). В результате появится окно сводки пакетов, в котором будут показаны все 14 пакетов в данном файле трассировки.
5.	В столбце Protocol указывается, что первые два пакета относятся к протоколу UDP, а остальные — к TCP. Дважды щелкните на первом пакете
Протоколы Транспортного уровня TCP/IP 323
(first packet), находясь в открытом файле трассировки dns-moviefone.pkt. Ответьте на следующие вопросы об этом пакете (Packet #1):
а)	Какое поле пакета обозначает, что это — UDP-сообщение?
б)	Какой тип порта источника использован в этом сообщении?
в)	Какой протокол Прикладного уровня поддерживается этим пакетом?
г)	Какова длина UDP-заголовка?
д)	Сколько байт данных содержится в этом пакете?
6.	Нажмите кнопку Close, чтобы закрыть окно расшифровки пакета № 1 (Packet #1). Не закрывайте файл трассировки — он понадобится для выполнения задания 5.2.
Задание 5.2
Исследование процесса квитирования TCP
1.	Чтобы открыть файл dns-moviefone.pkt (если он еще не открыт), следуйте инструкциям, приведенным в задании 5.1.
2.	Пакеты № 3, 4 и 5 представляют процесс ТСР-квитирования. Для открытия окна расшифровки пакета № 3 (Packet #3) дважды щелкните на нем. Ответьте на следующие вопросы об этом пакете:
а)	Какое поле пакета обозначает, что это — ТСР-сообщение?
б)	Какой тип порта источника использован в этом сообщении?
в)	К какому протоколу Прикладного уровня пытается подсоединиться хост источника?
г)	Какова длина ТСР-заголовка?
д)	Каково назначение 1-й опции (дополнительной возможности), реализованной в TCP-заголовке? (За информацией об этом обращайтесь к документу RFC 793.)
е)	Какой порядковый номер использует источник?
ж)	Почему значение поля Acknowledgement Number (подтверждение) приравнено к нулю?
3.	Перейдите к пакету № 4 (Packet #4), нажав кнопку Decode Next (стрелка вправо) в окне расшифровки пакета. Ответьте на следующие вопросы об этом пакете:
а)	Какой порядковый номер применяет отправитель пакета № 4?
б)	Используют ли обе стороны сообщения одинаковый максимальный размер сегмента (MSS)?
324
Гпава 5
4.	Перейдите к пакету № 5 (Packet #5), нажав кнопку Decode Next (стрелка вправо) в нижней части окна расшифровки. Ответьте на следующие вопросы об этом пакете:
а)	Был ли этот процесс квитирования завершен корректно?
б)	Какова длина этого ТСР-заголовка?
в)	Определены ли в этом пакете какие-либо дополнительные возможности?
г)	Какой размер окна объявлен отправителем?
5.	Нажмите кнопку Close, чтобы закрыть окно расшифровки пакета № 5 (Packet #5). Не закрывайте файл трассировки — он понадобится для выполнения задания 5.3.
Задание 5.3
Исследование процесса упорядочивания и подтверждения TCP
1.	Чтобы открыть файл dns-moviefone.pkt (если он еще не открыт), следуйте инструкциям, приведенным в задании 5.1.
2.	Ответьте на следующие вопросы о TCP-сообщениях, показанных в этом файле трассировки. Для открытия нужных пакетов пользуйтесь кнопками Decode Next (стрелка вправо) и Decode Previous (стрелка влево) или дважды щелкните на выбранном вами пакете в окне Capture Window.
а)	Какой размер окна объявляется в большинстве ТСР-сообщений?
б)	Есть ли в этих TCP-сообщениях выпадающие пакеты?
в)	В данном файле трассировки не приводится полная последовательность сообщений, произошедших между этими двумя устройствами. Какой порядковый номер должно применить устройство 192.168.0.89 после пакета № 14 (Packet #14)?
3.	Нажмите кнопку Close, чтобы закрыть окно расшифровки пакета. Затем нажмите кнопку Close для закрытия окна пакета.
Задание 5.4
Исследование структуры ТСР-заголовка
1.	Открыв демо-версию программы EtherPeek, нажмите File > Open и выберите файл transfer.pkt, расположенный в каталоге Course Technology\ 18654-2\Ch5 с файлами трассировки (или другой назначенный вами при их установке) на вашем жестком диске. В этом файле трассировки содержится 94 пакета.
2.	Вызовите контексное меню и в нем выберите пункт Packet List Options. Появится одноименное диалоговое окно Packet List Options.
3.	При необходимости отметьте флажок Size. Нажмите ОК. В результате в окне захвата появится столбец Size.
Протоколы Транспортного уровня TCP/IP
325
4.	Ответьте на следующие вопросы относительно содержимого пакетов в этом файле трассировки:
а)	Какой хорошо известный номер порта (номера портов) используется (используются) в этом сообщении?
б)	Сколько процессов квитирования произошло между этими устройствами? Перечислите пакеты, содержащие последовательности квитирования, а также порты, упоминающиеся в каждой из этих последовательностей)
в)	Были ли случаи объявления нулевого окна каким-либо из хостов?
г)	Какой пакет содержит подтверждение данных, переданных в пакете № 84 (Packet #84)?
д)	Присутствуют ли в этом сообщении выпадающие пакеты?
е)	Каков минимальный размер окна, использованный в ходе этого сообщения?
5.	Нажмите кнопку Close, чтобы закрыть демо-версию программы EtherPeek for Windows.
Учебные задачи
1.	Предположим, вас наняли для проведения инвентаризации корпоративной сети. Вы должны документировать все сетевые устройства, их адреса (аппаратные и сетевые), а также приложения, работающие в этой сети. Расскажите, как можно использовать программу EtherPeek для получения списка сетевых приложений.
2.	Допустим, вы работаете в крупной компании, занимающейся разработкой программного обеспечения. Компания нанимает новых программистов и инженеров с необыкновенной скоростью. Ваша группа ответственна за разработку нового приложения под названием "диодная система". Какие действия вы должны предпринять, чтобы убедиться в том, что применяемый вами номер порта не является зарегистрированным? Как гарантировать, что данный номер порта использует только ваше приложение?
3.	Представьте, что шеф попросил вас провести инвентаризацию всего программного обеспечения, работающего в сети. В течение нескольких недель вы пользовались полной версией программы EtherPeek, установленной в этой сети. Вы создали длинный список всех номеров портов источника и назначения, существующих в вашей сети. Просматривая этот список, вы обнаруживаете, что более 100 номеров портов отсутствуют в списке портов агентства IANA (Агентство по выделению имен и уникальных параметров протоколов Internet). Более того, в вашем списке утверждается, что примерно 20 портов соответствуют приложениям, которых в сети нет — вы в этом уверены. Что же случилось? Почему результаты ваших исследований столь далеки от реальности?
326
Гпава 5
4.	Допустим, что вы работаете в крупном банке, расположенном в Нью-Йорке. Его объединенная сеть содержит более 100 первичных серверов и примерно 3000 клиентов, разбросанных по восточному побережью Соединенных Штатов. В течение прошедшего месяца вы наблюдали за статистикой производительности сети и ее важнейших устройств. Сегодня вы проверяете входящий и исходящий трафик передачи файлов одного из главных серверов; при этом вы замечаете, что при осуществлении всех передач (как входящих, так и исходящих) размер окна чрезвычайно мал. Что могло послужить этому причиной? Как можно продолжить расследование?
5.	Предположим, вы — специалист по сетям в Internet-компании, занимающейся оптовыми поставками фармацевтического оборудования. Ее сеть состоит из 20 Web-серверов, на которых размещается корпоративная система электронной коммерции. Несколько таких серверов внезапно начали получать дублирующие (резервные) подтверждения от сервера, отвечающего за расценки за международные перевозки. Стоит ли разобраться в этой проблеме? Если стоит, то что вы будете искать?
6.	Допустим, ваша компания публикует книги для детей. Авторы подают свои материалы электронным способом на один из ваших внутренних серверов, используя протокол FTP. Сегодня один из авторов позвонил и сообщил, что он не может подсоединиться к серверу. Он не разбирается в технических вопросах, и потому не в состоянии объяснить, почему не может подсоединиться; более того, ему нет до этого никакого дела. Не предоставив материалы электронным способом, он не уложится в сроки. На что вы должны обращать внимание, анализируя трафик от этого автора к FTP-серверу?
Глава 6
Основные службы TCP/IP
После прочтения этой главы и выполнения упражнений вы сможете:
□	понять, как работают протоколы и службы Прикладного уровня TCP/IP;
□	разобраться в возможностях, типах сообщений и структурах запро-са/ответа множества основных служб TCP/IP, включая FTP, Telnet, SMTP и HTTP;
□	усвоить операции других основных служб TCP/IP, среди которых Echo, Quote of the Day, Chargen, Whois, TFTP, Finger, RPC (Remote Procedure Call, удаленный вызов процедуры), службы NetBIOS over TCP/IP (также известные под именем NBT), а также SNMP;
□	объяснить, как нужно расшифровывать пакеты, содержащие протоколы Прикладного уровня, соотносить типы сообщений или другую подобную информацию с типами запросов и ответов, передающихся между клиентом и сервером (или между хостами в более общем смысле).
Трудно переоценить протоколы Сетевого и Транспортного уровней TCP/IP, однако возможности, предоставляемые протоколами и службами Прикладного уровня, не менее значительны. На самом деле, не будь этих возможностей, TCP/IP не смог бы ничего сделать для конечных пользователей. Поскольку каждый протокол Прикладного уровня на постоянной основе связывается с определенным типом служб (к примеру, протокол передачи файлов (FTP) связан со службами удаленной передачи файлов и соответствующими службами доступа к файлам), термины "протокол" и "служба" применительно к компонентам Прикладного уровня TCP/IP могут быть взаимозаменяемы.
В действительности, существуют буквально тысячи протоколов Прикладного уровня TCP/IP, и каждому из них соответствует служба; все они специфицированы в обширной библиотеке документов RFC. Мы не в состоянии рассмотреть все из них — как в этой главе, так и в целой книге. По этой причине вы ознакомитесь лишь с базовыми элементами, которые многие называют "традиционными службами TCP/IP", поскольку они являются неотъемлемой частью среды TCP/IP. Другие главы и части глав этой книги
328
Гпава 6
посвящены ключевым протоколам и службам TCP/IP, помогающим поддерживать общую инфраструктуру TCP/IP. В этой главе вы получите представление о базовых типах служб, используемых для получения доступа к электронной почте, файлам, другим компьютерам и прочим элементам.
Как функционируют
и ведут себя IP-протоколы
верхнего уровня
Принципиальная линия поведения протоколов Прикладного уровня TCP/IP определяется наличием множества жестких соглашений и режимов работы, перечисленных далее.
□	Спецификации структур сообщений, поддерживаемых данным протоколом или службой.
□	Определение хорошо известного адреса (или адресов) порта, используя который, серверы ожидают запросы на службы.
□	Доступность подходящих программных компонентов, реализующих различные. роли, которые могут выполнять хосты при запросе или предоставлении таких служб.
Эти соглашения нарочито составлены довольно абстрактно, причиной тому — различные роли, которые могут исполнять хосты в ходе этого процесса. Типы сообщений, которые обычно имеют место внутри служб Прикладного уровня TCP/IP, называются сообщениями запроса/ответа (request/reply messages). Как правило, клиенты запрашивают службы с помощью сообщений запроса (request messages), а серверы отвечают на них посредством сообщений ответа (reply messages). По этой причине службы Прикладного уровня часто признаются относящимися к структуре запроса/ответа.
Когда роль клиента (инициатора запроса) таких служб обычно кардинально отличается от роли их сервера (поставщика), то служба Прикладного уровня может считаться относящейся к структуре клиента/сервера (client/server). Протокол HTTP, лежащий в основе Всемирной паутины (World Wide Web), может послужить хорошим примером структуры этого типа: Web-браузеры играют роль клиента, а специальное программное обеспечение на Web-сервере — роль сервера; эти две роли (и обеспечиваемые ими функции), как правило, распределяются таким образом, что клиент запрашивает службы на сервере, а сервер отвечает на такие запросы.
Тем не менее, иногда различия между клиентом и сервером могут быть не столь отчетливы, и роли могут изменяться. Существует множество служб Прикладного уровня TCP/IP (хороший пример — Gnutella, популярная служба обмена музыкальными файлами), в которых любой клиент может
Основные службы TCP/IP
329
исполнять роль сервера, и наоборот. Службы такого типа обычно называются одноранговыми службами (peer-to-peer services), поскольку все хосты могут играть по отношению друг к другу любую из двух возможных ролей. Однако эти службы все равно используют сообщения запроса и ответа для передачи по сети между двумя хостами запросов на службы и соответствующих ответов, задействуя какой-либо протокол Прикладного уровня.
Интересно, что есть немало служб Прикладного уровня TCP/IP, в которых присутствуют два типа трафика. Первый тип можно охарактеризовать как трафик "клиент/сервер", т. к. он состоит из сообщений запроса от клиентов и соответствующих ответов от серверов. Эта общая категория заключает в себе традиционные IP-службы, такие как электронная почта, FTP, Telnet и другие, в которых клиентом может выступать любая машина конечного пользователя, а серверами обычно являются большие и мощные компьютеры (не обязательно PC), действующие только в роли серверов. Однако также возможна ситуация, когда один настольный компьютер запрашивает службы У другого настольного компьютера; в качестве примера можно привести службы совместного использования файлов и серверов в современных операционных системах Windows. В сущности, такой тип службы позволяет клиентам и серверам плавно меняться ролями, т. е. в одном случае первый компьютер может выступать в качестве клиента по отношению ко второму компьютеру, но в другой ситуации роли распределяются противоположно. Таким образом, схема клиент/сервер не всегда подразумевает, что компьютер направляет запросы к выделенному серверу где-то в сети.
Другой тип трафика можно назвать межсерверным трафиком (server-to-server traffic); в этом случае специальная серверная информация тиражируется от одного сервера к другому. При этом либо создаются дополнительные копии важных данных, в результате чего выход из строя одного сервера не приводит к потере его данных, либо множеству серверов разрешается обрабатывать запросы на одни и те же данные, т. е. вычислительная нагрузка распределяется между серверами, имеющими копии таких данных. По очевидным причинам последняя техника называется выравниванием нагрузки (load balancing). Службы поддержки сложной инфраструктуры TCP/IP вроде службы доменных имен (Domain Name System, DNS) с помощью репликации обеспечивают резервирование на случай неисправности сервера и повышают производительность посредством выравнивания нагрузки. Аналогичным образом, специальное аппаратное и программное обеспечение позволяет множеству Web-серверов управлять копиями одного Web-сайта, чтобы как можно больше пользователей могли получать доступ к одним и тем же данным при разумном времени отклика.
Процесс обмена данными между серверами обычно называется репликацией (replication). Репликация может происходить применительно к паре серверов в одном из двух вариантов. Если сервер, который должен получить копию,
330
Гпава 6
инициирует передачу данных, это действие называется операцией выталкивания (pull), поскольку получатель фактически "выдергивает" данные из отправителя. Если же передача инициируется отправителем, это называется операцией проталкивания (push), поскольку отправитель, по существу, "пропихивает" данные получателю. Одни службы применяют лишь одну из этих операций, другие позволяют конфигурировать серверы таким образом, чтобы стало возможно по необходимости использовать обе операции. Некоторые службы предусматривают репликацию проталкивания/выталкивания (push-pull), при которой максимальная надежность достигается за счет того, что отправители инициируют передачи после изменения наборов данных, а получатели периодически делают то же самое, но с целью обеспечения относительного согласования наборов данных в различных копиях.
Теперь фундаментальная значимость структур сообщений запроса/ответа для служб Прикладного уровня TCP/IP должна быть очевидна. Они обеспечивают базу, на которой основываются все подобные службы. Кроме того, необходимо хорошо ориентироваться в различных ролях, которые могут исполнять хосты TCP/IP, применяющие такие службы; этими ролями являются клиенты, серверы и одноранговые узлы. Наконец, смысл передач выталкивания, проталкивания и выталкивания/проталкивания между парами серверов объясняет то обстоятельство, что межсерверный трафик чрезвычайно важен для обеспечения доступности данных и повышения производительности. В следующих разделах вы более подробно ознакомитесь с некоторыми наиболее фундаментальными и на сегодняшний день широко распространенными в сетях TCP/IP службами Прикладного уровня, разберетесь с характерными для них запросами и ответами и т. д.
Введение в протокол FTP
Протокол FTP (File Transport Protocol, протокол передачи файлов) обеспечивает метод передачи файлов с использованием транспортного протокола на основе соединений, т. е. TCP. Спецификация FTP содержится в документе RFC 959.
Элементы протокола FTP
Ключевыми компонентами FTP-сообщения являются пользовательский интерфейс (UI, User Interface), интерпретатор протоколов (PI, Protocol Interpreter), команды FTP, процесс передачи данных (DTP, Data Transfer Process), передаваемые файлы, командное соединение (command connection) на основе TCP, а также соединение для передачи данных (data transfer connection) на основе того же протокола. На рис. 6.1 все эти базовые элементы изображены во взаимосвязи.
Основные службы TCP/IP
331
Рис. 6.1. В FTP-сообщениях для передачи команд и данных применяются отдельные соединения
Пользовательский интерфейс (UI) протокола FTP
Пользовательский интерфейс (UI, User Interface) — это внешняя оболочка, которую видит пользователь. К примеру, файл ftp.exe в операционной системе Windows обеспечивает MS-DOS-интерфейс в виде командной строки, облегчающей взаимодействие пользователя с процессом FTP. Клиентские приложения сторонних компаний, такие как WS_FTP Pro от корпорации Ipswitch, снабжены графическим интуитивным (наглядным) интерфейсом (intuitive interface).
Примечание
Дополнительную информацию о программе WS_FTP Pro можно найти на Web-сайте http://www.ipswitch.com.
Интерпретатор протоколов (PI)
Интерпретатор протоколов (PI, Protocol Interpreter) интерпретирует команды пользователя, инициирует управляющее соединение от динамического порта пользователя к FTP-порту сервера (это хорошо известный номер порта 21), запускает FTP-команды (перечисленные далее в разд. "Команды протокола FTP" этой главы) и отслеживает процесс передачи данных.
К примеру, в табл. 6.1 перечислены команды, набираемые пользователям, и команды протокола FTP, в которые их преобразует интерпретатор протоколов (PI).
332
Гпава 6
Таблица 6.1.	Преобразование команд интерпретатором протоколов (PI)
Команды пользователя	Команды FTP
CD mystuff	CWD mystuff
GET resume.doc	RETR resume.doc
PUT timecard.doc	STOP timecard.doc
DIR	NLST
Команды протокола FTP
Протокол FTP использует несколько команд, которые следуют непосредственно за TCP-заголовком. Эти команды принимаются и обрабатываются принимающим интерпретатором протокола. Основные команды протокола FTP приведены в табл. 6.2; дополнительные — в документе RFC 959.
Таблица 6.2. Команды протокола FTP
Команда	Описание
USER имя_пользоватоля	User (пользователь). Идентифицирует пользователя, пытающегося получить доступ к файловой системе. Обычно это первая команда, отсылаемая после установления соответствующего соединения (успешного завершения процесса ТСР-квитирования)
PASS пароль	Password (пароль) Отсылает пароль пользователя (по умолчанию эта информация передается по сети в незашифрованном виде)
CWD имя_каталога	Change Working Directory (изменение текущего каталога). Переходит к другому каталогу
QUIT	Quit (завершение сеанса). Закрывает командное соединение
PORT hl,h2,h3,h4,pl,p2 (h означает байты IP-адреса	Port (порт).
хоста, p — номер порта)	Устанавливает номер порта соединения для передачи данных
PASV	Passive (пассивность). Указывает серверу начать ожидание, используя порт данных не по умолчанию, пока клиент не установит новое соединение посредством этого порта
Основные службы TCP/IP
333
	Таблица 6.2 (окончание)
Команда	Описание
TYPE код	Туре (тип). Указывает тип представления данных, который должен применяться во время передачи (три возможных типа: ASCII, EBCDIC или Image [бинарный])
RETR имя~_ка талога /имя_файла	Retrieve (извлечение). Получает файл из процесса передачи данных сервера
STOR имя_каталога/имя_файла	Store (хранение). Отправляет файл в процесс передачи данных сервера
DELE имя_каталога/имя_файла	Delete (удаление). Удаляет файл
RMD имя_каталога	Remove Directory (удаление каталога). Удаляет каталог на FTP-сервере
MKD имя_каталога	Make Directory (создание каталога). Создает каталог на FTP-сервере
PWD	Print Working Directory (отображение текущего каталога). Выводит путь к текущему каталогу, к которому обращается клиент
NLST [ имя__ка талога /имя_файла ]	Name List (список имен). Получает с сервера список каталогов
HELP	Help (помощь). Отображает список команд, поддерживаемых сервером
Файловая система
Файловая система на любом конце FTP-сообщения может состоять из различных форматов файлов, таких как ASCII, EBCDIC (Extended Binary Coded Decimal Interchange Code, расширенный двоично-десятичный код обмена информацией) и бинарный формат.
Процесс передачи данных (DTP)
Процесс передачи данных (DTP, Data Transfer Process) — это процесс фактического перемещения данных по соединению, предназначенному для этих
334
Гпава 6
целей; если строго придерживаться требований соответствующего документа RFC, данные не должны перемещаться по командному соединению. Процесс передачи данных проходит по TCP-соединению между FTP-клиентом и FTP-сервером, устанавливаемому после создания командного соединения по протоколу FTP.
Командное соединение на основе протокола TCP
Командное соединение происходит на базе протокола TCP и создается автоматически при установлении FTP-соединения в ответ на команду открытия, исходящую от FTP-клиента, посредством номера порта 21 на FTP-сервере. Для управления другим концом командного соединения клиент применяет динамический номер порта. Командное соединение должно оставаться открытым в течение любой продолжающейся передачи данных, поскольку оно предоставляет отдельный путь обмена командной информацией параллельно с соединением для передачи данных.
Соединение для передачи данных на основе протокола TCP
Соединенне для передачи данных также происходит на базе протокола TCP. По умолчанию такое соединение создается сервером. Если пользователь издает команду pasv (и сервер ее принимает), то соединение для передачи данных может быть создано клиентом.
Транспорт — протокол TCP
Для установления соединения, отслеживания последовательности пакетов, определения и регулировки окна передачи данных в соответствии с правилами контроля и предотвращения перегрузок, а также для восстановления от потери данных протокола FTP использует транспортный протокол TCP.
Примеры FTP-сообщений
FTP — это протокол Прикладного уровня, функционирующий на основе протокола TCP. Команды протокола FTP следуют непосредственно за FTP-заголовком, как показано на рис. 6.2.
Чтобы понять, как протокол FTP работает в сети, лучше всего разобрать FTP-сообщение по пакетам. В табл. 6.3 представлены последовательности пакетов, которые происходят в ходе выполнения операций протокола FTP по передаче файлов, где S обозначает FTP-сервер (server), а С — FTP-клиента (client).
Основные службы TCP/IP
335
Рис. 6.2. Команды и данные протокола FTP помещаются сразу после ТСР-заголовка
Таблица 6.3. Последовательности FTP-сообщений
Процесс
Последовательное™ пакетов
Установление командного FTP-соединения (трехшаговый процесс ТСР-квитирования). Порт сервера 21. Порт клиента 1054
С> S
S>C
С> S
TCP SYN
TCP SYN ACK
TCP ACK
336
Гпава 6
Таблица 6.3 (продолжение)
Процесс
Последовательности пакетов
Отображение приветственного S > С экрана.
Подтверждения в этой схеме не приводятся
FTP-ответ 220. Служба готова к работе с новым пользователем. Приветственный экран сервера (может потребоваться несколько пакетов)
С > S 8>С
С > S
8>С
С> 8
8>С
С>8
Установление соединения FTP С > 8 для передачи данных (трехшаговый процесс квити- > рования TCP).	С>8
Порт сервера 1024. Порт клиента 1055
Получение списка файлов 8 > С каталога с помощью соединения для передачи данных
8>С
Закрытие соединения для пе- С > 8 редачи данных.
Порт сервера 1042. Порт кли- >
ента 1055	С > 8
S>C
Переход в каталог eGames С > 8
8>С
С> 8
8>С
С > 8
FTP USER имя_пользователя
FTP-ответ 331. Имя пользователя правильное, нужен пароль
FTP PASS пароль
FTP-ответ 230. Пользователь вошел в систему; продолжайте
FTP PORT IP-адрес, номер порта
FTP-ответ 200. Команда принята
FTP NLST
TCP SYN
TCP SYN ACK
TCP ACK
FTP-ответ 150. Следует список файлов каталога (для его отсылки требуется несколько пакетов)
FTP-ответ 226. Список завершен. Запрос на закрытие соединения для передачи данных (с помощью командного соединения)
TCP FIN
АСК
TCP FIN
АСК
FTP CWD eGames
Запрошенное действие завершено.
FTP PORT IP-адрес, номер порта
FTP-ответ 200. Команда принята
FTP NLST
Основные службы TCP/IP
337
Таблица 6.3 (продолжение)			
Процесс	Последовательности пакетов		
Установление FTP-соединения	С:	> S	TCP SYN
для передачи данных (трехшаговый процесс квити-	S;	> С	TCP SYN ACK
рования TCP). Порт сервера 1043. Порт клиента 1056	С:	> S	TCP ACK
Получение списка файлов ката-	S :	>с	FTP-ответ 150. Следует список файлов
лога с помощью нового соеди-			каталога (для его отсылки требуется
нения для передачи данных			несколько пакетов)
	S;	> с	FTP-ответ 226. Список завершен. Запрос на закрытие соединения для передачи данных (с помощью командного соединения)
Закрытие соединения для пе-	С:	> S	TCP FIN
редачи данных.			АСК
Порт сервера 1043. Порт кли-	О ?	> и	
ента 1056	С:	> S	TCP FIN
	S;	> с	АСК
Запрос нового соединения для	С:	> S	FTP PORT IP-адрес, номер порта
передачи данных и файла	S;	> с	FTP-ответ 200. Команда принята
	С:	> S	FTP RETR имя_файла
Установление соединения FTP	С:	> S	TCP SYN
для передачи данных (трехшаговый процесс TCP-	S;	> с	TCP SYN ACK
квитирования). Порт сервера 1044. Порт клиента 1057	С:	> S	TCP ACK
Сервер отсылает файлы кли-	S>	 с	150 Файл следует (для отсылки файла
енту			требуется несколько пакетов)
	S;	> с	FTP-ответ 226. Передача завершена. Запрос на закрытие соединения для передачи данных (с помощью командного соединения)
Закрытие соединения для пе-	С:	> S	TCP FIN
редачи данных.			АСК
Порт сервера 1044. Порт кли-	О <		
ента 1057	С:	> S	TCP FIN
	S;	> с	АСК
12 Зак. 321
338
Гпава 6
Таблица 6.3 (окончание)
Процесс	Последовательности пакетов
Закрытие командного соеди-	С:	> S	Завершение сеанса
нения	S:	» С	Сервер закрывает командное соединение
Закрытие соединения для пе-	С:	> S	TCP FIN
редачи данных.			АСК
Порт сервера 21. Порт клиента			
1054 .	С:	> S	TCP FIN
	S:	>0	АСК
Полный список команд протокола FTP содержится в документе RFC 959; кроме того, он может присутствовать в справке вашего FTP-клиента. (Если вы используете Windows-версию FTP-клиента с командной строкой, попробуйте ввести в нее команду ftp help, чтобы получить список команд, или ftp help <команда> для просмотра справки по определенной FTP-команде.) Учтите, что в FTP-клиентах с графическим интерфейсом (например, в WSFTP Pro и подобных продуктах) имена кнопок и графических элементов управления, контролирующих деятельность протокола FTP, возможно, не совпадают с командным синтаксисом протокола FTP, хотя именно этот синтаксис программа употребляет, обмениваясь информацией с сервером незаметно для пользователя.
В следующем разделе мы рассмотрим известную службу Telnet, позволяющую пользователю одного компьютера удаленным способом вводить команды на другом компьютере, как будто пользователь находится в этой системе локально.
Введение в протокол Telnet
Протокол Telnet обеспечивает двунаправленное (bidirectional) байтовое сообщение. Изначально разработанный как метод сообщения для терминального доступа (terminal access), Telnet в большинстве случаев использует хорошо известный порт 23 на стороне сервера (хотя по соображениям безопасности некоторые администраторы изменяют номер порта) и динамический номер порта на стороне клиента. Спецификация протокола Telnet содержится в документах RFC 854 "Telnet" и RFC 855 "Telnet Options" (Дополнительные возможности Telnet).
Элементы Telnet
Хосты протокола Telnet обмениваются информацией об опциях, поддерживаемых ими во время установления соединения с другим хостом. Такой удаленный хост называется виртуальным терминалом сети (Network Virtual
Основные службы TCP/IP
339
Terminal, NVT), или виртуальным, групповым хостом. В числе этих опций — структуры DO, DON'T, WILL и WON'T, определяющие поддерживаемые ими возможности. Все сообщения службы Telnet характеризуются применением сервером порта 23 для обмена информацией об опциях и данными Telnet (рис. 6.3).
Рис. 6.3. Для передачи поддерживаемых опций Telnet применяет структуры DO, DON'T, WILL и WON'T
Виртуальный терминал сети (NVT)
Каждая сторона сообщения протокола Telnet обозначается как виртуальный терминал сети (NVT) — NVT-клиент обычно инициирует Telnet-соединение, в то время как NVT-сервер предлагает клиенту некоторые службы. В традиционном смысле виртуальный терминал сети понимается как клавиатура печатающего устройства, принимающая байты от другого хоста и печатающая соответствующую информацию. Посредством клавиатуры этот терминал отсылает данные другому хосту.
Структуры DO, DON'T, WILL, WON'T
В ходе исходного процесса установления Telnet-соединения хосты предлагают и соглашаются (или отказываются) с использованием в данном сообщении определенных параметров. В этом процессе согласования применяются следующие структуры:
□	253 (OxFD) DO;
□	254 (OxFE) DON'T;
□	251 (OxFB) WILL;
□	252 (OxFC) WON'T.
Эти операторы являются наиболее употребительными структурами. Хост отсылает один из этих операторов (например, DO или WILL), сопровождая его кодом опции. Эта опция считается принятой, когда второй хост отвечает
340
Гпава 6
оператором DO или WILL. Возврат оператора DON'T или WON'T означает, что хост не принимает предложенную опцию.
Опции
Опции представляют собой параметры или соглашения, применяемые в ходе Telnet-соединения. К примеру, опция Echo определяет, отражает ли хост Telnet символы данных, получаемые им по соединению Telnet. Опция Echo протокола Telnet подробно описана в RFC 857.
В табл. 6.4 приведен частичный список зарегистрированных для Telnet опций. Их полный список опубликован на сайте http://www.iana.org.
Опция	Таблица 6.4. Список опций Telnet Название	Справочная информация
0	Binary Transmission (бинарная передача)	RFC 856
1	Echo (эхо)	RFC 857
2	Reconnection (перестройка соединения)	NIC 50005
3	Suppress Go Ahead (запрещение продолжения)	RFC 858
4	Approx Message Size Negotiation (согласование прибли- Ethernet зительного размера сообщения)
5	Status (состояние)	RFC 859
6	Timing Mark (отметка времени)	RFC 860
7	Remote Controlled Trans and Echo (удаленное управле- RFC 726 ние транспортировкой и эхом)
8	Output Line Width (выходная ширина строки)	NIC 50005
9	Output Page Size (выходной размер страницы)	NIC 50005
10	Output Carriage-Return Disposition (выходное располо- RFC 652 жение возврата каретки)
11	Output Horizontal Tab Stops (выходные остановки гори- RFC 653 зонтальной табуляции)
12	Output Horizontal Tab Disposition (выходное расположе- RFC 654 ние горизонтальной табуляции)
13	Output Formfeed Disopsition (выходное расположение RFC 655 перевода страницы)
14	Output Vertical Tabstops (выходные вертикальные оста- RFC 656 новки табуляции)
15	Output Vertical Tab Disposition (выходное расположение RFC 657 вертикальной табуляции)
Основные службы TCP/IP
341
Таблица 6.4 (окончание)		
Опция	Название	Справочная информация
16	Output Linefeed Disposition (выходное расположение перевода строки)	RFC 658
17	Extended ASCII (расширенный стандарт ASCII)	RFC 698
18	Logout (конец сеанса)	RFC 727
19	Byte Macro (байт макро)	RFC 735
20	Data Entry Terminal (терминал ввода данных)	RFC 1043, RFC 732
21	SUPDUP	RFC 736, RFC 734
22	SUPDUP Output (SUPDUP, выход)	RFC 749
23	Send Location (отправка местоположения)	RFC 779
24	Terminal Туре (тип терминала)	RFC 1091
25	End of Record (конец записи)	RFC 885
26	TACACS User Identification (идентификация пользователя TACACS)	RFC 927
27	Output Marking (выходная маркировка)	RFC 933
28	Terminal Location Number (номер месторасположения терминала)	RFC 946
29	Telnet 3270 Regime (режим работы Telnet 3270)	RFC 1041
30	X.3 PAD	RFC 1053
31	Negotiate About Window Size (согласование размера окна)	RFC 1073
32	Terminal Speed (скорость терминала)	RFC 1079
33	Remote Flow Control (удаленное управление потоком)	RFC 1372
34	Linemode (режим работы дисплея по отрезкам прямой)	RFC 1184
35	X Display Location (местоположение X на дисплее)	RFC 1096
36	Environment Option (опция окружения)	RFC 1408
37	Authentication Option (опция аутентификации)	RFC 2941
38	Encryption Option (опция шифрования)	RFC 2946
Некоторые опции требуют обмена дополнительной информацией между хостами. К примеру, когда для опции нужен параметр, обычных функций
342
Гпава 6
DO, DON'T, WILL и WON'T недостаточно. Для обеспечения поддержки обмена дополнительной информацией оба хоста должны согласиться на обсуждение параметров, а затем использовать команду зв для начала подсогласования (sub negotiation).
Примеры Telnet-сообщений
Как показано на рис. 6.4, данные протокола Telnet следуют непосредственно после ТСР-заголовка.
A tclnell |)U
-0 - 0
Freeattenda; Routine.-Total Length: Identifier: fragmentation Flags; Fragment Offset-: Time To Live: Protocol: Meader Checksum.: Source IP Address:
Z/oi’asal Daley, Z/oratel Tbrougbput 52
1000 Pte у Fraouanc Last Fragment 0	(0 bytes)
255 6
TCP
0хЗА5В
10.i-99.99
10.2.10.2
Protocol
gg Pest. IP Address:
• 0 No IP Options
TCP - Transport Control
 0	Source Port;	23 telnet
' 0	Destination Port:	1031 iadZ
0	Sequence Nurrfoer:	1720360307
' 0	Ack Nvnfoer:	248606632
0	Offset:	5
• 0	Reserved:	*000000
0	Code:	*011000
 0	Ack is valid	
- 0	Push R-quest	
' 0	Window:	4288
0	Checksum:	0x83E7
 0	Urgent Point er:	0
ф	No TCP Options	
0:
16:
0 TELNET Command: •0 Command Option:		255251 1 255251 3 255253 24 255253 31 ice:	0:	WILL P&rform Option Xcho WILL Farfora Option Suppt'&ss Go Ahead DO Option Terminal Type DO Option W«gr-?tiate About Window Size XOOOOOOOO
$ о $ • - 0 0 0	TELNET Command: Command Option: TELNET Command: Command Option: TELNET Command; Command Option. Frame Check Sequen		
: 00	20 78 El SA 80 00	10 7B	81 43 E3 08 00 45 00	. xaZ...(.Ca.
: 00	34 00 01 00 00 VV	06 ЗА	SB 0A 01 63 63 0A 02 .4	:	[. .<
: 0A	02 00 17 04 07 66	8A 9D	73 0E DI 6P A8 50 18		f.Ds..( 111111ИИ1вИВв^МЖ1ОЯНШ1
Е.

$
$

Рис. 6.4. Данные и опции протокола Telnet следуют непосредственно за ТСР-заголовком
Основные службы TCP/IP
343
Из содержания рис. 6.4 явствует, что хост предлагает четыре опции:
□	Echo (эхо);
□	Suppress Go Ahead (запрещение продолжения);
□	Terminal Туре (тип терминала);
□	Negotiate About Window Size (согласование размера окна).
В табл. 6.5 перечислены многочисленные действия, которые в ходе операции Telnet направлены на конфигурацию маршрутизатора Cisco; при этом С означает клиентскую систему (client), инициирующую соединение Telnet, а R — маршрутизатор (router), конфигурируемый этим клиентом.
Таблица 6.5. Последовательности Telnet-сообщений
Процесс	Последовательности пакетов
Установление Telnet-соединения (трехшаговый процесс квитирования TCP) Порт маршрутизатора 23. Порт клиента 1031	С > R	TCP SYN R > С	TCP SYN ACK C > R	TCP ACK
Опции согласования. Подтверждения в этой схеме не приводятся	R > С Список опций Telnet: WILL Echo (эхо), WILL Suppress Go Ahead (запрещение продолжения), DO Terminal Type (тип терминала), DO Negotiate About Window Size (согласование размера окна) Запрос пароля Опции Telnet, поддерживаемые клиен-С > R том: Do Echo (эхо), DO Suppress Go Ahead (запрещение продолжения), WILL Terminal Type (тип терминала), WON’T Negotiate About Window Size (согласование размера окна) R > С Подсогласование: Terminal Туре (тип терминала) С > R Подсогласование: Terminal Type - ANSI (тип терминала -ANSI) R>C Опции Telnet: DON’T Negotiate About Window Size (согласование размера окна)
344
Гпава 6
Таблица 6.5 (окончание)
Процесс	Последовательности пакетов
С:	> R	Опции Telnet:
		DON’T Negotiate About Window Size (согласование размера окна)
С :	> R	Данные Telnet. Пароль отсылается посредством нескольких пакетов с обратными подтверждениями
R ;	> С	Экранная подсказка маршрутизатора для ввода команд
Более подробная информация о протоколе Telnet приводится в документе RFC 854. Как и раньше, вы можете легко исследовать клиентскую сторону Telnet в системе Windows, введя telnet /? в командной строке.
Несмотря на свои давние истоки, Telnet по сей день остается важной и широко распространенной службой TCP/IP. Имейте в виду, что все в большей степени доступными становятся безопасные реализации протокола Telnet, часто именуемые Stelnet (Secure Telnet). В этих реализациях интерфейс SSL (Secure Sockets Layer, протокол защищенных сокетов) шифрует трафик между клиентом и сервером службы Telnet, таким образом позволяя избежать "засвечивания" в сети имен учетных записей и паролей, которые в других условиях передаются в виде открытого текста (и могут быть легко перехвачены анализатором протоколов вроде EtherPeek). Если вы (или ваша организация) испытываете потребность в применении протокола Telnet по общедоступным или небезопасным каналам, мы настоятельно рекомендуем использовать безопасную реализацию, если, конечно, это возможно. (На момент написания этой' главы, к сожалению, безопасных реализаций для операционных систем Windows 2000 и Windows ХР так и не появилось; как бы то ни было, с течением времени эта проблема должна разрешиться.)
Введение в протокол SMTP
Протокол SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты) является самым распространенным протоколом отсылки электронной почты (e-mail) в сети Internet. Протокол SMTP отправляет и принимает сообщения электронной почты с помощью процессов SMTP-отправителя (Sender-SMTP) и SMTP-получателя (Receiver-SMTP), которые обеспечивают службы передачи и приема. Базовая структура SMTP-сообщения изображена на рис. 6.5.
Основные службы TCP/IP
345
Рис. 6.5. Процессы Sender-SMTP и Receiver-SMTP осуществляют передачу электронной почты по протоколу TCP
Элементы протокола SMTP
Процессы Sender-SMTP (SMTP-отправитель) и Receiver-SMTP (SMTP-получатель) являются клиентскими или серверными приложениями, поддерживающими функциональные возможности протокола SMTP. Обычно Sender-SMTP передает запрос на инициализацию SMTP-соединения через порт 25 сервера Receiver-SMTP. После установления соответствующего TCP-соединения Receiver-SMTP отвечает посредством числового кода 220, обозначающего готовность сервера принимать команды и информацию протокола SMTP. Затем клиент выдает команду held или ehlo (в зависимости от того, использует ли клиент стандартный протокол SMTP, или же расширения протокола SMTP, специфицированные в документе RFC 1869, посвященном расширениям службы электронной почты).
Процессы Sender-SMTP и Receiver-SMTP
Sender-SMTP и Receiver-SMTP — это процессы, поддерживающие команды протокола SMTP, перечень которых содержится в документах RFC 821 "SMTP" и RFC 1869 "Mail Service Extensions" (расширения службы электронной почты). Sender-SMTP отсылает почтовые команды и сообщения. Receiver-SMTP отсылает коды ответов, реагируя на отправленные коды и почтовые сообщения.
Команды протокола SMTP
Исходный набор команд протокола SMTP был определен в документе RFC 821, однако позже он расширялся по инициативе агентства IANA (Агентство по выделению имен и уникальных параметров протоколов Internet). В табл. 6.6 приводится перечень команд протокола SMTP, зарегистрированных в агентстве IANA.
346
Гпава 6
	Таблица 6.6. Команды протокола SMTP	
Команда	Описание	Справочная информация
HELD	Инициирует SMTP-сеанс	RFC 821
EHLO	Инициирует SMTP-сеанс с участием процесса Sender-SMTP, поддерживающего расширения службы электронной почты SMTP	RFC 1869
MAIL	Инициирует почтовую передачу; идентифицирует адрес электронной почты Sender-SMTP	RFC 821
RCPT	Идентифицирует получателя почты	RFC 821
DATA	Инициирует передачу почтовых данных	RFC 821
VRFY	Проверяет существование получателя	RFC 821
RSET	Прекращает текущую почтовую передачу	RFC 821
NOOR	Применяется для тестирования соединения с сервером	RFC 821
QUIT	Завершение сеанса связи по протоколу SMTP	RFC 821
SEND	Отправка на терминал пользователя	RFC 821
SGML	(Send Or MaiL) осуществляется отправка на терминал получателя, если он активен, или сообщение остается в почтовом ящеке получателя, если терминал получателя не активен	RFC 821
SAML	(Send And MaiL) Отправка сообщения на терминал, если он активен, и в почтовый ящик пользователя	RFC 821
EXPN	Расширение списка адресатов	RFC 821
HELP	Доставка полезной информации	RFC 821
TURN	Изменение функций приложений протокола SMTP (отправитель — на получатель, получатель — на отправитель)	RFC 821
8BITMIME	Применение 8-битных данных	RFC 1652
SIZE	Объявление размера сообщения	RFC 1870
VERB	Подробности	Эрик Олмен
ONEX	Передача только одного сообщения	Эрик Олмен
CHUNKING	Формирование фрагментов	RFC 1830
BINARYMIME	Бинарное разрешение (MIME)	RFC 1830
CHECKPOINT	Контрольная точка/перезапуск	RFC 1845
PIPELINING	Конвейерная обработка команд	RFC 2197
DSN	Оповещение о состоянии доставки	RFC 1891
Основные службы TCP/IP
347
	Таблица 6.6 (окончание)
Команда	Описание	Справочная информация
ETRN	Расширенное изменение функций	RFC 1985
ENHANCED-STATUSCODES	Расширенный код состояния	RFC 2034
STARTTLS	Запуск локальной памяти потока (TLS)	RFC 2487
Коды ответов SMTP
Процесс Receiver-SMTP отсылает ответы состояния, содержащие числовой код ответа. В табл. 6.7 перечислены поддерживаемые в протоколе SMTP коды ответов.
Таблица 6.7. Коды ответов протокола SMTP
SMTP-код ответа	Описание
211	Системный ответ состояния или справочный ответ
214	Справочное сообщение
220	<домен> Служба готова
221	<Домен> Служба закрывает канал передачи
250	Запрошенное действие принято и выполнено
251	Пользователь не локален; перенаправление по адресу <путь_переадресации>
354	Запуск подачи почты; оканчивается с помощью <CRLF>.<CRLF>
421	<домен> Служба недоступна; закрытие соединения
450	Почтовый ящик недоступен; запрошенное действие не выполнено
451	Локальная ошибка в ходе обработки; действие прекращено
452	Недостаточная системная память; действие не выполнено
500	Синтаксическая ошибка; команда не опознана
501	Синтаксическая ошибка в параметрах или аргументах
502	Команда не реализована
503	Некорректная последовательность команд
504	Параметр команды не реализован
550	Почтовый ящик недоступен; действие не выполнено
551	Пользователь не локален; попробуйте <путь_переадресации>
348
Гпава 6
Таблица 6.7 (окончание)
SMTP-код Описание ответа
552 Распределение памяти Превышено; действие прекращено
553 Запрещенное имя почтового ящика; действие не выполнено
Примеры SMTP-сообщений
Как показано на рис. 6.6, команды и коды ответов протокола SMTP указываются сразу после ТСР-заголовка.
snilEx±k'_______________________________________ ИЕП
; г $	Time To Live: Protocol;	128 6 TCP	
	He ader Checks m:	0KS58B	
: i-S	Source IP Hddress:	10.0-0.4	
	Desk TP iiddress:	206.184.	139.15
	No IP Options		
0‘V3 TCP " Transport Control Protocol			
1 i- $	Source Port :	1047 neodl	
	Destination Port:	25 sutp	
	Sequence* Nunfeer	860908	
i i	$	/lek Nwpber:	1144260338	
	Offset:	S	
; м	Reserved:	*000000	
	Coda :	*011000	
	Лек is valid		
	Push R&queis t		
	Ш-ndow:	8678	
- $	Checksum:	OxDEDE	
; $	Urgent Pointer:	0	
	No TCP Options		
			
$	SMTP Conenand	0x4S484C4F	да1.С'?
0	Unknown SMTP Command:		
i	$	Data: (19 bytes)		
$	Frame Check Sequence; 0x57B24896	v		
. . ....	_			.				  r..						 _ 				
0: 00	00 C5 7B 6F 64 00	20 78 E0 E4	4F 08 00 45 00	...{od. x.a0.,E. :
16: 00	3F 85 00 40 00 80	06 55 8B 0A	00 00 04 СЕ B8 . ? . . 0. . .U	,	!
32: 8B	OF 04 17 00 19 00	0D 22 EC-44	34 06 FZ 50 18	........".D4.-P.
48: 21	E6 DE DE 00 00 О	48 4C .4? 20	70 61 63 6B 65:: !	SHLO'•рйскё .
64 74	2D 6C es 76 65 6C	ZE 63 GF 6»	Ж.0Л: 57 BZ 48.: t^level'. cOia.-.ЖН
80: 96			
	1йЖ«ЖийиЙ		1 Ь|  Next
Рис. 6.6. Команда EHLO означает, что отправитель поддерживает расширения протокола SMTP
Основные службы TCP/IP 349
В табл. 6.8 мы рассмотрим некоторые действия, выполняемые во время отправки электронной почты посредством протокола SMTP. В этом сообщении S обозначает SMTP-сервер (server), а С — SMTP-клиента (client), отправляющего электронную почту.
Таблица 6.8. Последовательности SMTP-сообщений
Процесс	Последовательности пакетов		
Установление SMTP-TCP-	С>	> S	TCP SYN
соединения (трехшаговый процесс ТСР-квитирования).	S>	•С	TCP SYN ACK
Порт сервера 25. Порт клиента 1047	С 5	>s	TCP ACK
Установление исходного	s>	• с	SMTP 220: ESMTP-сервер готов
SMTP-сообщения	С:	>s	(дата/время) Команда SMTP EHLO
	S>	• с	SMTP 250: приветствие (IP-адрес клиента) SMTP 250: 8BITMIME SMTP 250: SIZE
Отправка почты на SMTP-	С:	>s	Команда SMTP MAIL (включает ад-
сервер	S ;	>с	pec электронной почты источника) SMTP 250: отправитель подтвержден
	С:	> S	Команда SMTP RCPT (включает адрес электронной почты получателя)
	S;	>с	SMTP 250: получатель подтвержден
	С:	>s	Команда SMTP DATA
	S;	»с	SMTP 354: запуск подачи почты
	С:	> S	Клиент отсылает сообщение электронной почты
	S:	>с	SMTP 250: сообщение принято
Закрытие SMTP-	С:	>s	Команда SMTP QUIT
и ТСР-соединения	С:	>s	TCP FIN
	S:	>с	SMTP 221: завершение соединения и подтверждение (АСК)
	С:	>s	Сброс (означает, что клиент уже закрыл ожидающий порт 1047)
350
Гпава 6
Спецификация протокола SMTP содержится в документе RFC 821. Вызов и применение протокола SMTP объяснить намного сложнее, чем другие обсуждаемые в этой главе службы Прикладного уровня TCP/IP; дело в том, что в некоторых клиентах электронной почты и некоторых межсерверных почтовых передачах в сети Internet эта служба работает незаметно. Сегодня большинство почтовых клиентов применяют протокол SMTP для отсылки исходящей почты через близлежащий SMTP-сервер; при этом предполагается хранение (если адресат принадлежит к тому же домену) или переадресация (если он принадлежит к другому домену) таких сообщений. Именно по этой причине многие почтовые системы и системы обмена сообщениями, включая протокол SMTP, также известны под названием систем хранения и переадресации (store and forward).
В следующем разделе вы ознакомитесь с протоколом HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста), который является базовым для Всемирной паутины (World Wide Web). Многие утверждают, что этот протокол, учитывая его широчайшее применение в браузерах, ответственен за феноменальную популярность и повсеместность сети Internet.
Введение в протокол HTTP
Протокол HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста) — это протокол Прикладного уровня, доставляющий распределенную информацию из разных гипермедийных (hypermedia) систем. Протокол HTTP применяется во Всемирной паутине с 1990 года. В настоящее время широкое распространение имеет версия HTTP v 1.0 (документирована в RFC 1945), однако протокол HTTPvl.l находится в стадии предложенного стандарта (его спецификация приводится в RFC 2616).
Протокол HTTP использует модель запроса/ответа, в которой НТТР-клиенты отсылают серверу запрос и ожидают пакет с ответом, содержащий код состояния. Запросы содержат URI (Uniform Resource Identifier, универсальный идентификатор ресурса), который идентифицирует желаемый Web-pecypc. По умолчанию HTTP-сообщения применяют порт 80. В этом разделе мы определим основные элементы, общие для протокола HTTP версий 1.0 и 1.1.
Элементы протокола HTTP
HTTP-клиенты отсылают HTTP-запросы, содержащие метод (или команду), обозначающий потребность клиента. Такие запросы могут содержать идентификатор URI, указывающий на желаемый ресурс. HTTP-серверы отвечают числовым кодом (кодом состояния) и данными (если это уместно). На рис. 6.7 показана схема взаимодействия этих элементов при передаче НТТР-данных.
Основные службы TCP/IP
351
Для передачи текста, данных и графики применяются отдельные соединения
Рис. 6.7. В HTTP-соединениях команды, методы и коды ответов используются для обеспечения поддержки обмена данными
Универсальные идентификаторы ресурсов
Универсальный идентификатор ресурса (Uniform Resource Identifier, URI), также известный под именем Web-адреса, представляет собой сочетание унифицированного адресатора ресурса (Uniform Resource Locator, URL) и унифицированного имени ресурса (Uniform Resource Name, URN). Согласно документу RFC 1945, "универсальные идентификаторы ресурсов — это просто форматированные строки, идентифицирующие ресурс по имени, местоположению или любой другой характеристике".
Методы HTTP
Методы протокола HTTP — это команды, выдаваемые НТТР-клиентом HTTP-серверу. В протоколе HTTPvl.O было определено лишь три метода, но протокол HTTP vl.l расширяет этот список (табл. 6.9).
Таблица 6.9. Методы протокола HTTP v1.0 и v1.1
Метод	Описание
get	Извлекает	информацию, которую идентифицирует URI, содержа-
щийся в запросе
head	Извлекает	метаинформацию, относящуюся к желаемому URI
post	Отправляет данные на HTTP-сервер (они должны быть размещены в
виде новой единицы, подчиненной ресурсу, идентифицируемому в запросе посредством URI)
options Определяет опции и/или требования, связываемые с ресурсом или возможностями сервера
352
Гпава 6
	Таблица 6.9 (окончание)
Метод	Описание
PUT 	Отправляет данные на HTTP-сервер (они должны храниться в URI, указанном в запросе post)
DELETE	Удаляет ресурс, определяемый URI в запросе delete
TRACE	Запускает удаленную, относящуюся к Прикладному уровню, возвратную петлю сообщения запроса; при этом клиент получает возможность видеть, что от него получает клиент
CONNECT	Применяется для подсоединения устройства-агента и туннеля к конечной точке (к примеру, туннелирование SSL)
Коды состояния
HTTP-сервер отсылает коды состояния, сообщая, успешно ли выполнен запрос или же он был неудачен. Коды состояния протокола HTTP, определенные для версии HTTP vl.l, приведены в табл. 6.10.
	Таблица 6.10. Коды состояния протокола HTTP v1.1
Код состояния	Описание
1хх	Informational (информационные)
100	Continue (продолжение)
101	Switching Protocols (переключение протоколов)
2хх	Successful (успешное выполнение)
200	ОК
201	Created (создано)
202	Accepted (принято)
203	Non-Authoritative information (неофициальная информация)
204	No Content (нет содержания)
205	Reset Content (восстановление содержания)
206	Partial Content (частичное содержание)
Зхх	Redirection Зхх (переадресация Зхх)
300	Multiple Choices (множество вариантов)
301	Moved Permanently (перемещено на постоянной основе)
Основные службы TCP/IP
353
	Таблица 6.10 (продолжение)
Код состояния	Описание
302	Found (найдено)
303	See Other (см. другое)
304	Not Modified (не модифицировано)
305	Use Proxy (использование агента)
306	(не используется)
307	Temporary Redirect (временная переадресация)
4хх	Client Error 4хх (клиентские ошибки 4хх)
400	Bad Request (некорректный запрос)
401	Unauthorized (не санкционировано)
402	Payment Required (требуется оплата)
403	Forbidden (запрещено)
404	Not Found (не найдено)
405	Method Not Allowed (метод не разрешен)
406	Not Acceptable (недопустимо)
407	Proxy Authentication Required (требуется аутентификация агента)
408	Request Timeout (превышение лимита времени на выполнение запроса)
409	Conflict (конфликт)
410	Gone (ушедший)
411	Length Required (требуется длина)
412	Pretondition Failed (входное условие не выполнено)
413	Request Entity Too Large (объект запроса слишком велик)
414	Request — URI Too Long (запрос — слишком длинный URI)
415	Unsupported Media Type (неподдерживаемый тип среды)
416	Requested Range Not Satisfiable (запрошенный диапазон невыполним)
417	Expectation Failed (ожидание не достигло успеха)
5хх	Server Errors (ошибки сервера)
500	Internal Server Error (внутренняя ошибка сервера)
501	Not implemented (не реализовано)
502	Bat Gateway (некорректный шлюз)
503	Service Unuavailable (служба недоступна)
354
Гпава 6
Таблица 6.10 (окончание)
Код состояния Описание
504 Gateway Timeout (превышение лимита времени шлюза)
505 HTTP Version Not Supported (версия HTTP не поддерживается)
Примеры НТТР-сообщений
Как показано на рис. 6.8, команды и коды состояния протокола HTTP указываются непосредственно после ТСР-заголовка.
Д. .			
* . ; Щ Source IP Address:	10.0.0.4 ‘	;--Щ Desk. IP fiddress:	192.0.34. '	- ф No IP Options :	~ Trajwpox’t Control Protocol 	'. 0 Source Port:	1881 ibia-nqs : :	0 Destination Port: 80 http '	0 Sequence Number: 31906294 ;	;	к-	ф	Ack Nwitier:	381521564 i	Offset:	S ‘	Reserved:	%000000 :	 0	Code;	5011000 ;	Q	Ack is valid ;	• 0	Push R&qu&s b ;	Window:	8760 -	;	Checksum:	0xF102 i	Urgent Pointer:	0 Mo TCP Options			.±1 69 e r i e s 2
	HyperText hueta Protocol		
:••	Data • ^ Data •• Data	(16 bytes) (24 bytes) (60 bytes)		
64	00	20	78	E0	E4	4F	08	00	45	00	...(od.	x. aO.	-E-
00	80	06	IF	DA	0A	00	00	04	CO	00	.?14@..		
50	01	E6	D9	F6	16	ED	8E	9C	50	18	"E.Y.P.	.U....	. P.
О: 00 00 CS 7В 6F
16: 01 3F 31 34 40
32: 22 4S 07 59 00
48: Z2 38 F1 02 00
64: gHHiiSHol
80: ЭА; гЬ. 4В.; 65!<'65':
96: ШЙЯвИЙв!
112: 61 2В 34 2В 37
128: жаяжявджг
144:......69 6В: 39-38ТЗВ йяевжяггта
00 47 45,54 20 2Г 20 48 54 54 50 "8....GKT / HTTP	!
0А 43 6F 6В 6В 6S 63 74 69 6? 6В /1.0..Connection • 70 ZD	41	6С	69	,76	65	0D	0А 55	73,	: Keep-Alive..Us	h
.65 6И	74	ЗА	20	4D	6F	7А	69.6С	6С	ar-Agent: Mosill	•;
20 SB	65	6В	5D	43	2D	43	43 ,4В	ZD	а/4.7 [en]C-CCK-	в
53 43	SO	43	44	34	3V	20	20 ZS	57	BCD HSCPCD47 CW	,
•20 49 29 0» 0A 48 6? 73 74 ЗА Z0 An90; 1) . .Host: Zj
JJ
Рис. 6.8. Команда GET и коды состояния протокола HTTP
Основные службы TCP/IP
355
В табл. 6.11 представлены действия, выполняемые во время просмотра Web-сайта (http://www.iana.org) с помощью протокола HTTP. В этом сообщении S означает HTTP-сервер (server), а С представляет HTTP-клиента (client).
Таблица 6.11. Последовательности сообщений HTTP
Процесс	Последовательности пакетов
Установление ТСР-соединения (трехшаговый процесс ТСР-квитирования). Порт сервера 80. Порт клиента 1881	С > S	TCP	SYN S > С	TCP SYN	ACK C > S	TCP ACK
Получение Web-страницы. Отправка свойств клиента. Свойства сервера	C > S	HTTP Get Request (URL: www.iana.org). Предоставление свойств: Connection (соединение), User-Agent (агент пользователя), Host (хост), Accept (принятие), Accept-Encoding (кодировка), Accept-Language (язык) и Accept-Charset (набор символов). S > С	HTTP Get Reply: Code 200. Предостав- ление свойств: Time (время), Server Type (тип сервера), Last Modified Date/Time (последнее обновление, да-та/время), Etag, Accept-Ranges (принятые диапазоны), Content-Length (длина содержимого), Keep-Alive (поддержка соединения), Content-Type (тип содержимого). Начало загрузки Web-страницы. Это соединение, предназначенное для загрузки Web-страницы, продолжается, в то время как клиент открывает дополнительные соединения для получения графических изображений
Установление второго ТСР-соединения (трехшаговый процесс ТСР-квитирования). Порт сервера 80. Порт клиента 1882	С > S	TCP	SYN S > С	TCP SYN	ACK C > S	TCP ACK
Получение первой графической страницы. Отправка свойств клиента. Свойства сервера	C>S	HTTP Get iana1.jpg. Предоставление аналогичной информации о клиенте, а также о ссылающемся объекте (странице, содержащей получаемый графический файл)
356
Гпава 6
	Таблица 6.11 (окончание)
Процесс	Последовательности пакетов S > С	HTTP Get Reply: Code 200. Предостав- ление аналогичной информации о свойствах. Начало отправки файла iana1.jpg. Это соединение, предназначенное для загрузки графического файла, продолжается, в то время как клиент открывает еще одно соединение для загрузки следующего графического файла. После успешной загрузки графики соединение закрывается
Установление третьего ТСР-соединения (трехшаговый процесс ТСР-квитирования). Порт сервера 80. Порт клиента 80	С > S	TCP	SYN S > С	TCP SYN	ACK C > S	TCP ACK
Получение первой графической страницы. Отправка свойств клиента. Свойства сервера	C > S	HTTP Get blueball.gif. Предоставление аналогичной информации о клиенте, а также о ссылающемся объекте (странице, содержащей получаемый графический файл) S > С	HTTP Get Reply: Code 200. Предо- ставление аналогичной информации о свойствах. Начало отправки файла blueball.gif. Это соединение, предназначенное для загрузки графики, продолжается, пока клиент не получит полное изображение. После успешной загрузки графики соединение закрывается
Сообщения, показанные в табл. 6.11, следуют одной общей схеме, которая заключается в открытии ТСР-соединения, отправке GET-запроса на графику, получении файла и, наконец, по окончании его загрузки, — закрытии соединения. Так происходит с каждым пользователем Web-браузера, последовательно' перемещающимся от страницы к странице и загружающим компоненты этих страниц.
У протокола HTTP есть еще одна особенность, которую стоит упомянуть в данном контексте, но не обсуждаемую в подробностях в данном издании. Дело в том, что протокол HTTPS представляет собой безопасную реализацию протокола HTTP, в которой протокол SSL (протокол защищенных сокетов) или какой-либо вариант интерфейса SSH (Secure Shell, безопасная
Основные службы TCP/IP
357
оболочка) применяется для шифрования трафика между защищенным клиентом и защищенным сервером. Этот режим работы характерен для коммерческих сообщений в сети Internet всех типов — размещения заказов с помощью кредитных карт, просмотра конфиденциальных финансовых записей, осуществления биржевых торгов, денежных переводов и других видов деятельности, подразумевающих передачу секретной информации. Порт 443 протокола TCP закрепляется за протоколом HTTP, применяющим TCP вместе со средствами обеспечения безопасности Транспортного уровня через протокол SSL. Порт 443 протокола UDP также закрепляется за протоколом HTTP, применяющим UDP вместе со средствами обеспечения безопасности Транспортного уровня протокола SSL для защиты сетевых передач.
В следующем разделе мы рассмотрим еще несколько базовых служб TCP/IP, но в меньших подробностях, чем ранее. В этом случае наша задача состоит в том, чтобы просто описать их возможности; при этом цели изучить их сообщения запроса/ответа, опции и прочие эксплуатационные и поведенческие детали мы не ставим.
Другие распространенные службы на основе протокола iP
Набор протоколов TCP/IP включает в себя множество приложений, которые расширяют возможности базового стека протоколов TCP/IP. Помимо прочих, в число этих приложений входят следующие:
□	Echo (эхо, протоколы TCP и UDP);
□	QOD (Quote of the Day, цитата дня);
□	Chargen (Character Generator, генератор символов);
□	Whois;
□	TFTP (Trivial File Transfer Protocol, простейший протокол передачи данных);
□	Finger (указатель);
□	RPC (Remote Procedure Call, удаленный вызов процедуры);
□	SNMP (Simple Network Management Protocol, простой протокол сетевого управления).
В этой книге не так много места, чтобы рассмотреть эти базовые службы столь же детализированно, как протоколы FTP, Telnet, HTTP и SMTP. Как бы то ни было, мы обозначим их основные функции. Если у вас возникнет необходимость ознакомиться с их форматами сообщений, опциями и структурами, обращайтесь к соответствующим документам RFC.
358
Гпава 6
Протокол Echo
Протокол Echo — это служба протоколов TCP и UDP, отражающая все символы, полученные ожидающим портом, обратно отправителю. Поскольку настройки некоторых маршрутизаторов заставляют отклонять входящие Echo-запросы протокола ICMP, службу Echo протоколов TCP или UDP можно использовать для того, чтобы определить, находится ли маршрутизатор в активном состоянии. Кроме того, протокол Echo часто применяется для отладки сетевых приложений, что позволяет убедиться в корректной генерации ими выходных данных (в зависимости от того, какую информацию получатель возвращает в ответ на Echo-запрос).
Echo-процессу протокола UDP присваивается порт 7 UDP, а аналогичному процессу TCP — порт 7 TCP. Echo-службы протоколов TCP и UDP описаны в документе RFC 862.
Служба QOD
Служба QOD (Quote of the Day, цитата дня) просто-напросто отсылает короткое сообщение в ответ на любой пакет запроса. Изначально она замышлялась как средство отладки, запрашивающее случайные входные сигналы и при этом не требующее формирования значимых сигналов этого рода. С течением времени служба QOD стала активно применяться системными администраторами для доставки регистрирующимся.на хостах TCP/IP пользователям глубокомысленых присказок.
Процессу QOD (Quote of the Day, цитата дня) протокола UDP присваивается порт 17 UDP, а аналогичному процессу протокола TCP — порт 17 TCP. Спецификация служб QOD протоколов TCP и UDP содержится в документе RFC 865.
Служба Chargen
В ответ на клиентский запрос служба Chargen (Character Generator, генератор символов) генерирует выходные данные в виде непрерывной последовательности символов. Она часто используется как средство отладки, определяющее поведение системы в случае внезапного прерывания пользователем текущего сообщения протокола TCP или UDP. В соответствующем документе RFC эта методика называется "грубым прерыванием". По существу, эта служба отвечает на клиентский запрос отсылкой длинного или непрерывного потока символов, таким образом тестируя TCP- или UDP-сообщения.
Процессу Chargen протокола TCP присваивается порт 19 TCP, а аналогичному процессу протокола UDP — порт 19 UDP. Службы Chargen протоколов TCP и UDP специфицированы в документе RFC 864.
Основные службы TCP/IP
359
Простые утилиты TCP/IP и утилиты Windows 2000
В состав операционной системы Windows входит набор утилит TCP/IP, называющихся простыми службами TCP/IP; среди них — такие клиентские и серверные утилиты, как Chargen, Daytime, Discard, Echo и QOD. {Daytime отвечает на запрос определением даты и времени, a Discard оповещает получателя о любом пакете, отправленном в целях необъявленного исключения данного трафика.) Как бы то ни было, эти утилиты не устанавливаются по умолчанию при инсталляции операционной системы. Для их установки и тестирования некоторых рассматриваемых в настоящем разделе служб необходимо выполнить несколько действий.
1.	Выберите Пуск (Start) > Настройка (Settings) > Сеть и удаленный доступ к сети (Network and Dial-up Connections). В списке раскрывшемся одноименном окне в меню Дополнительно (Advanced) выберите пункт Дополнительные сетевые компоненты (Optional Networking Components).
2.	Выберите пункт Сетевые службы (Networking Services) в списке Компоненты (Components), затем нажмите кнопку Состав (Details). В результате откроется окно Сетевые службы (Networking Services).
3.	Отметьте флажок слева от записи Простые службы TCP/IP (Simple TCP/IP Services) в списке Сетевые службы — состав (Subcomponents of Networking Services), затем последовательно нажмите кнопки ОК и Далее (Next).
4.	Появится сообщение с предложением вставить диск с операционной системой Windows 2000, соответствующей используемой версии программного обеспечения (Professional, Server и т. д.). Вставьте диск, и оставшаяся часть процесса инсталляции должна пройти автоматически.
После завершения инсталляции вы сможете пользоваться перечисленными утилитами, но только в том случае, если они установлены еще, по крайней мере, на одном компьютере (он должен исполнять роль сервера по отношению к вашему компьютеру, который будет клиентом; разве только что вы будете адресовать все команды своей же машине).
Утилита Whois
Утилита Whois представляет собой сервер запроса/ответа на основе протокола TCP, предоставляющий некоторым пользователям сети Internet базовые службы каталогов. Команда whois проводит поиск доменного имени, определяя, где оно зарегистрировано, и определяя первичный и вторичный серверы DNS для базы данных DNS, в которой расположена запись. Экспериментируя с этой командой, вы обнаружите, что многие доменные имена не зарегистрированы в базах данных, по которым она проводит поиск; при
360
Гпава 6
этом ping-запрос на то же доменное имя может быть вполне успешен (т. е. оно будет успешно разрешено в числовой IP-адрес). Такая ограниченная полезность делает службу Whois не такой незаменимой, какой она была в молодые годы Internet, когда могла что-нибудь сообщить практически о любом используемом хосте.
Изначально служба Whois была специфицирована в документе RFC 812, но позже этот документ был заменен более новым — RFC 954. Для процессов Whois протокола UDP зарезервирован порт 43 UDP, а для аналогичных процессов протокола TCP — порт 43 TCP.
Протокол TFTP
Протокол TFTP (Trivial File Transfer Protocol, простейший протокол передачи данных) задумывался как элементарный протокол для упрощенной передачи файлов между двумя равноправными IP-хостами. В своей основе протокол TFTP должен был упростить передачу файлов, выполняемую пользователями из одной системы в другую, в какой бы из них они ни были зарегистрированы. Таким образом, если вы установили сеанс связи по. протоколу Telnet с другим хостом и забыли передать файл на хост, к которому подключены удаленным способом, можете воспользоваться протоколом TFTP прямо в командной строке службы Telnet, чтобы взять файл с локального хоста и передать его удаленному хосту, причем сделать это в рамках текущего Telnet-сеанса. По этой причине мы иногда называем протокол TFTP службой "для забывчивых".
С другой стороны, у протокола TFTP есть и более важные роли. Он часто применяется для загрузки исполняемых изображений на бездисковые рабочие станции, которые не могут получить файлы или изображения с локального жесткого диска. Более того, протокол TFTP обеспечивает более быстрый и упрощенный способ загрузки конфигурационных файлов, патчей, исправлений и обновлений разного рода сетевого аппаратного обеспечения (например, маршрутизаторов, коммутаторов и других устройств,, обычно не имеющих накопителей). Наконец, организация протокола TFTP позволяет применять транспортный протокол UDP в широковещательном режиме, чтобы он мог одновременно обслуживать нескольких клиентов. (Поскольку протокол FTP работает на базе транспортного протокола TCP, он требует осуществления трехшагового процесса квитирования между клиентом и сервером, причем каждому клиенту должны отсылаться отдельные пакеты, поэтому применение службой TFTP протокола UDP дает ей возможность транслировать единый набор пакетов, который может быть прочитан всеми получателями в одной подсети.)
Протокол TFTP описан в документе RFC 1350. Порт 69 протокола UDP выделяется для службы TFTP, использующей протокол UDP, а порт 69 TCP — для службы TFTP, использующей протокол TCP. Windows 2000 обеспечивает
Основные службы TCP/IP
361
доступ к службе TFTP из стандартной командной строки. Чтобы просмотреть оперативную справку, введите команду tftp /?.
Протокол Finger
Протокол Finger (Finger User Information Protocol, протокол пользовательской информации Finger) предоставляет механизм получения информации о хостах и пользователях TCP/IP. Поскольку служба Finger также обеспечила несколько тщательно документированных возможностей для системных атак, на хорошо организованных Internet-хостах внешний доступ к ней чаще всего запрещен. Если вы, зарегистрировавшись на хосте, хотите получить информацию о другом пользователе того же хоста, команда finger должна сработать, однако она больше не употребляется для поиска удаленных хостов или пользователей. (Большинство попыток использовать протокол Finger в этих целях заканчиваются получением сообщения об ошибке "connection refused" (в соединении отказано), т. к. системные администраторы регулярно закрывают ддя внешнего мира TCP- и UDP-порты, связанные с этой службой.)
Спецификации протокола Finger содержатся в документе RFC 1288, Процесс UDP Finger использует порт UDP 79, a TCP Finger — порт TCP 79. Команда finger выполняется из командной строки Windows, однако ее повсеместное отключение ограничивает ее ценность и пользу.
Интерфейс RPC
Интерфейс RPC (Remote Procedure Call, удаленный вызов процедуры) определяет программный механизм, который был разработан в компании Sun Microsystems и предназначался для того, чтобы упростить разработку так называемых распределенных приложений (процедур внутри процесса на одном компьютере, которые передают или запускают другую процедуру внутри другого процесса на том же компьютере или на другом компьютере в сети). До сих пор довольно распространенная технология RPC позволяет разработчикам программного обеспечения создавать специальные сетевые приложения с помощью стандартной службы связи прикладного уровня TCP/IP, работающей либо с протоколом TCP, либо с протоколом UDP.
Несомненно, встроенные в RPC службы должны организовывать свои собственные сообщения, поскольку они могут рассчитывать лишь на возможность доступа и обмена данными с другими процессами RPC через данный интерфейс. Таким образом, разработчики, применяющие RPC для того, чтобы позволить процессам взаимодействовать удаленным способом, должны создавать и координировать собственные коды аутентификации, управления сеансом и обработки ошибок, наряду с индивидуальными или узкоспециализированными службами, которые они желают предоставить.
362
Гпава 6
Служба RPC в том виде, в котором она была разработана в Sun Microsystems, приведена в документе RFC 1257. Служба RPC на основе протокола TCP применяет порт 111 TCP, а та же служба на основе протокола UDP - порт 111 UDP.
Протокол SNMP
Первое слово "простой" в названии протокола SNMP (Simple Network Management Protocol, простой протокол сетевого управления) несколько занижает возможности и сложность службы SNMP, которая явилась предметом более 60 документов RFC, а это само по себе указывает на то, что она не может быть слишком простой. Большое количество книг о протоколе SNMP, находящихся в продаже, лишь подтверждают эту гипотезу. Поскольку мы не будем углубляться в подробности, достаточно сказать, что протокол SNMP разрабатывался с целью обеспечения удаленного текущего контроля и управления устройствами и хостами, для которых созданы SNMP-агенты. В этом контексте функцией агента является уведомление об особых событиях, о которых предписано сообщать, и ответы на запросы на информацию из других программных SNMP-компонентов (иногда называемых агентами удаленного мониторинга [RMON] или, в более общем смысле, пультами управления), которые время от времени опрашивают SNMP-управляемые хосты или устройства на предмет их текущего состояния и статистики функционирования.
Наиболее значимые документы, описывающие протокол SNMP, это документы RFC 1442—1450 и RFC 1903—1910; многие другие касаются лишь специфических ситуаций. Для нормального SNMP-трафика ассоциированным портом протоколов UDP и TCP является порт 161, а для специального оповещения о событиях, в терминологии протокола SNMP, это называется SNMP-перехватом (SNMP trap), используется порт 162 протоколов UDP и TCP.
NetBIOS over TCP/IP
Все версии Windows вплоть до Windows 2000 зависят от протокола Прикладного уровня под названием NetBIOS (Network Basic Input/Output System, сетевая база систем ввода/вывода). Этот протокол был разработан в корпорации Sytek для IBM в начале 1980-х годов и направлен на упрощение реализации сетевых приложений в системах персональных компьютеров (PC). Несмотря на то, что никто за пределами сообщества IBM, Microsoft и DECnet не признает NetBIOS over TCP/IP (NetBT или NBT) базовой службой TCP/IP, до недавнего времени она была обязательным компонентом операционной системы Windows и родственных ей платформ. На самом деле, пока в сети применяются системы Windows 3.x, 9х или NT, в ней должна быть
Основные службы TCP/IP
363
доступна либо служба NBT, либо какой-либо другой протокол (например, IPX или NetBEUI); это необходимо для обработки информации NetBIOS, чтобы более "старые" Windows-клиенты могли корректно функционировать и в полной мере взаимодействовать в сетевой среде Microsoft.
Дело в том, что базовые службы разрешения имен, служба браузера (которая располагается за сетевым окружением [Network Neighbourhood] в старых системах Windows), службы репликации доменов, а также многие другие службы, слишком многочисленные для того, чтобы их можно было здесь перечислить, — все они в своей работе опираются на протокол NetBIOS. Если TCP/IP является единственным протоколом, применяемым в сети (а это характерно для множества современных сетей), то служба NetBIOS over TCP/IP обязательна в случаях, когда полноправным участником этой сети должна стать более старая, чем Windows 2000, система. В табл. 6.12 представлены номера портов транспортных протоколов TCP и UDP, привязанные к службам NBT в среде Windows. Спецификация NBT содержится в документах RFC 1001 и RFC 1002. (Уже после составления этого документа компания Microsoft осуществила некоторые усовершенствования этих служб, так что за наиболее полной информацией о том, как служба NBT работает в сетевой среде Microsoft, необходимо обращаться к технической .справке этой компании, такой как TechNet.)
Таблица 6.12. Протоколы и адреса портов NetBIOS over TCP/IP
Аббревиатура	Порт/ протокол	Полное название	Примечания
Naming svc	135/TCP	Служба обнаружения	Часто применяемая NBT система идентификации хостов
Naming svc	135/UDP	Служба обнаружения	Часто применяемая NBT система идентификации хостов
Profile naming	136/TCP	Профильная система имен	Часто применяемая NBT система профилей хостов и пользователей
Profile naming	136/UDP	Профильная система имен	Часто применяемая NBT система профилей хостов и пользователей
netbios-ns	137/TCP	Служба имен NetBIOS	Используется для объявления служб имен NBT и обработки запросов на эти службы
netbios-ns	137/UDP	Служба имен NetBIOS	Используется для объявления служб имен NBT и обработки запросов на эти службы
364
Гпава 6
			Таблица 6.12 (окончание)
Аббревиатура	Порт/ протокол	Полное название	Примечания
netbios-dgm	138/ТСР	Служба дейтаграмм NetBIOS	Используется в качестве упрощенного средства транспортировки сообщений протокола NetBIOS и других пакетов
nebios-dgm	138/UDP	Служба дейтаграмм NetBIOS	Используется в качестве упрощенного средства транспортировки сообщений протокола NetBIOS и других пакетов
netbios-ssn	139/ТСР	Сеансовая служба NetBIOS	Выполняет установление, поддержание и закрытие сеанса для приложений на базе протокола NetBIOS
netbios-ssn	139/UDP	Сеансовая служба NetBIOS	Выполняет установление, поддержание и закрытие сеанса для приложений на базе протокола NetBIOS
Чтобы понять систему взаимодействия протоколов TCP/IP и NetBIOS в сетях Windows, необходимо иметь достаточное представление о службах имен и других службах NetBIOS. По этой причине далее мы вернемся к данной теме и обсудим ее более подробно.
РЖ-шифровка протоколов
вертм^го уровня
С содержимым прикладных сообщений можно ознакомиться, просмотрев расшифровки пакетов Прикладного уровня, предлагаемые анализаторами. Они являются незаменимым средством, обеспечивающим эффективный анализ приложений и поиск неисправностей. Анализаторы расшифровывают поля пакетов Прикладного уровня, основываясь на спецификациях или документированных позициях и значениях полей данных приложений.
На рис. 6.9 изображен расшифрованный пакет с показанными значениями смещения данных (data offset values) для каждого поля пакета. Отображения подобных смещений можно добиться, выбрав View > Packet Decoder > Show Data Offsets в строке меню программы EtherPeek.
Как видно из содержимого рис. 6.9, программа EtherPeek указывает, что поле Number of Answers смещено на 48 и 49 позиций. Длина этого поля состав
Основные службы TCP/IP
365
ляет 2 байта и оно содержит значение 0x0002, выделенное в окне с шестнадцатеричным представлением (под окном расшифровки). С помощью таких смещений мы можем сформировать специальные фильтры для идентификации других пакетов с заданными значениями в заданных полях. К примеру, мы создали фильтр (рис. 6.10), проводящий поиск значения 0x0002 на смещении 48 (в десятеричном представлении) пакета. Если применить этот фильтр ко всему трафику DNS, будет производиться захват только DNS-ответов, содержащих два ответа в пакете.
Рис. 6.9. Настройки демо-версии программы EtherPeek позволяют показать смещения каждого поля пакета
366
Гпава 6
Рис. 6.10. Фильтрация трафика DNS по критерию смещения и значению в поле Source Port
Расшифровка трафика Прикладного уровня TCP/IP в значительной степени зависит от двух отдельных, но синхронных форм анализа:
□	анализа сообщений запроса/ответа данной службы, умения определять связанные с ней заголовки и полезную нагрузку;
□	знания способов сборки нескольких пакетов более низкого уровня для восстановления сообщений Прикладного уровня, когда их полезная нагрузка превышает максимальную единицу передачи (MTU) для одного пакета (выполнение необходимой сборки для обособления более длинных сообщений высокого уровня от их составляющих элементов более низкого уровня).
К счастью, многие существующие сегодня анализаторы протоколов (включая применяемый нами анализатор WildPackets EtherPeek) могут сделать большую часть этой работы за вас — при условии, что данное программное обеспечение поддерживает службу TCP/IP, пакеты которой планируется расшифровать. Однако понимание структуры сообщений, с которыми вам, скорее всего, придется встречаться, и умение интерпретировать соответствующие флаги, опции и типы сообщений поможет успешно расшифровать практически любой вид трафика Прикладного уровня. Именно эти навыки вы должны почерпнуть из настоящей главы.
Выводы по главе
□	Основой всех служб Прикладного уровня TCP/IP является структура сообщений запроса/ответа, в которой клиенты отсылают запросы, а серверы выдают соответствующие ответы. Службы, в которых роли клиента и сервера отчетливо различаются, называются службами "клиент-сервер", а когда клиент может действовать в роли сервера, и наоборот, службы на
Основные службы TCP/IP
367
зываются одноранговыми службами (peer-to-peer services). В числе сотен служб Прикладного уровня, включаемых в набор протоколов TCP/IP, есть примеры обоих типов.
□	Определенные службы Прикладного уровня типа "клиент-сервер" создают межсерверный трафик, когда множество серверов, взаимодействуя, совместно используют одни и те же данные. Такой процесс совместного использования называется репликацией (replication); он может происходить в виде одной из двух операций: проталкивания (push), когда передача данных инициируется отправляющим сервером, или выталкивания (pull), когда инициатива исходит от принимающего сервера. Более того, некоторые службы Прикладного уровня TCP/IP используют репликацию проталкивания/выталкивания (push-pull), при которой сервер, на котором данные подверглись изменениям, может немедленно передать их партнерам, а другие серверы регулярно запрашивают репликацию, гарантируя максимальную актуальность данных.
□	FTP — это служба передачи файлов, позволяющая локальному хосту подсоединяться к удаленному хосту, просматривать организовывать файлы в этой удаленной системе и пересылать их между двумя хостами. Несмотря на то, что FTP как служба TCP/IP существует уже много лет, она остается востребованной и по сей день.
□	Telnet предоставляет метод регистрации и доступа к командной строке на удаленном компьютере средствами TCP/IP; эта техника известна под названием терминальной эмуляции (terminal emulation) (поскольку локальный хост функционирует так, как будто он является терминалом, подсоединенным к удаленному хосту). Так как Telnet обеспечивает удобный способ произведения операций на удаленном хосте по сети, эта служба также сохраняет популярность в современных условиях. Проблемы, присутствующие в Telnet и связанные с безопасностью (в особенности передача информации об учетных записях и паролях в виде открытого текста), обусловили разработку и применение во многих организациях безопасных реализаций Telnet (Stelnet, Secure Telnet).
□	HTTP представляет собой ведущую службу и протокол сегодняшней сети Internet. Обширный набор типов сообщений, возможность запускать другие протоколы (включая электронную почту, новости и FTP) делает протокол HTTP мощным средством удаленного доступа к данным. Гиперссылки дают пользователям возможность быстро перемещаться по обширным информационным пространствам и обусловливают привлекательность сети Internet для большинства пользователей.
□	Протокол SMTP обеспечивает службы хранения и переадресации сообщений электронной почты и управляет маршрутизацией этих сообщений от отправителя к получателю (получателям). Благодаря протоколу SMTP в современной сети Internet электронная почта — одна из наиболее полезных и ценных сетевых служб — стала повседневным явлением.
368
Глава 6
□	Среди других служб Прикладного уровня TCP/IP необходимо упомянуть Echo (она отсылает доставленные данные обратно отправителю), Chargen (генерирует произвольные последовательности символов для тестирования текущих сообщений), QOD (создает короткую строку — обычно шутку или эпиграмму, меняющуюся каждый день), TFTP, Finger, RPC (Remote Procedure Call, удаленный вызов процедуры), NetBIOS over TCP/IP (также известна под именем NBT) и SNMP.
□	Чтобы понимать расшифровки пакетов протоколов Прикладного уровня, нужно уметь распознавать и интерпретировать их сообщения запроса и ответа, и, если это требуется, проводить повторную сборку соответствующих полезных нагрузок. К счастью, современные анализаторы протоколов (к примеру, EtherPeek) могут помочь в выполнении этих задач.
Основные термины
Chargen (Character Generator, генератор символов) — базовая служба TCP/IP, использующая порт 19 протоколов TCP и UDP. В ответ на любое сообщение с запросом сервер Chargen генерирует произвольный поток символов; это делается для тестирования возможности обработки запросов.
Daytime — базовая служба TCP/IP, которая в ответ на любой запрос отсылает дату и время по данным хоста, обрабатывающего этот входящий запрос.
Discard — базовая служба TCP/IP, без предупреждения отвергающая весь входящий трафик; обычно применяется для проверки способности инициатора запроса отправлять исходящие сообщения.
EBCDIC (Extended Binary Coded Decimal Interchange Code, расширенный двоично-десятичный код обмена информацией) — 8-битный набор символов, разработанный в компании IBM в эпоху перфокарт. Сегодня EBCDIC еще применяется для доступа к некоторым-универсальным вычислительным машинам IBM, однако наиболее распространенным является набор символов ASCII.
Echo — протокол тестирования соединения на базе протоколов UDP или TCP. При эхо-сообщениях в эхо-сокет направляются пакеты, на которые поступают эхо-ответы. Такой эхо-процесс является альтернативой эхо-процессу протокола ICMP.
Finger — сокращение от Finger User Information Protocol (протокол пользовательской информации Finger). Предоставляет информацию об отдельных пользователях или хостах в сети Internet; когда-то был популярной службой, но в настоящее время его трафик редко выпускается за пределы локальных сетей из-за частых проникновений, выполнявшихся с помощью этого протокола.
Основные службы TCP/IP	369
NetBIOS over TCP/IP (NetBT или NBT) — набор сообщений запроса/ответа, сформированный для взаимодействия транспортных и сетевых протоколов TCP/IP с программным интерфейсом приложения (API) Прикладного уровня под названием сетевой базовой системы ввода/вывода (Network Basic Input/Output System, NetBIOS), разработанным компанией Sytek для корпорации IBM в 1980-х годах. NBT необходим для того, чтобы старые версии Windows (вплоть до Windows 2000) могли поддерживать базовые службы и системы обмена сообщениями Microsoft в сетях TCP/IP.
QOD (Quote of the Day) — базовая служба TCP/IP, доставляющая короткий поток текста (обычно содержащего шутку или эпиграмму) в ответ на запрос.
RPC (Remote Procedure Call, удаленный вызов процедуры) — программный интерфейс, разработанный в компании Sun Microsystems, позже стандартизированный документом RFC, позволяющий процедуре, выполняемой внутри процесса на одном хосте, применять транспортные или сетевые протоколы TCP/IP для запуска другой процедуры внутри другого процесса (на локальном или удаленном хосте) и сообщения с ней. Создание удаленного вызова процедуры было обусловлено стремлением облегчить разработку новых сетевых приложений, и этот интерфейс до сих пер имеет значительное распространение.
SNMP-перехват — способ, при помощи которого агент SNMP, функционирующий на удаленном устройстве или хосте, может подать аварийный сигнал (указывает, что произошла некая ошибка или другое неблагоприятное событие) или предупреждение (указывает, что выполнено некое пороговое значение) удаленному агенту управления для дальнейшей обработки со сторонь! последнего.
SSL (Secure Sockets Layer, протокол защищенных сокетов) — стандартный программный интерфейс, который зашифровывает исходящие данные перед их передачей на Транспортный уровень и расшифровывает входящие данные перед их передачей на Прикладной уровень. Протокол SSL предоставляет удобный способ повысить безопасность сетевых сообщений.
Stelnet (Secure Telnet) — специальная реализация Telnet, применяющая протокол защищенных сокетов (SSL) или интерфейс безопасной оболочки (SSH) для шифрования исходящего и расшифровывания входящего трафика; таким образом гарантируется, что на пути от отправителя к получателю данные не будут перехвачены.
TFTP (Trivial File Transfer Protocol, простейший протокол передачи данных) — базовая служба Прикладного уровня TCP/IP, поддерживающая упрощенную передачу файлов от локального хоста на удаленный хост (особенно в случае, когда локальный пользователь зарегистрирован на удаленном хосте).
,13 Зак. 321
370
Гпава 6
Whois — клиентская утилита, предназначенная для доступа к базе данных, расположенной на удаленном сервере и содержащей регистрационные записи доменных имен и IP-адресов. Поскольку многие доменные имена не зарегистрированы в базах данных, по которым проводит поиск Whois, эта утилита не очень удобна.
Выравнивание нагрузки (load balancing) — метод распределения нагрузки, связанной с выполнением запросов на службы, подразумевающий направление отдельных запросов нескольким машинам, причем количество запросов на каждой машине должно быть примерно одинаковым (настолько, настолько это возможно).
Выталкивание (pull) — метод репликации серверных данных, при котором их передачу инициирует получатель, тем самым "выталкивая" данные из их исходного источника.
Гипермедиа (hypermedia) — компьютерное представление данных различного типа, в котором автоматически поддерживаются смысловые связи между выделенными понятиями, объектами или разделами.. Расширение понятия гипертекста обеспечивает возможность связывать графические, видео- и звуковые элементы, равно как и текст.
Двунаправленный (bidirectional) — проходящий в двух направлениях. Двунаправленный трафик передается туда и обратно. В случае с сообщениями HTTP данные отсылаются сервером клиенту, а запросы — клиентом серверу.
Значение смещения данных (data offset value) — число, обозначающее количество бит или байт в пределах поля или полезной нагрузки, в которой начинается интересующая информация; выполняет роль "указателя начала" определенных элементов данных в пакетах.
Интуитивный (наглядный) интерфейс (intuitive interface) — интерфейс, все элементы которого самоочевидны; для пользования таким интерфейсом не требуется специальных знаний.
Клиент/сервер (client/server) — тип взаимоотношения между двумя хостами, при котором один запрашивает службы (клиент), а другой отвечает на эти запрось! (сервер); эти роли редко изменяются, а иногда — не изменяются вообще.
Командное соединение (command connection) — соединение, по которому передаются только команды и ответь! на них. Сами данные по такому соединению не передаются.
Межсерверный трафик (server-to-server traffic) — трафик между серверами, предоставляющими одну и ту же службу; обычно применяется для репликации и синхронизации копий данных между несколькими серверами. Что касается важнейших служб вроде DNS, этот трафик помогает обеспечить устойчивость и доступность данных.
Основные службы TCP/IP
371
Одноранговые службы (peer-to-peer services) — службы Прикладного уровня, в которых роли клиента и сервера не являются четко определенными. Таким образом, хост, выступающий в роли клиента в ходе одного потока запроса/ответа, потенциально может играть роль сервера по отношению ко второму хосту во время осуществления другого потока.
Подсогласование (subnegotiation) — вторичный процесс согласования, предусматривающий обмен информацией о параметрах. Telnet использует подсогласование в ситуациях, когда стандартный набор и система опций DO, DON'T, WILL, WON’T недостаточны.
Проталкивание (push) — метод репликации серверных данных, при котором их передачу инициирует отправитель, тем самым "проталкивая" их получателю.
Проталкивание/выталкивание (push-pull) — метод репликации данных, в соответствии с которым при изменении данных, хранящихся на сервере, он инициирует их передачу, однако получатели также регулярно инициируют передачу данных, чтобы поддерживать текущую совместимость баз данных.
Репликация (replication) — методика управляемого копирования данных из одного хранилища в другое, предназначенная для повышения надежности данных (если один сервер выйдет из строя, другие серверы с копиями данных будут продолжать функционировать) и их доступности (если несколько серверов могут обрабатывать одни и те же данные, то вычислительная нагрузка может быть распределена (выровнена) между всеми этими серверами, в результате чего сократится время отклика на запросы пользователей).
Соединение для передачи данных (data transfer connection) — соединение, по которому передаются только, данные. Обычно устанавливается после организации командного соединения. По соединению для передачи данных команды не передаются.
Сообщения запроса (request messages) — пакет службы Прикладного уровня, отправленный одним хостом другому в качестве запроса на предоставление той или иной службы.
Сообщения запроса/ответа (request/reply messages) — совокупность сообщений, поддерживаемых протоколом Прикладного уровня; все такие сообщения определяют возможности службы, которые предоставляет данный протокол.
Сообщения ответа (reply messages) — пакет службы Прикладного уровня, отправленный одним хостом другому в ответ на запрос на предоставление той или иной службы.
Терминальный доступ (terminal access) — простой терминал, в котором за все данные, хранение, обработку программ и прочие аспекты отвечает удален
372
Гпава 6
ный хост. Таким образом, по сети передается лишь текст для отображения в терминале, а также клавишные отклики, посылаемые терминалом.
Универсальный идентификатор ресурса (Uniform Resource Identifier, URI) — общий термин для всех типов имен и адресов, ссылающихся на объекты в сети Internet. Одним из видов URI является унифицированный адреса-тор ресурса (Uniform Resource Locator, URL).
Унифицированное имя ресурса (Uniform Resource Name, URN) — универсальный идентификатор ресурса (URI) с обязательством постоянного существования и доступности. Спецификация URI содержится в документе RFC 2141.
Унифицированный адресатор ресурса (Uniform Resource Locator, URL) — в терминологии сети Internet так называется адрес, определяющий протокол (http://), местоположение (доменное имя), каталог (/имя-каталога/) и имя файла (example.html); предназначен для направления запроса Web-браузеру на доступ к ресурсу.
Хранение и. переадресация (store and forward) — методика, посредством которой сообщения электронной почты доставляются на определенный сервер, сообщения, предназначенные для отправки локальным клиентам сохраняются, а сообщения, предназначенные для отправки удаленным клиентам, переадресовываются другому серверу электронной почты для дальнейшей маршрутизации в окончательный пункт назначения.
Контрольные вопросы
1.	Какой тип структуры сообщений поддерживается всеми службами и протоколами Прикладного уровня TCP/IP?
а)	клиент-сервер;
б)	одноранговые;
в)	запрос/ответ;
г)	проталкивание/выталкивание.
2.	Когда TCP/IP-хост, инициирующий контакт с другим ТСР/1Р-хостом, почти всегда подает запросы, а контактируемый хост неизменно отвечает на эти запросы, какой тип взаимоотношений существует между этими хостами применительно к данной службе?
а)	клиент-сервер;
б)	одноранговый;
в)	запрос/ответ;
г)	проталкивание/выталкивание.
Основные службы TCP/IP
373
3.	Когда TCP/IP-хост инициирует контакт с другим TCP/IP-хостом для осуществления запроса на службу, но другой хост может сделать то же самое, какой тип взаимоотношений существует между этими хостами применительно к данной службе?
а)	клиент-сервер;
б)	одноранговый;
в)	запрос/ответ;
г)	проталкивание/выталкивание.
4.	Когда два сервера планируют осуществить обмен данными, и отправляющий хост запускает передачу данных получателю, как называется такая операция передачи?
а)	выталкивание;
б)	проталкивание;
в)	проталкивание/выталкивание;
г)	хранение и переадресация.
5.	Когда два сервера могут осуществить обмен данными, и отправитель инициирует передачу данных получателю сразу после их модификации, причем получатель сам регулярно инициирует передачи, как называется этот тип операции?
а)	выталкивание;
б)	проталкивание;
в)	проталкивание/выталкивание;
г)	хранение и переадресация.
6.	Какие два преимущества достигаются при репликации данных между несколькими серверами?
а)	дублирование и восстановление;
б)	доступность;
в)	резервирование;
г)	надежность.
7.	FTP-клиент какого типа функционирует как общераспространенное самостоятельное программное приложение?
а)	FTP-программа с командной строкой;
б)	встроенный FTP-код;
в)	FTP-доступ из браузера;
г)	графическая FTP-программа.
374
Гпава 6
8.	Какой программный компонент на FTP-сервере обрабатывает входящие команды пользователей?
а)	интерпретатор команд;
б)	интерпретатор протоколов (PI);
в)	исполнимая библиотека;
г)	пользовательский интерфейс.
9.	Какое из следующих текущих соединений FTP поддерживает в течение активного сеанса? (Выберите все подходящие ответы.)
а)	сеансовое соединение;
б)	клиентское соединение;
в)	командное соединение;
г)	серверное соединение;
д)	соединение для передачи данных.
10.	Telnet поддерживает только однонаправленные байтовые соединения. Да или нет?
а)	да;
б)	нет.
И. Telnet передает с локального хоста на удаленный хост пароли и имена учетных записей в виде открытого текста. Да или нет?
а)	да;
б)	нет.
12.	Какое из следующих утверждений лучше всего характеризует SMTP-отправителя (Sender-SMTP)?
а)	отправляет коды ответов, включая отклики на коды и отправленные почтовые сообщения;
б)	осуществляет переадресацию сообщений электронной почты с одного сервера на другой;
в)	отправляет почтовые команды и сообщения;
г)	отслеживает доставку и получение всех отправленных почтовых сообщений.
13.	Какое из следующих утверждений лучше всего характеризует SMTP-получателя (Receiver-SMTP)?
а)	отсылает ответы на все полученные почтовые сообщения;
б)	отправляет коды ответов, включая отклики на коды и отправленные почтовые сообщения;
Основные службы TCP/IP
375
в)	осуществляет переадресацию сообщений электронной почты с одного сервера на другой;
г)	отправляет почтовые команды и сообщения.
14.	Система электронной почты хранения и переадресации хранит все входящие сообщения, предназначенные для локальных клиентов, и осуществляет переадресацию всех входящих сообщений, предназначенных для клиентов других серверов электронной почты. Да или нет?
а)	да;
б)	нет.
15.	Групповое имя, посредством которого идентифицируется Web-pecypc, называется:
а)	унифицированный адресатор ресурса (URL);
б)	унифицированное имя ресурса (URN);
в)	универсальный идентификатор ресурса (URI);
г)	соглашение об универсальном назначении имен (UNC).
16.	Аббревиатура безопасной реализации протокола HTTP выглядит следующим образом:
a)	SHTTP;
б)	HTTPS;
в)	SSL;
г)	SSH.
17.	Какая из следующих базовых служб TCP/IP отвечает на запрос произвольным потоком символов?
a)	Finger;
б)	Echo;
в)	Chargen;
г)	QOD;
д)	Whois.
18.	Какая из следующих базовых служб TCP/IP может предоставлять информацию о зарегистрированных доменных именах?
a)	Finger;
б)	Echo;
в)	Chargen;
г)	QOD;
д)	Whois.
376
Гпава 6
19.	Какая из следующих базовых утилит TCP/IP не включается в набор Simple TCP/IP Utilities в операционных системах Windows NT и Windows 2000?
a)	Echo;
б)	Chargen;
в)	QOD;
г)	Whois.
20.	По какой причине служба Finger так редко предоставляется пользователям на большинстве серверов в сети Internet?
а)	она больше не нужна;
б)	она больше не пользуется популярностью;
в)	она оказалась уязвимой для системных атак;
г)	в некоторых ситуациях этот термин имеет нелицеприятный подтекст.
21.	Служба RPC (Remote Procedure Call, удаленный вызов процедуры) обеспечивает стандартный механизм создания индивидуальных распределенных приложений на базе TCP/IP. Да или нет?
а)	да;
б)	нет.
22.	SNMP-агент должен присутствовать на хосте или в устройстве для уведомления удаленного пульта управления. Да или нет?
а)	да;
б)	нет.
23.	Служба NetBIOS over TCP/IP необходима в любых сетях, участниками которых являются старые (до Windows 2000) версии операционной системы Windows, вне зависимости от применяемых протоколов. Да или нет?
а)	да;
б)	нет.
24.	Какие из следующих Windows-служб используют NBT в сетях Microsoft TCP/IP? (Выберите все подходящие ответы.)
а)	служба браузера;
б)	службы репликации доменов;
в)	FTP-службы;
г)	доступ в Internet.
25.	Какое из следующих утверждений лучше всего объясняет важность значений смещения данных при расшифровке протоколов Прикладного уровня? а) эти значения точно определяют местоположение важнейших полей, например — заголовка Прикладного уровня;
Основные службы TCP/IP
377
б)	эти значения позволяют по-разному исследовать содержимое полезной нагрузки;
в)	эти значения определяют позиции начала и завершения ключевых полей;
г)	эти значения указывают, как нужно интерпретировать полезную нагрузку Прикладного уровня.
Практические задания
Задание 6.1
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (процесс ее установки описывается в задании 1.1 главы Г).
Установка пробной демо-версии
программы NetScanTools
Прежде чем устанавливать эту программу, проверьте соответствие вашей системы требованиям, указанным в файле readme.txt, находящемся в каталоге NetScan на сопровождающем книгу компакт-диске. Это можно сделать с помощью Проводника (Explorer) Windows NetScanTools. NetScanTools — это многофункциональная утилита, предназначенная для поиска неисправностей и тестирования устройств TCP/IP. Standard Edition является ограниченной версией этого продукта — NetScanTools Professional Edition обладает намного более обширными возможностями, и именно ее авторы настоятельно рекомендуют приобрести. Standard Edition можно использовать для проведения базовых тестов. Мастер Help Wizard подскажет вам, какую информацию позволяет получить Standard Edition программы NetScanTools. Чтобы получить полную версию NetScanTools Standard Edition или NetScanTools Pro Edition, посетите сайт http://www.nwpsw.com.
1.	После загрузки с сайта программы NetScanTools, находясь в Проводнике (Explorer), откройте папку Мой компьютер (Му Computer) и дважды щелкните на сохраненном заархивированном файле.
2.	Появится приветственное окно Welcome программы NetScanTools. Чтобы продолжить процесс установки, нажмите кнопку Next.
3.	После просмотра лицензионного соглашения на использование программного обеспечения компании Northwest Performance Software нажмите кнопку Yes.
378
Гпава 6
4.	Появится окно Choose Destination Location. Если вы согласны с предложенным по умолчанию каталогом установки программы (C:\Program Files\nwps\NetScanTools\Program), нажмите кнопку Next.
5.	По умолчанию процесс установки резервирует все замещаемые файлы. Вам придется выбрать каталог для резервных копий файлов. Каталог, предлагаемый по умолчанию, — C:\Program Files\nwps\NetScanTools\ Program\BACKUP. Чтобы принять этот каталог, нажмите кнопку Next.
6.	Появится диалоговое окно Select Program Manager Group. Чтобы принять предлагаемую по умолчанию группу диспетчера программ NetScanTools, нажмите кнопку Next.
7.	В результате появится окно Start Installation. Для запуска установки нажмите кнопку Next.
8.	После завершения копирования файлов откроется диалоговое окно Complete. Настройки NetScanTools определяют запуск программы сразу после принятия этого окна. Чтобы отключить функцию автоматического запуска, снимите соответствующий флажок. Для закрытия окна нажмите кнопку Finish.
9.	Если после этого появится диалоговое окно, напоминающее об оставшемся испытательном сроке использования программы, далее нажмите кнопку ОК.
10.	Переходите к заданию 6.2.
Задание 6.2
Запуск программы NetScanTools
1.	Выберите Пуск (Start) > Программы (Programs) > NetScanTools > NetScanTools.
2.	Появится окно Reminder. Нажмите кнопку ОК.
3.	Появится окно Tip of the Day. Нажмите кнопку Close.
4.	Появится окно Welcome. Нажмите кнопку Continue.
5.	Переходите к заданию 6.3.
Задание 6.3
Для выполнения этого задания ваш преподаватель должен определить целевое доменное имя.
Просмотр и анализ Whois-сообщений
1.	Программа NetScanTools должна быть запущена. Если это не так, откройте ее, пользуясь инструкциями, содержащимися в задании 6.2.
Основные службы TCP/IP
379
2.	Чтобы запустить демо-версию программы EtherPeek, выберите Пуск, (Start) > Программы (Programs) > WildPackets EtherPeek Demo.
3.	Нажмите кнопку ОК, чтобы закрыть информационное окно EtherPeek Demo.
4.	Если появится окно Select Adapter, выберите ваш сетевой адаптер и нажмите кнопку ОК.
5.	Нажмите Capture в строке меню, а затем нажмите Start Capture.
6.	Появится окно Capture Options. Чтобы принять размер буфера, по умолчанию равный 1024 Кбайт, нажмите кнопку ОК. Затем появится окно Capture. Количество этих окон увеличивается при каждом новом запуске процесса захвата.
7.	Перейдите на вкладку Filters, а затем выберите фильтр Му IP Address (созданный при выполнении задания 4.2).
8.	Сразу после этого начнется захват пакетов сообщений Whois, по одному за один раз. Помните, что демо-версия EtherPeek может захватить не более 250 пакетов в течение не более чем 30 секунд. Это обстоятельство заставляет применять фильтр к вашему собственному трафику. Скорее всего, вам придется захватывать каждое сообщение в ходе отдельного процесса захвата. Нажмите кнопку Start Capture.
9.	Нажмите сочетание клавиш <Alt>+<Tab> столько раз, сколько необходимо для возврата к окну программы NetScanTools.
10.	Перейдите на вкладку Whois. Введите доменное имя, указанное вашим преподавателем, в поле Enter Query. Нажмите кнопку Query.
И. Когда запрос Whois будет завершен, нажмите кнопку Stop.
12.	Нажмите сочетание клавиш <Alt>+<Tab> столько раз, сколько необходимо для возврата к окну программы Etherpeek.
13.	Нажмите кнопку Stop Capture. Просмотрите сохраненные пакеты. Ответьте на следующие вопросы о захваченных пакетах:
а)	Какой номер порта применяет процесс Whois?
б)	Этот процесс основан на протоколе TCP или протоколе UDP?
в)	Когда база данных Whois обновлялась последний раз?
14.	Закройте демо-версию EtherPeek, если вы не собираетесь сразу переходить к следующему заданию.
15.	Нажмите сочетание клавиш <Alt>+<Tab> для возврата к программе NetScanTools. Нажмите кнопку Exit, чтобы закрыть эту программу.
380
Гпава 6
Задание 6.4
Просмотр и анализ FTP-сообщений
Для выполнения этого задания ваш преподаватель должен указать вам IP-адрес FTP-сервера, имя пользователя и пароль.
1.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). Появится окно Командная строка (Command Prompt). После запуска демо-версии EtherPeek для захвата пакетов вы будете выполнять FTP-команды в этом окне.
2.	Если демо-версия EtherPeek не запущена, выберите Пуск (Start) > Программы (Programs) > WildPackets EtherPeek Demo.
3.	Чтобы закрыть информационное окно EtherPeek Demo, нажмите кнопку ОК.
4.	Нажмите Capture в строке меню, а затем нажмите Start Capture.
5.	Появится окно Capture Options. Чтобы принять размер буфера, по умолчанию равный 1024 Кбайт, нажмите кнопку ОК. Затем появится окно Capture. Количество этих окон увеличивается при каждом новом запуске процесса захвата.
6.	Перейдите на вкладку Filters, а затем выберите фильтр Му IP Address (созданный при выполнении задания 4.2).
7.	Сразу после этого начнется захват пакетов FTP-сеанса. Помните, что демо-версия EtherPeek может захватить не более 250 пакетов в течение не более чем 30 секунд. Это обстоятельство заставляет применять фильтр к вашему собственному трафику. Необходимо выполнить шаги 7—12 в течение 30 секунд. Если не успеете, закройте окно Capture и повторите шаги 4—12. Нажмите кнопку Start Capture.
8.	Нажмите сочетание клавиш <Alt>+<Tab> столько раз, сколько необходимо для возврата к окну Командная строка (Command Prompt).
9.	Запишите IP-адрес FTP-сервера, указанный вашим преподавателем. В командной строке введите ftp ip_address (где ip_address — это адрес FTP-сервера, предоставленный преподавателем). Прежде чем выполнять следующие шаги, убедитесь, что соединение с FTP-сервером возможно. Если при попытке соединения возникли проблемы, проверьте правильность IP-адреса или проконсультируйтесь с преподавателем.
10.	При появлении соответствующего приглашения введите имя пользователя и пароль, предоставленные преподавателем.
11.	Введите dir, а затем нажмите <Enter>. В результате будет отображен список файлов каталога.
Основные службы TCP/IP’381
12.	Введите quit, нажмите <Enter>, введите exit и нажмите <Enter> еще раз. В результате окно Командная строка (Command Prompt) будет закрыто.
13.	Если окно программы EtherPeek неактивно, нажмите сочетание клавиш <Alt>+<Tab> столько раз, сколько необходимо для его возврата в активное состояние. Если процесс захвата еще не завершился, нажмите кнопку Stop Capture. Не забывайте, что демо-версия EtherPeek способна осуществлять захват пакетов не более 30 секунд. Поэтому возможно, что процесс захвата прекратился автоматически. В этом случае нажмите кнопку ОК в диалоговом окне, сообщающем о завершении захвата. Теперь вы должны будете просмотреть FTP-сообщения и ответить на ряд вопросов.
14.	Перейдите на вкладку Packets. Прокрутите список FTP-сообщений. Открывайте интересующие пакеты двойным щелчком, а для ответов на вопросы о прошедшем сеансе FTP пользуйтесь кнопками Decode Previous (стрелка влево) и Decode Next (стрелка вправо) в окне расшифровки.
а)	Какие команды были выполнены вашим FTP-клиентом в ходе этого сеанса?
б)	Сколько соединений с FTP-сервером открыл ваш FTP-клиент для регистрации и передачи списка файлов каталога?
в)	Присутствуют ли в файле трассировки введенные вами имя пользователя и пароль?
15.	Если вы не собираетесь сразу переходить к следующему заданию, закройте демо-версию программы EtherPeek.
Задание 6.5
Просмотр и анализ НТТР-сеанса
Это задание предполагает применение браузера Microsoft Internet Explorer или Netscape Navigator для получения доступа в Internet; для выполнения задания необходимо действующее Internet-соединение. Преподаватель должен сообщить, какой Web-сайт вам предстоит посетить.
1.	Запустите браузер.
2.	Если демо-версия программы EtherPeek еще не запущена, выберите Пуск (Start) > Программы (Programs) > WildPackets EtherPeek Demo.
3.	Чтобы закрыть информационное окно EtherPeek Demo, нажмите кнопку ОК.
4.	Нажмите Capture в строке меню, а затем нажмите Start Capture.
5.	Появится окно Capture Options. Чтобы принять размер буфера, по умолчанию равный 1024 Кбайт, нажмите кнопку ОК. Затем появится окно Capture. Количество этих окон увеличивается при каждом новом запуске процесса захвата.
382
Гпава 6
6.	Перейдите на вкладку Filters, а затем выберите фильтр Му IP Address (созданный при выполнении задания 4.2).
7.	Сразу после этого начнется захват пакетов HTTP-сеанса. Помните, что демо-версия EtherPeek может захватить не более 250 пакетов в течение не более чем 30 секунд. Это обстоятельство заставляет применять фильтр к вашему собственному трафику. Возможно, Web-сайт, на который вы зайдете, потребует более 250 пакетов для получения доступа и загрузки изображений домашней страницы. Нажмите кнопку Start Capture.
8.	Нажмите сочетание клавиш <AIt>+<Enter> столько раз, сколько необходимо для возврата к окну браузера. Введите URL Web-сайта, указанного вашим преподавателем. После того как домашняя страница загрузится полностью, нажмите <Alt>+<Enter> для возврата к окну EtherPeek Capture. Нажмите кнопку Stop Capture, если процесс захвата еще не завершился. Не забывайте, что демо-версия EtherPeek способна осуществлять захват пакетов не более 30 секунд. Поэтому возможно, что процесс захвата прекратился автоматически. В этом случае нажмите кнопку ОК в диалоговом окне, сообщающем о завершении захвата. Теперь вы должны будете просмотреть HTTP-сообщения и ответить на ряд вопросов.
9.	Перейдите на вкладку Packets. Прокрутите список HTTP-сообщений. Открывайте интересующие пакеты двойным щелчком, а для ответов на вопросы о прошедшем сеансе HTTP пользуйтесь кнопками Decode Previous (стрелка влево) и Decode Next (стрелка вправо) в окне расшифровки.
а)	Какую версию протокола HTTP поддерживает ваш клиент?
б)	Какую версию протокола HTTP поддерживает сервер?
в)	Можете ли вы определить операционную систему и какие-либо другие свойства НТТР-сервера?
г)	Можете ли вы идентифицировать графические элементы, которые были загружены во время получения доступа к этой странице?
д)	Сколько соединений потребовалось для выполнения НТТР-процесса?
10.	Закройте браузер.
11.	Если вы не собираетесь сразу переходить к следующему заданию, закройте демо-версию программы EtherPeek.
Учебные задачи
1.	Предположим, вы работаете сетевым администратором в крупной юридической фирме в Сан-Франциско. Неожиданно пользователи сети начали жаловаться на то, что не могут подсоединиться к вашему НТТР-серверу. Этот сервер находится на противоположной стороне от бранд
Основные службы TCP/IP
383
мауэра, который блокирует все Echo-пакеты протокола ICMP. Какие процессы необходимы для тестирования возможности соединения с НТТР-сервером?
2.	Предположим, что вы — бизнесмен, создавший прекрасную сетевую программу! Теперь вы готовы запустить свой Web-сайт. Какую утилиту вы используете, чтобы узнать, не зарегистрирован ли желаемый домен?
3.	Допустим, вы работаете в ночную смену в компании, занимающейся разработкой программного обеспечения, и координируете шесть Web-серверов, на которых размещается коммерческое решение для медицинского и стоматологического оборудования. Вы обратили внимание, что сетевой трафик значительно уменьшился по сравнению с обычным ночным уровнем и подозреваете, что это может быть связано с проблемами на HTTP-серверах. Определите тип фильтров пакетов, который можно использовать для захвата трафика, направленного на шесть ваших Web-серверов.
Глава 7
Служба доменных имен — DNS
После прочтения этой главы и выполнения упражнений вы сможете:
□	разобраться в типах служб, предоставляемых DNS;
□	усвоить структуру и принципы иерархии доменных имен и пространства присваиваемых имен DNS;
□	понять, каким образом DNS-серверы обрабатывают запросы на разрешение имен, уяснить роль соседних и корневых серверов в процессе разрешения, а также различие между итеративными и рекурсивными запросами на разрешение имен;
□	объяснить принцип действия запросов и ответов DNS, и определить, как они осуществляют разрешение имен, поиск по записям DNS, передачу данных зоны, а также обрабатывают обратные DNS-запросы;
□	получить представление о ролях, которые DNS-серверы могут выполнять в сети; в их числе — роли корневых серверов, первичных и вторичных DNS-серверов для конкретной зоны, а также специальных кэширующих DNS-серверов;
□	применять базовые утилиты разрешения имен для тестирования конфигурации DNS-серверов и просмотра содержания основных DNS-записей на таких серверах.
Если и есть служба Прикладного уровня TCP/IP, связывающая воедино целую сеть Internet, так это служба доменных имен (Domain Name System, DNS). Дело в том, что DNS обеспечивает жизненно важную возможность преобразования символических доменных имен, таких как microsoft.com и course.com,, в соответствующие числовые IP-адреса (207.46.230.229 и 195.95.72.8 соответственно). Не будь такой службы преобразования, людям пришлось бы запоминать числовые IP-адреса всех узлов Internet. Кроме того, DNS поддерживает другие службы — например, она преобразовывает адреса электронной почты типа etittel@lanw.com в IP-адреса серверов, обрабатывающих соответствующий трафик. Можно с полной уверенностью утверждать, что без службы DNS популярность сети Internet была бы несравнима с сегодняшней.
386
Гпава 7
Таким образом, служба DNS сама по себе представляет нечто вроде технологического "tour de force"1. Совокупность всех баз данных DNS олицетворяет полную схему соответствия всех действительных доменных имен действительным IP-адресам, и такие базы данных разбросаны по всей сети Internet (а значит, по всему земному шару). Каждая отдельная база данных функционирует независимо от других и, в некотором смысле, владеет и управляет содержащимися в ней данными. Несмотря на свою рассредоточенную и децентрализованную структуру, DNS прекрасно функционирует, обеспечивая мощную, надежную и стабильную базу для Internet-адресации. Прочитав эту главу, вы будете иметь намного более полное представление об исключительном значении службы DNS.
Происхождение и история DNS
Необходимость в создании службы DNS обнаружила себя на ранней стадии разработки сети Internet. Дело в том, что существовавшие на тот момент методы разрешения символических имен, таких как microsoft.com и course.com, в числовые IP-адреса полностью основывались на статических текстовых файлах под названием HOSTS, в которых содержался список всех известных имен хостов, возможных псевдонимов и соответствующих числовых IP-адресов. Реализация этого подхода была чрезвычайно проста, и он был вполне применим в небольших масштабах; тем не менее, к 1982 году в сети APRANET (предшественница Internet, разработка которой финансировалась правительством США) было уже довольно много хостов, в результате чего стало сложно обеспечивать совместимость всех файлов HOSTS, которые позволяли пользователям преобразовывать все доменные имена в соответствующие IP-адреса, и наоборот.
Как только известные хосты (и доменные имена) стали исчисляться тысячами, поддержка и распространение текущего файла HOSTS по всей сети Internet превратились в трудноразрешимую проблему. Системные администраторы начали отказываться производить ежедневную загрузку файлов, все увеличивающихся в размере, а окружение разрасталось быстрее, чем предусматривали возможности статических методов обработки.
Чтобы разрешить столь сложную ситуацию, Пол Мокапетрис (Paul Mockapetris) составил первоначальные документы RFC 882 и RFC 883, посвященные службе DNS, а в 1984 году он же создал первую эталонную реализацию DNS, назвав ее JEEVES. В 1988 году Кевин Данлеп (Kevin Dunlap) осуществил другую реализацию службы DNS в среде BSD UNIX 4.3; она получила название BIND (Berkley Internet Name Domain). Впоследствии BIND стала наиболее распространенной из применяемых реализаций DNS;
1 "Толчка к движению", "подвига" — фр. — Ред.
Служба доменных имен — DNS
387
существует множество ее вариантов для операционных систем UNIX и Windows 2000.
С самого начала DNS замышлялась как распределенная база данных с информацией о доменных именах и адресах. Отдельные части таких баз данных иногда называются сегментами баз данных (database segments), т. к. они включают лишь часть общего пространства имен, доступ к которому служба DNS может получать для своих клиентов. В действительности, служба DNS сочетает в себе ряд описанных далее достоинств.
□	Возможность локального управления сегментами баз данных доменных имен. Таким образом, удовлетворяется потребность серверов осуществлять управление доменными именами и IP-адресами, находящимися в области их компетенции. Служба DNS позволяет управлять отдельными частями глобальной базы данных сети Internet, чтобы люди, обладающие административными полномочиями, могли организовывать свои доменные имена и адреса без какого-либо вмешательства извне.
□	Данные всех сегментов базы данных общедоступны. Поскольку любой хост в сети Internet может взаимодействовать с любым другим хостом, то все хосты должны иметь возможность преобразования имен в адреса. С помощью службы DNS всегда можно найти действительные доменные имена и, помимо прочих служб, узнать соответствующие им IP-адреса. Именно эта функция сделала сеть Internet такой, какой она является на сегодняшний день.
□	Информация, содержащая в базах данных, устойчива и постоянно доступна. DNS — это главная служба сети Internet. Без разрешения имен получить доступ к удаленным хостам было бы трудно или даже невозможно (любой человек, сталкивавшийся с неполадками в системе DNS, может это подтвердить). Таким Ьбразом, необходимо, чтобы служба DNS была устойчива (robust) (обладала способностью восстановления при возникновении ошибок и неисправностей) и в высшей степени доступна (available) (могла обеспечивать быстрые ответы на запросы). Устойчивость DNS достигается путем поддержки репликации, в результате которой копии одних и тех же данных поддерживаются на многих серверах, и исключается возможность потери доступа к данным. Кроме того, проводя кэширование (caching) данных, содержащихся в одном или/ нескольких сегментах баз данных, на одном или нескольких DNS-серверах служба DNS обеспечивает механизм, посредством которого перед удаленным выполнением запросов на разрешение имен осуществляется попытка их локальной реализации, что позволяет значительно повысить скорость обработки запросов.
Служба DNS была создана более 15 лет назад, впоследствии неоднократно корректировалась и совершенствовалась, но, несмотря на это, она демонстрирует один из наиболее эффективных случаев применения технологии рас
388
Гпава 7
пределенных баз данных (distributed database technology) в мире. На первый взгляд она может показаться слишком сложной, но на самом деле ее основные функции и возможности чрезвычайно просты, особенно если иметь в виду громадные объемы данных и ее постоянную и безотказную работу.
Структура баз данных DNS
Структура базы данных DNS отражает структуру самого пространства присваиваемых имен доменов. Это древовидная структура (tree structure) (на самом деле, это дерево перевернуто вверх дном, т. к. корень (root) обычно изображается вверху схемы). Тот же тип структуры характерен для жесткого диска, в корне которого изображается буква, представляющая сам диск, а от нее "ветвятся" многочисленные уровни каталогов и подкаталогов.
В пространстве присваиваемых имен домены соприкасаются в корне, который обозначается знаком точки (.). Прямо под корнем находятся первичные домены (домены верхнего уровня). В Соединенных Штатах домены верхнего уровня обычно представлены следующими трехбуквенными кодами.
□	.сот — в основном используется коммерческими организациями;
□	.edu — используется образовательными учреждениями: школами, колледжами и университетами;
□	.gov — используется федеральным правительством Соединенных Штатов;
□	.mil — применяется военными структурами Соединенных Штатов;
□	.net — в основном применяется поставщиками услуг сети Internet и сетевыми организациями;
□	.org — в основном применяется некоммерческими организациями, ассоциациями и профессиональными сообществами.
Кроме того, существуют домены, оканчивающиеся двух- или трехбуквенными кодами стран, которые определены в стандарте 3166 Международной организации по стандартизации (ISO). В этой системе код .us представляет Соединенные Штаты, .са — Канаду, .fr — Францию, .de — Германию (Deutschland), и т. д. Полный список таких кодов можно найти по адресу ftp://ftp.ripe.net/iso3166-countrycodes.tKt.
Иерархий доменов организаций расположены ниже доменов верхнего уровня. Для небольших компаний вроде тех, в которых заняты авторы этой книги, — LANWrights, Inc. и Институт анализа протоколов, LLC — они могут состоять из одного уровня доменных имен, например lanw.com или podbooks.com. Что касается крупных корпораций, таких как IBM, у них могут быть домены, состоящие из четырех и более компонентов, каждый из которых отделен от соседнего точкой (к примеру, houns54.clearlake.ibm.com). Древовидная схема одного из доменных имен фирмы IBM изображена на рис. 7.1.
Служба доменных имен — DNS
389
Имя корневого уровня	(root)
!
ill I I I
Имя верхнего уровня edu gov mil ч corn	org net
Имя первого уровня	dell	ibm	Compaq
Имя второго уровня	clearlake
Имя третьего уровня	houns54
Рис. 7.1. Древовидная схема доменного имени houns54.clearlake.ibm.com, принадлежащего компании IBM
Пятнадцать корневых серверов имен представляют собой вершину всемирной иерархии DNS. Они являются последней инстанцией при поиске имен, которые невозможно разрешить другими средствами; подробнее об этом вы узнаете далее в этой главе.
Учтите, что доменные имена начинаются в нижней части дерева и указываются последовательно по мере повышения их положения на схеме. После каждого имени ставится точка, отделяющая его от других имен (точнее говоря, частей имени). Таким образом, следующая схема изображает имя houns54.clearlake.ibm.com. Обратите внимание на последнюю точку в этом имени. Рассматривая записи в базе данных службы DNS, необходимо понимать, что эта последняя точка (которая обозначает корневой уровень иерархии DNS, а не конец выражения) очень важна при составлении полностью определенного имени домена (Fully Qualified Domain Name, FQDN). В действительности, FQDN содержит все элементы доменного имени, после каждого из которых ставится точка, причем последняя точка символизирует корневой уровень иерархии DNS.
Чтобы система DNS могла работать, необходимо выполнение еще одного существенного условия — каждому уникальному доменному имени должен соответствовать хотя бы один действительный IP-адрес. На сегодняшний день поддерживание таких соответствий является первичной функцией службы DMS.
Обзор DNS
Каждая позиция в пространстве присваиваемых имен службы DNS соотносится с каким-либо узлом на графическом дереве, изображающем его структуру; очень небольшая часть такой структуры изображена на рис. 7.1. На самом деле, каждый узел этого дерева образует корень нового поддерева в общей иерархии. Каждое такое поддерево олицетворяет сегмент базы данных
390
Глава 7
DNS (DNS database segment) (его также можно назвать доменом) в глобальном пространстве присваиваемых имен доменов.
Удивительная мощность и гибкость службы DNS обусловлена ее способностью в случае необходимости расчленять дерево и создавать контейнеры информации из базы данных. Таким образом, домены (скажем, ibm.com) можно разделить на субдомены (subdomains) (например, clearlake.ibm.com). В результате появляется возможность локального управления сегментами базы данных; по существу, это — вид делегирования полномочий (delegation of authority). В то время как домены нужно регистрировать (за плату) в центральной организации, субдомены могут с легкостью создавать локальные системные администраторы, причем делают они это совершенно бесплатно.
Передавая функции обеспечения сохранности сегментов баз данных вниз по иерархии доменов, локальные административные группы могут брать на себя ответственность за все имена и адреса, которыми они должны управлять. Проблема управления огромным и сложным пространством имен (каковым является сеть Internet) облегчается посредством его разделения на контейнеры для отдельных комплексов DNS-серверов, адресов, пользователей и компьютеров; эти контейнеры довольно малы, и потому управлять ими под силу одному или двум сетевым администраторам.
Кроме того, на фундаментальном уровне необходимо понимать, что каждое действительное доменное имя в конечном итоге располагается в определенной базе данных DNS, причем данной записью заведует один конкретный сервер. В следующем разделе мы рассмотрим эту идею более подробно, и вы ознакомитесь с типами записей, которые могут существовать в базе данных службы DNS.
Записи баз данных DNS
Данные, связанные с доменными именами и адресными записями, а также другая информация службы доменных имен хранится на DNS-сервере в специальной базе данных под названием записи ресурсов (Resource Records, RR). Записи ресурсов делятся на классы, из которых для большинства пользователей интерес представляет лишь класс Internet. Есть специальные классы, работающие только в MIT (Massachussets Institute of Technlogies, Macca-чуссетский технологический институт в США), а также еще один класс специального назначения, который, однако, больше не используется.
Внутри класса Internet записи принадлежат к именованной системе типов записей, спецификация которых содержится в документе RFC 1035, на страницах 13—21. Многие из этих типов записей действительно находятся в употреблении. Десять наиболее часто используемых типов записей ресурсов перечислены и описаны далее в алфавитном порядке.
□	Адресная запись (address record, А). В адресной записи хранится информация о преобразованиях доменного имени в 1Р-адрес.
Служба доменных имен — DNS
391
□	Запись канонического имени (canonical name record, CNAME). Запись канонического имени используется для создания псевдонимов.
□	Запись хостовой информации (host information record, HINFO). Запись хостовой информации содержит описательную информацию о конкретном хосте в сети Internet.
□	Почтовая запись (mail exchange record, MX). Почтовая запись используется для маршрутизации по сети Internet электронной почты на базе протокола SMTP, а также для идентификации IP-адреса для ведущего почтового сервера домена.
□	Запись сервера имен (name server record, NS). Запись сервера имен применяется для идентификации всех DNS-серверов домена.
□	Запись указателя (pointer record, PTR). Запись указателя содержит информацию о преобразовании IP-адреса в доменное имя, а также поддерживает операцию обратного поиска DNS.
□	Запись начала полномочий (Start of Authority record, SOA). Запись начала полномочий идентифицирует сервер имен, ответственный за конкретный сегмент базы данных DNS; другими словами, она определяет ведущий DNS-сервер для отдельного домена или субдомена.
□	Текстовая запись (text record, TXT). Посредством текстовой записи в базу данных DNS можно вводить произвольную текстовую информацию; обычно такая информация относится к документации.
□	Запись хорошо известных служб (Well-Known Services record, WKS). Запись хорошо известных служб содержит список служб на основе протокола IP, таких как Telnet, FTP, HTTP и других; это те службы, которые может предоставить конкретный Internet-хост.
В следующих разделах вы сможете более подробно ознакомиться с этими типами записей, а также со способами их применения, включая создание снимков файлов баз данных DNS. Как и многие другие UNIX-производные файлы данных, файлы баз данных DNS состоят исключительно из текстовой информации в формате ASCII,, и поэтому их можно просматривать в любом текстовом редакторе.
Делегирование полномочий DNS
Компании и организации масштаба IBM или военно-воздушных сил США охотно согласятся с тем, что некоторые домены слишком велики и сложны, чтобы их можно было разместить в одном контейнере базы данных. Вот основная причина, по которой служба DNS позволяет записи базы данных для первичного DNS-сервера (primary DNS server) ibm.com делегировать полномочия относительно различных субдоменов DNS-серверам, находящимся ниже пространства присваиваемых имен домена. Это можно воспринимать как
392
Гпава 7
цифровую форму передачи ответственности на более низкий уровень иерархии, при которой не искажается ни модельное представление, ни фактическая линия поведения службы DNS.
На самом деле, делегирование полномочий реализуется в виде передачи полномочий на субдомены другим серверам имен доменов, которые обычно находятся в других местах, но в границах организаций, в том числе географических. После осуществления делегирования в базе данных сервера имен ibm.com появляются NS-записи, указывающие на серверы имен, ответственные за конкретные субдомены. Кроме того, в базе данных сервера ibm.com могут содержаться отдельные записи для адресов, которые не попадают в границы каких-либо субдоменов. Это могут быть отдельные адреса и другая информация в штаб-квартире корпорации, или же данные о группах персонала, у которых нет постоянных сайтов. Это довольно гибкая структура, которую может применить практически любая организация или компания.
Устройство всемирной базы данных DNS позволяет серверам имен указывать на другие серверы имен, когда они не обладают полномочиями на конкретные субдомены. Таким образом, значительная часть пространства присваиваемых имен доменов, которое коллективно управляется DNS-серверами, состоит из перечисленных далее типов, указывающих на определенные серверы имен, наделенные полномочиями по управлению конкретными субдоменами. Именно это позволяет серверам имен осуществлять переадресацию нужных DNS-записей, когда запросы на разрешение имен исходят из корневого уровня иерархии DNS.
Типы DNS-серверов
Рассматривая любой субдомен DNS, вы столкнетесь с тремя видами перечисленных далее DNS-серверов.
□ Первичный DNS-сервер, также называемый ведущим сервером. Первичный ведущий сервер имен DNS или, иначе, ведущий сервер (master server) содержит первичные файлы баз данных службы DNS для доменов или субдоменов, за которые он отвечает. Этот файл — это ASCII-снимок базы данных службы DNS, загружаемый в память сервера во время его работы. Такой сегмент базы данных называется зоной (zone); таким образом, соответствующий файл, иногда называемый файлом зоны (zone file) или файлом данных зоны (zone data file). Первичный ведущий сервер (primary master server) отличается от других серверов имен, относящихся к домену, тем, что он всегда способен считывать свои данные из файла зоны на диске, когда служба DNS запускается. Обозначение первичного ведущего сервера является важным элементом конфигурации при установке любого DNS-сервера. Для каждой DNS-зоны может существовать только один первичный ведущий сервер имен.
Служба доменных имен — DNS
393
□ Вторичный DNS-сервер, также называемый подчиненным сервером. Вторичный DNS-сервер (secondary DNS server), или другие его названия — вторичный ведущий сервер (secondary master server) и подчиненный сервер (slave server), получает свои данные зоны от ведущего сервера этой зоны. В большинстве реализаций службы DNS вторичный сервер может считывать свои данные из локального файла, но всегда проверяет, является ли версия данных, находящаяся на его диске, столь же современной, как версия, размещенная на первичном сервере. Для этого он проверяет специальное поле в своей записи начала полномочий (SOA) и сравнивает его с соответствующим значением в базе данных ведущего сервера. Если при этом выявляются несоответствия, вторичный сервер может обновить свою базу данных, отождествляя ее с базой, находящейся на первичном сервере домена. Важно понимать, что данные зоны на вторичном сервере всегда получаются с первичного сервера. Как бы то ни было, в большинстве реализаций службы DNS присутствуют ограничения, которые обязывают вторичный сервер обновлять только те данные, которые подверглись изменениям на первичном сервере (эти данные сначала должны быть скопированы на вторичный сервер). Для каждой DNS-зоны наряду с обязательным первичным сервером имен должен существовать хотя бы один вторичный ведущий сервер (но их может быть и больше).
□ Кэширующий сервер. Кэширующие серверы (caching servers) хранят DNS-записи из других доменов, доступ к которым запрашивался в недавнем времени. Это делается для того, чтобы избежать непроизводительных издержек, связанных с осуществлением удаленного запроса в каждом случае получения доступа к ресурсу вне локального домена. Чтобы понять принцип кэширования, можно рассмотреть различие между вашим холодильником и соседним продуктовым магазином. Равно как холодильник определяет, что вы можете съесть прямо сейчас, так и кэш указывает, какие имена вне локального домена можно разрешить немедленно. Аналогичным образом, в продуктовом магазине есть обширный набор продуктов, которые вы теоретически можете съесть, а во всемирной базе данных DNS содержатся все имена и адреса, которые можно попытаться разрешить.
Функции кэширования могут выполнять первичные и вторичные DNS-серверы, но в то же время внутри конкретного домена можно установить и настроить специальный кэширующий сервер (caching-only server). Назначение специального кэширующего сервера состоит в том, чтобы ускорить доступ к определенным доменным именам посредством хранения локальной копии данных поиска, при этом не выполняя функции первичного или вторичного DNS-сервера. Когда организации пытаются решить, нужен ли им специальный кэширующий сервер, они принимают во внимание такие факторы, как размер данной организации и объемы предоставляемого доступа в сеть Internet. Столь серьезная специализация DNS-
394
Гпава 7
серверов обычно характерна лишь для крупных компаний и поставщиков услуг или, иначе, провайдеров. В компаниях меньшего масштаба первичные и вторичные отклики на внутренние запросы могут сочетаться с поисками по кэшу для исходящего трафика, причем производительность от этого сильно не пострадает.
Вторичные, или подчиненные, DNS-серверы важны постольку, поскольку они содержат резервную копию базы данных домена для конкретной зоны. Таким образом, вторичные DNS-серверы могут обрабатывать запросы службы имен для своих зон даже в тех случаях, когда первичный сервер имен выходит из строя. Кроме того, вторичные серверы способствуют распределению нагрузки при выполнении операций DNS-поиска. Часто DNS-серверы, ответственные (являющиеся первичными) за одни зоны, действуют в роли подчиненных или вторичных DNS-серверов в отношении других, близлежащих зон. В результате хосты, находящиеся в одной зоне, получают возможность свободного доступа к данным службы DNS других зон.
Клиентская сторона DNS
В конечном счете, все запросы на преобразование адресов и другие службы DNS исходят от сетевых клиентов. Программное обеспечение, которое получает доступ к серверам имен DNS, называется распознавателем имен (паше resolver), или просто распознавателем (resolver). Эти программы выдают серверам имен доменов запросы на службы, которые называют запросами имен (name queries) или запросами адресов (address requests). (Запрос имен направлен на разрешение адреса в доменное имя; это также называется обратным DNS-запросом (inverse DNS query) или обратным DNS-поиском (reverse DNS lookup). Запрос адреса разрешает доменное имя в соответствующий числовой 1Р-адрес.)
Кроме того, распознаватели интерпретируют ответы от серверов имен, к которым они обращаются, независимо от того, содержат ли эти ответы данные записи ресурса или сообщения об ошибках. Кроме прочего, существуют следующие причины появления сообщений об ошибках:
□	неверное доменное имя;
□	неверный 1Р-адрес;
□	невозможность определить местоположение IP-адреса, соответствующего запрошенному доменному имени;
□	невозможность получить доступ к серверу имен, ответственному за запрошенный домен.
В зависимости от того, что из себя представляет ответ на запрос (1Р-адрес, доменное имя, другая запись ресурса, сообщение об ошибке), распознаватель отсылает необходимую информацию приложению, которое запросило
Служба доменных имен — DNS
395
доступ к ресурсу посредством доменного имени. В большинстве случаев распознаватель встраивается непосредственно в стек протоколов TCP/IP; так происходит в любых операционных системах, в том числе в Windows 2000 (как и во всех остальных современных версиях Windows).
Как работают серверы имен доменов
Когда клиент TCP/IP посредством распознавателя отсылает запрос имени на DNS-сервер, адрес этого сервера он запрашивает из своих конфигурационных данных TCP/IP. Серверы запрашиваются в том порядке, в котором они перечислены в конфигурационных файлах TCP/IP (или в соответствующих записях реестра, как в современных версиях Windows), сверху вниз. Именно поэтому иногда имеет смысл вручную изменить порядок перечисления DNS-серверов; такая настройка клиентов позволяет распределить нагрузку между несколькими DNS-серверами. (Имейте в виду, что обеспечение одного или нескольких адресов DNS-серверов — это одна из многих служб, которую протокол DHCP для своих клиентов выполняет автоматически.)
Далее расписан процесс ответа сервера на запрос доменного имени.
□	DNS-серверы извлекают данные об имени из общего пространства присваиваемых имен доменов.
□	Любой DNS-сервер всегда может предоставить данные о зонах, за которые он ответственен.
□	Любой DNS-сервер может осуществить поиск по своему кэшу и ответить на запросы домена, за которые этот сервер не ответственен; исключением является запрос, исходящий от корневого сервера (на него может отвечать только DNS-сервер, ответственный за данную зону).
□	Когда в базе данных или в кэше имен локального сервера не находится нужной информации, он может начать исполнять роль специального кэширующего сервера по отношению к другим известным серверам имен в его "соседстве". (Здесь термин "соседство" обозначает совокупность доменов, для которых данный сервер может быть либо первичным, либо вторичным ведущим сервером имен, или для которых известны адреса специальных кэширующих серверов.)
□	Если ни один из этих поисков не приводит к желаемому результату, сервер имен отсылает запрос на разрешение имени корневому серверу, который перенаправляет запрос на ответственный сервер (authoritative server) за данный сегмент базы данных, связываясь с корневым сервером для соответствующего домена, а затем следуя указателям серверов имен (NS) вплоть до получения доступа к ответственному серверу. Этот процесс всегда завершается каким-либо ответом (обычно это IP-адрес, соот
396
Гпава 7
носимый с именем, которое необходимо разрешить, но в некоторых случаях эго может быть и сообщение об ошибке).
Такой процесс называется разрешением доменных имен (domain name resolution), или просто разрешением имен (name resolution). Интересно, что в то время как распознаватели выдают запросы, DNS-серверы берут на себя часть работы по реализации таких запросов, осуществляя фактическое разрешение имен.
Сервер коренного уровня DMS
Средн специалистов по системе DNS распространено выражение "все запросы имен заканчиваются в корне". Дело в том, что корень является вершиной иерархии DNS, и он обладает информацией о том, как получить доступ к любому субдомену во всей этой иерархии. Кроме того, в этом выражении признается, что любой запрос на разрешение имен, который не может быть обработан локально или в соседстве, должен передаваться на корневой сервер для дальнейших действий.
На самом деле, этот процесс несколько сложнее, так что сначала мы ознакомимся с необходимой терминологией.
□ Рекурсивный запрос. Большинство распознавателей службы DNS выдают так называемые рекурсивные запросы (recursive query) со стороны клиента. Это значит, что они делегируют первый DNS-сервер, который находят, для осуществления необходимого преобразования адресов (или получения сообщения об ошибке). В вычислительной технике рекурсивным запросом называется такой запрос, который продолжает действовать до появления какого-либо ответа. Таким образом, если первый DNS-сервер, с которым произошел контакт, не может разрешить доменное имя, он просит помощи у ближайших-известных серверов имен в своем окружении по соседству. Когда другие серверы имен отвечают на запросы первого сервера, они либо предоставляют ответы из своих баз данных или кэшей, либо указывают на очередные серверы имен, которые признаются "ближайшими" к искомому доменному имени.
Поскольку запрос является рекурсивным, первый DNS-сервер запрашивает информацию до тех пор, пока она не будет найдена. Он выдает итеративные запросы, следуя указателям на другие серверы имен, которые могут располагаться на более высоких уровнях иерархии доменных имен (domain name hierarchy) или в пределах различных поддеревьев совокупной иерархии имен DNS. (К примеру, если сервер, к которому осуществляется обращение, недавно посещал пространство присваиваемых имен домена, близкое к расположению запрашиваемого имени, он может сократить процесс перемещения по пространству присваиваемых имен домена вверх до иерархии запрашивающего сервера, и через корень вниз до
Служба доменных имен — DNS
397
другой части иерархии.) Этот процесс повторяется вплоть до получения определенного ответа, контактирования корневого сервера, или прекращения поиска вследствие какого-либо состояния ошибки. (Далее в этом разделе мы более подробно обговорим ситуацию, при которой поиск приводит к корневому серверу.)
□ Итеративные или нерекурсивные запросы. Когда DNS-сервер получает рекурсивный запрос, он издает так называемые итеративные запросы (iterative queries) или нерекурсивные запросы (non-recursive queries) серверам имен в его иерархии, или серверам, указанным в ответ на более ранние итеративные запросы, и делает это до получения ответа. Итеративные запросы не вызывают издание других запросов, поэтому можно сказать, что первый DNS-сервер управляет процессом подачи итеративных запросов. Он двигается по иерархии имен по направлению к DNS-серверу, ответственному за домен, в котором расположено запрашиваемое имя, или до достижения сервера, который может обеспечить неответственный отклик на запрос.
Другими словами, если DNS-сервер получает рекурсивный запрос, он издает итеративные запросы до того момента, пока не произойдет одно из двух событий: либо запрашиваемый сервер ответит на запрос, либо будет возвращено сообщение об ошибке (к примеру, "неизвестный домен", "неизвестное доменное имя" или "недействительное доменное имя").
С другой стороны, различие между рекурсивным и итеративным запросом состоит в том, что сервер имен, получивший рекурсивный запрос, должен обеспечить какой-нибудь ответ, а сервер, получивший итеративный запрос, может просто указать на другой сервер имещ который имеет (или не имеет) возможность предоставить запрашиваемую информацию. Можно предположить, что сервер имен, обрабатывающий рекурсивный запрос, может, в свою очередь, издать другие рекурсивные запросы, передавая ответственность за разрешение запроса имени другому серверу. Однако на практике рекурсивный запрос выполняется только одним сервером, который издает итеративные запросы до тех пор, пока не получит определенный ответ одного типа (IP-адрес, соответствующий доменному имени) или другого (сообщение об ошибке, которое объясняет, почему предоставление IP-адреса невозможно).
Некоторые рекурсивные запросы имен требуют обращения к корневому серверу, но это происходит отнюдь не потому, что корневые серверы имеют возможность быстрого получения информации о любом имени во всем пространстве присваиваемых имен DNS. Дело скорее в том, что корневой сервер всегда может найти конкретный DNS-сервер, ответственный за домен (или субдомен), в пределах которого находятся искомые данные. Таким образом, если все другие средства не подходят, за разрешение запроса принимается корень.
398
Гпава 7
На самом деле, когда корневой сервер не может обработать запрос при помощи собственного кэша, он издает новый рекурсивный запрос. Этот запрос спускается вниз по пространству присваиваемых имен доменов, пока не находит сервер, ответственный за запрошенный домен; с другой стороны, корневой сервер может получить ответ, в котором указывается, что запрос по какой-либо причине не может быть разрешен. Важно, что для такого запроса неответственный отклик не является удовлетворительным; в этом случае необходим контакт с сервером имен, который ответственен за запрашиваемый домен. Корневой сервер использует ответ на собственный рекурсивный запрос, чтобы ответить на исходный итеративный запрос DNS-сервера (который, в свою очередь, отвечает на изначальный рекурсивный запрос распознавателя), и на этом процесс разрешения имен, наконец, завершается.
Поскольку корень имеет доступ ко всем элементам пространства присваиваемых имен, он может добраться до сервера имен, ответственного за любой домен или сегмент домена. Для этого он следует NS-записям в базах данных зон, с которыми сталкивается на пути к DNS-серверу, на котором размещена нужная SOA-запись. Собственно, это и есть обоснование высказывания о том, что все запросы имен приводят к корню.
Важность кэширования DNS
Как вы уже могли заметить, большинство DNS-серверов могут хранить результаты предыдущих запросов имен с помощью кэша — разновидности локального хранилища данных. Серверу приходится издавать дальнейшие запросы на разрешение адресов или имен лишь в том случае, если информации об этом имени или адресе нет в кэше.
Таким образом, первый DNS-сервер, получивший рекурсивный запрос на информацию, расположенную вне зон,- отраженных в его базе данных, сначала проверяет, нет ли информации, необходимой для разрешения этого запроса, в его кэше. В случае успеха сервер забирает нужные данные из кэша, и в результате необходимость выдачи каких-либо итеративных запросов исчезает. Кроме того, в то время как итеративные запросы "рыщут" по иерархии имен в поисках разрешения, другие контактируемые серверы имен проверяют, могут ли они ответить на запрос с помощью своих кэшей, а также баз данных зон. В результате производится неответственный отклик (non-authoritative response) на запрос имени, который может значительно ускорить процесс разрешения. Тем не менее, запросы корневого сервера всегда обращены к серверу имен, ответственному за домен, содержащий запрашиваемое имя или адрес; таким образом, гарантируется получение данных непосредственно из источника. Поэтому такой ответ называется ответственным откликом (authoritative response).
Служба доменных имен — DNS
399
Ценность данных в кэше DNS, опять же, можно сравнить с продуктами в холодильнике — с течением времени они становятся несвежими. По этой причине все данные в кэше службы DNS характеризуются сроком хранения, после истечения которого они автоматически удаляются. На самом деле, значения данных службы DNS содержат разнообразную временную информацию, которую мы обсудим, рассматривая элементы SOA-записей далее в этой главе.
DNS-серверы кэшируют не только пары "имя-адрес" для разрешенных адресов, но также хранят информацию о запросах имен, в ответ на которые последовали сообщения об ошибках. Такая информация называется отказным кэшированием (negative caching), но с ее помощью достигается тот же результат, что и при положительном кэшировании — значение из отказного кэша позволяет осуществить локальный доступ к сообщению об ошибке, вместо того чтобы выдать запрос, а потом ждать, чтобы это сообщение пришло вновь. Получение от IP-служб сообщений об ошибках часто требует истечения нескольких лимитов времени, так что отказное кэширование помогает сэкономить уйму времени!
Вы уже знаете, что существует разновидность DNS-серверов под названием специального кэширующего сервера. Наличие таких специализированных серверов возможно не во всех реализациях службы DNS, но при конфигурации DNS на Windows-серверах их можно установить. Важно понимать, что исключительное назначение специального кэширующего сервера состоит в том, чтобы осуществлять поиск данных вне локальной зоны и хранить результаты в кэше. С течением времени ценность такого кэша становится все более очевидной, поскольку, чтобы получить ответы на многие запросы имен, пользователям не приходится ждать получения информации с серверов, находящихся вне локальной зоны.
Конфигурация DNS
и форматы записей ресурсов
Обращаясь к истокам службы DNS, можно без труда охарактеризовать содержимое файлов баз данных, формирующих данные DNS, как способ преобразования данных файлов HOSTS в эквивалентные данные службы DNS, а затем добавления информации, необходимой для самой системы DNS. В числе прочего, это маркировка источников полномочий, обработка почтовых записей, а также обеспечение информации о хорошо известных службах.
Файлы, которые связывают имена хостов с адресами, обычно обозначаются как domain.dns, где domain — это локальное имя домена или субдомена для зоны, относящейся к DNS-серверу. К примеру, DNS-сервер для домена lanw.com называется lanw.com.dns.
400	Гпава 7
Файлы, которые связывают адреса с доменными именами при 'операциях обратного поиска, как правило, обозначаются как addr.in-addr.arpa.dns, где addr — это номер сети домена в обратном порядке без замыкающих нулей. Для домена lanw.com, чей номер сети — 206.224.65.0, файл называется 65.224.206.in-addr.arpa.dns. Иногда эти файлы также обозначаются как in-addr.arpa в соответствии с меткой, помещаемой в конец каждого обратного адреса в записях указателя файла. Имейте в виду, что в других реализациях службы DNS (в первую очередь, в BIND) принято другое соглашение относительно именования таких файлов, но эти файлы, вне зависимости от их названия, в любом случае должны работать. Собственно говоря, в таких файлах содержится статическая копия базы данных DNS в том виде, в котором она существовала в момент ее копирования на диск, или перед выключением DNS-сервера.
Для каждой зоны DNS должны существовать записи SOA и NS, а также записи об именах хостов или адресов в данной зоне. Адресные записи (А) содержат данные о соответствии имен адресам, в то время как записи указателей (PTR) предоставляют обратные данные б соответствии адресов именам. Записи канонических имен (CNAME) позволяют определить псевдонимы для хостов в данной зоне, но это делается в первую очередь для того, чтобы помещать новые данные в файлы зон было удобнее. Так, для субдомена houns54.clearlake.ibm.com можно создать псевдоним h54.clearlake.ibm.com, что позволит вводить 21 символ вместо 25-ти.
Теперь вы сможете просмотреть данные в десяти наиболее распространенных типах записей ресурсов DNS.
Запись начала полномочий (SOA)
Первой записью в любом файле .dns (имеются в виду как файлы domain.dns, так и addr.in-addr.arpa.dns) должна быть запись SOA. Она определяет текущий сервер имен (или другой сервер имен в том же домене или субдомене) как лучший источник информации для данной зоны. Важно понимать, что, хоть вторичные серверы имен и получают свои данные от первичного сервера в домене, но и те, и другие в своих собственных записях SOA могут назначать себя ответственными. В действительности, именно эта возможность позволяет осуществлять выравнивание нагрузки между первичным, с одной стороны, и одним или несколькими вторичными DNS-серверами в домене.
Ниже для примера приводится запись SOA со всем содержимым.
tree.com. IN SOA apple.tree.com. sue.pear.tree.com (
1	;	Порядок
10800	; Обновление через 3 часа
3600	;	Повторная	попытка	через	1	час
604800	;	Истечение	через 1	неделю
86400	)	;	Минимальное время	жизни	—	1	день
Служба доменных имен — DNS 401
Теперь проведем построчный анализ этой записи (учтите, что все точки с запятыми — это просто внутристрочные комментарии, которые лишь сообщают значение кода читателям).
П tree.com. in soa appie.tree.com. Все записи DNS следуют базовому формату этой строки, где tree.com. — это имя домена, к которому применим данный файл зоны; in означает, что запись принадлежит к классу Internet типов записей; soa указывает, что запись относится к типу записей начала полномочий; appie.tree.com. — это полностью определенное имя домена (FQDN) дая первичного сервера имен домена; наконец, sue.pear.tree.com-- это форма написания адреса электронной почты stie@pear.tree.com, принадлежащего администратору, ответственному за этот сервер. Все остальные записи, присутствующие между открывающей и закрывающей скобками, представляют собой специальные атрибуты этой индивидуальной записи SOA, перечисленные в следующих пяти элементах списка.
□	Порядок (serial). Это беззнаковое 32-битное число, представляющее первоначальное значение (именно его вторичные серверы имен используют для сравнения со значением на первичном сервере; исходя из результатов этого сравнения, они решают, нужно ли обновлять записи). Это число возрастает каждый раз, когда значение на первичном сервере имен обновляется (это значение копируется на вторичные серверы имен в тот момент, когда они выполняют проверку необходимости обновления своих записей).
□	Обновление (refresh). Период времени в секундах, который должен пройти перед обновлением базы данных зоны (10 800 секунд — это 3 часа, что и указано в поле комментария). Это гарантирует, что информация на всех вторичных серверах будет не совпадать с данными на первичном сервере не более, чем в течение трех часов.
□	Повторная попытка (retry). Период времени в секундах, который должен пройти перед обновлением, когда предыдущая попытка была неудачной (3600 секунд — это 1 час).
□	Истечение (expire). Здесь указывается период времени в секундах, который должен пройти перед тем, как база данных зоны утратит статус ответственной. Это значение совпадает со значением счетчика, который позволяет DNS-серверу вычислить, сколько времени прошло с момента последнего обновления.
□	Минимальное время жизни (minimum TTL). Здесь указывается, в течение какого времени любая запись ресурса должна существовать в кэше другого неответственного DNS-сервера. Другими словами, это значение определяет, как долго кэшированная запись может сохраняться на DNS-
14 Зак. 32 i
402
Гпава 7
серверах вне зоны, из которой данная запись исходит (86 400 секунд — это 24 часа, или 1 день).
Этим завершается наше обсуждение записи SOA. Перейдем к рассмотрению записей А и CNAME.
Адресные записи
и записи канонических имен
В следующем примере продемонстрированы способы применения записей А и CNAME, главным образом в файлах domain.dns (к примеру, tree.com.dns для домена tree.com). Затем, как и раньше, мы подробно проанализируем примеры каждой записи, и покажем, как использовать комментарии для снабжения конфигурационного файла службы DNS примечаниями.
; Адреса хостов
localhost.tree.com.	IN A 127.0.0.1
pear.tree.com.	IN A 172.16.1.2
apple.tree.com.	IN A 172.16.1.3
peach.tree.com.	IN A 172.16.1.4
; Многоканальный хост	
hedge.tree.com.	IN A 172.16.1.1
hedge.tree.com.	IN A 172.16.2.1
; Псевдонимы	
pr.tree.com	IN CNAME pear.tree.com
h.tree.com	IN CNAME hedge.tree.com
a.tree.com	IN CNAME apple.tree.com
hl.tree.com	IN CNAME 172.16.1.1
h2.tree.com	IN CNAME 172.16.2.1
Имея в виду вышеприведенный текст, рассмотрим следующие пояснения.
О localhost.tree.com. IN А 127.0.0.1
Здесь задается адрес для полностью определенного доменного имени "localhost", которое преобразуется в iocaihost.tree.com., эквивалентный адресу обратной связи (loopback address). Это значение необходимо для того, чтобы пользователи могли указывать в командах и запросах IP имя "localhost" или "loopback".
О pear.tree.com. IN А 172.16.1.2
Здесь задается адрес для полностью определенного доменного имени pear.tree.com., эквивалентного 1Р-адресу 172.16.1.2.
Служба доменных имен — DNS____	_______________ 403
3 hl.tree.com IN CNAME 172.16.1.1
hl.tree.com IN CNAME 172.17.1.1
Эта техника важна постольку, поскольку она позволяет получать доступ к отдельным сетевым интерфейсам по именам на маршрутизаторе или на любом другом IP-хосте, который присоединен к многочисленным подсетям посредством столь же многочисленных сетевых интерфейсов. (Такие устройства называются многоканальными (multi-homed), поскольку они подсоединены к нескольким подсетям.) Это может быть существенно при запрашивании SNMP-статистики или в PING-запросах на отдельные адреса интерфейсов. По умолчанию, когда определено несколько записей на один домен (как должно быть применительно к многоканальным устройствам), DNS обращается лишь к первому IP-адресу хоста. Эта методика. позволяет связывать имя с каждым отдельным интерфейсом, не запоминая его индивидуальный числовой IP-адрес.
Обратите внимание на то, что в записи CNAME сначала указывается псевдоним, а потом уже — реальное доменное имя; кроме того, ни одно доменное имя не завершается точкой (и поэтому эти доменные имена не являются полностью определенными, в отличие от тех, что указываются в записях А и PTR).
Соответствие адресов именам
Записи в файле db.addr обеспечивают обратный поиск DNS (при котором задается IP-адрес, а предполагается определить соответствующее ему доменное имя). По этой причине порядок октетов в частях адресов отдельных имен в записи реверсируется. Другими словами, когда вы запрашиваете доменное имя, начиная с имени, находящегося ниже в иерархии доменных имен, вы начинаете с "конца" IP-адреса (с четвертого октета), а заканчиваете "началом" этого адреса (первым октетом). Таким образом, иерархическая организация доменных имен согласуется с соответствующей иерархической организацией IP-адресов, начиная с хостовой части и кончая сетевой частью, в обратном порядке.
Операции обратного поиска адресов используются в первую очередь для того, чтобы определить, соответствует ли предоставленный пользователем IP-адрес доменному имени, из которого, по утверждению пользователя, он исходит. (Когда соответствие не подтверждается, это может быть признаком попытки перевоплощения, которое иногда называют IP-спуфингом (IP spoofing) — пакет заявляет свою принадлежность к сети, отличной от его настоящего адреса.) Эта возможность встроена во многие UNIX-приложения (например, rlogin), и некоторые производители операционных систем снабжают свои распознаватели функцией обратного поиска.
404
Гпава 7
Далее приводится пример файла под названием 16.172.in-addr.arpa.dns. (Обратите внимание на то, что здесь адреса, указанные в файле tree.com.dns, приводятся в обратном порядке. Кроме того, каждый обратный адрес завершается строкой .in-addr-arpa., включая точку на конце. Дело в том, что все эти адреса входят в пространство IP-адресов, определенное для сети Internet, изначально называвшейся ARPANET).
1.1.16.172.in-addr-arpa.
2.1.16.172.in-addr-arpa.
3.1.16.172.in-addr-arpa.
4.1.16.172.in-addr-arpa.
IN PTR hedge.tree.com
IN PTR pear.tree.com
IN PTR apple.tree.com
IN PTR peach.tree.com
Налицо прямое соответствие адресов слева доменным именам справа. При желании определить другой интерфейс для hedge (адрес 172.16.1.1, упомянутый в предыдущем файле) это нужно делать в файле 17.172.in-addr.arpa.dns, а не здесь. Для каждой подсети есть отдельный файл такого типа.
Есть еще один существенный момент, связанный с обратными поисками DNS; дело в том, что приведенная выше файловая структура является классовой. Система DNS собьется с толку, столкнувшись с сетью, поделенной не на /8, /16 или /24 подсети. При необходимости настроить обратные поиски для бесклассовой сети ознакомьтесь с решением, предложенным в документе RFC 2317.
Обработка адреса обратной связи
Вы должны создать отдельный файл db. 127.0.0, чтобы обеспечить возможность обрабатывать реверсированные IP-адреса обратной связи для отдельных машин, которые позволяют им указывать на самих себя в ситуациях локальных тестов IP-стека. Вот как они должны выглядеть:
О.О.127.in-addr-arpa. IN SOA apple.tree.com. sue.pear.tree.com (
1	;	Порядок
10800	;	Обновление через 3 часа
3600	;	Повторная попытка	через	1	час
604800	;	Истечение через 1	неделю
86400 )	;	Минимальное время	жизни	-	1	'день
О.О.127.in-addr-arpa. IN NS apple.tree.com
О.О.127.in-addr-arpa.	IN NS hedge.tree.com
1.0.0.127.in-addr-arpa. IN PTR localhost
Служба доменных имен — DNS 405
Файл начинается с обязательной записи SOA, которая означает, что appie.tree.com ответственен за сеть 127.0.0. Затем указываются записи NS, ИЗ содержания КОТОРЫХ ОЧеВИДНО, ЧТО МаШИНЫ apple.tree.com и hedge.tree.com могут обеспечить NS-поиски для данного адреса обратной связи. Файл завершается записью PTR, которая указывает, что адрес хоста обратной связи по умолчанию (127.0.0.1) соответствует текущему значению localhost, на какой бы машине оно ни применялось. Именно это позволяет пользователям при тестировании локальных машин использовать либо адрес обратной связи (127.0.0.1), либо символическое имя (localhost). Таким образом, файл обратной связи, 0.0.127.in-addr-arpa.dns, оказывается довольно лаконичным; его несложно просмотреть полностью. Более того, в Windows-реализации службы DNS этот файл создается автоматически в рамках функции создания зон.
Получение и хранение
данных корневого сервера
Очевидно, что для любого сервера имен важно знать, как получить доступ к корневым серверам DNS. Именно поэтому реализации службы DNS предоставляют возможность осуществления предварительной загрузки информации "имя/адрес" для этих крайне важных записей в кэш любого DNS-сервера. Чтобы получить этот файл, зайдите на FTP-сервер InterNIC по адресу ftp.rs.internic.iiet, перейдите в каталог /domain и найдите файл names.root.
На Windows-сервере с работающей системой DNS вы должны скопировать этот файл в каталог %SystemRoot%\System32\DNS.
Теперь необходимо переименовать этот файл в cache.dns. Учтите, что %SystemRoot% — это предопределенная переменная среды, указывающая на системный каталог, в котором Windows хранит системные файлы. Во многих системах этим каталогом по умолчанию является C:\WINNT. Поскольку эта часть спецификации каталога может меняться, символ применяется для того, чтобы необходимые результаты получались вне зависимости от того, как система была настроена во время установки.
Рассмотрим заголовок и несколько записей из этого файла (комментарий <snip> обозначает позиции, из которых мы удалили непринципиальные в данном случае строки).
; Этот файл содержит информацию корневого сервера имен,
; необходимую для инициализации кэша на серверах
; имен в сети Internet <SNIP>
последнее обновление: 22 августа 1997 года
406
Гпава 7
; связанная версия корневой зоны: 1997082200
Z
г
; ранее NS.INTERNIC.NET
3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.	3600000	A	198.41.0.4
; ранее NS1.ISI.EDU
3600000	NS	В.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.	3600000	A	128.9.0.107
; ранее C.PSI.NET
;<SNIP>
Обратите внимание, что в крайней левой части не указывается доменное имя. Точка обозначает корневой сервер — в контексте NS-записи, которая идентифицирует сервер имен DNS. Доменное имя каждого сервера указывается в форме *.root-servers.net, где * — это буквы от А до М. Каждая NS-запись предшествует A-записи, в которой определяется IP-адрес, соответствующий названному серверу; таким образом, сервер A.ROOT-SERVERS.NET соответствует IP-адресу 198.41.0.4.
Существует веская причина, по которой на любом DNS-сервере стоит осуществить кэширование нескольких адресов корневых серверов. Если какой-либо корневой сервер недоступен, то по истечении лимита времени на поиск применяется следующая запись по списку. Так как без периодических обращений к корневому серверу никак не обойтись, возможность доступа к нескольким таким серверам — это очевидное преимущество (кроме того, при этом происходит выравнивание нагрузки).
Команда NSLOOKUP
Windows и UNIX, как и многие другие операционные системы, обеспечивают поддержку этой многоцелевой утилиты, работающей из командной строки и осуществляющей общие функции поиска серверов имен. (Приставка NS в названии NSLOOKUP — это аббревиатура информации сервера имен в любой NS-записи базы данных службы DNS.) По умолчанию утилита NSLOOKUP запрашивает сервер имен, указанный в конфигурации TCP/IP данного компьютера. (Эти настройки расположены в окне Свойства: Прото
Служба доменных имен — DNS 407
кол Интернета (TCP/IP) (Internet Protocol (TCP/IP) Properties), перейти к которому позволяет пункт Протокол Интернета (TCP/IP) (Internet Protocol (TCP/IP)) в окне Подключение по локальной сети — свойства (Local Connection Properties), для открытия которого необходимо выбрать Пуск (Start) > Настройка (Settings) > Сеть и удаленный доступ к сети (Network and Dial-up Connections), а затем, выбрав Подключение по локальной сети (Local Connection), щелчком правой кнопки мыши вызвать контекстное меню и в нем выбрать пункт Свойства (Properties)).
Команда nslookup предоставляет доступ ко всей информации службы DNS, относящейся либо к текущему серверу по умолчанию, либо к серверу, чье имя или IP-адрес вы укажете в качестве аргумента. Эта утилита незаменима при тестировании конфигурации DNS-сервера или поиска неисправностей.
Формат команды nslookup выглядит следующим образом:
nslookup доменное-имя [сервер-имен] ,
где доменное-имя — это желаемое доменное имя, а сервер-имен — это, соответственно, сервер имен, на котором будет осуществляться поиск. Квадратные скобки в данном случае обозначают, что аргумент сервер-имен является необязательным — если сервер имен не указан, утилита NSLOOKUP осуществляет поиск на сервере по умолчанию. На рис. 7.2 изображены два примера; в первом из них используется сервер имен по умолчанию, а во втором — сервер имен, ответственный за указанное доменное имя. (Обратите внимание на то, что результаты различаются.)
Рис. 7.2. Два примера действия утилиты NSLOOKUP (для случая неответственного [по умолчанию] и ответственного сервера имен)
Отметим, что результаты поиска на сервере имен по умолчанию, dnsl.rr.com, обозначаются как "неответственный" ("non-authoritative answer"); только после
408
Глава 7
этой метки выводится имя и адрес nsl.io.com. Во второй команде обращение происходит к другому серверу имен (ns2.io.com), расположенному в домене io.com; при этом результаты выводятся без метки "неответственный".
Это незначительное различие — единственный способ узнать, является ли сервер имен ответственным за конкретное доменное имя (в зависимости от того, что программа сообщает). Учтите, что в каждом ответе сначала указываются имя и IP-адрес сервера имен, на котором осуществлялся поиск, а уже после этого выводятся результаты самого поиска.
Тонкости NSLOOKUP
Чтобы вывести справку по команде nslookup, введите ее в командной строке окна Командная строка (Command Prompt) без аргументов. (Для открытия этого окна нужно выбрать Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt).)
Рис. 7.3. Справочный экран команды NSLOOKUP помогает разобраться во множестве ее подкоманд и опций
Служба доменных имен — DNS
409
В результате выполнения команды выводится имя и IP-адрес сервера имен по умолчанию, и командная строка отдается в распоряжение утилиты NSLOOKUP (о чем оповещает подсказка >, появляющаяся в предыдущей строке вместо стандартной d:\>). Теперь вы можете ввести команду help, после чего появится экран, изображенный на рис. 7.3.
Как видите, команда nslookup способна на многое. В следующем разделе мы рассмотрим несколько наиболее распространенных способов ее применения.
Использование NSLOOKUP
Вы уже знаете, как определить сервер имен по умолчанию. (Для этого нужно ввести команду nslookup без аргументов, как показано в верхней части окна Командная строка (Command Prompt), изображенного на рис. 7.3.) Запустив командный режим NSLOOKUP (его отличительная черта — подсказка >), вы можете воспользоваться командой установки параметров option, чтобы изучить отдельные типы записей ресурсов. На рис. 7.4 изображен результат установки типа записей NS (сервер имен) — отображение всех NS-записей в базе данных DNS для данного домена.
Рис. 7.4. Просмотр NS-записей домена io.com с помощью команды NSLOOKUP
Обратите внимание, что для поиска используется сервер имен по умолчанию (dnsl.rr.com). Дело в том, что в командной строке io.com мы не указали другой сервер имен в качестве второго аргумента. Чтобы лучше ознакомиться с возможностями команды nslookup, попробуйте произвести поиск других типов записей.
Вероятно, вам захочется получить информацию с некоторых хорошо известных серверов имен. В частности, можно попробовать запустить команды
410
Гпава 7
1s -а (перечисление канонических имен и псевдонимов) или is -d (перечисление всех записей). Возможно, некоторые серверы имен и согласятся с вами сотрудничать, но в большинстве случаев результат будет неутешительным (рис. 7.5).
Рис. 7.5. Не имея должных полномочий, вы получите сообщение об ошибке, а не ответ
Если вспомнить об идее обеспечения безопасности протокола IP по части защиты адресов и ресурсов, становится очевидной причина, по которой большинство серверов не предоставляют подобную информацию кому-либо, кроме администраторов, наделенных необходимыми полномочиями. Дело в том, что такие данные помогают посторонним людям узнать схему IP-адресов и доменных имен внутри зоны DNS, представленной в качестве сегмента базы данных на сервере. С помощью этой информации хакеры могут организовать атаку на сеть, и именно по этой причине доступ к подобным данным вы сможете получить только на тех DNS-серверах, которые сами администрируете. Большинство сайтов отказывают в выполнении запросов этого типа и осуществлении обновлений DNS, исходящих от любых инициаторов запроса (отказ по умолчанию), кроме избранной группы IP-адресов "доверенных хостов" или "доверенных пользователей" (разрешение в виде исключения).
Если вам когда-нибудь придется управлять DNS-сервером, тщательно исследуйте команду nslookup. При условии правильного применения команды nslookup она становится превосходным средством поиска неисправностей. В последующих разделах этой главы мы поговорим о распространенных в сетях пакетах, составляющих DNS-трафик. Это даст вам возможность увидеть, как на самом деле работают многие механизмы, рассмотренные нами ранее.
Служба доменных имен — DNS
411
Форматы пакетов запроса/ответа DNS
Структура пакетов DNS-запросов изображена на рис. 7.6.
UDP HEADER - DESTINATION PORT 53	, f	,,Г
0	1Si		ID Number
QR OPCODE Аа|тС	RD RA Z RCODE	1 QUESTION COUNT
ANSWER	COUNT	NAME SERVER COUNT l
ADDITIONAL RECORDS COUNT		1 QUESTION NAME
QUESTION TYPE l		QUESTION CLASS i
Рис. 7.6. Стандартный формат DNS-запроса
UDP HEADER • DESTINATION PORT 53
1.6
0	15i	ID Number
QR OPCODE |aA TC	RD RA Z RCODE	I QUESTION COUNT i
ANSWER	COUNT	I NAME SERVER COUNT
ADDITIONAL RECORDS COUNT		question name 	 I		
QUESTION TYPE I		I QUESTION CLASS
-	NAME	_J	
TYPE		CLASS
TIME TO LIVE		RESOURCE DATA LENGTH
	RESOU	<CE DATA 					I
Рис. 7.7. В состав DNS-ответов входят исходные запросы
412
Глава 7
Пакеты DNS-ответов наряду с самими ответами содержат исходный запрос. В пакетах DNS-ответов есть четыре раздела.
□	Раздел запроса — содержит разрешаемое имя.
□	Раздел ответа — содержит записи ресурсов, предоставляющие ответ на запрос.
□	Раздел полномочий — содержит записи ресурсов, указывающие на полномочия.
□	Дополнительный раздел — содержит записи ресурсов с дополнительной информацией, относящейся к запросу.
Разделы ответа, полномочий и дополнительной информации следуют за разделом запроса, используя ту же структуру (изображенную на рис. 7.7).
Теперь мы рассмотрим каждое поле DNS-запроса в отдельности.
Поле ID Number
Поле ID Number (идентификационный номер), длина которого составляет 2 байта, используется для привязки DNS-запросов к ответам.
Поле QR
1-битное поле QR (Query/Response, запрос/ответ) определяет, является ли пакет DNS-запросом (значение 0) или DNS-ответом (значение 1).
Поле Opcode
4-битное поле Opcode (Operation Code, код операции) определяет тип запроса, содержащегося в данном сообщении. В табл. 7.1 перечислены все поддерживаемые значения.
Таблица 7.1. Значения поля Opcode
Значение	Описание	Справочная информация
0	Стандартный DNS-запрос	
1	Обратный DNS-запрос	
2	Запрос состояния сервера	
3	Зарезервировано	IANA
4	Извещение	RFC 1996
5	Обновление	RFC 2136
6-15	Зарезервировано для назначения	
Служба доменных имен — DNS 413
Обновляемый список значений поля Opcode содержится на сайте http://www.iana.org.
Поле АА
Поле АА (Authoritative Answer, ответственный отклик), состоящее из одного бита, встречается только в ответах. В установленном состоянии бит обозначает, что отвечающий сервер имен ответственен за доменное имя, указанное в поле Question Name (имя запроса).
Поле ТС
Поле ТС (Truncation, усечение) обычно присутствует только в ответах. Поле состоит из одного бита, который обозначает, что ответ был усечен вследствие того, что по размеру он не укладывается в блок данных пакета. К примеру, если ответ содержит несколько серверов имен, размер пакета может превысить разрешенную максимальную единицу передачи (MTU). В таком случае пакет усекается и в поле ТС устанавливается единица.
Поле RD
Поле RD (Recursion Desired, требуется рекурсия) состоит из одного бита, который указывает, что в случае, если сервер имен назначения не содержит необходимой информации, клиент требует выполнения рекурсивного запроса.
Поле RA
Поле RA (Recursion Available, рекурсия возможна) состоит из одного бита, содержащегося в ответе, и определяет, поддерживает ли отвечающий сервер имен рекурсивные запросы.
Поле Z
Документ RFC 1035 определяет поле Z (Reserved, зарезервировано) как "зарезервированное" и требует установки в нем всех нулей. Поле занимает 3 бита. Тем не менее, в некоторых реализациях DNS область этого поля занимается другим полем — Rcode (код ответа). В результате поле Z удаляется, а длина поля Rcode расширяется до 7 бит.
Поле Rcode
Поле Rcode (Response Code, код ответа), длина которого составляет 4 бита, в DNS-ответах отображает произошедшие ошибки. В табл. 7.2 перечислены все поддерживаемые значения этого поля.
414
Глава 7
Таблица 7.2. Значения поля Rcode
Значение	Описание	Справочная информация
0	Без ошибок	RFC 1035
1	Ошибка формата	RFC 1035
2	Сбой сервера	RFC 1035
3	Несуществующий домен	RFC 1035
4	Не реализовано	RFC 1035
5	В ответе отказано	RFC 1035
6	Имя существует, хотя существовать не должно	RFC 2136
7	Набор записей ресурсов существует, хотя существовать не должен	RFC 2136
8	Набор записей ресурсов не существует, хотя должен существовать	RFC 2136
9	Сервер не ответственен за зону	RFC 2136
10	Имя не содержится в зоне	RFC 2136
11-15	Зарезервировано для назначения	
1S	Некорректная версия ОРТ или сбой сигнатуры TSIG	RFC 2671, RFC 2845
17	Ключ не опознан	RFC 2845
18	Сигнатура за пределами временного окна	RFC 2845
19	Некорректный режим TKEY	RFC 2930
20	Дублированное имя ключа	RFC 2930
21	Алгоритм не поддерживается	RFC 2930
22-3840	Зарезервировано для назначения	
3841-4095	Частное использование	
Примечание
Обновляемый список значений поля Rcode содержится на сайте http://www.iana.org.
Поле Question Code
В поле Question Code (отсчет запроса) указывается количество элементов, содержащихся в разделе запроса.
Служба доменных имен — DNS   415
Поле Answer Count
В поле Answer Count (отсчет ответа) указывается количество элементов, содержащихся в разделе ответа.
Поле Name Server Count
В поле Name Server Count (отсчет серверов имен) указывается количество записей ресурсов серверов имен, содержащихся в разделе записей полномочий.
Поле Additional Records Count
В поле Additional Records Count (отсчет дополнительных записей) указывается количество других записей ресурсов, содержащихся в разделе дополнительных записей.
Поле Question Name
Поле Question Name (имя запроса) переменной длины содержит ряд полей длины, за которыми следуют несколько октетов данных. К примеру, на рис. 7.8 показано, как в поле Question Name определяется URL http://www.iana.org.
и
Рис. 7.8. Числовые разграничители, обозначающие количество буквенно-цифровых байт
Поле Question Туре
В поле Question Туре (тип запроса), длина которого составляет 2 байта, определяется тип запроса. Все возможные значения перечислены в табл. 7.3.
3 w w w 4
а п
а 3 о
г д
Таблица 7.3. Значения поля Question Туре
Тип	Значение	Описание	Справочная информация
А	1	Адрес хоста	RFC 1035
NS	2	Ответственный сервер имен	RFC 1035
MD	3	Пункт назначения почты (вышел из употребления — используйте MX)	RFC 1035
MF	4	Механизм продвижения почты (вышел из употребления — используйте MX)	RFC 1035
416
Глава 7
	Таблица 7.3 (продолжение)		
Тип	Значение	Описание	Справочная информация
CNAME	5	Каноническое имя псевдонима	RFC 1035
SOA	6	Обозначает начало зоны ответственности	RFC 1035
MB	7	Доменное имя почтового ящика (экспериментальный тип)	RFC 1035
MG	8	Участник почтовой группы (экспериментальный тип)	RFC 1035
MR	9	Переименовщик доменных имен электронной почты (экспериментальный тип)	RFC 1035
NULL	10	Несуществующая запись ресурса (экспериментальный тип)	RFC 1035
WKS	11	Описание хорошо известной службы	RFC 1035
PTR	12	Указатель доменного имени	RFC 1035
HINFO	13	Информация хоста	RFC 1035
MINFO	14	Информация почтового ящика или почтовой рассылки	RFC 1035
MX	15	Почтовый обмен	RFC 1035
TXT	16	Текстовые строки	RFC 1035
RP	17	Ответственное лицо	RFC 1183
AFSDB	18	Расположение базы данных AFS	RFC 1183
X25	19	Адрес Х.25 PSDN	RFC 1183
ISDN	20	Адрес ISDN	RFC 1183
RT	21	Маршрут через	RFC 1183
NSAP	22	Адрес NSAP, запись NSAP типа А	RFC 1706
NSAP-PTR	23	Запись ресурса указателя NSAP	
SIG	24	Сигнатура безопасности	RFC 2535 '
KEY	25	Ключ безопасности	RFC 2535
PX	26	Информация распределения почты Х.400	RFC 2163
GPOS	27	Географическое положение	RFC 1712
AAAA	28	Адрес IP6	Томсон
LOG	29	Информация о расположении	Викси
Служба доменных имен — DNS
417
Таблица 7.3 (окончание)			
Тип	Значение	Описание	Справочная
			информация
NXT	30	Следующий домен	RFC 2535
ЕЮ	31	Идентификатор конечной точки	Пэттон
NIMLOC	32	Локатор Nimrod	Пэттон
SRV	33	Выбор сервера	RFC 2782
ATM А	34	Адрес ATM	Добровски
NAPTR	35	Указатель присвоения	RFC 2168,
		ПОЛНОМОЧИЙ	RFC 2915
КХ	36	Обменник ключей	RFC 2230
CERT	37	CERT	RFC 2538
А6	38	А6	RFC 2874
DNAME	39	DNAME	RFC 2672
SINK	40	SINK	Истлейк
ОРТ	41	ОРТ	RFC 2671
UINFO	100	Тип, зарезервированный IANA	
UID	101	Тип, зарезервированный IANA	
GID	102	Тип, зарезервированный IANA	
UNSPEC	103	Тип, зарезервированный IANA	
TKEY	249	Ключ сообщения	RFC 2930
TSIG	250	Сигнатура сообщения	RFC 2845
IXFR	251	Инкрементная передача	RFC 1995
AXFR	252	Передача целой зоны	RFC 1035
MAILB	253	Записи ресурсов, относящиеся	к почто- RFC 1035
		вому ящику (MB, MG или MR)	
MAILA	254	Записи ресурсов почтового агента (вы- RFC 1035	
		шел из употребления — см. MX)	
	255	Запрос всех записей	RFC 1035
Как видите, в системе DNS есть намного больше типов записей ресурсов, чем мы успели рассмотреть ранее в этой главе. Но, скорее всего, вам предстоит столкнуться именно с теми, которым мы уделили наибольшее внима
418
Гпава 7
ние. Многие другие типы записей ресурсов применяются очень редко; некоторые не применяются вообще.
Поле Question Class
Поле Question Class (класс запроса), длина которого составляет 2 байта, определяет класс запроса. Единица обозначает класс Internet.
Поле Name
Поле Name (имя) содержит доменное имя, к которому принадлежит данная запись ресурса. Любопытно, что служба DNS применяет методику сжатия, которая исключает повторение доменного имени в пределах DNS-ответа. В этом поле может находиться указатель на другое местоположение в DNS-пакете, в котором определяется доменное имя. К примеру, на рис. 7.9 изображен DNS-ответ с выделенным полем Name.
ЕГлР BKS - Bomaln Кали System Protocol ф Identification:	0x0071
..$ Parameter:	0x8180
;•••$ Response
!• •• 0 Standard! Query Recursion Desired.
:.ф Recursion Available
i—ф No Error Response
!	0	Number	of	Questions:	1
0	Number	of	Answers:	2
;•	ф	Number	of	Authority:	2
.'ф	Number	of	Additional:	2
j	ф	Query	Domain	Name:	wvv.moviefone. coxa
Query	Type:	1 Host Address
!'	ф	Query	Class:	1 Internet
iRescmi'CRDomain Name: ОлСООС Compressed Format - Use As Offset
0 (
ф Answer Type:	5 Canonical iVaaxe For Alias
ф Answer Class:	1 Internet
i-- ф Time to Live:	382
: ф Resource Data Length: 15 j ф Resource Data:
32: 00 43 00 35 09 9F 00 A0 18 AF 00 71 81 80 00 01
40: 00 02 00 02 00 02 03 77 77 77 09 60 6F 76 69 65 64: 66 6F SB 6S 03 63 61' 6D 00 00 01 00 01 C0~Wf00 ЯП- П.Ч ПЛ П1 ПО ПО П) 7K nn ПВ ЛЧ 6Г> ЙЧ 7Й Й9 6.4 fifi
........wu. movie '&i-l fone. com.......»
• n»rtvii»f «e£J
...ft*y , !□]. JM]
Рис. 7.9. Чтобы избежать избыточной информации, в DNS-ответе может находиться указатель на имя вместо его повторения
Служба доменных имен — DNS
419
При использовании сжатия значение двух первых разрядов этого поля должно быть приравнено к 11 (в двоичном представлении). После этого значения следует смещение, указывающее на местоположение полного доменного имени. На рис. 7.9 значение ОхСООС (в двоичном представлении — 11000000-00001100) является указателем на поле, смещенное на 12 позиций от начала DNS-части пакета. Имя www.moviefone.com действительно смещено на 12 позиций.
Поле Туре
Поле Туре (тип), длина которого составляет 2 байта, содержит код типа записей ресурса для данных в поле Resource Data (данные ресурса) ответа. Здесь могут устанавливаться значения, приведенные в табл. 7.3.
Поле Class
Поле Class (класс), длина которого составляет 2 байта, определяет класс данных, содержащихся в поле Resource Data (данные ресурса).
Поле Time to Live
Поле Time to Live (время жизни), длина которого составляет 4 байта, определяет, в течение какого времени данные, содержащиеся в поле Resource Data (данные ресурса), должны находиться в кэше. Ноль означает, что данные ресурса могут быть использованы лишь единожды, и в кэш заноситься не должны.
Поле Resource Data Length
Поле Resource Data Length (длина данных ресурса), длина которого составляет 2 байта, определяет длину поля Resource Data (данные ресурса). Длина данных ресурса ограничивается значением в 65 535 байт, но обычно это не является проблемой, учитывая, что абсолютное большинство данных записей ресурса по размеру не превышает 500 байт.
Поле Resource Data
Поле Resource Data (данные ресурса) переменной длины содержит информацию ресурса, и в некотором смысле можно утверждать, что это — фактическая "полезная нагрузка" записи ресурса. Тем не мене, это не означает, что все остальные поля не имеют никакого значения.
Теперь, когда вы ознакомились со структурой и форматом DNS-пакетов, а также с содержащимися в них записями ресурсов, для вас должно стать очевидным то обстоятельство, что с помощью относительно простой структуры передается значительная и полезная информация. Кроме того, когда проис
420
Глава 7
ходит передача зон или обновление базы данных службы DNS какого-либо другого типа, такие операции осуществляются посредством пакетов, в которых передается по одной записи за один раз. Такое простое, но элегантное решение позволяет применять для запросов или операций с базами данных все те же типы сообщений, не подрывая целостность информации.
Реализация DNS
Реализации службы DNS преследуют две основные цели. Одна из них — предоставление конкретным пользователям служб разрешения имен, чтобы они могли обращаться к службам, предлагаемым во всех других частях глобальной сети; другая — обеспечение надежного соответствия имен хостов и IP-адресов, чтобы пользователи, где бы они ни находились, могли получать доступ к службам, предоставляемым на конкретном Web-, FTP- или почтовом сервере. Несмотря на то, что с технической точки зрения такие службы действуют одинаково, их администрирование часто различается.
Основная причина этого состоит в том, что технические средства, применяемые для реализации DNS-разрешения для пользователей сети, направлены на обеспечение доступности и высокой производительности применительно к относительно небольшому количеству соответствий имен хостов и IP-адресов. Эти соответствия обычно довольно стабильны, т. к. используют зарегистрированные Internet-адреса, хотя такие продукты часто содержат функции, позволяющие применять службу DNS для выравнивания нагрузки между локальными и географически рассредоточенными серверами. DNS-серверы, предназначенные для внутреннего использования, зачастую направлены на ослабление трудностей администрирования посредством DHCP, WINS, Active Directory и других служб протокола LDAP (Lightweight Directory Access Protocol, облегченный протокол службы каталогов) и отслеживание чрезвычайно изменчивого пространства частных IP-адресов, в котором происходит постоянная смена пользователей.
Другое важное различие — в именовании таких систем. Чтобы облегчить управление, многие администраторы присваивают рабочим станциям имена, состоящие из имен пользователей или подразделений. К примеру, имя компьютера с системой Windows (которое на самом деле является именем NetBIOS) может звучать как jsmith или jsmith-acct, если его пользователя зовут Джон Смит (John Smith), и он работает в бухгалтерии (Accounting Department). Эта информация может автоматически передаваться системе DNS для создания А-записи jsmith-acct.ny.mycompany.com. Кроме того, распространенной практикой является описательное именование серверов. Очевидно, что такая информация не должна быть доступна всем пользователям сети Internet. Руководствуясь соображениями безопасности, необходимо проводить разделение внутреннего и внешнего DNS-серверов.
Служба доменных имен — DNS
421
Неисправности DNS
Несмотря на мощные возможности службы DNS и многие ее преимущества, и ей присущи некоторые недостатки. Основной такой недостаток состоит в том, что для обновления баз данных DNS обычно требуется, чтобы квалифицированный администратор (обладающий всеми необходимыми знаниями и правами доступа к файлам зоны) производил все операции непосредственно с файлами базы данных DNS, или пользовался специализированными средствами (например, утилитой NSUPDATE в среде UNIX). Требование обновления баз данных службы DNS делает такие обновления непростой задачей. С выходом операционной системы Windows 2000 компания Microsoft представила на суд публики реализацию динамической системы DNS (DDNS), но для того, чтобы она функционировала, реализация Windows DNS должна быть связана с базой данных Active Directory (с ней же должна быть связана и служба DHCP).
В сущности, при этом система DNS не требует осуществления каких-либо изменений, кроме подсоединения к Active Directory. Active Directory с помощью DHCP отслеживает изменения в отношениях доменных имен и адресов, и, когда эти изменения происходят, подает на DNS-сервер необходимые запросы на обновление. Таким образом, Active Directory автоматизирует все те задачи, которые в других условиях приходится выполнять администратору. В настоящее время эта реализация работает только в операционных системах Microsoft. Более стандартные реализации DDNS применяют средства обновления, отраженные в документе RFC 2136, но пока они не могут обеспечить взаимодействия с реализацией Microsoft DNS в операционной системе Windows 2000. Даже принимая во внимание такие усовершенствования системы D.NS, в некоторых случаях до сих пор требуется прямое взаимодействие с файлами зон DNS — посредством редактирования этих файлов в ASCII-редакторах, с помощью утилит командной строки вроде NSUPDATE или через графический интерфейс (как в Windows-реализации).
Другую проблему, оказывающую пагубное влияние на систему DNS, можно назвать "задержкой распространения". Дело в том, что слишком много времени требуется на синхронизацию кэшированных значений с изменениями, произведенными в ответственных базах данных, содержащих "оригиналы" DNS-записей. Именно поэтому поставщики услуг регулярно предупреждают своих клиентов о том, что до полноценного действия преобразования имени в адрес в сети Internet (как, например, при переносе домена от одного провайдера к другому, что всегда означает изменение IP-адреса, связанного с этим доменным именем) может пройти до трех дней.
Эта задержка является следствием действия значения времени жизни (Time to Live, TTL) записи базы данных, которая при внесении изменений может существовать дольше положенного периода. Предположим, что прежняя
422
Гпава 7
версия обновленной записи считывалась из базы данных за одну секунду до внесения изменений. Если действует стандартное значение времени жизни, по умолчанию равное 24 часам, то старая версия записи будет сохраняться неизменной в течение 23 часов 59 минут и 59 секунд после обновления. Дополнительные копии этого значения из другого кэша могут прибавить к этому периоду времени еще 24 часа. Кроме того, на некоторых серверах значения времени жизни (TTL) определяют более длительные периоды, в результате чего интервал, в течение которого неверное значение остается в обращении, увеличивается. Таким образом, исключение старых значений из кэшей по всей сети Internet может затянуться на 3 дня. Только по прошествии этого периода времени новое значение сможет действовать единолично, а не параллельно со старым. Тем не менее, более типичной временной границей в таких ситуациях является 2 дня.
Однако, несмотря на все проблемы с функционированием DDNS (когда версии службы DNS не способны к взаимодействию, а во всемирной базе данных DNS обновленные значения вступают в силу после периода задержки), эта система остается жизненно важным компонентом инфраструктуры сети Internet. Так как служба DNS — это очень обширная тема, мы обязаны дать некоторые указания на дополнительную литературу, которая сможет помочь вам более подробно разобраться в этом вопросе.
□	Jeffrey Graham, et al.: Windows 2000 DNS, New Riders, Indianapolis, IN, copyright 2000, ISBN: 0-7357-0973-4. Хороший обзор служб DNS в среде Windows 2000 с сопутствующей информацией о конструктивных решениях, реализации, конфигурации и поиске неисправностей.
□	William Wong: Windows 2000 DNS Server, Osborne/McGraw-Hill, Berkeley, CA, copyright 2000, ISBN: 0-07-212432-6. Те же темы и охват материала, что и в книге Джеффри Грехема (Jeffrey Graham), приведенной в предыдущем пункте списка.
□	Cricket Liu, et al.: DNS and BIND, 3rd Edition, O’Reilly & Associates, Sebastopol, CA, copyright 1998, ISBN: 1-56592-512-2. Эта книга признается одной из наилучших работ по службе DNS. Повествование сфокусировано на службе доменных имен в сети Internet (BIND) и помогает осуществлять ее на платформе Windows. Содержит уникальный обзор конструктивных принципов и внутреннего функционирования.
□	Craig Hunt: Linux DNS Server Administration, Sybex Books, Alameda, CA, copyright 2000, ISBN: 0-7821-2736-3. Хант (Hunt) является известным экспертом по административному управлению, функционированию и поиску неисправностей стека TCP/IP; в этой книге изложена информация о проектировании и установке серверов Linux DNS, а также прекрасный обзор структуры сообщений DNS и их действия.
Служба доменных имен — DNS
423
Выводы по главе
□	Обеспечивая основной способ преобразования символических доменных имен, удобных для человеческого восприятия, в соответствующие числовые машиночитаемые IP-адреса, служба доменных имен (DNS) является ключевой службой разрешения адресов, делающей возможным существование сети Internet в ее сегодняшнем виде. Важность этой службы невозможно преувеличить, т. к. именно она содействует корректному функционированию любой крупномасштабной объединенной сети на базе TCP/IP.
□	Создание службы DNS было обусловлено сложностью поддержки статических файлов HOSTS на компьютерах в сети ARPANET, когда хосты в этой сети стали исчисляться тысячами. Система DNS задумывалась как гибкая, надежная и мощная служба разрешения имен и адресов, которая могла бы управиться с очень крупными адресными пространствами. Разработчики справились с этой задачей успешнее, чем они сами могли это предположить.
□	Есть несколько разновидностей серверов имен DNS. В каждой зоне должен существовать первичный сервер имен, содержащий оригинал базы данных своей зоны. Кроме того, в каждой зоне может быть создан один или несколько вторичных серверов имен. (Для обеспечения достаточной надежности для каждой зоны рекомендовано наличие хотя бы одного такого сервера.) В крупных сетях со значительным трафиком специальные кэширующие серверы имен могут брать на себя разрешение имен и адресов вне локальной зоны; таким образом, первичные и вторичные серверы имен освобождаются от необходимости обрабатывать внешние входящие запросы на разрешение имен.
□	Система DNS содержит свои данные на большом количестве серверов имен по всей сети Internet, разделяя пространство присваиваемых имен доменов на несвязанную совокупность баз данных доменов или субдоменов (которые также известны под названиями сегментов или зон баз данных), каждая из которых принадлежит к конкретному серверу имен, ответственному за данную зону. Такая система позволяет управлять сегментами баз данных локально, но при этом они остаются доступными глобально. Кроме того, реализация службы DNS учитывает возможность создания для каждой зоны базы данных одного первичного ведущего сервера и нескольких вторичных ведущих серверов имен, что позволяет повысить надежность (если один DNS-сервер выходит из строя, оставшиеся продолжают работать) и доступность (оптимальная конфигурация выравнивает нагрузку по обработке запросов между всеми серверами имен зоны, не сваливая эти задачи лишь на первичный сервер).
424
Глава 7
□ Базы данных DNS состоят из множества записей ресурсов (RR), в которых содержится ряд файлов зон, представляющих статические копии этих баз данных. В каждом файле зоны должна присутствовать запись начала полномочий (Start of Authority, SOA), которая идентифицирует сервер имен, ответственный за соответствующие сегменты базы данных. Другие записи в каждом файле зоны согласуются с его назначением и могут содержать соответствия адресов и имен для обычного разрешения доменных имен или же соответствия имен и адресов для обратных операций поиска DNS.
□	Клиенты службы DNS действуют с помощью программного компонента, который называется распознавателем', он позволяет взаимодействовать с доступным DNS-сервером для выполнения служб разрешения имен. Распознаватели издают рекурсивные запросы, направляя их назначенному DNS-серверу, на которые сервер либо отвечает сам, либо запрашивает другие серверы имен до получения ответа. Обычные DNS-серверы принимают все ответы на запросы — хоть ответственные, хоть неответственные; с другой стороны, корневые DNS-серверы принимают только ответственные отклики, чем обеспечивают достоверность данных, которые передают DNS-серверам, находящимся ниже в иерархии доменных имен.
□	Структура DNS-пакетов содержит информацию о типе, с помощью которой идентифицируется вид передаваемых записей ресурсов, характеризуется содержимое записей и их достоверность. Если разобраться в структурах пакетов Прикладного уровня DNS, становится намного проще оценить простоту и изящество самой системы DNS.
Основные термины
BIND (Berkley Internet Name Domain, служба доменных имен в сети Internet) — BIND на сегодняшний день является наиболее распространенной в сети Internet реализацией программного обеспечения DNS-сервера. Исходно была частью операционной системы BSD UNIX 4.3, но сегодня существуют реализации BIND почти для всех платформ, включая Windows NT и Windows 2000.
HOSTS — специальный текстовый файл с перечнем известных доменных имен и соответствующих им IP-адресов, представляющий собой статический метод разрешения доменных имен. До создания DNS файлы HOSTS были единственным средством разрешения имен , в сети ARPANET — предшественнице Internet.
IP-спуфинг (IP spoofing) — методика, посредством которой программист создает IP-пакет, в котором полномочия доменного имени отличаются от IP-адреса, указанного в заголовке пакета. IP-спуфинг часто используется при
Служба доменных имен — DNS
425
незаконных попытках проникновения; кроме того, он применяется при попытках злоумышленников выдать себя за полномочных пользователей или фальсифицировать происхождение пакетов. См. Спуфинг.
NSLOOKUP - широко распространенная утилита, работающая из командной строки и обеспечивающая возможности DNS-поиска и отчета о его результатах. Приставка "NS" в названии этой утилиты расшифровывается как "сервер имен" (name server), поэтому совершенно справедливо утверждение о том, что это универсальное средство поиска на серверах имен.
Адресная запись (address record, А) — запись ресурса DNS, связывающая доменное имя с IP-адресом.
Ведущий сервер (master server) — см. Первичный DNS-cepeep.
Вторичный DNS-сервер — DNS-сервер, содержащий копию базы данных домена или субдомена, а также копии соответствующих файлов зоны. Все эти объекты он должен синхронизировать с данными, содержащимися на первичном сервере, отвечающем за данный домен или субдомен.
Вторичный ведущий сервер (secondary master server) — см. Вторичный DNS-cepeep.
Делегирование полномочий (delegation of authority) — принцип, в соответствии с которым один сервер имен поручает другому серверу имен обрабатывать некоторые или все файлы зон домена или субдоменов, находящихся в его компетенции. Запись сервера имен DNS (NS) обеспечивает механизм указания, с помощью которого серверы имен и осуществляют делегирование полномочий.
Доступность (available) — качество, подразумевающее быстрое реагирование на пользовательские запросы на службы. DNS поддерживает использование множества серверов имен и кэширование, что позволяет повысить доступность данных базы; тщательная конфигурация DNS-клиентов дает им возможность равномерно распределять запросы, таким образом выравнивая нагрузку на обработку. По сути, это делает службу DNS доступной для всех пользователей.
Древовидная структура (tree structure) — тип структуры данных, примером которого может послужить листинг содержимого жесткого диска. В этой структуре контейнер в целом служит в качестве корня, а подконтейнеры могут содержать либо другие подконтейнеры более низкого уровня, либо экземпляры любых объектов, существующих в пределах контейнера. Иерархия доменных имен представляет собой инвертированную древовидную структуру, т. к. на схемах корень обычно изображается вверху.
Запись канонического имени (canonical name record, CNAME) — запись ресурса DNS, применяемая для определения псевдонимов баз данных; в
426
Гпава 7
первую очередь это делается для того, чтобы облегчить и ускорить редактирование и управление файлами зон DNS.
Запись начала полномочий (Start Of Authority, SOA) — запись ресурса службы DNS, присутствие которой обязательно в каждом файле зоны DNS. Идентифицирует сервер (серверы), являющийся ответственным за домен или субдомен, к которому относятся файла зоны или база данных.
Запись ресурса (resource record, RR) — один из нескольких предопределенных типов записей в базе данных или файле зоны DNS.
Запись сервера имен (name server record, NS) — запись ресурса DNS, идентифицирующая серверы имен, которые являются ответственными за конкретный домен или субдомен. Часто используется как механизм делегирования полномочий на субдомены DNS, находящиеся на более низком уровне иерархии доменных имен.
Запись указателя (pointer record, PTR) — запись ресурса DNS, применяемая для привязки числовых IP-адресов к доменным именам при выполнении операций обратного поиска.
Запись хорошо известных служб (Well-Known Services record, WKS) — запись ресурса DNS, описывающая хорошо известные IP-службы, присутствующие на хосте (например, Telnet, FTP и др.). Сегодня записи WKS намного менее доступны для посторонних, чем они когда-то были, т. к. в них содержится информация о хостах, которые потенциально могут стать жертвами атаки.
Запись хостовой информации (host information record, HINFO) — запись ресурса DNS, в которой содержится информация об определенном хосте, который обозначается его доменным именем.
Запрос адреса (address request) — запрос службы DNS для получения IP-адреса, соответствующего данному доменному имени.
Запрос имени (name query) — обратный DNS-запрос, направленный на получение доменного имени исходя из соответствующего числового IP-адреса.
Зона (zone) — часть иерархии доменных имен, соответствующая сегменту базы данных, который управляется одним или несколькими серверами имен.
Иерархия доменных имен (domain name hierarchy),— глобальное пространство доменных имен, управляемое в сети Internet службой DNS. В это пространство входят все зарегистрированные и активные (т. е. действительные и годные к употреблению) доменные имена.
Итеративный запрос (iterative query) — DNS-запрос, направленный одному конкретному DNS-серверу и ограничивающийся любым ответом, будь то точный ответ, сообщение об ошибке, "нулевой" ответ (без предоставления информации) или ссылка на другой сервер имен.
Служба доменных имен — DNS
427
Корень (root) — высший уровень иерархии доменных имен; в обозначении полностью определенных имен доменов корень представляется точкой на конце. Корневые DNS-серверы связывают вместе все разнообразные компоненты иерархии доменных имен и обеспечивают разрешение имен, если другими средствами оно неосуществимо.
Кэширование (caching) — хранение локальных копий удаленной информации после ее первоначального получения; в результате доступ к ней осуществляется намного быстрее. Данные DNS кэшируются как распознавателями, так и серверами, что позволяет снизить частоту издания удаленных запросов на разрешение.
Кэширующий сервер (caching server) — DNS-сервер, хранящий действительные пары имен и адресов, поиск которых уже производился, наряду с выявленными недействительными адресами и именами. Кэшировать данные может любой DNS-сервер: первичный, вторичный и специальный кэширующий.
Многоканальный (multi-homed) — содержащий множество сетевых интерфейсов, которые можно подсоединить к различным подсетям.
Неответственный отклик (non-authoritative response) — информация, содержащая имя, адрес или запись ресурса, пришедшая с DNS-сервера, который не является ответственным за запрашиваемую зону DNS (подобные отклики исходят из кэшей таких серверов).
Нерекурсивный запрос (non-recursive queries) — слг. Итеративный запрос.
Обратный DNS-запрос (inverse DNS query) — DNS-запрос, требующий преобразования IP-адреса в соответствующее ему доменное имя. Обратные запросы часто используются для дополнительной проверки личности пользователей, чтобы гарантировать соответствие представляемых ими доменных имен IP-адресам, указываемым в заголовках отсылаемых ими пакетов. См. также IP-спуфинг и спуфинг.
Обратный DNS-поиск (reverse DNS lookup) — см. Обратный DNS-запрос.
Ответственный отклик (authoritative response) — ответ на запрос, поступив-, ший от сервера имен, который является ответственным за зону, в которой расположено запрошенное имя или адрес.
Ответственный сервер (authoritative server) — DNS-сервер, являющийся ответственным за одну или несколько определенных зон в базе данных DNS.
Отказное кэширование (negative caching) — методика хранения сообщений об ошибках в локальном кэше. В результате применения этой методики обеспечивается возможность более оперативных ответов на запросы, для которых ранее возвращались сообщения об ошибках. Скорость таких ответов существенно выше, чем в ситуации отсылки запроса на другой сервер имен DNS.
428
Гпава 7
Первичный DNS-сервер — сервер имен, ответственный за конкретный домен или субдомен, и обеспечивающий сохранность соответствующего сегмента базы данных DNS (а также связанных с ним файлов зоны).
Первичный ведущий сервер (primary master server) — см. Первичный DNS-сервер.
Подчиненный сервер (slave server) — см. Вторичный DNS-cepeep.
Полностью определенное доменное имя (Fully Qualified Domain Name, FQDN) — специальное доменное имя, заканчивающееся точкой, которая обозначает корень иерархии доменных имен. Применение FQDN необходимо в записях ресурсов DNS типов А (запись адреса) и PTR (запись указателя).
Почтовая запись (mail exchange record, MX) — запись ресурса DNS, применяемая для идентификации доменного имени почтового сервера, управляющего каким-либо конкретным доменом или субдоменом или маршрутизирующего почтовый трафик от одного почтового сервера к другому, пока почта находится в процессе передачи от отправителя к получателю.
Разрешение доменных имен (domain name resolution) — процесс, в ходе которого служба DNS преобразует доменное имя в соответствующий числовой 1Р-адрес.
Разрешение имен (name resolution) — см. Разрешение доменных имен.
Распознаватель (resolver) — см. Распознаватель имен.
Распознаватель имен (name resolver) — программный компонент, работающий на стороне клиента, обычно входящий в состав стека TCP/IP и ответственный за издание DNS-запросов для приложений, а также передачу любых ответов, приходящих этим приложениям.
Рекурсивный запрос (recursive query) — тип DNS-запроса, действующий до получения определенного ответа, который может представлять собой преобразование имени в адрес, содержимое запрошенной записи (записей) ресурса или сообщение об ошибке. Клиенты издают рекурсивные запросы своим назначенным серверам имен, а те, в свою очередь, издают итеративные запросы, направляя их другим серверам имен, делая это вплоть до разрешения исходного рекурсивного запроса.
Сегмент базы данных (database segment) — см. Сегмент базы данных DNS.
Сегмент базы данных DNS (DNS database segment) — отдельное автономное подмножество данных из иерархии имен и адресов DNS. Сегмент базы данных DNS обычно соответствует зоне такой базы данных и хранится в коллекции взаимосвязанных файлов зон. См. также Зона и файл зоны.
Служба доменных имен — DNS
429
Специальный кэширующий сервер (caching-only server) — DNS-сервер, не располагающий первичными и вторичными базами данных зон; применяется исключительно для кэширования уже разрешенных доменных имен и адресов, а также хранения сопутствующей информации об ошибках.
Спуфинг (spoofing) — спуфинг происходит, когда входящий IP-трафик демонстрирует несоответствия в адресации. Спуфинг адресов происходит, когда внешний интерфейс передает трафик, выдавая его за внутренний, или когда пользователь представляет IP-адрес, который не соответствует доменному имени. Спуфинг доменных имен происходит, когда обратный поиск IP-адреса не соответствует доменному имени, от которого, как утверждается, исходит трафик.
Субдомен (subdomain) — именованный элемент в пределах отдельного доменного имени. Обозначается дополнительным именем и точкой перед родительским доменным именем. Таким образом, clearlake.ibm.com является субдоменом по отношению к домену ibm.com.
Текстовая запись (ТХТ) — запись ресурса DNS, которая может содержать произвольные текстовые данные в формате ASCII. Эти данные часто используются для описания сегмента базы данных DNS, находящихся в ней хостов и т. п.
Технология распределенных баз данных (distributed database technology) — база данных, управляемая несколькими серверами баз данных, каждый из которых несет ответственность за определенную часть глобальной базы. Чрезвычайно эффективно эта технология применяется в системе DNS.
Устойчивость (robust) — состояние готовности к использованию практически в любых условиях. Служба DNS позволяет нескольким серверам имен отвечать на запрос, касающийся одного и того же сегмента базы данных; в результате повышаются шансы на то, что хотя бы один из этих серверов будет в состоянии предоставить ответ. Именно по этой причине большинство экспертов по DNS рекомендуют установку в каждой зоне хотя бы одного вторичного DNS-сервера в дополнение к обязательному первичному. Доступ к резервным копиям базы данных DNS делает эту систему чрезвычайно устойчивой.
Файл данных зоны (zone data file) — любой из нескольких файлов, в которых в статическом виде хранится информация из базы данных службы DNS. Эта информация необходима во время отключения DNS-сервера, а также при запросе синхронизации данных на вторичном сервере DNS с базой данных на первичном сервере.
Файл зоны (zone file) — см. Файл данных зоны.
430
Гпава 7
Контрольные вопросы
1.	Какой метод разрешения имен использовался в сети Internet до создания системы DNS?
а)	динамическое разрешение имен;
б)	статическое разрешение имен;
в)	активное разрешение имен;
г)	пассивное разрешение имен.
2.	Как называется файл, содержащий информацию о соответствиях имен адресам?
a)	LMHOSTS;
б)	ZONEINFO;
в)	Root.dns;
г)	HOSTS.
3.	Как называется самая распространенная в сегодняшней сети Internet реализация DNS-сервера?
a)	EasyDNS;
б)	BIND;
в)	WinDNS;
г)	JEEVES.
4.	Какие из следующих характеристик отражают реальные качества службы DNS? (Выберите все подходящие ответы.)
а)	локальное управление сегментами баз данных доменных имен;
б)	назначение дополнительных вторичных серверов имен и обязательных первичных серверов имен;
в)	информация из всех сегментов баз данных доступна всем;
г)	информация, содержащаяся в базах данных, чрезвычайно устойчива и доступна;
д)	требует внедрения системы управления реляционными базами данных (такой, как Oracle или Sybase).
5.	В иерархии доменных имен все домены сходятся на корневом уровне. Да или нет?
а)	да;
б)	нет.
Служба доменных имен — DNS	431
6.	Доменные имена верхнего уровня — это двух- или трехбуквенные коды стран, а также коды организаций, такие как .com, .edu и .org. Да или нет?
а)	да;
б)	нет.
7.	Как называется процесс, в ходе которого DNS-сервер, находящийся выше в иерархии доменных имен, передает ответственность за части всемирной базы данных DNS-серверам, находящимся ниже в этой иерархии?
а)	подчиненность полномочий;
б)	консолидация баз данных;
в)	делегирование полномочий;
г)	сегментация базы данных.
8.	Какие записи ресурсов службы DNS позволяют использовать полностью определенные имена доменов? (Выберите все подходящие ответы. Если сомневаетесь, ознакомьтесь с содержанием документа RFC 1035.)
а)	А (адресная запись);
б)	SOA (запись начала полномочий);
в)	PTR (запись указателя);
г)	MX (почтовая запись);
д)	все вышеперечисленные.
9.	Какая запись ресурса службы DNS используется для создания псевдонимов доменных имен?
а)	А (адресная запись);
б)	SOA (запись начала полномочий);
в)	PTR (запись указателя);
г)	MX (почтовая запись);
д)	CNAME (запись канонического имени).
10.	Какая запись ресурса службы DNS находится в начале каждого файла DNS?
а)	А (адресная запись);
б)	SOA (запись начала полномочий);
в)	PTR (запись указателя);
г)	MX (почтовая запись);
д)	CNAME (запись канонического имени).
432
Гпава 7
11.	Какая запись ресурса службы DNS делает возможным выполнение операций обратного поиска DNS?
а)	А (адресная запись);
б)	SOA (запись начала полномочий);
в)	PTR (запись указателя);
г)	MX (почтовая запись);
д)	CNAME (запись канонического имени).
12.	Какая запись ресурса службы DNS определяет соответствие доменных имен IP-адресам?
а)	А (адресная запись);
б)	SOA (запись начала полномочий);
в)	PTR (запись указателя);
г)	MX (почтовая запись);
д)	CNAME (запись канонического имени).
13.	Любой DNS-сервер может также исполнять роль специального кэширующего сервера. Да или нет?
а)	да;
б)	нет.
14.	Основное преимущество кэширования данных службы DNS состоит в следующем:
а)	увеличение скорости выполнения поиска;
б)	сокращение удаленного сетевого трафика;
в)	выравнивание нагрузки DNS-серверов;
г)	усиление надежности сервера.
15,.	DNS-сервер, являющийся первичным для одной зоны базы данных DNS, может одновременно исполнять роль вторичного для другой зоны. Да или нет?
а)	да;
б)	нет.
16.	Каково минимальное и максимальное количество первичных серверов баз данных для любой отдельно взятой зоны базы данных DNS?
а)	1;
б)	2;
в)	4;
Служба доменных имен — DNS 433
г)	8;
Д) 16.
17.	В каждой зоне базы данных DNS обязательно наличие одного или нескольких вторичных DNS-серверов. Да или нет?
а)	да;
б)	нет.
18.	Организации какого типа или размера более всех остальных выигрывают от установки специального кэширующего DNS-сервера? (Выберите все подходящие ответы.)
а)	небольшие;
б)	средние;
в)	крупные;
г)	поставщики услуг сети Internet.
19.	Данные какого типа чаще всего содержатся в ответах на любые DNS-запросы?
а)	инструкции по переадресации;
б)	записи ресурсов DNS;
в)	предупреждения о ложных адресах;
г)	сообщения об ошибках.
20.	Какая из следующих последовательностей запросов характерна для операций поиска DNS?
а)	итеративные, затем рекурсивные;
б)	рекурсивные, затем итеративные;
в)	статические, затем динамические;
г)	динамические, затем статические.
21.	Почему "все DNS-запросы имен заканчиваются в корне"?
а)	на корневом уровне содержится копия всемирной базы данных DNS;
б)	корень может обращаться к любым серверам имен, ответственным за любые сегменты базы данных;
в)	любой DNS-сервер может в любое время обращаться к корневому серверу;
г)	чтобы корень иерархии доменных имен не был перегружен запросами, существует множество корневых серверов.
15 Зак. 321
434
Гпава 7
22.	При использовании утилиты NSLOOKUP ответственный отклик:
а)	явно обозначается;
б)	доступен только в том случае, если для выполнения поиска явно определен ответственный сервер;
б)	доступен только по требованию посредством опции -а;
в)	подразумевается, если в ответе отсутствует метка "неответственный отклик".
23.	В процессе исходной конфигурации и установки любого DNS-сервера в его кэш необходимо вносить записи ресурсов, относящиеся к корневым DNS-серверы. Да или нет?
а)	да;
б)	нет.
24.	Представление ложного IP-адреса или доменного имени при попытке незаконной передачи или вторжения в систему называется:
а)	1Р-имитация;
б)	IP-перевоплощение;
в)	1Р-спуфинг;
г)	ложная IP-информация.
25.	Для локального хоста и адреса обратной связи 127.0.0.0 и 127.0.0.1 файлы DNS создавать необязательно, поскольку эта пара "домен-адрес" является предопределенной. Да или нет?
а)	да;
б)	нет.
Практические задания
Задание 7.1
При выполнении этого задания вы ознакомитесь с процессом установки программного обеспечения сервера DNS, входящего в поставку всех серверных (Server) версий операционной системы Windows 2000. Сама по себе инсталляция этого программного обеспечения не представляет сложности, но его конфигурация — это отдельный предмет обсуждения, и она рассматривается в задании 7.2.
Установка программного обеспечения сервера DNS
1.	Чтобы открыть окно Сеть и удаленный доступ к сети (Network and Dial-up Connections), выберите Пуск (Start) > Настройка (Settings) > Сеть и уда
Служба доменных имен — DNS
435
ленный доступ к сети (Network and Dial-up Connections), а затем выберите пункт Дополнительные сетевые компоненты (Optional Networking Components) в меню Дополнительно (Advanced). (В зависимости от настроек системы, возможно, вам потребуется щелкнуть правой кнопкой мыши по пункту Сеть и удаленный доступ к сети (Network and Dial-up Connections), а затем выбрать пункт контекстного меню Open.)
2.	Щелкните на записи Сетевые службы (Networking Services) в списке Компоненты (Components) и нажмите кнопку Состав (Details). В результате откроется окно Сетевые службы (Networking Services).
3.	Установите флажок слева от записи DNS (Domain Name System (DNS)) в списке Сетевые службы - состав (Subcomponents of Networking Services) окна Сетевые службы (Networking Services), показанного на рис. 7.10, и нажмите кнопку ОК.
s Щтдаегые все: дстанавлнраемйе компоненты. Затененный-^ чаётйчфю Дстайбвйу коМпоненга’ BScrtrrt.- АоДойав'пбзвЬЖетсднбймен
OgDHCP	0,0 МБ А,
DNS J
1.1МБ
. I jLJWINS (Windows Internet Name Service)
i j Прокси СОМ-служб Интернета
l N5J Простые службы TCP/IP
LI jJJI Служба контроля допуска QoS
ss LJ tU Служба проверки подлинности в Интернете
И Шиижуй
ЯОпймнйё: ’ Устанавливает DNS-сервер й отвечает на запросы й обновления для У-:: .....................................
0,9 МБ
0,0 МБ
0,0 МБ 0,0 МБ 0,0 МБ
(фтрбЖМаИИ Свободно да диске:
Айв
Рис. 7.10. Окно Сетевые службы с выделенной записью DNS
4. Нажмите кнопку Далее (Next). Появится сообщение, извещающее о необходимости вставки диска в дисковод с операционной системой Windows 2000 Server. Вставьте этот диск, и оставшаяся часть процесса установки будет выполнена автоматически. Закройте все открытые окна. Переходите к заданию 7.2.
-
436
Гпава 7
Задание 7.2
При выполнении этого задания вы завершите процесс установки служб DNS операционной системы Windows 2000, настроив первичный и вторичный ведущие серверы для определенного сегмента базы данных службы DNS.
Конфигурация первого DNS-сервера в сети Windows 2000
1.	Выберите Пуск (Start) > Программы (Programs) > Администрирование (Administrative Tools) > DNS (DNS), чтобы открыть пульт управления DNS.
2.	Выделите имя вашего сервера, а затем выберите пункт Настроить сервер (Configure the server) в меню Действие (Action). Нажмите кнопку Далее (Next).
3.	В появившимся окне Мастер настройки DNS-сервера (Configure DNS Server Wizard) нажмите кнопку Далее (Next), а в следующем окне установите переключатель в положение Это первый DNS-сервер в этой сети (This is the first DNS server on this network) и нажмите кнопку Далее (Next).
4.	В окне Мастер настройки DNS-сервера — Зона прямого просмотра (Configure DNS Server Wizard — Forward Lookup Zone) установите переключатель в положение Да, создать зону прямого просмотра (Yes, create а forward lookup zone), как это показано на рис. 7.11, и нажмите кнопку Далее (Next).
Зона прямого просмотра
Можно создать одну или более зон прямого просмотра сейчас или, используя мастер создания зоны, позже.
Зона прямого просмотра -это.база данных отображений имен и адресов,  которая поЙРгаеЖбйпрйтерампрйбразовыв^ дрдЬотйвдррйацЖйй®
0(№(®®^аваЖ^(й)'прМ а
< Назад | Далее > ------1------------------ 11111 ............... , "ГПГЯ1"‘"|Т
Рис. 7.11. Окно Мастер настройки DNS-сервера — Зона прямого просмотра
Служба доменных имен — DNS
437
5.	В окне Мастер создания новой зоны — Тип зоны (New Zone Wizard — Zone Type) выберите переключатель Основная (Standard Primary) и нажмите кнопку Далее (Next).
6.	В окне Мастер создания новой зоны — Имя зоны (New Zone Wizard — Zone Name) введите имя зоны (например, mydomainl.com), за которую данный сервер будет нести ответственность, а затем нажмите кнопку Далее (Next).
7.	В следующем окне Мастер создания новой зоны — Файл зоны (New Zone Wizard — Zone File) (рис. 7.12) выберите имя по умолчанию или укажите другое имя, а затем нажмите кнопку Далее (Next).
Мастер создания новой зоны
а
Файл зоны
Можно создать новый Файл зоны или использовать Файл, скопированный с другого компьютера.
, Создать новый файл зоны или .скопировать существующий с другого
SB Irnydomainl.com.dns^ВВ-®ВВВ'
-С СкопирбветыимёюЩийсяФайлг,
Для использования существующего файла, необходимо предварительно 'сКрпиррватЬ 'егё в папку %Syst0mRppU\system32\dns:Ha сервере, на котором
< Назад Далее >	- Отмена
Рис. 7.12. Окно Мастер создания новой зоны — Файл зоны
8.	В окне Мастер настройки DNS-сервера — Обратный просмотр (Configure DNS Server Wizard — Reverse Lookup Zone) установите переключатель в положение Да, создать зону обратного просмотра (Yes, create a reverse lookup zone) и нажмите кнопку Далее (Next).
9.	В окне Мастер создания новой зоны — Тип зоны (New Zone Wizard — Zone Type) выберите переключатель Основная (Standard Primary) и нажмите кнопку Далее (Next).
438
Гпава 7
8римечание
Действительно, некоторые страницы мастера имеют одинаковые названия. Следуйте инструкциям как можно точнее; если сомневаетесь, посоветуйтесь с преподавателем или лаборантом.
10.	В окне Мастер создания новой зоны — Обратный просмотр (New Zone Wizard ~ Reverse Lookup Zone) укажите сетевой идентификатор адресов, которые должны быть разрешены посредством этого обратного поиска. В принципе, можно выбрать предопределенное имя зоны обратного поиска, но делать это не рекомендуется. Нажмите кнопку Далее (Next).
11.	В окне Мастер создания новой зоны — Файл зоны (New Zone Wizard —-Zone File) выберите имя по умолчанию или укажите другое имя, а затем нажмите кнопку Далее (Next).
12.	На экране сводки будут показаны все выбранные настройки, назначенные для выполнения. Нажмите кнопку Готово (Finish).
Создание дополнительных зон.
1.	Выберите папку Зоны прямого просмотра (Forward Lookup Zone) под именем DNS-сервера, а затем выберите пункт Создать новую зону (New Zone) в меню Действие (Action).
2.	В открывшемся окне Мастер создания новой зоны (New Zone Wizard) нажмите кнопку Далее (Next).
3.	В окне Мастер создания новой зоны — Тип зоны (New Zone Wizard — Zone Type) выберите переключатель Основная (Standard Primary), а затем нажмите кнопку Далее (Next).
4.	В окне Мастер создания новой зоны — Имя зоны (New Zone Wizard — Zone Name) введите имя зоны (например, inydomain2.com), за которую данный сервер будет нести ответственность, а затем нажмите кнопку Далее (Next).
5.	В окне Мастер создания новой зоны — Файл зоны (New Zone Wizard — Zone File) выберите имя по умолчанию или укажите другое имя, а затем нажмите кнопку Далее (Next).
6.	На экране сводки будут показаны все выбранные настройки, назначенные для выполнения. Нажмите кнопку Готово (Finish).
7.	Закройте все открытые окна.
Задание 7.3
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows, процесс установки которой описывается в задании 1.1 главы!.
Служба доменных имен — DNS
439
Кроме того, для выполнения этого задания вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
Исследование структуры DNS-пакета
1.	Запустите программу EtherPeek for Windows, следуя инструкциям из задания 1.2 главы 1.
2.	Выберите в меню программы File > Open.
3.	Откройте файл трассировки dns-moviefone.pkt в папке \Course Technol-ogy\ 18654-2\Ch7 на сопровождающем книгу компакт-диске. В этом файле содержится 14 пакетов.
4.	В столбце Protocol указывается, что первые два пакета относятся к протоколу UDP, а последующие пакеты — к протоколу TCP. Дважды щелкните на первом пакете в файле трассировки dns-moviefone.pkt. Ответьте на следующие вопросы об этом пакете № 1 (Packet #1).
а)	Этот пакет является DNS-запросом или DNS-ответом?
б)	Требует ли DNS-клиент издания рекурсивных запросов?
в)	Каков тип и класс запроса в этом DNS-пакете?
5.	Нажмите кнопку Decode Next (стрелка вправо), чтобы просмотреть пакет № 2 (Packet #2). Ответьте на следующие вопросы об этом пакете.
а)	К какому типу относится этот DNS-пакет?
б)	Содержится ли в этом пакете сжатая информация? Если да, то каково смещение искомого несжатого доменного имени?
в)	Какой IP-адрес хоста соответствует доменному имени moviefone.com?
г)	Сколько записей присутствует в каждом из следующих полей пакета?
•	Question (запрос):;
® Answer (ответ):;
•	Authority (полномочия):;
® Additional (дополнительная информация):.
6.	Закройте окно расшифровки пакета, а также окно самого пакета. Если вы не собираетесь сразу переходить к следующему заданию, закройте окно демо-версии программы EtherPeek for Windows.
Задание 7.4 
Редактирование DNS-фильтра, захватывающего весь трафик DNS
1.	Запустите программу EtherPeek for Windows, следуя инструкциям из задания 1.2 главы 1.
440
Глава 7
2.	Выберите View > Filters в строке меню. В результате откроется окно Filters. Помимо множества фильтров, входящих в поставку программы EtherPeek, в списке присутствует фильтр IP-адресов, созданный вами в ходе выполнения одного из предыдущих заданий. DNS-фильтр, присутствующий в списке, относится к протоколу UDP — он не осуществляет захват DNS-трафика, передаваемого посредством протокола TCP, хотя иногда (особенно при передаче зон) используется именно этот протокол. Следующие шаги позволят вам создать DNS-фильтр, который при захвате всего трафика DNS будет исходить из номера порта, а не из типа передачи.
3.	Нажмите кнопку меню Edit и выберите пункт Insert. Появится окно Edit Filter.
4.	Введите dns by Port в поле Filter окна фильтра.
5.	Чтобы задействовать фильтрацию на основе порта, установите флажок Port filter.
6.	В поле со списком Port 1 введите 53. Это номер порта, применяемый для передачи данных службы DNS. Значение представлено в десятичной системе.
Рис. 7.13. Создание DNS-фильтра, работающего на основе значений номеров портов, а не типа транспорта
Служба доменных имен — DNS 441
7.	Нажав кнопку, расположенную под списком Туре, выберите режим Both directions. Этим вы выказываете заинтересованность во входящем и исходящем DNS-трафике.
8.	Установите переключатель Port 2 в положение Any port. Чтобы задействовать новые настройки фильтра, нажмите кнопку ОК.
9.	Откройте фильтр DNS by Port. Обратите внимание, что программа EtherPeek вместо указанного вами порта 53 подставила слово domain; следовательно, она определила, что этот номер порта принадлежит службе доменных имен. Ваш фильтр должен выглядеть так, как показано на рис. 7.13.
10.	Нажмите кнопку Cancel. Закройте окно Edit Filter.
Захват и исследование DNS-трафика
Для выполнения этого задания необходимо, чтобы вы создали и сохранили DNS-фильтр в соответствии с инструкциями, данными в задании 4.2 главы 4.
1.	Нажмите кнопку Capture в стоке меню, а затем нажмите Start Capture.
2.	Для принятия настроек буфера захвата (Capture Buffer Options) нажмите кнопку ОК.
3.	Перейдите на вкладку Filters. Двойным щелчком откройте фильтр Му 1Р Address. При необходимости воссоздать этот фильтр руководствуйтесь инструкциями из задания 4.2 главы 4. Выполнение следующих шагов позволит применить этот фильтр к вашему собственному DNS-трафику.
4.	Установите флажок Address Filter (если он еще не установлен).
5.	Нажав кнопку, расположенную в области Address filter под списком Туре, выберите режим Both directions. Вам нужен входящий трафик на ваш IP-адрес и исходящий трафик с этого адреса.
6.	Для включения фильтрации на основе порта установите флажок Port filter.
7.	В поле со списком Port 1 введите 53.
8.	Нажав кнопку, расположенную под полем Туре, выберите режим Both directions.
9.	Установите переключатель Port 2 в положение Any port.
10.	Чтобы задействовать ваш новый фильтр, нажмите кнопку ОК. Теперь фильтр будет захватывать все входящие и исходящие Пакеты, в которых в поле Source Port Number (номер порта источника) или Destination Port Number (номер порта назначения) будет установлено значение 53. Дважды щелкните на этом фильтре. Он должен выглядеть так, как показано на рис. 7.14.
11.	Нажмите кнопку Cancel, чтобы закрыть окно Edit Filter.
442
Гпава 7
Рис. 7.14. Создание DNS-фильтра только для собственного трафика
12.	Для тестирования фильтра перейдите на вкладку Packets, а затем нажмите кнопку Start Capture.
13.	Запустите ваш Web-браузер и быстро зайдите на следующие сайты: www.iana.org;
www.packet-level.com;
www.ietf.org;
www.cisco.com.
14.	Закончив с сайтами, нажмите сочетание клавиш <Alt>+<Tab> столько раз, сколько необходимо для возврата к окну программы EtherPeek. Нажмите кнопку ОК. Теперь весь ваш DNS-трафик приведен в окне Capture.
15.	Закройте демо-версию программы EtherPeek for Windows, а также ваш Web-браузер.
Задание 7.5
Выполнив это задание, вы научитесь устанавливать специальный кэширующий сервер в среде Windows 2000. Так как специальный кэширующий сервер не является ответственным за какие-либо зоны, а кэширование осуществляется всеми DNS-серверами Windows, условия установки такого сервера
Служба доменных имен — DNS
443
чрезвычайно просты, особенно по сравнению с первичным и вторичным ведущими серверами имен.
Конфигурация специального кэширующего сервера
1.	Выполните все действия, необходимые для установки программного обеспечения DNS-сервера (соответствующие инструкции даются в задании 7.1).
2.	Выберите Пуск (Start) > Программы (Programs) > Администрирование (Administrative Tools) > DNS (DNS).
3.	Выберите DNS (DNS).
4.	В меню Действие (Action) выберите пункт Подключение к компьютеру (Connect to Computer). В результате появится окно Выбор целевого компьютера (Select Target Computer).
5.	Выберите переключатель этот компьютер (This Computer), а затем нажмите кнопку ОК.
6.	Выберите имя сервера.
7.	В меню Действие (Action) выберите пункт Свойства (Properties).
8.	Перейдите на вкладку Корневые ссылки (Root Hints).
9.	Убедитесь в том, что перечисленные корневые подсказки правильны, а затем нажмите кнопку ОК.
10.	Закройте все открытые окна.
Учебные задачи
1.	Предположим, что штат корпорации XYZ составляет 40 000 человек, у каждого из которых есть собственный IP-адрес. В корпорации действует 400 серверов, включая почтовые (SMTP и POP3), FTP-, Web- и DHCP-серверы. Серверы расположены в двух местах: Манчи, Индиана и Хартфорде (20 км от Манчи). Два этих пункта, в каждом из которых сосредоточено примерно по половине всех служащих и серверов, соединяются двойными каналами Т1 общей пропускной способностью в 3,088 Мбит/с. В силу сложившихся обстоятельств в каждом из этих пунктов существует множество отдельных подсетей в рамках одного адреса класса В, принадлежащего компании. Приведите доводы в пользу установки единого DNS-сервера для каждого пункта, объяснив, как один из них сможет поддерживать другого, и изложите преимущества, которыми в результате этой операции смогут воспользоваться пользователи корпорации XYZ. Объясните, как можно сопоставить относительную скорость локальных сетей стандарта lOOBaseT, используемых в обоих пунктах, с подключением к каналу глобальной сети между этими пунктами.
444
Глава 7
2.	Изложите характеристики структуры связи и потока трафика TCP/IP, делающие специальные кэширующие серверы чрезвычайно полезными для поставщиков доступа в Internet. Формулируя ваш ответ, учитывайте то, каким образом IP-клиенты подсоединяются к большинству поставщиков, и какова конфигурация их стеков TCP/IP.
3.	Объясните, почему в сетевой IP-среде имеет смысл использовать как минимум два сервера имен. Учитывайте следующие факторы, которые могут повлиять на количество серверов имен в типичной корпоративной объединенной сети.
« Если серверы имен напрямую доступны в каждой сети или подсети в пределах локальной объединенной сети, маршрутизаторы не являются точками потенциального возникновения неисправностей. Кроме того, имейте в виду, что лучше всего размещать службы DNS на многоканальных хостах, т. к. они могут напрямую обслуживать все подсети, к которым подключены.
•	В среде, в которой бездисковые узлы или сетевые компьютеры для доступа к сети и файлам пользуются сервером, установка сервера имен на этом сервере делает службу DNS напрямую доступной всем таким машинам.
•	Там, где есть машины, работающие в режиме разделения времени (например, универсальные машины, терминальные серверы или "кустовые" компьютеры), ближайший DNS-сервер может сгружать службы имен с таких машин, при этом обеспечивая приемлемое время ответа и обслуживания.
•	Функционирование дополнительного сервера имен в стороннем пункте (а именно — на узле поставщика услуг сети Internet, у которого ваша организация покупает доступ в Internet) позволяет обеспечить доступность данных DN S даже тогда, когда ваш Internet-канал выходит из строя или когда локальные серверы имен недоступны. Удаленный вторичный сервер имен представляет собой прекрасное средство резервирования, помогающее гарантировать надежность данных DNS.
Учитывая всю приведенную выше информацию, а также тот факт, что в корпорации XYZ есть по три подсети и по одному крупному "кустовому" терминальному серверу в каждом пункте, объясните, как в сетевой среде этой корпорации могло бы существовать 9 серверов имен.
Глава 8
Протокол DHCP
После прочтения этой главы и выполнения упражнений вы сможете:
□	ориентироваться в базовых службах, предлагаемых протоколом DHCP своим клиентам;
□	узнать происхождение и историю протокола DHCP;
□	описать основные программные компоненты, делающие возможным функционирование протокола DHCP;
□	понимать специфику управления IP-адресами с помощью протокола DHCP;
□	читать основные типы DHCP-сообщений и разбираться в их содержимом;
□	разбираться в базовых настройках служб протокола DHCP и осуществлять их конфигурацию.
Если бы какая-нибудь служба или протокол Прикладного уровня TCP/IP претендовала на звание "лучшего друга сетевого администратора TCP/IP", такой службой, несомненно, стала бы DHCP. Дело в том, что протокол DHCP освобождает администраторов от изнурительного труда, связанного с ручным управлением IP-адресами и подразумевающего конфигурацию каждой типичной клиентской машины, а также отслеживание того, какой IP-адрес используется каждой машиной (или интерфейсом, или многоканальной системой).
Протокол DHCP позволяет каждому клиентскому компьютеру, у которого отсутствует IP-адрес, запросить его у любого ожидающего DHCP-сервера. Помимо обеспечения годных к употреблению IP-адресов, DHCP поставляет клиентам необходимую конфигурационную информацию, сообщая им адреса их IP-шлюзов, адресов одного или нескольких DNS-серверов для разрешения доменных имен, и тому подобные данные. Кроме того, протокол DHCP заведует распределением адресов во времени, так что группа компьютеров, превышающая какой-либо конкретный диапазон IP-адресов, может совместно использовать этот диапазон, и при этом имеет возможность доступа в сеть и в Internet.
446
Глава 8
Введение в DHCP
DHCP — это сетевая служба и протокол Прикладного уровня TCP/IP, позволяющие сетевым администраторам настраивать серверы таким образом, чтобы они осуществляли распределение и управление группами IP-адресов рабочих станций, настольных компьютеров и других клиентских машин, не требующих присвоения фиксированных IP-адресов. В отсутствие динамической службы DNS (которая может автоматически передавать информацию об изменениях в распределении IP-адресов в иерархию DNS, не нуждаясь в ручных обновлениях базы данных) и для "важных публичных присутствий" (например, общедоступных серверов и служб Web, FTP и электронной почты) многим серверам требуются IP-адреса, которые если меняются, то только в случае серьезной необходимости. Другие, менее публичные хосты (а именно, настольные клиентские системы) также обслуживаются службой DHCP.
Кроме того, DHCP может предоставлять клиентам важную информацию, касающуюся конфигурации протокола IP, включая маску подсети, адрес локального IP-шлюза (маршрутизатора) и даже, если в этом есть необходимость, данные служб DNS и WINS. Собственно говоря, основное назначение протокола DHCP состоит в том, чтобы обеспечить администрирование конфигурационных данных и присвоение клиентам IP-адресов посредством центрального сервера, не принуждая сетевых администраторов вручную настраивать каждую отдельную клиентскую систему. По мере того, как организации растут и количество компьютеров, требующих администрирования, увеличивается, протокол DHCP быстро перестает быть предметом роскоши и становится необходимым инструментом.
Компания Microsoft всегда вкладывала в службу DHCP значительные средства, рассматривая ее как ключевой компонент управления конфигурационными данными протокола IP для большого количества систем. Представители Microsoft способствовали созданию документов RFC 1534, RFC 2131, RFC 2132 и RFC 2241, каждый из которых имеет принципиальное значение для описания и обеспечения работоспособности протокола DHCP. Неудивительно, что реализация протокола DHCP, созданная в компании Microsoft, поддерживает все упомянутые документы RFC и обладает высоким авторитетом.
DHCP-серверы способны управлять одним или несколькими диапазонами IP-адресов, каждый из которых можно назвать адресным пулом (address pool) (если рассматривать его как совокупность доступных адресов с возможностью присвоения тех из них, которые в данный момент не используются), или областью адресов (address scope) (как совокупность числовых IP-адресов, управляемых DHCP). В пределах каждой отдельной области IP-адресов (обычно представляемой как диапазон смежных IP-адресов) служба DHCP может выделить отдельные адреса или совокупности адресов, которые не должны распределяться между клиентскими машинами. Это позволяет
Протокол DHCP
447
DHCP координировать существующие диапазоны IP-адресов, некоторые из которых могут быть уже присвоены маршрутизаторам и серверам. По требованию клиентов служба DHCP может осуществлять распределение оставшихся неприсвоенных адресов, причем каждое такое присвоение называется выделением адреса или просто выделением.
Вот краткое изложение принципов функционирования службы DHCP с точки зрения клиента.
□ Если на клиентском компьютере выполнена конфигурация TCP/IP, единственным обязательным элементом управления остается переключатель Получить IP-адрес автоматически (Obtain an IP address automatically) (рис. 8.1). Если он выбран, то все происходит автоматически (именно этим объясняется необычайная привлекательность протокола DHCP для сетевых администраторов и прочих клиентов).
Свойства: Протокол Интернета (TCP/IP)
Параметры 1Р:мргутназначаться автоматически, если сеть , / Лс^ержИваетэТу возможность; В протйвйом'слцчаё параметры \
ийвйвнии ciiss|ISIS|IS5^
1вВЙИ®Я®И®®даийШй®®
, Предпочитаемый DNS-сервер: | 24 . 30 . 200 . 3~i о и I
 Альтернативный DNS-сервер: | 24 . 30 . 200 . 3 ;	 ч 1
вививии
чидддд^
Нв11ВИЯ118ИИ1В®ИЖ
Рис. 8.1. Включить службу DHCP в окне Свойства: Протокол Интернета (TCP/IP) невероятно просто установив переключатель Получить IP-адрес автоматически
□ В следующий раз, когда рабочая станция попытается подсоединиться к сети (старые версии Windows перед этим должны быть перезагружены), она транслирует DHCP-запрос на IP-адрес, который у нее отсутствует,
448
Гпава 8
теперь являясь DHCP-клиентом (DHCP client). Все DHCP-серверы (DHCP servers), присутствующие в том же сегменте кабеля или широковещательном домене, получат этот запрос и отправят в ответ на него сообщение, гарантируя готовность осуществить выделение адреса при наличии свободных адресов. Если в данном сегменте кабеля или широковещательном домене отсутствует DHCP-сервер, то специальный программный компонент, который в терминологии Windows называется DHCP-ретранслятором (DHCP relay agent), а в более общем смысле — ВООТР-ретра-нслятором, и который должен присутствовать в любом сегменте кабеля, не являющемся частью широковещательного DHCP-домена, осуществляет переадресацию адресного запроса на любой известный DHCP-сервер. Такие ретрансляторы можно устанавливать в системах Windows 2000 Professional или Server, а также на маршрутизаторах, подключенных к сегментам кабеля, не являющимся составными частями широковещательных DHCP-доменов. После установки ретранслятор выполняет функцию посредника между DHCP-сервером и клиентом; во всем остальном процесс выглядит следующим образом:
1.	Клиент принимает предложение о выделении адреса (обычно это первое полученное предложение) и отсылает пакет на предложивший сервер.
2.	В ответ сервер предоставляет IP-адрес на определенный период времени, после чего клиент начинает его использовать.
3.	По истечении половины периода выделения клиент пытается договориться о новом выделении. Обычно DHCP-сервер соглашается на продление, но, если он не отвечает на запрос, клиент осуществляет новые попытки в течение оставшейся части периода выделения. Только в случае, если клиенту не удается продлить период выделения до его истечения, он заново начинает процесс DHCP-запроса, возвращаясь к шагу I.
В сетях, в которых перемещение и изменение компьютеров происходит редко, а персонал стабилен, период выделения обычно продолжается от одной до трех недель. Периоды выделения от четырех до восьми часов характерны для сетей поставщиков доступа в Internet, в которых клиенты постоянно приходят и уходят. Средние периоды выделения протяженностью от одного до трех дней типичны для сетей, в которых происходит регулярная ротация временных рабочих. В Windows 2000 период выделения DHCP по умолчанию приравнивается к 8 дням, а в Windows NT — к 36 часам. Существует значительное количество DHCP-серверов для операционных систем Linux, но по крайней мере один из них использует значение выделения DHCP по умолчанию, равное 24 часам. Эти цифры могут послужить в качестве нормативов при установке ваших собственных периодов выделения на DHCP-сервере в системе Windows. Учтите, что там, где IP-адресов недостаточно, а уровень активности высок, периоды выделения обычно непродолжительны.
Протокол DHCP
449
С другой стороны, если IP-адресов много, а уровень активности низок, выделения могут длиться намного дольше, не вызывая "недостаточности адресов" (ситуации, при которой пользователю не удается получить 1Р-адрес, поскольку все наличные адреса уже распределены).
Информацию о выделении в DHCP-пакетах можно просмотреть с помощью любого анализатора, такого как EtherPeek for Windows. Подробности — далее в разд. "Стандартный процесс поиска адресов" этой главы.
Истоки DHCP
Как ни странно, протокол DHCP является расширением другого IP-протокола под названием ВООТР. Протокол ВООТР (Bootstrap Protocol, протокол загрузки) исходно предназначался для обеспечения возможности начальной загрузки бездисковых рабочих станций с программируемых постоянных запоминающих устройств (Programmable Read-Only Memory, PROM) и стираемой программируемой постоянной памяти (Erasable Programmable Read-Only Memory, EPROM), расположенной на сетевых интерфейсных платах. Запущенный код начальной загрузки выполняет жестко закодированную процедуру, которая позволяет таким машинами немедленно получать доступ к сети для загрузки данных конфигурации операционных систем и сетевой конфигурации с сервера, находящегося в другом месте в этой сети.
По сравнению со своим предшественником, протокол DHCP предоставляет значительно больше возможностей, однако форматы протоколов DHCP и ВООТР сохраняют совместимость. Таким образом, вместо использования DHCP-ретранслятора в сегменте кабеля, к которому физически не подключен ни один DHCP-сервер, можно настроить маршрутизаторы таким образом, чтобы они передавали по различным сегментам кабеля ВООТР-запросы.
Программные элементы DHCP
Сетевую среду службы DHCP определяют три программных компонента, перечисленных далее.
□ DHCP-клиент. Программное обеспечение DHCP-клиента или любое другое родственное программное обеспечение, разработанное для большинства современных операционных систем, активизируется на клиентской машине в результате выбора переключателя Получить IP-адрес автоматически (Obtain an IP address automatically) в окне Свойства: Протокол Интернета (TCP/IP) (Internet Protocol (TCP/IP) Properties), изображенном на рис. 8.1. Эта программа транслирует запросы на службу и продление выделения от имени клиента, а также оперирует адресом и конфигурационными данными, получаемыми клиентом после выделения адреса. Встроенное программное обеспечение DHCP-клиента присутствует в операционных системах Windows 9х, Windows NT, Windows 2000,
450
Гпава 8
Macintosh, Linux и UNIX. В сущности, DHCP — это оплот современных сетевых технологий.
□ DHCP-cepeep. Программное обеспечение DHCP-сервера прослушивает и отвечает на запросы клиента и ретранслятора, направленные на получение адресных служб. Кроме того, DHCP-сервер заведует адресными пулами и соответствующими конфигурационными данными. Наиболее современные DHCP-серверы (присутствующие в системах UNIX, Windows NT 4.0 начиная с обновления SP4, а также Windows 2000) могут управлять несколькими адресными пулами, в то время как старые реализации справляются только с одним пулом (Windows NT 4.0 до обновления SP4 и более старые версии Windows NT).
□ DHCP-ретранслятор. DHCP-клиенты транслируют адресные запросы в свои сегменты сети. Поскольку широковещательные сообщения обычно не проходят через маршрутизаторы, на запрос должна ответить программа, находящаяся в том же сегменте кабеля, что и клиент, иначе этот запрос будет просто проигнорирован. Следовательно, функция DHCP-ретранслятора состоит в том, чтобы перехватывать адресные запросы в локальном сегменте кабеля и преобразовывать их в однонаправленные сообщения одному или нескольким известным DHCP-серверам. Отправитель отсылает свои ответы ретранслятору, который затем, пользуясь МАС-адресом инициатора запроса, переадресовывает ответ обратно клиенту. Учтите, что почти все остальные DHCP-запросы (DHCP requests) (запросы на продление выделения или отказы) осуществляются в виде однонаправленных сообщений, поскольку с момента приобретения клиентом IP-адреса и адреса IP-шлюза по умолчанию он получает возможность прямой связи с DHCP-сервером, не нуждаясь в услугах посредника.
Типы выделения DHCP
DHCP-сервер различает три типа выделения адресов.
□	Ручное выделение. При ручном выделении адресов (manual address lease) администратор вручную явно присваивает все IP-адреса. Этот тип выделения оптимален в том случае, если вы хотите не только предоставить протоколу DHCP возможность управлять всеми IP-адресами, но и самолично контролировать все присвоения адресов. В крупных сетях это, конечно, проще, чем управлять IP-адресами на отдельных машинах, но для большинства приложений все-таки слишком трудоемко.
□	Автоматическое выделение. DHCP-сервер на постоянной основе присваивает определенные IP-адреса. В сочетании с динамическим выделением IP-адресов автоматическое выделение адресов (automatic address leases) обеспечивает возможность управления фиксированными IP-адресами серверов и маршрутизаторов наравне с динамическими адресами клиен
Протокол DHCP
451
тов. Другими словами, это позволяет DHCP-серверу контролировать все адреса в пределах сети, включая те, которые в обычных ситуациях не подлежат регулярному распределению и перераспределению, а также обычные клиентские адреса.
□	Динамическое выделение. DHCP-сервер присваивает адреса на определенные периоды времени. Динамическое выделение адресов (dynamic address lease) оптимально для распределения адресов между клиентами или другими машинами, не требующими присвоения фиксированных IP-адресов. Учитывая преобладание клиентов в большинстве сетей, этот тип выделения адресов DHCP является наиболее распространенным.
Подробнее о выделении адресов DHCP
Несмотря на то, что клиенты обычно пользуются выделенными им адресами неограниченно, они могут в любой момент отменить выделение, таким образом возвратив свои адреса в пул свободных IP-адресов, координируемый DHCP-сервером. В системах Windows (Windows 9х, NT, 2000 и более свежих версиях) команда ipconfig обеспечивает поддержку ключей /release и /renew, которые позволяют клиентам по желанию отменять или продлевать свои текущие выделения адресов DHCP. Обычно клиенты по умолчанию пытаются продлевать существующие выделения адресов, но при необходимости вы можете настроить DHCP-сервер таким образом, чтобы он отказывал в продлении выделений, или даже отменял их.
Далее приводится краткое обоснование оптимальности динамического выделения адресов.
□	Серверные адреса (а иногда и связанные службы) объявляются с помощью системы DNS, которая разрешает доменные имена в IP-адреса и IP-адреса в доменные имена.
□	Служба DNS не является динамической средой, поэтому все обновления адресов должны вводиться вручную (либо с помощью графического интерфейса в системах Windows NT и Windows 2000, либо посредством редактирования текстовых файлов в системах UNIX).
□	Клиентские адреса обычно задействуются только при необходимости разрешения адресов электронной почты типа user@domain.name. При подсоединении клиентов разрешение этой информации может производиться почтовыми серверами, так что динамическое разрешение адресов для клиентов вполне функционально. Следовательно, клиентские адреса обычно не влияют на работу службы DNS (это взаимно) и при необходимости могут изменяться.
Таким образом, неспособность старых реализаций службы DNS динамически обновлять свои записи соответствий доменных имен IP-адресам (А) и IP-адресов доменных именам (PTR) объясняет, почему протокол DHCP в
452
Гпава 8
первую очередь используется для управления клиентскими адресами. Как отмечено в главе 7, более современные версии службы DNS (включая так называемую динамическую систему DNS, или иначе, DDNS, реализованную в операционной системе Windows 2000) упрощают эту задачу, обеспечивая протоколу DHCP возможность передавать изменения соответствий имен адресам на DNS-серверы. Но даже в этом случае проблема задержи распространения информации об изменениях по всей всемирной базе данных DNS остается нерешенной, поэтому общедоступные IP-адреса (и их соответствия) изменяются в минимальной степени. На сегодняшний день лишь клиенты не испытывают трудностей при использовании динамических IP-адресов, и именно поэтому протокол DHCP остается незаменимым инструментом управления клиентскими IP-адресами.
Характерная схема IP-адресации в сети выглядит следующим образом.
□	Серверы обладают фиксированными IP-адресами, поскольку их записи службы DNS должны сохранять устойчивость. Это утверждение справедливо по отношению к серверам имен службы DNS, почтовым серверам, регистрационным хостам, файловым серверам, серверам печати и баз данных, а также любым другим серверам, содержащим ресурсы, к которым постоянно обращаются пользователи.
□	Маршрутизаторы (или IP-шлюзы, будь они маршрутизаторами или другими системами) обладают фиксированными IP-адресами, т. к. эти адреса являются ключевыми компонентами IP-конфигурации любой подсети. В аналогичной ситуации находятся все пограничные маршрутизаторы, поскольку они представляют собой пункты входа (и выхода) между внутренней и внешней сетями.
□	Клиенты применяют динамические IP-адреса, т. к. почтовый доступ посредством протоколов POP3, SMTP и IMAP4 не требует использования фиксированных адресов (разрешение происходит каждый раз при осуществлении передачи сообщения).
Понятие управления
IP-адресами с помощью DHCP
Если у DHCP-клиента отсутствует IP-адрес (такая ситуация может возникнуть при первой загрузке или после истечения периода выделения), то для его получения он должен транслировать широковещательный запрос IP-адреса — этот процесс называется DHCP-поиском (DHCP Discovery). DHCP-серверы, получившие такое сообщение широковещательного поиска (discovery broadcast), предлагают клиенту выделить IP-адрес на определенный период времени — период выделения (lease time). Продолжительность этого периода, принимаемая по умолчанию, зависит от конкретного сервера (к примеру, в системах Windows 2000 он длится восемь дней, а в Windows NT 4.0 — 36 часов).
Протокол DHCP 453
По прошествии половины периода выделения клиент запускает процесс продления (renewal process), чтобы узнать, есть ли возможность сохранить имеющийся IP-адрес после истечения текущего периода выделения. Если в течение предусмотренного периода выделения клиенту не удается пролонгировать адрес, предоставленный данным DHCP-сервером, этот клиент оказывается в ситуации необходимости запуска процесса продления адреса с помощью другого DHCP-сервера (в случае, если исходный сервер недоступен). Это называется процессом повторного присвоения (rebinding process). Если и он не завершается успехом, клиент должен полностью освободить адрес (release address).
DHCP-сообщения от клиента на DHCP-сервер отсылаются на номер порта 67 на сервере. DHCP-сообщения от сервера клиенту отсылаются на номер порта 68 клиента.
Процесс DHCP-поиска зависит от исходного широковещательного DHCP-запроса. Очевидно, что маршрутизаторы не выполняют переадресацию таких сообщений, так что весь процесс поиска является локальным процессом (local process). При этом в данном сегменте сети должен присутствовать DHCP-сервер. Но т. к. установить по DHCP-серверу в каждом сегменте сети невозможно, в соответствии со спецификацией протокола DHCP направление широковещательных сообщений поиска в другой сегмент сети координируется процессом ретрансляции. Подробное описание процесса ретрансляции содержится в разд. "Ретрансляторы DHCP" этой главы.
Стандартный процесс поиска адресов
При запуске DHCP-клиента, еще до того,' как он получает возможность подключения к сети, на нем выполняется стандартный процесс поиска адресов. После успешного завершения этого процесса DHCP-клиент тестирует свой IP-адрес с помощью широковещательного ARP-сообщения, которое помогает выявить наличие дублированных IP-адресов.
Примечание
Более подробная информация о широковещательных ARP-сообщениях,, отсылаемых с целью проверки существования дублированных IP-адресов, содержится в разд. "Аппаратные адреса в среде IP" главы 3.
В процессе DHCP-поиска фигурируют четыре пакета:
□	пакет DHCP-поиска (DHCP Discover);
□	пакет DHCP-предложения (DHCP Offer);
□	пакет DHCP-запроса (DHCP Request);
□	пакет DHCP-подтверждения (DHCP Acknowledge).
454
Гпава 8
На рис. 8.2 изображены все пакеты, принимающие участие в процессе загрузки DHCP. Пакет № 1 (Packet #1) — это пакет DHCP-поиска (Discover), исходящий от DHCP-клиента. Пакет № 2 (Packet #2) — это пакет DHCP-предложения (Offer), отсылаемый сервером. Пакет № 3 (Packet #3) представляет собой запрос (Request) от клиента серверу. Наконец, пакет № 4 (Packet #4) — пакет подтверждения (Acknowledge) — завершает этот процесс.
| Pgckatbj
Discover
Offer
Request
Acknowledge
Рис. 8.2. В процессе загрузки DHCP участвуют четыре пакета
Во время DHCP-загрузки клиент получает IP-адрес и информацию о периоде выделения. Время выполнения продления и повторного присвоения вычисляется клиентом исходя из длительности периода выделения.
В следующем разделе мы по отдельности рассмотрим каждый из пакетов, принимающих участие в процессе поиска, и сделаем выводы о том, каким образом DHCP-клиент получает IP-адрес на оговоренный период выделения.
Пакет поиска
В ходе процесса DHCP-поиска (DHCP Discover packet) клиент отправляет широковещательный пакет поиска, в котором указывает свой аппаратный адрес. В IP-заголовке этого пакета IP-адрес источника определяется как 0.0.0.0, поскольку реальный IP-адрес клиенту пока не известен. В Ethernet-заголовке указывается общесетевой широковещательный адрес назначения 255.255.255.255.
Если DHCP-клиент уже был в этой сети, он также сообщает предпочтительный адрес (preferred address) — в этом качестве обычно выступает последний употреблявшийся клиентом адрес.
На рис. 8.3 изображен пакет поиска, содержащий указание на предпочтительный адрес 10.0.99.2. В этом пакете мы сократили Ethernet-, IP- и UDP-заголовки. В UDP-заголовке определяется порт источника 68 и порт назначения 67.
Протокол DHCP
455
i..$	... В
>•••$ Status:	0x00
г-ф Packet Length: 350
[••ф Tinestaay:	01:53:51.930270 02/27/2000
Btharnet Header
IP Header - Internet Protocol Datagram g}-V* ЭД0Р - User Datagram Protocol
BootP - Bootstrap Protocol
I	]-ф	Operation;	1	[42]	Bc-ot Request
<	- ф	Hardware	Address	Type:	1	[43]	Ethernet	I'iCli'Jb/
— ф	Hardware	Address	Length:	6	[44]	bytes
•	-ф	Hops:	0	[451
! - ф Transaction ID:	990067459 [46-49]
! !--ф Seconds Since Boot Start:	0 [50-51]
!	Flags:	0x0000	(52-53)
; И’SI Address Known By Client: 0.0.0.0	[54-57] IF Address (lot Khowh By 0'.
;	!-f|	Client	IP Addr Given	By Srvr; 0.0.0.0	158-61)
‘	L-g	Server	IP Address:	0.0.0.0	[62-65]
i	;..J|	Gateway IP Address:	0.0.0.0	[66-69]
j	t-d	Client	Hardware Address:	00: АО: CC: 30: C8 : DB [70-75]
	Unused;	0x00000000000000000000	[76-85]
,:--ф Server Host Name:
! р.ф Data: (64 bytes) [86-149]
‘ k-ф Boot Bile Name:
i L-0 Data: (128 byres) [1S0-277I
B-T BHCP - Dynamic Host Configuration Protocol
i-•• ф DHCP Magic Cookie:	0x63825363	[278-281]
•;••• ф Message Type- DHCP Option
г Ф	Option Code:	S3	[282] Message Type
и	Option Length:	1	[293]
,..ф	Message Type:	1	[284] Discover
г.ф	Client Identifier-	DHCP	Option
Г. ф	Option Code:	61	[285]	Itert-ifiar
i-ф	Option Length:	7	[286]
м	Hardware Type:	1	[Z87]
	Hardware Address:	00:	АО:CC:30:C8:DB [288-293]
- ф Requested IP Address- DHCP Option				
-Ф	Option Code:	50	[294]	.Requested IF A^di'^ss
	Option Length:	4	[295]	
	Address:	10.	0.99.2	[296-299]
	Host Name Address-	DHCP	Option	
Г" Ф	Option Code:	12	[300]	Hc'st	Addt'-sss
>- Ф	Option Length.	9	[301]	
1--Ф	String:	UTBPOPKl.		[302-310]
r»	Parameter Request	List-	DHCP Option	
i ф	Option Code:	55	Oil ]	
				
	Option Length:	8	[312]	
1	$	Requested Option:	1	[313]	Subne1: Mask
- ф	Requested Option:	3	1314)	Routers
H *	Requested Option:	6	[315]	Dosiain Ndiie Servers
;..ф	Requested Option:	IS	[316]	Doaain Nau*
r-0	Requested Option:	44	[317]	NetBIOS (TCB/IF,'	Servers
i- ф	Requested Option:	46	[318]	NetBIOS .TCBSIP..' Ncde Type
!-0	Requested Option:	47	[319]	NetBIOS СГСР/1Р) Scope
i-ф	Requested Option:	57	[320]	Alaxibua Message Size
l-ф	DHCP Option End			
I-ф	Option Code:	255	:	[321]	Snd
j-ф	I.vtre? 2-y6efr			
	Data: (24 bye as)	[322-	345]	
	Frame Check Sequence:		0X1CDF4421	[346-349]	
Рис. 8.3. Пакет DHCP-поиска всегда отсылается 1 с аппаратным и широковещательным IP-адресом
456
Гпава 8
Примечание J|
Так как DHCP-служба создавалась на основе протокола ВООТР, многие производители анализаторов протоколов до сих пор определяют номера портов и ведущие значения термином ВООТР. Программа EtherPeek использует этот термин применительно к исходным описаниям заголовков внутри расшифровок.
В пакете DHCP-поиска, показанном на рис. 8.3, тип пакета идентифицируется значением Message Туре (тип сообщения). Значения поля Message Туре приведены в разд. "Поля опций DHCP" этой главы.
Значение поля Client Identifier (идентификатор клиента) обозначает клиентский аппаратный адрес (0x00-A0-CC-30-C8-DB).
Во время запроса IP-адреса (а если это необходимо, то и независимо от него) DHCP-клиент может потребовать получения дополнительной конфигурационной информации. Обратите внимание, что на рис. 8.3 в конце стандартного запроса DHCP-поиска клиент помещает ряд добавочных запросов. Такие запросы, называемые DHCP-опциями (DHCP options), специфицированы в документе RFC 2132, "DHCP Options and ВООТР Vendor Extensions" (Опции DHCP и производственные расширения протокола ВООТР). Список этих опций опубликован на сайте http://www.iana.org. Ниже перечислены опции, установленные в пакете, изображенном на рис. 8.3:
□	опция 1: Sunet Mask (маска подсети клиента);
□	опция 3: Routers (маршрутизаторы в подсети клиента);
□	опция 6: Domain Name Servers (сервер доменных имен);
□	опция 15: Domain Name (доменное имя);
□	опция 44: NetBIOS (TCP/IP) Name Servers (сервер имен NBT);
□	опция 46: NetBIOS (TCP/IP) Node Type (тип узла NBT);
□	опция 47: NetBIOS (TCP/IP) Scope (область действия NBT);
□	опция 57: Maximum Message Size (максимальный размер DHCP-сооб-щения);
□	опция 255: End (конец опций).
DHCP-сервер может не отвечать на любой из этих конфигурационных запросов до получения клиентом IP-адреса. Опциям посвящен разд. "Поля опций DHCP" этой главы.
Пакет предложения
DHCP-сервер отсылает пакет предложения (DHCP Offer packet), предлагая DHCP-клиенту определенный IP-адрес. Этот пакет является однонаправленным.
Протокол DHCP
457
.--ф	1 "	•'1
[•••ф	Status;	0x00
ф	Packet Length: 312
;..ф	Timestamp:	01:53:51.931572 02/27/2000
® 'Т*Ethernet Header
Й’ Г ЕР Header - Internet Protocol Datagram
0-°|ва VDP - User Datagram Protocol
0 EootP - Bootstrap Protocol J	;.ф	Iperation:	2	£42]	Boot Reply
	\.ф	Hardware	Address	Type:	1	£43]	JTbhemet	/20A£t>?
'•	.ф	Hardware	Address	Length:	6	[44]	bytes
i	•-0	Hops:	0	(45)
j :...$ Transaction IB:	990067459	(46-49)
...ф Seconds Since Boot Start:	0	£50-51]
j j- ф Flags:	0x0000	£52-53]
f	Address Known By Client: 0,0.0.0	£54-57] IF .Address iVot Known By C
j L-g Client IP Addr Given By Srw: 10.1.0.2 [58-61] • ;:-® Server IP Address:	0.0.0.0 £62-65)
i ! X 	•g Gateway IP Address:	0.0.0.0	£66-69]
 р-Цр Client Hardware Address;	00:АО:CC:30:C8:DB [70-75]
i :  $ Vnnsed:	0x00000000000000000000	(76-851
: H Ф Server Host Name :
i к ф Baca: (64 bytes) [86-149] b-ф Boot Bile Name:
’ ь ф Paca: £128 bytes) [150-277]
DHCP - Dynamic Host Configuration Protocol ;..ф DHCP Magic Cookie:	0x63825363	[278-281]
: ф Message Type- DHCP Option : -ф Option Code:	53	[282]	Type
...ф Option Length;	1	£283]
ф Message Type:	2	£284]	Offer
i ф Server Identifier- DHCP Option
/  ф Option Code:	54	[285]	Server	Identifier
; ф Option Length:	4	£286]
 |g MAress:	10.1.0.1	(287-290)
: ф IP Address lease Time- DHCP Option
Рф Option Code:	51	£291] IF Address Ьеаге Tlaie
ф	Option	Length:	4	[292]
к-ф	Value:	1800	£293-296]
j ф Subnet Mask- DHCP Option
•!••• ф	Option	Code:	1	[297]	Subnet jMasA
;..ф	Option	Length;	4	[298]
j.Address:	255.255.0.0 [299-302]
i ф DJtCP Option Bnd
ф Option Code:	255 £303] Und
;• ф byt&s ('Faddi«9‘>:
' ф Data: £4 bytes) [304-307] ф Frame Check Sequence: 0xlCDF4421 [308-311]
Рис. 8.4. Пакет DHCP-предложения содержит предназначенный для DHCP-клиента IP-адрес
458
Глава 8
Пакет предложения содержит IP-адрес, предназначенный для клиента, а также (в некоторых случаях) ответы на опции, запрошенные клиентом в пакете DHCP-поиска.
На рис. 8.4 представлен пакет DHCP-предложения, расшифрованный с помощью программы EtherPeek. Ethernet-, IP- и UDP-заголовки в нем сокращены.
Обратите внимание, что в поле Client IP Addr Given By Srvr (IP-адрес) DHCP-сервер предлагает клиенту адрес 10.1.0.2. Следовательно, сервер не может обеспечить выделение предпочтительного адреса. Кроме того, в этом пакете указывается IP-адрес DHCP-сервера (10.1.0.1), длительность периода выделения (1800 секунд), а также маска подсети (255.255.0.0).
В IP-заголовке DHCP-сервер направляет пакет на предложенный IP-адрес (10.1.0.2), невзирая на то, что в данный момент DHCP-клиент не в состоянии распознать его. Заголовок Канального уровня обеспечивает направление пакета прямо на аппаратный адрес назначения — только это необходимо для того, чтобы доставить пакет получателю. При передаче пакета даже не происходит обращения к IP-заголовку, т. к. он отсылается от одного устройства в локальной подсети другому устройству в той же подсети.
Пакет запроса
Получив пакет предложения (DHCP Offer packet), клиент может либо принять это предложение, отправив пакет DHCP-запроса (DHCP Request packet), либо отклонить его, отправив пакет DHCP-отказа (Decline packet). Обычно клиент отсылает пакеты отказа только в случае получения нескольких предложений. К примеру, если в пределах подсети существует несколько DHCP-серверов, все они могут отправить клиенту свои предложения. В такой ситуации клиент отвечает запросом на первое полученное предложение, и отказом — на все последующие.
На рис. 8.5 изображен пакет DHCP-запроса (DHCP Request packet). В нем клиент запрашивает ответы на параметры, перечисленные в исходном пакете поиска. Теперь клиент знает адрес DHCP-сервера и помещает предложенный адрес в поле Requested IP Address (запрошенный IP-адрес).
Из содержания IP-заголовка следует, что пакет отсылается на широковещательный IP-адрес, хотя клиент уже знает IP-адрес DHCP-сервера. В разд. "Широковещательные и однонаправленные сообщения в DHCP" этой главы рассказывается, когда DHCP-сервер применяет однонаправленные (unicast), а когда — широковещательные (broadcast) сообщения.
В очередной раз клиент запрашивает у DHCP-сервера множество дополнительных параметров. По мере возможности сервер должен отвечать на запросы параметров, выдаваемые клиентом.
Протокол DHCP
459
♦ SmSSHHKESil
у- ф Status:	0x00
. ф Packet Length:3SO
••ф Timestamp:	01:53:51.954533 02/27/2000
Щ•’^a Bthernet Header
Щ- a^=> IP Header - Internet Protocol Datagram
f+J-V" VPP ~ Veer Datagram Protocol 0 -Vе BootP - Bootstrap Protocol			
- ф	Operation:	1	(42]	Scot Request
	Haixh/ai e Address Type:	1	(43]	Ethernet (LCMb,>
1 ' ••• Ф	Hardware address Length:	6	(44)	bytes
;  - ф	Hops;	0	(45)	
: -Ф	Transaction ID:	990067459	'	(46-49)
: , ф	Seconds Since Boot Start:	0	[50-51]	
.  ф	Flags:	0x0000	(	52-53]
; i-	IP Address Known By Client:	0.0.0.0	[S4-S7] IP Address Not
• ..	Client. IP Addr Given By Srw:	0.0.0.0	[58-61]
' • ЙЙ	Server IP Address:	0.0.0.0	[62-65]
: ‘ з	Gateway IP Address;	0.0.0.0	(66-69)
	Client Hardware Address:	00:АО:CC:	30:C8:DB	(70-75)
	Unused:	0x0000000	0000000000000	[76-85]
! • ф	Server Most Name;		
  ф	Data: (64 bytes) (86-149)		
,  Ф	Boot File Name:		
' =•• • ф	Data: (128 bytes) (150-277]		
0-V* РИСР - Dynamic Most Configuration Protocol
/ ф DHCP Magic Cookie:	0x638Z5363	(278-281)
;—-ф Message Type- DHCP Option
; ф Option Code;	$3	(282) Message T'ype
; ф Option Length:	1 [283]
• ф Message Type.-	3 (284] Request
i- ф Client Identifier- DHCP Option
?• ф Option Code:	61	[285) ClxeHt Identifier
ф Option Length:	7 (28 6 J
ф Hardware Type:	1 (287]
i--® Hardware Address: 00:АО:CC:30:C8:DB (288-233)
- ф	Requested IP Address- DHCP Option
- Ф	Option Code:	SO (294} Requested IP Address
- - ф	Option Length:	4	(295)
&	Address:	10.1.0.2	(296-299)
	Server Identifier- DHCP Option
...	Option Code:	54	(300) Server IcLenti/ier
- Ф	Option Length:	4	[301]
-a	Address:	10.1.0.1	(302-305)
Ф	Host Naina Address- DHCP Option
 Ф	Option Code:	12	[306) Host Wdiie Address
- Ф	Option Length:	9	(307)
Ф	String:	UTBPOPKI. (308-3161
©	Parameter- Request List- DHCP Option
- Ф	Option Code:	55	[317] Par^ibetar Request List
'• Ф	Option Length:	8	[318]
0	Requested Option:	1	[319] Subnet Mdsk
©	Requested Option-	3	[320] Routers
Ф	Requested Option: 6	(321) Ьодаехл Naase Servers
 • Ф	Requested Option: 15	(322] Dosdin Neae
 Ф	Requested Option: 44	[323) NetBIOS C^F/lPi №га<- Servers
 ©	Requested Option; 46	[324] NetBIOS (TCP/IP) iNode Type
.. Ф	Requested Option:	47	[325] ATat£205 (TCP/IP) Scop-e
Ф ... Ф	Requested Option: 57	[326] A'jxx&ua Pfesstipe Sxze DHCP Option End
- Ф	Option Code:	255	[327] JTwd
>--ф Xxtra bytes ('Raddxfigj :
0 Data; (18 bytes) [328-345]
!•• ф Frame Check Sequencer OxlCDF4421 [346-349]
Рис. 8.5. В пакете DHCP-запроса DHCP-клиент может указать дополнительные конфигурационные параметры
460
Гпава 8
			
г-ф Status:	0x00 :• ф Packet Length:324			
i - Timestamp :	01:53		SI.962145 02/27/2000	
2 Ethernet Header			
й Т »	Meader - Interne*	Protocol Datagram	
&Т V®	- User Datagram	Protocol	
-J	BootP - Bootstrap Protocol			
' гф	Operation:		2	[42] Boot Reply
 ф	Har'dxrare liddress	Type:	1	[43] Ethernet (10№b)
	ф	Hardware Address	Lengt h:	6	[44] bytes
: ф	lloi>s:		0	[45]
. . ф	Transaction ID;		9900674S9	[46-49]
  ф	Seconds Since Boot Start:		0	[50-51]
	flags:		0x0000	[52-53]
 -а	IF Address known	By Client:	0.0.0.0	[54-57] IF Address Not Known By C
•• :	Client IP Addr Given By Srvrr		10.1.0.2	(58-61]
: : Я	Server IP Address		0.0.0.0	[62-65]
: ;_д	Gateway IP Address:		0.0.0.0	[66-69]
 : W	Client Hardware Address:		00:АО:CC:30:C8:DB [70-75]
 ’   Q	Unused:		0x00000000000000000000	[76-85]
Г Ф	Server Most Name.		
" ф	Data: (64 bytes)	[06-149]	
	Boot Bile Nairsa:		
$	Data: (128 bytes)	[150-2771	
3'V” ВНСР - Dynamic Most		Configuration Protocol	
Q	DHCP Magic Cookie		0x63825363	[278-281]
; Ф	Message Type- DHCP Option		
? ф	Option Code:	53	[282]	/Vesjsp'e Tjgse
	Option Length:	1	[283]	
	Message Type:	5	[284]	ДЖ
: $	Server Identifier	- DHCP Option	
- $	Option Code:	S4 1285]	Server Identifier
	Option Length:	4	[286]	
• - ®	Address:	10.1.0.1	1287-290]
; - ф	IP Address Lease	Time- DHCP Option	
; ф	Option Code:	51	[291]	IF Address Ledse Ti&&
L..	Option Length:	4	[292]	
 -1 ф	Value:	1800	[293	-296)
 ф	Subnet Mask- DHCP	Option	
;"‘Ф	Option Code:	1	[297]	Subnet №tsk
< ф	Option Length:	4	[298]	
г®	Address:	255.255.0.	0	[299-302]
 $	Routers- DHCP Opt	ion	
'• 0	Option Code:	3	1303]	Rc-uters
, .0	Option Length:	4	[304]	
. .gj	Address:	10.0.0.1	[305-308]
м	Domain Nana* Servers- DHCP Option		
i	$	Option Code:	6	[309]	I‘oaxei« A’aae Servers
р $	Option Length.	4	(3101	
Г	Address:	10.0.0.1	[311-314]
	DHCP Option End		
ф	Option Code:	255	[315]	Snd
ф	Extra byt-вз	:		
 ф	Data: (4 bytes)	[316-319]	
	Frame Check Sequence: 0X1CDF4421	[320-323]		
Рис. 8.6. В пакете DHCP-подтверждения содержится максимально возможное количество ответов на запросы параметров, выданных клиентом
Протокол DHCP
461
Пакет подтверждения
Пакет подтверждения (DHCP Acknowledgment packet), отсылаемый сервером клиенту, знаменует завершение четырехшагового процесса DHCP-поиска. Он содержит ответы DHCP-сервера на любые опции, запрошенные клиентом. Пример пакета DHCP-подтверждения (АСК) приводится на рис. 8.6.
В пакете подтверждения, изображенном на рис. 8.6, содержатся ответы на некоторые информационные запросы клиента. Исходя из этих ответов, мы узнаем, что:
□	маска подсети клиента — 255.255.0.0;
□	адрес шлюза по умолчанию клиента — 10.0.0.1;
□	адрес DNS-сервера клиента — 10.0.0.1.
Тем не менее, успешное завершение этого четырехшагового процесса не означает, что клиент немедленно начинает применять выделенный 1Р-адрес. Большинство IP-хостов сразу же после получения пакета подтверждения выполняют тестирование на предмет наличия дублированных 1Р-адресов. К примеру, после окончания предшествующего процесса DHCP-клиент отсылает ARP-пакет, в котором определяет свой 1Р-адрес (10.1.0.2) и как адрес назначения, и как адрес источника.
Процесс продления выделения адреса
Одновременно с адресом DHCP-клиент получает от DHCP-сервера информацию о длительности периода его выделения и запоминает время получения этого пакета. Период выделения определяет, в течение какого времени клиент сможет сохранять за собой предоставленный адрес. Затем, исходя из длительности периода выделения, DHCP-клиент рассчитывает время продления (Т1) и время повторного присвоения (Т2).
Время продления (Т1)
Время продления Т1 — это промежуток времени, по истечении которого клиент пытается продлить выделение сетевого адреса, связываясь с DHCP-сервером, который присвоил клиенту этот адрес. Пакет продления (Renewal packet), отсылаемый DHCP-серверу, является однонаправленным.
В спецификации протокола DHCP, содержащейся в документе RFC 2131, значение Т1 по умолчанию выражается следующим образом:
0,5 Ч длитепьность_вьщеления
Таким образом, время продления приравнивается к половине периода выделения.
462
Глава 8
Если DHCP-клиент не получает ответа на запрос продления, он делит на два оставшийся временной период от текущего времени до времени повторного присвоения (Т2) и по достижении исчисленного значения повторяет запрос на продление.
Время повторного присвоения (Т2)
Время повторного присвоения Т2 — это промежуток времени, по истечении которого клиент начинает отсылать широковещательные запросы на продление, надеясь, что пролонгировать срок выделения сможет другой DHCP-сервер. В спецификации протокола DHCP, содержащейся в документе RFC 2131, значение Т2 по умолчанию выражается следующим образом:
0,875 Ч длительность_выделения
Если DHCP-клиент не получает ответа на запрос повторного присвоения, он сокращает временной период между текущим временем и моментом истечения выделения и осуществляет повторные попытки. DHCP-клиент пытается запустить процесс повторного присвоения до того момента, пока до времени истечения периода выделения (lease expiration time) остается одна минута. Если к этому времени продлить выделение не удалось, клиент вынужден освободить адрес и провести повторную инициализацию (reinitialize) (запустить процесс DHCP-поиска, используя IP-адрес 0.0.0.0).
На рис. 8.7 представлено соотношение периода выделения со временем продления (Т1), временем повторного присвоения (Т2) и окончательным истечением срока предоставления адреса.
DHCP-запрос на DHCP-сервер
Широковещательный DHCP-запрос
Выделенные адреса
Т2 = 0,875 * LT
Нет ответа?
_ Освобождение адреса и повторная инициализация
LT
Нет ответа? Ожидание 1/2 времени до Т2, затем повторная передача
Нет ответа? Ожидание 1/2 времени до LT, затем повторная передача
Рис. 8.7. Временная диаграмма службы DHCP отражает период выделения (LT), время продления (Т1) и время повторного присвоения (Т2)
Пользуясь анализатором протоколов, довольно легко выявить процессы продления и повторного присвоения. На рис. 8.8 показаны -неоднократные
Протокол DHCP
463
DHCP-сообщения, направленные прямо на DHCP-сервер; они служат показателем того, что на DHCP-клиенте проходит процесс продления. Если клиент начинает отсылать широковещательные сообщения с действительного IP-адреса, значит, он находится в процессе повторного присвоения. Наконец, если клиент получает IP-адрес 0.0.0.0, значит, процесс повторного присвоения не увенчался успехом, и теперь клиенту придется заново отсылать широковещательный пакет DHCP-поиска.
P«ket । Source
V i IP-10.1.0.
V ip-io.i.o. з ; ip-io.i.o. ____4 I'ip-io. i76~ _ _sj IP-10.1.0.3 - —
7] IP-0.0.0,0
^Destination Г ip-ю Л7оТ
; iP-io.i.o.1
’ IP Broadcast _[ IP Broadcast J IP Broadcast !j[P_®roadcast_ 1 IP Broadcast
t Best. Port
• bootps
i bootps bootps bootps bootps____
bootps bootps
Size i Protocol
346 I UDP DHCP
346 i UDP DHCP
346
346
346
Renewal attempts
Rebind attempts
Start over
3
Рис. 8.8. Освободив предыдущий IP-адрес, DHCP-клиент начинает использовать адрес 0.0.0.0
На рис. 8.8 изображена последовательность выполнения клиентом процессов продления (Renewal attempts) и повторного присвоения (Rebind attempts) перед освобождением адреса и повторной инициализацией, перед началом нового процесса поиска адреса (Start over).
Процесс освобождения адреса DHCP
Хотя в спецификации на это нет указаний, клиент должен освободить применяемый адрес посредством отсылки на сервер пакета DHCP-освобождения (DHCP Release packet) (это и называется процессом освобождения адреса (release process address)). Пакет DHCP-освобождения отсылается с использованием транспортного протокола UDP, и DHCP-сервер не отправляет на него никаких подтверждений. Если клиент не отослал пакет DHCP-освобождения, DHCP-сервер автоматически освобождает адрес в момент истечения периода его выделения.
Структура DHCP-пакетов
В этом разделе мы рассмотрим структуры DHCP-пакетов, значения их полей и опций. На рис. 8.9 изображена стандартная структура пакета протокола DHCP.
464
Глава 8
UDP IIEADER - DESTINATION PORT 67 (to server) OR 68 (to client)
ID Number
0	15 16	31
OPCODE	HARDWARE TYPE	HARDWARE LENGTH	HOPS
	TRANSACTIO	4 ID NUMBER	
SECONDS SINCE BOOT		HAGS 	. - -1		
	CLIENT INTER	TFT ADDRESS		..
YOUR INTERNET ADDRESS			
SERVER INTERNET ADDRESS			
GATEWAY INTERNET ADDRESS			
CLIENT HARDWARE ADDRESS (16 bytes)
SERVER ADDRESS (6-1 bytes)
BOOT FILE (128 bytes)
OPTIONS (Message Type option is required)
Рис. 8.9. Структура DHCP-пакета
Поле Operation Code
Поле Operation Code (код операции), длина которого составляет 1 байт, определяет, является ли данный пакет DHCP-запросом (0x01) или DHCP-ответом (DHCP reply) (0x02). Более конкретно тип запроса или ответа определяется в секции опций DHCP как Message Туре (тип сообщения). Подробности — в разд. "Поля опций DHCP" этой главы.
Поле Hardware Туре
Поле Hardware Туре (тип аппаратного адреса), длина которого составляет 1 байт, обозначает тип аппаратного адреса, причем его значения соответствуют значениям, установленным для описания типов аппаратных ARP-адресов. Список этих значений утверждается агентством IANA (Агентство по выделению имен и уникальных параметров протоколов Internet) и публикуется на сайте http://www.iana.org. Значение "1" обозначает тип 10-мега-битного Ethernet (10 MB Ethernet).
Поле Hardware Length
Поле Hardware Length (длина аппаратного адреса) длиной в 1 байт определяет длину аппаратного адреса. К примеру,, значение "6" употребляется для
Протокол DHCP	465
обозначения 6-байтного аппаратного адреса, если он относится к типу 10-мегабитного Ethernet (10 MB Ethernet).
Поле Hops
Значение поля Hops (транзиты) приравнивается клиентом к нулю, но оно может изменяться ретрансляторами, помогающими клиенту получить информацию об IP-адресе и конфигурационные данные. Более подробная информация содержится в разд. "Ретрансляторы DHCP" этой главы.
Поле Transaction ID Number
Поле Transaction ID Number (идентификационный номер сообщения) длиной в 4 байта содержит случайное число, определяемое клиентом и применяемое для связывания запросов и ответов, которые передаются от клиента к серверу и обратно.
Поле Seconds Since Boot
В поле Seconds Since Boot (секунды с момента загрузки), длина которого оставляет 2 байта, указывается количество секунд, прошедших с того момента, как клиент начал запрашивать присвоение нового адреса или продление старого.
Поле Flags
Первый бит двухбайтного поля Flags (флаги) может быть установлен в положение "1", и это будет означать, что DHCP-клиент не может принимать однонаправленные дейтаграммы подуровня управления доступом к среде до полного завершения конфигурации IP-программного обеспечения. Как утверждается в разд. "Стандартный процесс поиска адресов" этой главы, DHCP-клиент исходно отсылает широковещательный пакет поиска. DHCP-сервер отвечает на него либо однонаправленным, либо широковещательным пакетом предложения. На рис. 8.4 сервер применяет однонаправленный пакет.
Если клиент не имеет возможности принимать такие однонаправленные пакеты, он устанавливает широковещательный бит (broadcast bit) в поле Flags на единицу. Впоследствии, если DHCP-сервер или ретранслятор отправит этому клиенту однонаправленный пакет, тот сможет отвергнуть его. Все остальные биты в этом двухбайтном поле приравниваются к нулям.
Поле Client Internet Address
DHCP-клиент помещает в поле Client Internet Address (IP-адрес клиента), длина которого составляет 4 байта, свой IP-адрес (после его выделения и присвоения IP-стеку). Кроме того, это поле заполняется в ходе выполнения
16 Зак. 321
466
Гпава 8
процессов продления и повторного присвоения. Но при загрузке DHCP-клиента в этом поле указывается адрес 0.0.0.0.
Поле Your Internet Address
Поле Your Internet Address (ваш IP-адрес) длиной в 4 байта содержит адрес, предлагаемый DHCP-сервером, который обладает исключительными правами на заполнение этого поля.
Поле Server Internet Address
Поле Server Internet Address (IP-адрес сервера), длина которого составляет 4 байта, содержит IP-адрес DHCP-сервера, применяемый в процессе загрузки. Именно DHCP-сервер помещает в это поле значение.
Поле Gateway Internet Address
Поде Gateway Internet Address (IP-адрес шлюза) длиной в 4 байта содержит адрес ретранслятора DHCP, если он используется.
Поле Client Hardware Address
Поле Client Hardware Address (аппаратный адрес клиента), длина которого составляет 16 байт, определяет аппаратный адрес клиента. По получении DHCP-сервером этот адрес сохраняется и ставится в соответствие с IP-адресом, присваиваемым клиенту. В случае, если это поле покажется недостаточным, опция Client Identifier (идентификатор клиента, № 61) также может обеспечить уникальную идентификацию машины.
Поле Server Host Name
64-байтное поле Server Host Name (имя обслуживающего хоста) содержит имя обслуживающего хоста, однако эта информация не является обязательной. Поле может вмещать строку с завершающим нулем (null-terminated string) (все нули). На рис. 8.9 это поле обозначено как Server Address (адрес сервера).
Поле Boot File
Поле Boot File (загрузочный файл) может содержать необязательное имя загрузочного файла или строку с завершающим нулем.
Вы ознакомились с различными полями в рамках структуры DHCP-сообщений, которые рассматривались в обычном порядке их следования. В последующих разделах мы сосредоточимся на некоторых опциях DHCP, с помощью которых могут идентифицироваться все типы данных, передаваемые в DHCP-сообщениях.
Протокол DHCP
467
Поля опций DHCP
Опции протокола DHCP применяются для расширения данных, содержащихся в DHCP-пакетах. Все эти опции представлены в табл. 8.1 ("N" в столбце "Длина" обозначает переменную длину). Достаточно взглянуть на нее, чтобы осознать всю широту возможностей протокола DHCP.
Таблица 8.1. Опции протокола DHCP
Ярлык	Название	Длина	Значение
0	Pad (заполнение)	0	Нет
1	Subnet Mask (маска подсети)	4	Значение маски подсети
2	Time Offset (отклонение времени)	4	Отклонение времени в секундах от универсального синхронизированного времени
3	Router (маршрутизатор)	N	N/4 адреса маршрутизатора
4	Time Server (сервер времени)	N	N/4 адреса сервера времени
5	Name Server (сервер имен)	N	N/4 адреса сервера IEN-116
6	Domain Server (сервер доменных имен)	N	N/4 адреса DNS-сервера
7	Log Server (регистрационный сервер)	N	N/4 адреса регистрационного сервера
8	Quotes Server (сервер котировок)	N	N/4 адреса сервера котировок
9	LPR Server (LPR-сервер)	N	N/4 адреса сервера печати
10	Impress Server (Impress-сервер)	N	N/4 адреса Impress-сервера
11	RLP Server (RLP-сервер)	N	N/4 адреса RLP-сервера
12	Hostname (имя хоста)	N	Строка с именем хоста
13	Boot File Size (размер загрузочного файла)	2	Размер загрузочного файла в 512-байтных блоках
14	Merit Dump File (файл полезного сброса)	N	Клиент, требующий сброса, и имя файла, в который его надлежит производить
15	Domain Name (доменное имя)	N	Доменное имя клиента
16	Swap Server (сервер подкачки)	N	Адрес сервера подкачки
17	Root Path (путь к корню)	N	Путь к корневому диску
18	Extension File (файл расширения)	N	Путь к дополнительной информации протокола ВООТР
468
Гпава 8
Таблица 8.1 (продолжение)			
Ярлык	Название	Длина	Значение
19	Forward On/Off (перенаправление разрешено/запрещено)	1	Разрешение/запрещение IP-перенаправления
20	SrcRte On/Off (исходный маршрут разрешен/запрещен)	1	Разрешение/запрещение исходных маршрутов
21	Policy Filter (фильтр политики)	N	Фильтры политики маршрутизации
22	Max DG Assembly (максимальный размер сборки дейтаграмм)	2	Максимальный размер повторной сборки дейтаграмм
23	Default IP TTL (время жизни IP по умолчанию)	1	Время жизни IP по умолчанию
24	MTU Timeout (лимит времени MTU)	4	Лимит времени действия максимальной единицы передачи маршрута
25	MTU Plateau (плато MTU)	N	Таблица плато максимальной единицы передачи маршрута
26	MTU Interface (интерфейс MTU)	2	Размер максимальной единицы передачи интерфейса
27	MTU Subnet (подсеть MTU)	1	Все подсети являются локальными
28	Broadcast Address (широковещательный адрес)	4	Широковещательный адрес
29	Mask Discovery (поиск маски)	1	Выполнение поиска маски
30	Mask Supplier (сервер масок)	1	Предоставление масок другим
31	Router Discovery (поиск маршрутизатора)	1	Выполнение поиска маршрутизатора
32	Router Request (запрос маршрутизатора)	4	Адрес запроса маршрутизатора
33	Static Route (статический путь)	N	Статическая таблица маршрутов
34	Trailers (завершители)	1	Инкапсуляция завершителя
35	ARP Timeout (лимит времени ARP)	4	Временной лимит ARP-кэша
36	Ethernet (Ethernet)	1	Инкапсуляция Ethernet
37	Default TCP TTL (время жизни TCP по умолчанию)	1	Время жизни TCP по умолчанию
Протокол DHCP
469
Таблица 8.1 (продолжение)			
Ярлык	Название	Длина	Значение
38	Keepalive Time (время поддержки соединения)	. 4	Интервал поддержки соединения TCP
39	Keepalive Data (данные поддержки соединения)	1	Ненужные данные поддержки соединения TCP
40	NIS Domain (домен NIS)	N	Доменное имя сетевых информационных служб
41	NIS Servers (NIS-серверы)	N	Адреса серверов сетевых информационных служб
42	NTP Servers (NTP-серверы)	N	Адреса серверов синхронизирующего сетевого протокола
43	Vendor Specific (производитель)	N	Специальная информация производителя
44	NETBIOS Name Srv (сервер имен NETBIOS)	N	Серверы имен NETBIOS
45	NETBIOS Dist Srv (распределение дейтаграмм NETBIOS)	N	Распределение дейтаграмм NETBIOS
46	NETBIOS Node Type (тип узла NETBIOS)	1	Тип узла NETBIOS
47	NETBIOS Scope (область NETBIOS)	N	Область NETBIOS
48	X Window Font (шрифт X Window)	N	Сервер шрифтов X Window
49	X Window Manager (диспетчер X Window)	N	Диспетчер отображения X Window
50	Address Request (запрос адреса)	4	Запрашиваемый IP-адрес
51	Address Time (время адреса)	4	Период выделения IP-адреса
52	Overload (перегрузка)	1	Перегрузка "sname" или "file"
53	DHCP Msg Type (тип DHCP-сообщения)	1	Тип DHCP-сообщения
54	DHCP Server Id (идентификатор DHCP-сервера)	4	Идентификация DHCP-сервера
55	Parameter List (список параметров)	N	Список запросов параметров
56	DHCP Message (DHCP-сооб-щение)	N	Сообщение об ошибке DHCP
470
Гпава 8
		Таблица 8.1 (продолжение)	
Ярлык	Название	Длина	Значение
57	DHCP Max Msg Size (максимальный размер DHCP-сооб-щения)	2	Максимальный размер DHCP-сообщения
58	Renewal Time (время продления)	4	Время продления DHCP (Т1)
59	Rebinding Time	4	Время повторного присвоения DHCP (Т2)
60	Vendor Class ID (идентификатор класса производителя)	N	Идентификатор класса производителя
61	Client ID (идентификатор клиента)	N	Идентификатор клиента
62	NetWare/IP Domain (домен NetWare/IP)	N	Доменное имя NetWare/IP
63	NetWare/IP Option (опция NetWare/IP)	N	Подстановка опций NetWare/IP
64	NIS-Domain-Name (доменное имя NIS)	N	Доменное имя клиента NIS+ v3
65	NIS-Server-Addr (серверный адрес NIS)	N	Серверный адрес NIS+ v3
66	Server-Name (имя сервера)	N	Имя TFTP-сервера
67	Bootfile-Name (имя загрузочного файла)	N	Имя загрузочного файла
68	Home-Agent-Addrs (адрес собственного агента)	N	Адреса собственных агентов
69	SMTP-Server (SMTP-сервер)	N	Адреса серверов простого протокола электронной почты
70	РОРЗ-Server (РОРЗ-сервер)	N	Адреса серверов почтового протокола
71	NNTP-Server (NNTP-сервер)	N	Адреса серверов сетевых новостей
72	WWW-Server (WWW-сервер)	N	Адреса WWW-серверов
73	Finger-Server (Finger-сервер)	N	Адреса Finger-серверов
74	IRC-Server (IRC-сервер)	N	Адреса чат-серверов
75	StreetTalk-Server (StreetTalk-сервер)	N	Адреса StreetTalk-серверов
Протокол DHCP
471
Таблица 8.1 (продолжение)			
Ярлык	Название	Длина	Значение
76	STDA-Server (STDA-севрер)	N	Адреса ST-справочников
77	User-Class (класс пользователя)	N	Информация о классе пользователя
78	Directory Agent (справочный агент)	N	Информация справочного агента
79	Service Scope (область службы)	N	Область действия агента размещения службы
80	Naming Authority (полномочия на присваивание имен)	N	Полномочия на присваивание имен
81	Client FQDN (клиентский FQDN)	N	Полностью определенное доменное имя
82	Agent Circuit ID (канальный идентификатор агента)	N	Канальный идентификатор агента
83	Agent Remote ID (удаленный идентификатор агента)	N	Удаленный идентификатор агента
84	Agent Subnet Mask (маска подсети агента)	N	Маска подсети агента
85	NDS Servers (NDS-серверы)	N	Служба каталогов Novell
86	NDS Tree Name (иерархическое имя NDS)	N	Служба каталогов Novell
87	NDS Context (контекст NDS)	N	Служба каталогов Novell
88	IEEE 1003.1 POSIX	N	Часовой пояс интерфейса переносимой операционной системы IEEE 1003.1
89	FQDN (полностью определен-' ное имя домена)	N	Полностью определенное имя домена
90	Authentication (аутентификация)	N	Аутентификация
91	Vines TCP/IP (Vines TCP/IP)	N	Опция Vines сервера'TCP/IP
92	Server Selection (выбор сервера)	N	Опция выбора сервера
93	Client System (клиентская система)	N	Структура клиентской системы
94	Client NDI (NDI клиента)	N	Интерфейс сетевого устройства клиента
472
Гпава 8
Таблица 8.1 (окончание)
Ярлык	Название	Длина	Значение
95	LDAP (облегченный протокол службы каталогов)	N	Облегченный протокол службы каталогов
96	IPv6 Transitions (переходы к IPv6)	N	Переходы к IPv6
97	UUID/GUID (универсальный уникальный идентификатор/ глобально уникальный идентификатор)	N	Идентификатор клиента на основе универсального уникального идентификатора (глобально уникального идентификатора)
98	User-Auth (аутентификация пользователя)	N	Открытие аутентификации пользователя группы
Полный список опций DHCP содержится в документе RFC 2132. Единственной опцией, обязательной для всех DHCP-пакетов, является опция 53: Message Туре (тип сообщения). Рассмотрим ее поподробнее.
Опция 53: Message Туре
Опция 53: Message Туре (тип сообщения) — обязательная опция, обозначает общее назначение любого DHCP-сообщения.
Восемь типов DHCP-сообщений перечислены в табл. 8.2.
Таблица 8.2. Типы DHCP-сообщений
Номер	Тип сообщения	Описание
0x01	DHCP Discover (DHCP-поиск)	Отсылается DHCP-клиентом с целью определения местонахождения наличных серверов
0x02	DHCP Offer (DHCP-предложение)	Отсылается DHCP-сервером DHCP-клиенту в ответ на сообщение типа 0x01 (этот пакет содержит предлагаемый адрес)
0x03	DHCP Request (DHCP-запрос)	Отсылается DHCP-клиентом DHCP-серверу в качестве запроса предлагаемых параметров одного конкретного сервера, определяемого в пакете
0x04	DHCP Decline (DHCP-отказ)	Отсылается DHCP-клиентом DHCP-серверу с указанием недействительных параметров
0x05	DHCP ACK (DHCP-подтверждение)	Отсылается DHCP-сервером DHCP-клиенту, содержит конфигурационные параметры, в том числе присвоенный сетевой адрес
Протокол DHCP
473
		Таблица 8.2 (окончание)
Номер	Тип сообщения	Описание
0x06	DHCP NAK (отсутствие подтверждения приема DHCP)	Отсылается DHCP-клиентом DHCP-серверу для отклонения запроса конфигурационных параметров
0x07	DHCP Release (DHCP-освобождение)	Отсылается DHCP-клиентом DHCP-серверу для освобождения сетевого адреса и аннулирования оставшегося периода выделения
0x08	DHCP Inform (DHCP-уведомление)	Отсылается DHCP-клиентом DHCP-серверу в качестве запроса исключительно на конфигурационные параметры (в случае, если у клиента уже есть 1Р-адрес)
Напомним, что в последовательности загрузки DHCP участвуют следующие типы сообщений:
□	тип сообщения 1: поиск (Discover) (от клиента на сервер);
□	тип сообщения 2: предложение (Offer) (с сервера клиенту);
□	тип сообщения 3: запрос (Request) (от клиента на сервер);
□	тип сообщения 5: подтверждение (АСК) (с сервера клиенту).
Эта последовательность сообщений происходит, когда клиент запрашивает адрес впервые или когда он вынужден договариваться о новом выделении. Поскольку такие параметры утилиты IPCONFIG, как /release, /renew, /showclassid и /setciassid, требуют применения протокола DHCP, каждый из которых связан с определенным типом DHCP-сообщений (в основном, в контексте сообщения типа 3, а также нескольких других опций).
Широковещательные
и однонаправленные сообщения в DHCP
Анализируя DHCP-сообщения, вы обязательно обратите внимание на то, что они представляют собой странную смесь широковещательной и однонаправленной адресации. DHCP-клиенты обязаны использовать широковещательные сообщения вплоть до получения IP-адреса, происходящего в результате успешного завершения процессов поиска, предложения, запроса и подтверждения. В табл. 8.3 показано, в каких случаях DHCP-серверы отправляют широковещательные, а в каких — однонаправленные сообщения.
474
Гпава 8
Таблица 8.3. Правила применения широковещательных и однонаправленных DHCP-сообщений
Установка IP-адреса шлюза	Установка IP-адреса клиента	Применяемая адресация
Ненулевая	Отсутствует	Однонаправленные пакеты от DHCP-сервера ретранслятору
Ноль	Ненулевая	Однонаправленные DHCP-сообщения предложения и подтверждения на IP-адрес клиента
Ноль	Ноль	(Широковещательный бит установлен) DHCP-сервер отсылает широковещательные DHCP-сообщения предложения и подтверждения на OxFF.FF.FF.FF
Ноль	Ноль	(Широковещательный бит не установлен) DHCP-сервер отсылает однонаправленные DHCP-сообщения предложения и подтверждения на IP-адрес клиента, а также на адрес, указанный в поле Your IP Address (ваш IP-адрес)
Ретрансляторы DHCP
Процесс загрузки DHCP во многом опирается на широковещательные сообщения, однако большинство маршрутизаторов не осуществляют их пересылку. Таким образом, необходимо, чтобы в каждом сегменте сети присутствовал либо отдельный DHCP-сервер, либо специальное средство, предназначенное для передачи широковещательных сообщений поиска удаленным DHCP-серверам. Функции ретрансляторов DHCP соответствуют именно второму требованию.
Функции ретранслятора обычно осуществляются на маршрутизаторе, подключенном к сегменту сети, в которой содержатся DHCP-клиенты. Устройство ретрансляции обычно снабжается адресом DHCP-сервера, а следовательно, может отсылать этому серверу однонаправленные сообщения.
На рис. 8.10 изображена наиболее общая схема сети, в которой присутствует ретранслятор DHCP.
На рис. 8.10 показано, как DHCP-клиент отсылает в сеть 10.2.0.0 широковещательное DHCP-сообщение поиска. На маршрутизаторе установлено программное обеспечение ретранслятора DHCP. Ретранслятор принимает это широковещательное DHCP-сообщение, и от имени клиента отправляет на адрес DHCP-сервера (10.1.0.1) однонаправленное сообщение. Ретрансля-
Протокол DHCP
475
тор помещает в пакет поиска аппаратный адрес DHCP-клиента и отправляет этот запрос со своего IP-адреса в сети DHCP-клиента (10.2.99.99).
Рис. 8.10. Конфигурация сети, подразумевающая размещение на маршрутизаторе программного обеспечения ретранслятора DHCP
DHCP-сервер обращает внимание на IP-адрес источника и использует эту информацию для определения IP-сети, к которой принадлежит истинный инициатор запроса. DHCP-сервер отсылает свой ответ ретранслятору DHCP, который, в свою очередь, отвечает DHCP-клиенту.
На рис. 8.11 изображена последовательность сообщений в сети, поддерживающей DHCP-ретрансляцию.
Маршрутизатор
10.1.99.99
DHCP-сервер 10.1.0.1
10.2.99.99
Сообщения о адреса 10.2.99.99
3: Нужна дополнительная информация о параметрах
1: Пакет DHCP-поиска для X
2: Как насчет адреса 10.2.0.1
2: От 10.1 лТ—"какнасчет адреса 1 oZoTiT
3: От 10.1.0.1 — параметры
4: Вот адрёсТпараметры^
Рис. 8.11. Процесс DHCP-ретрансляции
476
Гпава 8
Области и классы Microsoft DHCP
В компании Microsoft термин "область" (scope) обозначает набор IP-адресов, которые DHCP-сервер Windows 2000 может выделять своим клиентам. Так как эти DHCP-серверы не взаимодействуют между собой, обязанностью каждого из них является недопущение наложения адресов одной области на адреса другой области. Аналогичным образом, Microsoft называет совокупность разнообразных областей суперобластью (superscope). Старые версии программного обеспечения DHCP-серверов (вышедшие до обновления SP4 системы Windows NT 4.0 Server) могли управляться лишь с одной DHCP-областыо; впоследствии ' эти программы обрели возможность управлять множеством областей, в общем называемых суперобластыо.
Будущее DHCP
По мере того, как продвигается разработка и внедрение протокола IPv6, роль службы DHCP начинает кардинально меняться. Одним из величайших преимуществ протокола IPv6 является автоконфигурация (autoconfiguration) — IPv6-xocTbi способны создавать локальные IP-адреса посредством своих аппаратных адресов и процесса обнаружения соседства (Neighbor Discovery). За более подробной информацией об этом процессе обращайтесь к главе 13.
Возможность автоконфигурации означает, что необходимость в службе DHCP отпадает. Возможно, эта служба станет использоваться для обеспечения конфигурационных параметров, настройка которых иными средствами будет невозможна.
Поиск неисправностей DHCP
Лучшим способом поиска неисправностей службы DHCP является применение анализатора — с его помощью можно сравнить проблемную последовательность загрузки со стандартной четырехпакетной последовательностью. Чтобы определить, какой адрес был присвоен устройству с операционной системой Windows 2000, воспользуйтесь утилитой IPCONFIG. Этот инструмент, изображенный на рис. 8.12, выводит текущий 1Р-адрес.
Вы можете освободить или продлить период выделения IP-адреса с помощью следующих команд:
□	ipconfig /release — освобождает IP-адрес для данного адаптера;
□	ipconfig /renew — продлевает период выделения IP-адреса для данного адаптера.
Протокол DHCP
477
Рис. 8.12. Утилита IPCONFIG выводит информацию, касающуюся IP-адресов
В конечном счете, служба DHCP остается одной из наиболее полезных и практичных служб Прикладного уровня TCP/IP, имеющихся в распоряжении сетевых администраторов. Поскольку она значительно упрощает и централизует управление IP-адресами и связанной с ними конфигурационной информацией, это просто находка для администраторов, отвечающих за крупные, сложные и сильно распределенные сети TCP/IP.
Выводы по главе
□	Служба DHCP дает компьютерам возможность получать готовые к употреблению уникальные IP-адреса, а также, даже если адрес присвоен не был, необходимую конфигурационную информацию TCP/IP. Если в сегменте кабеля, в котором было распространено широковещательное сообщение DHCP-запроса, есть DHCP-сервер или ретранслятор, служба DHCP упрощает и автоматизирует включение этого компьютера в сеть TCP/IP.
□	С административной точки зрения, служба DHCP облегчает определение и управление пулами IP-адресов, которые компания Microsoft называет областями (в единственном числе, имея в виду один диапазон IP-адресов, которым заведует DHCP) или суперобластями (во множественном числе — совокупность областей 1Р-адресов).
□	Предшественником протокола DHCP является старый протокол Прикладного уровня TCP/IP под названием ВООТР, который обеспечивает удаленную загрузку по сети бездисковых рабочих станций. Базовые форматы протоколов ВООТР и DHCP абсолютно совместимы, так что, если настроить маршрутизатор на пересылку ВООТР-пакетов, он будет пересылать и DHCP-пакеты.
478
Гпава 8
□ Протокол DHCP обеспечивает поддержку трех типов распределения адресов. При ручном распределении администраторы напрямую управляют всеми адресами. Автоматическое распределение позволяет протоколу DHCP назначать относительно статические адреса, а при динамическом распределении адреса предоставляются на определенные периоды времени, называемые периодами выделения. Многие функции и сообщения протокола DHCP связаны с приобретением, обновлением и освобождением адресов, назначенных динамическим способом (в основном, это касается клиентских машин).
□	Протокол DHCP поддерживает огромное количество типов сообщений и опций, однако во всех DHCP-сообщениях обязательно присутствие лишь DHCP-сообщения типа 53 (Message Туре, тип сообщения). Так как в DHCP-пакетах может передаваться на удивление значительное количество конфигурационной информации (включая все типы сетевых служб, таких как электронная почта и NetBIOS over TCP/IP), этот протокол работает с некоторыми опциями сообщений.
□	При диагностике неисправностей службы DHCP, особенно тех, которые относятся к последовательности загрузки DHCP, чрезвычайно эффективным средством является анализатор протоколов; он может отображать последовательность сообщений, перемещающихся по сети, которую можно сравнить с обычной, общепринятой последовательностью.
Основные термины
DHCP-запрос (DHCP request) — сообщение DHCP, направленное клиентом серверу с запросом определенной службы; такие сообщения отсылаются после того, как клиент получает IP-адрес и возможность взаимодействовать с DHCP-сервером посредством однонаправленных, а не широковещательных пакетов.
DHCP-клиент (DHCP client) — программный компонент клиента TCP/IP, обычно реализуемый как часть программного обеспечения стека протоколов; издает запросы адресов, запросы на продление выделения, отсылает DHCP-серверу другие DHCP-сообщения.
DHCP-опции (DHCP options) — конфигурационная информация и данные о параметрах, определяющие предмет поиска DHCP-клиента. Две специальные опции — 0: Pad (набивка) и 255: End (окончание) — являются вспомогательными. Опция Pad гарантирует завершение всех полей DHCP на приемлемой границе, a End обозначает отсутствие в пакете последующих опций.
DHCP-ответ (DHCP reply) — сообщение DHCP, содержащее ответ сервера на запрос клиента.
Протокол DHCP
479
DHCP-поиск (DHCP Discovery) — четырехпакетный процесс, предназначенный для получения IP-адреса, периода выделения и конфигурационных параметров. В этом процессе участвуют пакеты Discover (поиск), Offer (предложение), Request (запрос) и Acknowledgement (подтверждение).
DHCP-ретранслятор (DHCP relay agent) — специальный программный компонент, предназначенный для распознавания и перенаправления пакетов DHCP Discovery (DHCP-поиска) известным DHCP-серверам. Когда в каком-либо сегменте кабеля или широковещательном домене отсутствует DHCP-сервер, но есть DHCP-клиенты, испытывающие потребность в управлении адресами и получении конфигурационных данных, в этом сегменте или широковещательном домене необходимо установить DHCP-ретранслятор (или позволить маршрутизаторам перенаправлять пакеты ВООТР сегментам, в которых есть DHCP-серверы).
DHCP-сервер (DHCP server) — программный компонент, работающий на сетевом сервере, ответственный за управление адресными пулами (областями действия) TCP/IP и взаимодействие с клиентами для предоставления по их требованию IP-адресов и сопутствующих конфигурационных данных TCP/IP.
Message Туре (тий сообщения) — обязательная опция, обозначающая назначение пакета DHCP. Существует восемь типов сообщений: Discover (поиск), Offer (предложение), Request (запрос), Decline (отказ), Acknowledge (подтверждение), Negative Acknowledgement (NAK, отсутствие подтверждения приема), Release (освобождение) и Inform (уведомление).
Автоконфигурация (autoconfiguration) — процесс автоматического назначения конфигурации без вмешательства человека. В случае с IPv6, как указано в главе 13, клиенты могут проводить автоконфигурацию своих IP-адресов с помощью или без помощи протокола DHCP.
Автоматическое выделение адресов (automatic address lease) — тип выделения адресов протокола DHCP, при котором DHCP-сервер может выполнять постоянное назначение адреса в пределах своего адресного пула; обычно применяется при назначении адресов серверам, маршрутизаторам и другим устройствам, для которых необходимы стабильные IP-адреса.
Адресный пул (address pool) — смежный диапазон числовых IP-адресов, определяемый начальным и конечным IP-адресами и управляемый DHCP-сервером.
Время истечения периода выделения (lease expiration time) — окончание периода выделения. Если к этому времени DHCP-клиент не осуществил продление или повторное присвоение своего адреса, он должен освободить этот адрес и провести повторную инициализацию.
480
Гпава 8
Динамическое выделение адресов (dynamic address lease) — разновидность выделения адресов службой протокола DHCP, при которой каждое назначение адреса выполняется на определенный период, поэтому выделение адреса необходимо продлевать до истечения этого периода; в противном случае выделяется новый адрес. Динамически адреса выделяются клиентским машинам, для которых стабильность IP-адресов не принципиальна.
Идентификатор клиента (Client Identifier) — идентификационный номер, применяемый DHCP-сервером для отслеживания клиента, его IP-адресов, периода выделения и других параметров. Обычно в качестве значения идентификатора клиента применяется его аппаратный адрес.
Локальный процесс (local process) — процесс или поток выполняемых задач, исполняемый на локальном хосте (не предполагающий удаленного исполнения или режима работы).
Область (scope) — в компании Microsoft областью называют группу адресов, каждый из которых может быть присвоен клиенту DHCP-сервером. Другие производители обозначают это понятие терминами "адресный пул" или "диапазон адресов".
Область адресов (address scope) — см. Область.
Освобождение адреса (release address) — процесс отключения IP-адреса посредством формальной отправки DHCP-серверу пакета DHCP-освобождения (тип сообщения 0x07). Если клиент отключается, не отправив пакет освобождения, DHCP-сервер оставляет выделение в силе вплоть до момента его истечения.
Период выделения (lease time) — промежуток времени, в течение которого действительно присвоение IP-адреса DHCP-клиенту.
Повторная инициализация (reinitialize) — процесс запуска стандартного процесса DHCP-поиска заново после неудачного завершения процессов продления и повторного присвоения. В стадии повторной инициализации DHCP-клиент не имеет IP-адреса, указывая в качестве исходного адреса значение "0.0.0.0".
Предпочтительный адрес (preferred address) — адрес, который DHCP-клиент помнит с момента предыдущего сетевого сеанса. Большинство DHCP-клиентов хранят список последних использованных IP-адресов, отдавая предпочтение последнему из них. Это обстоятельство придает системе сетевой адресации статическое обличие, однако нет гарантии, что клиент сможет при каждой загрузке получать один и тот же адрес. В протоколе IPv6 термин "предпочтительный адрес" обозначает один-единственный адрес среди множества других адресов, которые могут быть присвоены
Протокол DHCP
481
определенному интерфейсу; применение этого адреса протоколами высокого уровня не ограничено.
Программируемое постоянное запоминающее устройство (Programmable Read-Only Memory, PROM) — неперезаписываемая разновидность машинной памяти, применяемая для создания долговременного хранилища определенной базовой информации (например, загрузочных параметров операционной системы). Запись в PROM (иначе "прошивка") производится с помощью специальных методов записи данных до установки чипов на материнскую или интерфейсную плату.
Процесс освобождения адреса (release process address) — см. Освобождение адреса.
Процесс повторного присвоения (rebinding process) — процесс обращения к любому DHCP-серверу, осуществляемый посредством широковещания для продления выделения адреса.
Процесс продления (renewal process) — процесс пролонгации IP-адреса для его дальнейшего применения клиентом. По умолчанию DHCP-клиент запускает этот процесс по прошествии половины периода выделения.
Процесс ретрансляции (relay agent process) — процесс или поток выполняемых задач, исполняемый на локальном хосте (им может быть рабочая станция Windows, сервер или маршрутизатор) и заключающийся в перенаправлении широковещательных DHCP-сообщений удаленному DHCP-серверу в качестве однонаправленных пакетов от имени клиента, находящегося вне широковещательного домена протокола DHCP.
Ручное выделение адресов (manual address lease) — тип выделения адресов службой протокола DHCP, при котором администратор берет на себя всю ответственность за управление присвоением адресов, и использует протокол DHCP только для сохранения данных, относящихся к этой деятельности, и конфигурационных данных TCP/IP.
Стираемая программируемая постоянная память (Erasable Programmable Read-Only Memory, EPROM) — стираемая разновидность постоянной компьютерной памяти, в которую можно не только запрограммировать определенную базовую информацию (например, параметры загрузки системы или операционной системы), но, при необходимости, стереть и перезаписать ее. Запись и перезапись EPROM возможна только в том случае, если микросхема уже подсоединена к материнской или интерфейсной плате.
Строка с завершающим нулем (null-terminated string) — байтовая строка, содержащая значение "ноль". Когда поле заполняется строкой с завершающим нулем, она называется "дополненной нулями".
482
Гпава 8
Широковещательный бит (brodcast bit) — одиночный бит в начале поля Flags (флаги) DHCP-пакета, обозначающий возможность или невозможность получения клиентом однонаправленных пакетов до завершения четырехпакетного процесса запуска DHCP.
Широковещательный поиск (discovery broadcast) — процесс обнаружения DHCP-сервера посредством отсылки широковещательного пакета DHCP-поиска в локальный сегмент сети. Если в локальном сегменте сети DHCP-сервер отсутствует, перенаправить запрос удаленному DHCP-серверу должен ретранслятор. Если же в локальном сегменте отсутствует и ретранслятор, клиент не может получить IP-адрес с помощью протокола DHCP.
Контрольные вопросы
1.	Служба DHCP заведует только IP-адресами. Да или нет?
а)	да;
б)	нет.
2.	Какой из следующих терминов обозначает отдельную группу IP-адресов, управление которой осуществляется службой DHCP? (Выберите все подходящие ответы, учитывая терминологию различных операционных систем.)
а)	адресный пул;
б)	группа адресов;
в)	область адресов;
г)	суперобласть адресов.
3.	Для разрешения службы DHCP на современном клиенте Windows TCP/IP при конфигурации необходима лишь одна настройка. Да или нет?
а)	да;
б)	нет.
4.	Имея в виду динамическое выделение DHCP-адресов, в какой именно момент в период выделения DHCP происходит первая попытка продления?
а)	по прошествии четверти периода выделения;
б)	по прошествии половины периода выделения;
в)	по прошествии трех четвертей периода выделения;
г)	по прошествии семи восьмых периода выделения.
Протокол DHCP
483
5.	Что из нижеперечисленного Представляет собой действительный программный компонент службы DHCP? (Выберите все подходящие ответы.)
а)	DHCP-клиент;
б)	DHCP-распознаватель;
в)	DHCP-сервер;
г)	первичный ведущий DHCP-сервер;
в)	вторичный ведущий DHCP-сервер;
д) DHCP-ретранслятор.
6.	Если DHCP-клиент и DHCP-сервер находятся в разных сегментах кабеля, какая методика позволяет обработать их исходные широковещательные запросы? (Выберите все подходящие ответы.)
а)	таких методик не существует; DHCP-сервер обязательно должен присутствовать в том же сегменте кабеля или широковещательном домене, что и DHCP-клиент;
б)	установка DHCP-ретранслятора в любом сегменте кабеля или широковещательном домене, к которому DHCP-сервер не подключен напрямую;
в)	установка удаленного DHCP-ретранслятора в любом сегменте кабеля или широковещательном домене, к которому DHCP-сервер не подключен напрямую;
г)	настройка внутренних маршрутизаторов, позволяющая им перенаправлять ВООТР-пакеты из сегментов кабеля или широковещательных доменов, в которых находятся DHCP-клиенты, в сегменты кабеля или широковещательные домены, в которых находятся DHCP-серверы;
д) настройка внутренних маршрутизаторов, позволяющая им перенаправлять ВООТР-пакеты из сегментов кабеля или широковещательных доменов, в которых находятся DHCP-серверы, в сегменты кабеля или широковещательные домены, в которых находятся DHCP-клиенты.
7.	Какова типичная длительность выделения IP-адресов в офисах, персонал в которых постоянно меняется?
а)	от четырех до восьми часов;
б)	от одного до трех дней;
в)	одна неделя;
г)	от двух до трех недель.
8.	Какова типичная длительность выделения IP-адресов в сетях поставщиков доступа в Internet?
а)	от четырех до восьми часов;
б)	от одного до трех дней;
484
Гпава 8
в)	одна неделя;
г)	от двух до трех недель.
9.	Как DHCP-ретранслятор перенаправляет ответ DHCP-сервера на исходный запрос адреса, осуществленный клиентом?
а)	он применяет временный IP-адрес, создаваемый для инициатора запроса;
б)	он использует IP-адреса, предоставленные инициатором запроса;
в)	он применяет МАС-адрес инициатора запроса;
г)	он отсылает широковещательный ответ, а инициатор запроса его ожидает.
10.	Какой тип выделения оптимален при создании адресов с помощью службы DHCP для серверов или маршрутизаторов и их последующего управления этой службой?
а)	постоянный;
б)	ручной;
в)	автоматический;
г)	динамический.
11.	Какой тип выделения оптимален при создании адресов с помощью DHCP для сетевых клиентов (обычных машин конечных пользователей)?
а)	постоянный;
б)	ручной;
в)	автоматический;
г)	динамический.
12.	Чем объясняется то обстоятельство, что протокол DHCP по традиции не используется для управления адресами серверов и маршрутизаторов?
а)	маршрутизаторы и серверы требуют статического присвоения IP-адресов;
б)	DHCP — это решение только для клиентов;
в)	возможно лишь ручное обновление протокола DHCP, а это неприемлемо для серверов и маршрутизаторов;
г)	серверы и маршрутизаторы часто связаны со службой DNS, а при изменении адресов записи этой службы необходимо обновлять вручную.
13.	Для какого из следующих типов машин не существует ограничений относительно динамического присвоения IP-адресов?
а)	для сервера;
б)	для маршрутизатора;
Протокол DHCP
485
в)	для клиента;
г)	ни для одного из перечисленных.
14.	Какие из следующих номеров портов протоколов UDP и TCP связаны с DHCP?
а)	57 и 58;
б)	67 и 68;
в)	77 и 78;
г)	116 и 117.
15.	Как бы вы назвали процесс отсылки широковещательных сообщений DHCP-поиска, не перенаправляемых маршрутизаторами?
а)	удаленный процесс;
б)	ограниченный процесс;
в)	локальный процесс;
г)	клиентский процесс.
16.	Адрес какого типа клиент указывает в пакете поиска в случае, если он и раньше действовал в этой сети?
а)	предшествующий адрес;
б)	бывший адрес;
в)	предпочтительный адрес;
г)	продлеваемый адрес.
17.	Какие из следующих типов опций DHCP не относятся к службе NetBIOS over TCP/IP? (Выберите все подходящие ответы.)
а)	1;
б)	3;
в)	15;
г)	44;
д)	46;
е)	47.
18.	Пакет какого типа DHCP-сервер отсылает DHCP-клиенту в ответ на пакет поиска (Discover)?
а)	ответ (Reply);
б)	предложение (Offer);
в)	освобождение (Release);
г)	продление (Renewal).
486
Гпава 8
19.	Каким образом DHCP-клиент принимает предложение от DHCP-сервера?
а)	посредством отправки пакета DHCP-получения (DHCP Accept);
б)	посредством отправки пакета DHCP-запроса (DHCP Request);
в)	посредством отправки пакета DHCP-отказа (DHCP Decline);
г)	посредством отправки пакета DHCP-продления (DHCP Renewal).
20.	Пакет какого типа DHCP-сервер отсылает DHCP-клиенту в ознаменование завершения процесса DHCP-поиска?
а)	пакет DHCP-получения (DHCP Accept);
б)	пакет DHCP-запроса (DHCP Request);
в)	пакет DHCP-подтверждения (DHCP Acknowledgment, АСК);
г)	пакет DHCP-продления (DHCP Renewal).
21.	В какой момент периода продления DHCP-клиент издает повторный запрос продления, если на первый такой запрос ответа не поступило?
а)	по прошествии половины периода продления;
б)	по прошествии трех четвертей периода продления;
в)	по прошествии семи восьмых периода продления;
г)	по истечении всего периода продления.
22.	В какой момент периода продления DHCP-клиент входит в стадию повторного присвоения?
а)	0,5;
б)	0,75;
в)	0,875;
г)	1,0.
23.	Хотя это не предусмотрено спецификацией, DHCP-клиент должен, освобождая свой адрес, отослать DHCP-серверу пакет DHCP-освобождения. Да или нет?
а)	да;
б)	нет.
24.	Какое из следующих полей определяет, является ли пакет DHCP-запро-сом или DHCP-ответом?
а)	поле Operation Code или Opcode (код операции);
б)	поле Hardware Туре (тип аппаратного адреса);
в)	поле Transaction Id Number (идентификационный номер сообщения);
г)	поле Flags (флаги).
Протокол DHCP
487
25.	Какая из следующих характеристик лучше других отражает назначение поля DHCP Options (опции DHCP) DHCP-сообщения?
а)	оно содержит информацию о дополнительных полях полезной нагрузки;
б)	оно применяется для расширения данных DHCP-пакета;
в)	оно обеспечивает битовую маску для интерпретации значений полей;
г)	оно содержит специальные адреса, предназначенные для применения DHCP-клиентами, в порядке попыток использования.
26.	DHCP-клиенты употребляют широковещательную адресацию только тогда, когда у них нет текущих действительных IP-адресов. Да или нет? а) да;
б)	нет.
27.	На каком устройстве в сегменте сети, не содержащем активного DHCP-сервера, работает DHCP-ретранслятор?
а)	на всех машинах DHCP-клиентов;
б)	по крайней мере на одной машине DHCP-клиента;
в)	на специальной машине, выделенной исключительно для DHCP-ретранслятора;
г)	на маршрутизаторе, подсоединенном к сегменту сети, в котором присутствуют DHCP-клиенты.
28.	Функция автоконфигурации, реализованная в протоколе IPv6, делает службу DHCP совершенно ненужной. Да или нет?
а)	да;
б)	нет.
Практические задания
Задание 8.1
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (процесс ее установки описывается в задании 1.1 главы 7). Кроме того, для выполнения этого и следующего задания вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
488
Гпава 8
Исследование последовательности загрузки DHCP
1.	Запустите демо-версию программы EtherPeek for Windows, руководствуясь инструкциями, приведенными в задании 1.1 главы 1.
2.	Выберите File > Open и откройте файл трассировки DHCPboot.pkt, находящийся в каталоге Course Technology\18654-2\Ch8 на вашем жестком диске. В результате откроется окно сводки пакета.
3.	Чтобы открыть окно расшифровки, дважды щелкните на пакете № 1 (Packet #1). Ответьте на следующие вопросы об этом пакете.
а)	Какое значение содержится в поле Client Identifier (идентификатор клиента)?
б)	Как можно убедиться в том, что значение в поле Client Identifier (идентификатор клиента) соответствует аппаратному адресу клиента?
в)	Каково имя хоста?
г)	Может ли этот клиент во время процесса загрузки принимать однонаправленные ответы?
д)	Перечислите коды опций, присутствующие в этом DHCP-пакете:
4.	Нажимая кнопку Decode Next (стрелка вправо), найдите DHCP-пакеты Offer (предложение), Request (запрос) и АСК (подтверждение). Просмотрите каждый из этих пакетов. Это нормальная последовательность загрузки DHCP.
5.	Закройте окно расшифровки и окно сводки пакета.
Задание 8.2
Интерпретация последовательностей продления, повторного присвоения
и повторной инициализации службы DHCP
1.	Выберите File > Open и откройте файл трассировки DHCPlab.pkt, находящийся в каталоге Course Technology\18654-2\Ch8 на вашем жестком диске. В результате откроется окно сводки пакета.
2.	Чтобы открыть окно расшифровки, дважды щелкните на пакете №3 (Packet #3). Ответьте на следующие вопросы об этом пакете.
а)	Есть ли у DHCP-клиента IP-адрес на данном этапе?
б)	К какому типу сообщения относится этот пакет?
Протокол DHCP
489
в)	Каково назначение этого пакета?
г)	Получает ли клиент ответ на этот пакет?
д)	Какой процесс службы DHCP выполняется клиентом в данный момент?
3.	Нажимая кнопку Decode Next (стрелка вправо), перейдите к пакету № 5 (Packet #5). Ответьте на следующие вопросы об этом пакете:
а)	Есть ли у DHCP-клиента IP-адрес на данном этапе?
б)	К какому типу сообщения относится этот пакет?
в)	В чем заключается основное различие между этим пакетом и пакетом № 3 (Packet #3)?
г)	Получает ли клиент ответ на этот пакет?
д)	Какой процесс службы DHCP выполняется клиентом в данный момент?
4.	Нажимая кнопку Decode Next (стрелка вправо), перейдите к пакету № 10 (Packet #10). Ответьте на следующие вопросы об этом пакете:
а)	Есть ли у DHCP-клиента IP-адрес на данном этапе?
б)	К какому типу сообщения относится этот пакет?
в)	Получает ли клиент ответ на этот пакет?
г)	Какой процесс службы DHCP выполняется клиентом в данный момент?
5.	Просмотрите DHCP-пакеты, оставшиеся в файле трассировки. Получил ли клиент запрошенный 1Р-адрес?
6.	Закройте окно расшифровки и окно сводки пакета.
Задание 8.3
Редактирование и тестирование DHCP-фильтра
1.	Для открытия окна Filter выберите View > Filters.
2.	Дважды щелкните на фильтре DHCP. Как видите, это фильтр Protocol (протокол).
3.	Нажмите кнопку Protocol, чтобы узнать протокол, выбранный для этого фильтра. Как видите, отмечен протокол DHCP.
4.	Для закрытия окна Protocol нажмите кнопку ОК.
5.	Фильтр захватывает все пакеты DHCP, идентифицируемые анализатором. Вам интересны лишь те DHCP-пакеты, которые отсылаются с IP-адреса
490
Гпава 8
0.0.0.0, что может означать либо загрузку в сети нового устройства, либо повторную инициализацию DHCP-клиента. Установите флажок Address filter.
6.	Щелкните на стрелке вниз в поле Туре (рядом с областью Address 1). Выберите IP.
7.	В поле Address 1 автоматически помещается значение 0.0.0.0 — именно оно и требовалось. Вам не нужно редактировать информацию о направлении или значение в поле Address 2. Нажмите кнопку ОК. Теперь необходимо протестировать фильтр, применив его к существующему файлу трассировки.
8.	Выберите File > Open и откройте файл трассировки DHCPlab.pkt, находящийся в каталоге Course Technology\18654-2\Ch8 на вашем жестком диске. В результате откроется окно сводки пакета.
9.	Выберите Edit > Select.
10.	Прокрутите вниз поле Selection Criteria, пока не появится фильтр DHCP. Установите флажок рядом с этим фильтром.
11.	Нажмите кнопку Select Packets. В окне сводки будут выделены четыре пакета.
12.	Нажмите кнопку Hide Unselected, чтобы просмотреть пакеты, соответствующие критериям вашего фильтра.
13.	Для закрытия окна Selection нажмите кнопку Close. Дважды щелкните на каждом пакете в отдельности, чтобы просмотреть окно его полной расшифровки и более подробно изучить пакет.
14.	Закройте демо-версию программы EtherPeek for Windows.
Учебные задачи
1.	Предположим, что вы работаете сетевым администратором в крупной компании, занимающейся изготовлением хлебной продукции. 32 ее пекарни рассредоточены по Соединенным Штатам, Великобритании и Швейцарии. Руководство компании желает перейти к DHCP-структуре сети, используя частные IP-адреса. В каждой пекарне установлено всего лишь по три компьютера, но все они сообщаются с центральным офисом в Йонкерсе, Нью-Йорк. Как бы вы осуществили установку служб DHCP во всех этих системах?
2.	Допустим, вы консультируете несколько крупных сетевых компаний. Один из ваших клиентов жалуется, что пользователи ноутбуков не могут подсоединиться к сети в вечернее время. Зная, что в сети осуществляется
Протокол DHCP 49/
DHCP-адресация, они создали для ноутбука постоянный адрес, который находится в пределах разрешенного диапазона IP-адресов для их сети. Как можно вычислить причину проблемы?
3.	Предположим, что в вашей конструкторской компании было установлено два DHCP-сервера Microsoft — по одному на каждом из двух этажей офиса в Вене (Австрия). Когда клиенты на первом этаже пытаются войти в сеть, они получают сообщение о том, что указанный IP-адрес уже используется. Как можно вычислить причину этой проблемы и какое решение нужно рекомендовать?
Глава 9
Организация защиты в среде TCP/IP
После прочтения этой главы и выполнения упражнений вы сможете:
□	уяснить базовые понятия и принципы, связанные с обеспечением безопасности компьютеров и сетей;
□	получить представление о проблемах безопасности, присущих архитектуре TCP/IP;
□	перечислить хорошо известные точки атаки TCP/IP;
□	узнать типичные формы атак TCP/IP;
□	разобраться в основных процедурах идентификации, адресации и исправления проблем 1Р-безопасности;
□	ориентироваться в ресурсах и инструментах, предназначенных для поддержки эффективной и мощной системы IP-безопасности в ваших системах и сетях.
Разработка TCP/IP происходила в те годы, когда сети казались чудом технологии, а возможностью доступа в них обладали лишь избранные. Основные протоколы, обеспечивающие работу этой сетевой среды, были лишены функций, связанных с безопасностью. Фактически модель механизма защиты, присутствующую в TCP/IP, можно охарактеризовать как "оптимистическую" в том смысле, что даже очевидная незащищенность потенциально ценной информации (например, учетных записей и паролей) не признавалась опасной вплоть до того, как сеть Internet получила широчайшее распространение.
Если безопасность в среде TCP/IP кажется запоздалой мыслью, так это потому, что функции и возможности, направленные на ее обеспечение, были созданы в ходе различных модификаций и усовершенствований, которые наслоились на первоначальные реализации. Большая часть содержащегося с этой главе материала затрагивает тему адресации потенциальных "дыр" (holes) или иначе "слабых мест" защиты и точек воздействия, оставшихся от
494
Гпава 9
исходных реализаций многих протоколов и служб на основе протокола IP. Следовательно, организация защиты TCP/IP требует от вас знания таких потенциальных дефектов, понимания того, как с ними нужно обращаться, умения оценивать вероятные угрозы и слабые места в системе защиты и предпринимать надлежащие действия. Таким образом, обеспечение безопасности требует постоянного наблюдения, оценки ситуации и анализа текущей степени вероятности атак, угроз и уязвимости.
Основы безопасности компьютеров и сетей
В человеческом сознании вопросы обеспечения безопасности компьютеров и сетей неизменно ассоциируются с хакерами (и взломщиками (crackers)). Хотя защита системы или сети действительно подразумевает блокирование возможности внешних атак, она также связана с предохранением систем, данных и приложений от любых источников повреждения и ущерба (как непреднамеренного, так и умышленного), которые могут находиться как вне, так и внутри организации. Таким образом, планирование действий по восстановлению информации в чрезвычайных ситуациях, регулярное осуществление резервирования, использование антивирусного программного обеспечения, а также обеспечение физической защиты (physical security) вычислительных ресурсов — задачи не менее важные, чем блокировка нежелательных вторжений.
В действительности, по данным организации ICSA (International Computer Security Association, Международное общество компьютерной безопасности), более 90% времени, стоимости и усилий, направленных на нейтрализацию последствий потери данных или служб в сетях, затрачиваются вследствие таких банальных причин, как вирусы, нарушение энергопотребления и злонамеренные действия персонала организаций. Кроме того, в соответствии с подсчетами, произведенными в организации ICSA, 70% проникновений в сети и системы осуществляется самими сотрудниками организаций, которые имеют возможность обойти все барьеры, охраняющие внешние границы сетей.
Следовательно, понятие защиты сети включает в себя нечто большее, чем простое предохранение от действий недоброжелателей извне. Это утверждение в равной степени справедливо по отношению к проблемам безопасности TCP/IP. По существу, все формы защиты сети в любой организации так или иначе призваны обеспечивать безопасность в трех наиболее серьезных областях:
□	физическая защита (регулирование физического доступа);
□	контроль действий персонала (управление доступом сотрудников);
□	программная защита (контролирование программного обеспечения, в том числе слабых мест в его работе).
Организация защиты в среде ТCP/IP
495
Три направления защиты сети
Прежде чем мы углубимся в обсуждение специальных вопросов обеспечения безопасности TCP/IP, необходимо подробнее остановиться на трех наиболее значительных элементах, делающих возможным создание безопасных систем и сетей. Некоторые приведенные здесь данные могут показаться общеизвестными, и они действительно продиктованы здравым смыслом. Однако в то время как большинство людей, занимающихся информационными технологиями, на 98% руководствуются специальными знаниями и лишь на 2% — здравым смыслом, в области обеспечения безопасности систем и сетей все перевернулось с ног на голову — здесь 2% технологии и 98% здравого смысла. Поэтому простите нас, если мы будем втолковывать очевидное, но вы удивитесь, как много людей пытаются решить проблемы безопасности (ситуационные и связанные с человеческим фактором) техническими средствами, не обращая внимание на более очевидные способы.
Компьютерную и сетевую безопасность можно представить в виде треножника, причем все ее три метафорические "ножки" равнозначны.
□ Физическая защита. Если не ограничить физический доступ неуполномоченных пользователей к серверам, маршрутизаторам, брандмауэрам и другой сетевой аппаратуре, невозможно гарантировать того, что они не смогут проникать в ваши системы. Физическая защита — синоним "регулирования физического доступа"; она должна тщательно контролироваться применительно к любому оборудованию, манипуляции с которым могут привести к нарушению безопасности компьютеров или сетей. Следовательно, в целях ограничения доступа это оборудование необходимо помещать в' специальные аппаратные комнаты или монтажные шкафы (предусматривая их достаточную вентиляцию и электроснабжение). Более того — чтобы доступ к оборудованию могли получать только пользователи, имеющие соответствующие полномочия, полезно ввести систему проверки посетителей, применения идентификационных карт, или даже карточек-ключей.
□ Контроль действий персонала (personnel security). Лучшие в мире пароли и средства управления доступом бессмысленны, если служащие компании не обучены ими пользоваться. Когда пароли слишком сложны для запоминания, а политика безопасности (security policy), регулирующая такие ситуации, отсутствует, люди обычно приклеивают на свои компьютеры записки с этими паролями; как следствие, любой желающий может получить конфиденциальную информацию и воспользоваться ею. Необходимо сформулировать политику безопасности вашей организации, убедиться, что сотрудники ей следуют, и пресекать любые формы невыполнения и "мошенничества", которые могут свести на нет все усилия по обеспечению физической и программной защиты (software security).
496
Гпава 9
□ Системная и сетевая защита. Имеется в виду анализ существующей программной среды, идентификация и устранение потенциальных точек воздействия, закрытие всех известных "черных ходов" (back doors), т. е. брешей в системе защиты, и недопущение документированных способов проникновения в систему — эксплойтов (exploits). Два других элемента защиты в равной степени важны, но, учитывая, что это книга по TCP/IP, в данной главе мы будем обсуждать прежде всего системную и сетевую защиту.
Типичные 1Р-атаки,
эксплойты и проникновения
Начнем с небольшого обзора терминологии, связанной с компьютерной и сетевой безопасностью. Он поможет вам разобраться в первоочередных проблемах защиты TCP/IP.
О Атака (attack) представляет собой попытку пользователя, не наделенного должными полномочиями, получить доступ к информации, повредить или уничтожить эту информацию, или каким-либо иным способом подорвать защиту сети, причем желательно, чтобы до окончания атаки она осталась незамеченной. Наихудшим вариантом представляется получение инициатором атаки административных полномочий в системе, после чего он может делать с ней все, что ему вздумается.
□ Эксплойт (exploit) — это по сути документация успешной атаки. Эксплойтом могут являться указания к действию, с одной стороны, или предоставление программных средств, необходимых для выполнения атаки, с другой. К счастью, про публикацию эксплойтов хорошие парни узнают не менее оперативно, чем плохие, получая возможность выработки средств противостояния эксплойтам, недопущения их повторного осуществления и сведения их результатов к нулю. Именно поэтому так важно следить за последними достижениями в области защиты сетей и систем — постоянно появляется информация о новых эксплойтах (а вместе с тем — соответствующие исправления). Подписавшись на одну или несколько первоклассных почтовых рассылок, посвященных вопросам обеспечения безопасности (например, http://www.ntsecurity.net, http://www.cert.org, или http://www.microsoft.com/security/), вы сможете по электронной почте получать эту информацию по мере ее поступления.
□ Проникновением (break-in) называют успешную попытку подрыва безопасности системы. Под это определение подпадают все подобные действия — от относительно безвредного получения доступа к каталогам без соответствующего разрешения до захвата полного контроля над системой. Такие попытки чрезвычайно серьезны. Большинство специалистов по безопасности признают, что основная часть случаев проникновения в системы остается неизвестной широкой публике, поскольку организациям совершенно невыгодно, чтобы об их проблемах знал весь мир!
Организация защиты в среде TCP/IP	497
Вы уже знаете о том, что каждая служба на базе протокола IP ассоциируется с одним или несколькими хорошо известными адресами портов, с помощью которых они ожидают запросов. Это могут быть адреса портов протоколов TCP или UDP, задача которых — реагировать на попытки соединений, с тем, чтобы начинать процесс ответа на легальные запросы на службы. К сожалению, те самые порты, которые обрабатывают полностью разрешенные запросы на службы, могут стать точками атак, причем совершенно открытыми. Получается, что возможности, которые есть у законопослушных пользователей, есть и у злоумышленников.
Печально еще одно обстоятельство — стек TCP/IP разрабатывался с учетом оптимистической модели защиты (optimistic security model). Ее создатели не предполагали, что конструируемые ими средства обработки запросов на службы способны подвергать серверы опасности взломов, нарушения безопасности или порче данных и служб.
Вот полный список методов атаки TCP/IP. К примеру, плохие парни могут совершить одно из описанных далее действий.
□	Они могут попробовать выдать себя за пользователей, которым разрешено пользоваться системой, с помощью атаки на известные учетные записи (например, на корневую учетную запись на хосте UNIX или учетную запись администратора в системе Windows NT или Windows 2000) и многократных попыток угадать пароли, соответствующие этим записям. Успешная кража действительной учетной записи и пароля делает возможным прямое заимствование прав пользователя (user impersonation). Попытка применения всех вероятных и возможных паролей для учетной записи называется грубой парольной атакой (brute force password attack).
□	Они могут попытаться перехватить действующие сеансы связи посредством специально изготовленных IP-пакетов, которые передают им и их системам функции управления. Это называется хищением сеанса (session hijacking).
□	Они могут отслеживать Internet-трафик в поисках незашифрованной информации о паролях и учетных записях (получение этой информации, в свою очередь, может привести к заимствованию прав пользователя); кроме того, они могут попытаться получить другую ценную информацию во время ее передачи. Это называется утечкой пакетов (packet sniffing) или присвоением пакетов (packet snooping).
□	Они могут генерировать огромные объемы трафика, направленного на конкретный протокол или службу, в результате чего соответствующий сервер перегружается; с другой стороны, они могут отсылать патологически некомплектные или некорректные пакеты, после чего сервер будет до бесконечности ожидать получения дополнительных данных. Так как следствием этих действий является блокирование доступа к службе пользователей, которые имеют на это право, они называются отказом от обслуживания (Denial of Service, DoS).
17 Зак. 321
498
Гпава 9
Знакомясь с содержанием этой главы, вы можете обнаружить часто упоминаемую закономерность — между гибкостью и безопасностью существует обратная зависимость. Другими словами, чем гибче система, тем она менее защищена. Это чрезвычайно важно, поскольку разработчики TCP/IP и большинства других протоколов пытаются сделать их как можно более гибкими. Тот факт, что TCP/IP подходит и для военных, и для гражданских целей, что он сохранил свое значение по прошествии многих лет, в то время как сопутствующее оборудование и приложения быстро развиваются, доказывает, насколько гибок этот набор протоколов. Значительный вклад в обеспечение подобной гибкости вносят периферийные протоколы, такие как протокол ICMP (Internet Control Message Protocol, протокол контроля сообщений в сети Internet), SNMP (Simple Network Management Protocol, простой протокол сетевого управления), ARP (Address Resolution Protocol, протокол разрешения адресов), а также некоторые протоколы маршрутизации. По иронии судьбы именно взаимодействие этих протоколов с протоколом 1Р чаще всего подвергается опасности. Таким образом, современная практика обеспечения безопасности обычно подразумевает простое отключение функций этих протоколов. К примеру, в нормальной сети ARP-агент очень полезен в том смысле, что он позволяет хостам взаимодействовать в пределах маршрутизируемой сети без необходимости ручной настройки их шлюзов по умолчанию (что привносит большую гибкость). Тем не менее, инициатор атаки (attacker) может либо воспрепятствовать обслуживанию хоста, либо перенаправить трафик от хоста на свою машину посредством отсылки неразрешенных ARP-агентов. Чтобы исключить возможность подобных действий, необходимо либо отключить ARP-агент, либо вручную настроить МАС-адреса и вообще запретить использование протокола ARP. Если вы несете ответственность за безопасность сети, состоящей из 1000 машин, встает вопрос: настолько ли принципиальна защита ваших данных, чтобы ради нее стоило прилагать усилия для предотвращения такой атаки? Ответ на этот вопрос — это одна из причин, по которой корпорации затрачивают столько средств на защиту.
Как и все связанные протоколы, IP также характеризуется известной гибкостью — например, возможностью широковещания на все хосты без ручного определения каждого адреса, а также способностью поддержки топологий 2-го уровня путем фрагментации крупных фреймов на более мелкие. К сожалению, отключение этих базовых функций делает применение самого протокола совершенно бессмысленным, и поэтому для предотвращения их нецелевого использования необходимо искать альтернативные решения. Обычно эти решения подразумевают не специальную конфигурацию протокола, а привлечение внешних по отношению к нему продуктов, таких как прокси-серверы и брандмауэры.
Ознакомившись с материалом этой главы, вы поймете, что львиная доля повседневной работы сетевых администраторов, связанной с обеспечением
Организация защиты в среде TCP/IP
499
IP-защиты, состоит в отслеживании новейших эксплойтов и осуществлением превентивных мер, направленных на устранение возможности их применения по отношению к подотчетной сети.
Распространенные виды атак, связанных с IP
Каждая атака, которой подвергаются IP-протоколы и службы, характерна индивидуальными особенностями. Тем не менее, все атаки можно подразделить на четыре основные категории.
□ DoS-атаки. При DoS-атаке служба либо перегружается запросами, либо деформированные запросы на эту службу приводят к зависанию сервера. В обоих случаях пользователи, которые имеют право на доступ к службам сервера, теряют такую возможность из-за перегрузки сервера или его недоступности. Несмотря на то, что такие атаки не сопровождаются уничтожением данных или полным подрывом схемы защиты системы или сети, они делают невозможным пользовательский доступ ко всем службам, которые в противном случае работали бы на сервере. К сожалению, DoS-атаки довольно легко организуются, но остановить их довольно проблематично; при этом некоторые IP-службы на удивление беззащитны против них. Таким образом, хотя DoS-атаки — это скорее неудобство, чем угроза безопасности, но от этого они не становятся менее неприятны, когда происходят.
□ Атаки IP-служб (IP service attacks). Множество IP-служб подвержены атакам, которые обычно осуществляются посредством их хорошо известных портов (а иногда и через другие порты), и которые могут дать инициаторам атак возможность исследования содержимого соответствующих систем или управления ими, особенно при получении доступа к файловой системе. К примеру, службы FTP и HTTP, обеспечивающие возможность анонимной регистрации, печально известны неспособностью противостоять вторжениям в файловую систему, когда корни доступа анонимных пользователей совпадают с корнями файловой системы, соответствующими дисководам и логическим разделам дисков.
□ Слабые места в некоторых реализациях IP-служб. Иногда хакеры находят ошибки в конкретных реализациях IP-служб на определенных платформах и используют их для запуска на машинах с этими службами таких операций, которые в нормальных ситуациях являются недопустимыми. К примеру, система Windows NT подвергалась нескольким атакам с использованием отладчика, а происходило это потому, что разработчики оставили ключи отладки в активном состоянии, что впоследствии позволило во время сетевых сеансов на базе TCP/IP добиться доступа системного уровня для анонимных или несуществующих пользователей.
500
Глава 9
□ Незащищенные IP-протоколы и службы. Для доступа к службам некоторых протоколов (например, Telnet и FTP) необходима учетная запись и пароль. Тем не менее, эти протоколы не осуществляют шифрование данных. Следовательно, если злоумышленник успеет перехватить 1Р-пакет, перемещающийся от отправителя к получателю, пока эта информация пребывает в открытом состоянии, он завладеет вполне действительной парой "учетная запись — пароль", с помощью которой сможет без труда войти в систему. Здесь вряд ли можно посоветовать что-то конкретное; разве что можно ограничить открытый доступ в системы, в которые возможно вторжение. В противном случае вам придется заставить пользователей перейти на более защищенные реализации этих служб, если таковые имеются в наличии (как, например, Secure Telnet или иначе Stelnet). С другой стороны, можно попробовать принудить пользователей работать с незащищенными протоколами и службами только по соединениям виртуальной частной сети.
Какие IP-службы наиболее уязвимы?
Одной из IP-служб, подверженных атакам, является служба удаленной регистрации (remote logon service). В это понятие входит хорошо известная служба терминальной эмуляции Telnet, а также так называемые удаленные утилиты Berkley (remote utilities, сокращенно — r-utils), которые включают разнообразные команды для исполнения удаленных команд (гехес), запуска UNIX-оболочки (rsh), удаленной печати (ipr) и т. д. Вхождение этих утилит в версию BSD (Berkeley Software Distribution) операционной системы UNIX в 1980-х годах обусловило их названия. Как бы то ни было, именно их способность запускать удаленные команды или сеансы на других машинах в любой точке сети делает их источником потенциальной опасности.
По схожим причинам небезопасны программы удаленного управления, такие как pcAnywhere, Carbon Copy, Timbuktu и ReachOut. К примеру, старые версии программы pcAnywhere производства Symantec по умолчанию были абсолютно открыты для других клиентов pcAnywhere, находящихся в пределах сети, и для обращения к ним не требовалось пароля. Авторы этой книги быстро усвоили, что при подключении системы Windows к локальной инфраструктуре кабельного модема создание и шифрование учетной записи и пароля для доступа к pcAnywhere необходимо для того, чтобы ограничить доступ к этой системе других пользователей. Подготовившись справиться с этой ситуацией, мы увидели, что по крайней мере полдюжины других пользователей Windows, расположенных в том же локальном сегменте кабеля, оставляли свои системы открытыми для вторжения со стороны любого обладателя нужного программного обеспечения.
Другая группа служб, чрезвычайно подверженных атакам, — это службы, к которым возможен анонимный доступ (anonymous access). К примеру, имен
Организация защиты в среде TCP/IP
501
но эта возможность ставит под удар анонимные службы Web и FTP. По этой причине мы настоятельно рекомендуем создавать резервные копии служб и данных, доступных из сети Internet, причем крайне желательно, чтобы такие копии располагались не в общедоступных системах. Этим же объясняется стремление многих организаций размещать свои Web-службы у поставщиков доступа в Internet или использовать коммерческие службы Web-хостинга. В такой ситуации атака на общедоступную систему не может обратиться в атаку на внутреннюю сеть организации. Большинство компаний хранят одну или две резервных копии любого общедоступного сервера в частных сетях, доступ к которым ограничен. Такие копии могут помочь оперативно воссоздать общедоступную версию данных, если она пострадает от успешной атаки.
Как ни прискорбно, практически любая IP-служба может стать потенциальной точкой атаки. Чем более секретна информация, которой оперирует служба, и чем шире возможности доступа к ней, тем выше шансы на то, что она станет потенциальной точкой незаконного вторжения в систему или сеть. Примером может послужить служба SNMP, которая осуществляет установку и сбор данных о конфигурации и управлении системой на серверах, маршрутизаторах, концентраторах, коммутаторах и других сетевых устройствах. В конечном итоге, ни одна IP-служба (а их великое множество) не застрахована от нарушения системы защиты.
О дырах, черных ходах
и других незаконных точках вторжения
Эта терминология применима как к операционным системам, так и к действующим в них IP-службам, причем и те, и другие могут стать точками атаки.
□	Дыра. Брешь в системе защиты или известная точка атаки в любой операционной системе, приложении или службе. В мире UNIX "доброжелатели" задействуют любые средства для захвата учетных записей суперпользователей и получения корневого доступа к машинам. Системы Windows NT и Windows 2000 также подвержены скрупулезно спланированным эксплойтам, которые приводят к взлому администраторских учетных записей и приобретению неограниченного доступа.
□	Черный ход. Недокументированная запрещенная точка вторжения в операционную систему или приложение, создаваемая программистами систем для обхода нормальной системы защиты. Как в UNIX, так и в Windows NT и Windows 2000 черных ходов нет, но при этом существует множество способов, которые позволяют путем получения физического доступа к машине добиться аналогичных результатов, а доступ к зашифрованным файлам паролей может производиться обманными средствами. К примеру, Windows NT 4.0 стала жертвой атаки под названием GetAdmin,
502
Гпава 9
осуществление которой стало возможным благодаря присутствию в ядре операционной системы включенного отладочного флага, что дало возможность включения в администраторскую группу любых пользовательских учетных записей, кроме гостевых. Если руководствоваться точным значением термина, эту ситуацию нельзя назвать черным ходом, однако т. к. она обеспечивала предоставление любым пользователям администраторских полномочий доступа, к ней необходимо было отнестись очень серьезно и предпринять все меры для ее исправления. (Более подробную информацию по этой теме можно почерпнуть из базы знаний Microsoft, а именно — из статьи Q146965.)
□ Слабые места в системе защиты. Слабым местом (vulnerability) называются протокол, служба или системное средство, известные своей уязвимостью к атакам. Некоторые такие атаки бывают дьявольски изощренными, требуя от своих создателей глубоких познаний или обширного опыта программирования. Тем не менее, после документации любой атаки всякий пользователь, обладающий достаточной информацией о конкретном слабом месте, может повторить эксплойт; это приводит в бешенство сетевых и системных администраторов.
Хотя предотвращение возможности несанкционированного удаленного доступа — это вполне обоснованный и важный аспект защиты, особенно в системах, входящих в сеть Internet, мы обязаны напомнить о необходимости обеспечения физической безопасности. Физическая безопасность не является требованием, уникальным для TCP/IP, — любой знающий свое дело системщик с помощью подходящего инструментария сможет без труда менее чем за 15 минут влезть почти в любую систему, если ему предоставить безнадзорный и неограниченный доступ к компьютеру, на котором эта система расположена! Следовательно, как бы надежно вы не защитили IP-среду, не составить единый план защиты систем с учетом всех возможных аспектов — значит свести к нулю все свои усилия.
Физическая защита одинаково важна применительно ко всем наиболее ценным группам данных, таким как диски для аварийного восстановления системы, копии системного реестра, резервные ленты и т. д. Все дело в том, что в этих файлах содержатся хэшированные версии паролей. Алгоритмы хэширования паролей (password hashing) слишком хорошо известны, так что любой, кто сможет заполучить такие группы данных, попытается их взломать. С помощью грубой парольной атаки хакеры могут попытаться хэшировать все возможные комбинации букв, чисел и символов, чтобы найти хэш, абсолютно аналогичный заданному в файле пароля (системном реестре, на диске для восстановления системы или на резервной ленте). Если пароли достаточно длинны и состоят из букв, смешанных с цифрами и символами, такая атака занимает очень длительное время, и шансы на ее успех невелики. Именно по этой причине так важно регулярно менять пароли.
Организация защиты в среде TCP/IP
503
Существенно облегчить задачу хакерам может словарная атака (dictionary attack). Она предполагает создание хэшированных значений для всех слов в специальном словаре терминов, а затем сравнение этих значений с хэшированными значениями в файлах паролей. Так как несведущие пользователи часто выбирают в качестве паролей слова, присутствующие в английском словаре, они, сами того не желая, сокращают время взлома своих паролей с недель до секунд. В итоге, после нахождения соответствия программное обеспечение выводит информацию о подходящей учетной записи, а также текстовую версию пароля, готового для незаконного применения. Такая зловещая перспектива объясняет необходимость использования в большинстве систем Windows и UNIX устойчивых паролей (состоящих из комбинаций букв, цифр и символов и имеющих достаточную длину).
Принципы IP-защиты
Учитывая множество потенциальных точек атаки, а также разнообразие способов, с помощью которых взломщики могут воспользоваться неосведомленностью пользователей в вопросах IP-защиты, мы приводим перечень рекомендаций, которые настоятельно предлагаем применить к вашим системам.
□ Сводите незащищенность к минимуму. Не устанавливайте на своих серверах ненужные или неиспользуемые протоколы и службы на базе протокола IP. Каждый новый компонент представляет собой точку потенциальной атаки. Зачем подвергать воздействию то, что вам не нужно?
□ Блокируйте все неиспользуемые порты. Относительно простая программа, называемая сканером портов (port scanner), осуществляет попытку связи с любой IP-системой во время циклического перебора всех действительных адресов портов протоколов TCP и UDP. Примените сканер портов на своих брандмауэрах и серверах (будьте уверены, что хакер при первой возможности сделает то же самое). Закройте все неиспользуемые порты — каждый из них может спровоцировать атаку.
□ Не допускайте спуфинга внутренних адресов. Когда кто-то хочет проникнуть в сеть, он часто отсылает пакеты извне, выдавая их за внутренние сообщения, исходящие из внутренней подсети. Суть этой методики состоит в организации пакетов, которые на первый взгляд кажутся действительными, но которые никогда не смогли бы принять такую форму законными способами (отсюда и термин — спуфинг (spoofimg), означающий получение доступа путем обмана). Пакет, который действительно исходит из локальной сети, никогда не проходит интерфейс маршрутизатора или брандмауэра, т. к. они предназначены для пропуска в сеть внешнего трафика. Обязательно проверьте наличие попыток спуфинга и блокируйте их.
504
Гпава 9
□	Фильтруйте нежелательные адреса. Подписавшись на службу мониторинга Internet и электронной почты (например, mail.com) и получив списки нежелательных или сомнительных Internet-адресов, вы сможете устранить потенциальные точки атаки (или спама) путем отклонения пакетов, исходящих из определенных доменных имен или IP-адресов. Естественно, если атаки все же будут случаться, необходимо будет блокировать подобные адреса.
□	Запрещайте доступ по умолчанию, разрешайте доступ только в виде исключения. Это мы называем пессимистической моделью защиты (pessimistic security model). Она подразумевает запрещение доступа к ресурсам для всех пользователей по умолчанию, а затем разрешение доступа отдельным пользователям в качестве исключения из общего правила. В результате разрешительные умолчания (вроде тех, что существуют в файловой системе Windows NTFS) не обеспечивают пользователям доступ к ресурсам, которые вы не хотите им демонстрировать.
□	Ограничивайте внешний доступ к "рискованным"хостам. Каждый раз, предоставляя общий доступ к информации, ресурсам или службам, вы должны учитывать вероятность атак и иметь возможность восстановления без ощутимой потери этих служб или данных. Именно поэтому общедоступными должны быть лишь те хосты, подрыв системы защиты которых не может принести существенного ущерба вашей организации; по той же причине чрезвычайно важно содержать безопасные закрытые копии данных, находящихся в открытом доступе.
□	Вторгайтесь сами в свои системы и сети, чтобы не вторгся никто другой. Регулярно пробуйте атаковать свои собственные системы и сети, проверяя, действительно ли закрыты все явные точки атаки, предотвращены все возможные эксплойты и выполнены все основные действия для обеспечения защиты. Постарайтесь, чтобы это стало частью вашей повседневной работы, и обязательно читайте почтовые рассылки и группы новостей, посвященные безопасности, чтобы быть в курсе всех последних новостей. Если же вам необходимо быть полностью уверенными в том, что ваша система защиты абсолютно надежна, обратитесь к сторонней фирме, работающей в сфере безопасности, и договоритесь о том, чтобы она произвела внешнюю атаку на ваши системы и сети.
В принципе, подготовившись к противостоянию прогнозируемым угрозам безопасности и предприняв все необходимые для этого меры, вы еще не гарантируете полной защищенности, но по крайней мере ставите свой узел на качественно новый уровень по сравнению с большинством ему подобных. Помните, что перед вами не стоит задача создать узел, который будет невозможно взломать. Просто нужно, чтобы сделать это было достаточно затруднительно; в таком случае любой заурядный хакер или взломщик поймет, что вы знаете свое дело, и постарается найти другой, менее организованный узел.
Организация защиты в среде TCP/IP________________________5^5
Распространенные точки атак
Как вы уже знаете, стек протоколов TCP/IP по природе своей довольно беззащитен. В течение многих лет разработчики, конструкторы и проектировщики пытались повысить уровень его защиты, по мере возможности зала-, тать все дыры и исправить слабые места. В следующих разделах содержится достаточно подробная информация об общераспространенных способах атак; об этом должен иметь представление каждый уважающий себя специалист по IP.
Вирусы, черви и троянские кони
Существует несколько видов злонамеренного кода (malicious code), с помощью которого можно разрушить данные. Вирусы (viruses), черви (worms), часто их также называют мобильным кодом (mobile code) и троянские кони (trojan horses) — вот три разновидности такого кода. Червь ILOVEYOU, появившийся в мае 2000 года, являет собой прекрасный пример злонамеренного кода. Этот червь был первой крупной атакой, осуществленной посредством сокрытия расширения файла (file extension), в результате чего вложение казалось совершенно безвредным. Процесс сокрытия расширения называется "затемнением"расширения файла (file extension obfuscation).
Червь ILOVEYOU представляет собой вложение в сообщение электронной почты под названием LOVE-LETTER-FOR-YOU.TXT.vbs. При запуске червь пытается отослать копии самого себя всем получателям, указанным в адресной книге (address books) Microsoft Outlook. Таким образом, инфекция передается по электронной почте.
Примечание
Некоторое время считалось, что код вируса может содержаться лишь в файлах с расширениями ехе, сот и bat. Как бы то ни было, теперь мы знаем, что разносчиками вирусов могут быть и другие файлы — например, Visual Basic Script (VBS).
По данным группы CERT (Computer Emergency Response Team, Группа компьютерной "скорой помощи") из Университета Carnegie-Mellon, письма с червем ILOVEYOU обладали следующими характеристиками и возможными деструктивными тенденциями:
□	сообщение содержало вложение под названием LOVE-LETTER-FOR-YOU.TXT.vbs;
□	темой сообщения было "ILOVEYOU";
□	в теле сообщения было написано "kindly check the attached LOVELETTER coming from me" ("пожалуйста, прочитай вложенное ЛЮБОВНОЕ ПИСЬМО от меня").
506
Гпава 9
При запуске червь проводит поиск определенных типов файлов и вносит в них изменения. Применительно к файлам, находящимся на стационарных сетевых устройствах, червь предпринимает следующие действия:
□	файлы с расширениями vbs или vbe червь заменяет копиями самого себя;
□	файлы с расширениями js, jse, css, wsh, set и hta червь заменяет копией самого себя, а сами расширения заменяет на vbs. К примеру, файл x.css подменяется файлом x.vbs, содержащим копию червя;
□	файлы с расширениями jpg или jpeg червь заменяет копиями самого себя, добавляя к ним расширение vbs. К примеру, файл x.jps подменяется файлом x.jpg.vbs, содержащим копию червя;
□	что касается файлов с расширениями шр2 или mp3, червь создает копии самого себя, как и в случае с jpg, помещая их в файлы с расширениями vbs. Исходные файлы сохраняются, но в них добавляются атрибуты Hidden (скрытый).
Более детальную информацию о вирусе ILOVEYOU можно почерпнуть из статьи по адресу http://www.cert.org/advisories/CA-2000-04.html.
Первое, что нужно сделать для того, чтобы обезопасить себя от злонамеренных и мобильных кодов, — установить антивирусный пакет программ, который будет анализировать все вложения в сообщениях электронной почты, независимо от их расширений.
Чтобы просмотреть подозрительные файлы, не запуская их, можно воспользоваться программой считывания шестнадцатеричных данных (hex reader). Как показано на рис. 9.1, для анализа вложения в сообщение электронной почты мы применили программу Hex Workshop (созданную в компании Breakpoint Software). В результате мы без труда смогли ознакомиться в текстом, содержащимся В ИСПОЛНИМОМ коде (vbs.OnTheFly Created By OnTheFLy.Infect execute as vbs). Очевидно, что этот файл содержит злонамеренный код.
Чтобы задействовать троянского коня, его необходимо установить в системе. Обычно к установке. программ такого типа пользователей склоняют обманом. Примером троянского коня может послужить программа Back, Orifice. Она часто выдается за средство удаленного администрирования и состоит из клиентской и серверной частей. Злоумышленник применяет программу Back Orifice для управления клиентом Back Orifice, располагая всеми полномочиями пользователя, установившего клиентскую программу. Пакеты Back Orifice передаются с помощью протокола UDP в порт 31337.
Организация защиты в среде TCP/IP
507
|Н Ilex Wmk'‘hop - [ArnKiKoumikovd ijmj vbx]
_£dil_ йвк Qpfom look Wow_H<*
00000000 0000000E 0000001C 0000002A 0000003B 00000046 00000054 00000062 00000070 0000007E 0000008C 0000009A 000000A8 00000006 000000C4 000000D2 000000E0 000000EE OOOOOOFC 0000010A
2756 4372 6865	6273 6561 466С	2E4F 7465 790А	6Е54 6420 496Е	6865 4279 6665	466С 204F 6374	7920 6Е54 2065	1Vbs.OnTheFly Created 0у OnT heFly.Infect е
7865	6375	7465	2061	7320	7662	7358	xecute as vbsX
2975	6451	3056	7067	6А6Е	4811	7074	JudQOVpgjnH.{t
4563	6767	7611	6670	4451	1156	7067	Ecggv.f{DQ.Vpg
6А6Е	4810	7051	0F11	7074	4771	7411	.ptGqt.
7467	5477	7567	6F50	117А	6710	7655	tgTwugoP.zg.vU
0F76	6747	1151	3976	3538	4А72	3752	.vgG.Q9v58Jr7R
363F	1145	1167	7476	6351	676С	6465	6?.E.gtvcQglde
672А	7659	2465	556В	7476	7255	3067	g»vY$elIktvrU0g
6А6Е	6Е2В	240F	1039	4735	514А	7637	jnn+$..9G5QJv7
3836	7230	5267	7479	6960	7467	7624	86rORgtyiktgv$
114D	4А57	4575	5Е68	7179	7674	635Е	. MJWEuZvhqyvtcA
6770	516А	5648	677В	6Е24	5Е11	2Е6А	gpQJVHg{n$^..j
452А	7439	ЗАП	2В11	286А	452А	7433	E*t9:.+.(JE«t3
332В	3328	1145	1174	6АЗЗ	2А36	3311	3+3(.E.tj3»63.
2В11	286А	452А	7432	3320	ЗВ28	1145	+ . (jE»t23+;(.E
1174	6А35	2А2В	3428	1145	1174	6АЗЗ	,tj 5*+4(,E.tj3
2АЗВ	3211	2В11	286А	452А	7‘439	3011	*;2.+.(jE*t9;.
л!
® AnnaKownik,..f
Ready
~~[2824ЬуйГ'/;


Рис. 9.1. Открыв вложение в программе Hex Workshop, можно определить, содержится ли в нем злонамеренный код
Отказ от обслуживания (DoS)
Атаки DoS (Denial of Service, отказ от обслуживания) препятствуют или полностью подрывают операции, выполняемые на сетевом устройстве, или сетевые сообщения. Перегрузив сетевое устройство или сбив его с толку каким-нибудь другим способом, инициатор атаки может сделать так, чтобы это устройство отказывалось обслуживать других пользователей или хосты сети. Сам термин "отказ от обслуживания" обуславливается тем, что перегруженная жертва (victim) оказывается не в состоянии предоставлять службы клиентам, имеющим на это полное право.
Стандартная DoS-атака проходит во взаимодействии инициатора и жертвы. Пример такой атаки изображен на рис. 9.2. В данном случае инициатор атаки отсылает жертве неполный набор фрагментов (incomplete fragment set). Перехватив сетевые сообщения, мы обнаруживаем, что поток фрагментов отсылается на адрес 10.0.0.1 с адреса 10.0.99.2 (последний адрес может быть ложным). В главе 3 говорилось о том, что приемник ждет прихода фрагмен
508
Гпава 9
тов в течение времени жизни (TTL) первого полученного фрагмента. Во время этой атаки применяется очень высокое значение времени жизни (оно составляет 256 секунд), а получатель принимает огромное количество фрагментов. Тем не менее, последний фрагмент умышленно исключается из набора. Получатель вынужден сохранять все фрагменты, пытаясь осуществить их повторную сборку до истечения времени жизни (значения TTL).
№|Snil2: 45/949 Ethernet (tames						ИИ Ell
No.	5Ыш] Source Address		Dest Address	Summary	1 '		ж|
IS		[10.0.99.2]	[10.0.0.1]	ICMP:	continuation	10=19485	ьл
16		[10.0.99.2]	[10.0.0.1]	ICMP:	co nt i nuation	10=19485
17		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	10=19485
IB		[10.0.99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485
19		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	10=19485
20		[10.0.99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485	j
21		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	10=19485	:
22		[10.0.99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485
23		[10. 0. 99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485
24		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	10=19485	j
25		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	10=19485
26		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	10=19485
27		[10.0.99.2]	[10.0.0. 1] '	ICMP:	continuation	ID=19485
2B		[10.0.99.2]	[10.0.0.1]	ICMP:	continuation	10=19465
29		[10.0. 99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485	’
30		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	ID=19485
31		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	ID=1948.5
32		[10.0.99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485
33		[10.0.99.2]	[10.0.0. 1]	ICMP:	continuation	ID=19485	‘
34		[10.0. 99.2]	[10.0.0. 1]	ICMP:	continuation	ID=19485
35		[10. 0. 99.2]	[10.0.0.1]	ICMP:	continuation	ID=19485	, .
		г 1 n n q a o i	Г1 П П n -|1	T	n .	.уф я!	^4- ; -	ТП--1 QdOE.	(Ml
1L						2b
Рис. 9.2. Непрерывный поток фрагментов может служить признаком атаки
Есть еще несколько типов DoS-атак: синхронная атака (SYN Flood), Smurf и WinNuke. Самой возможностью существования они обязаны тому обстоятельству, что протоколы не обладают функциями регуляции своего использования, а придерживаются определенных правил и проводят их в жизнь, основываясь на данных конкретной программной реализации. Последующие характеристики этих атак делают очевидным то, что они не так сложны, как, например, хищения сеансов, т. к. ставят своей целью не перемещение захваченных данных или получение доступа к компьютеру, а нарушение связи.
□ Синхронная атака (SYN Flood). В процессе атаки этого типа для перегрузки сетевого устройства применяется трехшаговый процесс ТСР-квитирования (он детально рассмотрен в главах 5ъ6). Источник отсыла-
Организация защиты в среде TCP/IP 509 ет жертве множество SYN-пакетов, не намереваясь завершить квитирование. Предназначение этой атаки состоит в том, чтобы создать столько полуоткрытых соединений с жертвой, чтобы она оказалась в перегруженном состоянии и, как следствие, потеряла способность обрабатывать дополнительные действительные запросы на ТСР-соединения.
□	При Smuif-amaice злонамеренный хост формирует и отсылает на широковещательные адреса эхо-запросы ICMP. Принципиально, что инициатор атаки помещает в поле Source IP Address (IP-адрес источника) IP-адрес жертвы. В результате на жертву обрушивается лавина эхо-ответов ICMP.
□	В ходе WinNuke-amaKu отсылается NetBIOS-пакет с установленным флагом Urgent (срочно). Пакет именно такого формата может привести к появлению на старых версиях Windows "синих экранов".
Обезопасить сеть от DoS-атак невероятно сложно, т. к. в современных сетях TCP/IP существует огромное множество уязвимых компонентов. Вариантность атак практически беспредельна — от занятия всех TCP-соединений потоком пакетов синхронной атаки до банальной перегрузки канала в Internet посредством пересылки гигантских PING-пакетов.
Распределенный отказ от обслуживания (DDoS)
Атаки DDoS (Distributed Denial of Service, распределенный отказ от обслуживания) — это те же DoS-атаки, но запущенные с нескольких устройств. В феврале 2000 года DDoS-атаки "завалили" таких гигантов, как Yahoo! и eBay. DDoS-атаки состоят из четырех основных элементов:
□	инициатор атаки (attacker);
□	обработчик (handler);
□	посредник (agent);
□	жертва (vitini).
Инициатором является человек, устанавливающий последовательность атаки, изображенную на рис. 9.3.
Часто после начала атаки ее инициатора найти уже невозможно. Они планируют атаку за несколько минут, часов, дней, или даже месяцев до ее непосредственного запуска, и за это время успевают преспокойно замести следы. Сначала инициатор определяет местоположение хоста, который планируется скомпрометировать. Этот скомпрометированный хост (compromised host) становится обработчиком (handler), или администратором DDoS-атаки.
Обработчик определяет местоположение других незащищенных хостов и вербует их для участия в атаке в качестве посредников (agents), или подчиненных устройств. Необходимо отметить, что в наиболее изощренных
510
Гпава 9
DDoS-атаках участвуют несколько обработчиков. Кроме того, на одного обработчика может приходиться несколько посредников. Чтобы наладить взаимодействие агента и обработчика, между ними должны произойти некие сообщения. Часто в файле на обработчике перечисляются IP-адреса или имена известных посредников. С другой стороны, и посредники могут хранить информацию о своих обработчиках.
Обработчик
Инициатор атаки
Посредник .
Жертва
Обработчик
Посредник
Рис. 9.3. Во время распределенного отказа от обслуживания (DDoS) жертву атакуют посредники
Обычно атаковать жертву начинают посредники. Во время, определенное инициатором, обработчик отсылает посредникам сообщение "сигнала к старту", и те запускают атаку.
Жертва является мищенью последовательности атаки, производимой посредником. А где же настоящий инициатор? Он давно умыл руки.
Переполнение буфера
Переполнение буфера — это довольно распространенный тип атаки, но, строго говоря, он не имеет отношения к TCP/IP. Напротив, в такой ситуации ставка делается на слабые места во многих программах, которые пред
Организация защиты в среде TCP/IP
511
полагают получение входных данных фиксированной длины. Отсылая больше данных, чем ожидается, инициатор атаки может "перегрузить" входной буфер программы. В некоторых случаях добавочные данные могут применяться для исполнения команд на компьютере с использованием полномочий этой программы. Именно поэтому важно запускать процессы вроде IIS для всех учетных записей, кроме системной. В качестве примера рассмотрим эксплойт переполнения буфера Microsoft Internet Explorer v4.0 MK (известный под названием проблемы "перегрузки МК").
Вот как характеризует проблему группа CERT: "Internet Explorer может выполнить аварийное завершение в случае, если злонамеренный Web-сайт содержит определенный тип URL (начинающийся с "mk://") с количеством символов, превышающим возможности браузера. Символы, выходящие за пределы нормы, могут быть организованы в злонамеренный исполнимый код, который затем будет запущен на компьютере". Единственное решение этой проблемы — получить для браузера от его производителя исправление или заплату, предназначенную для нейтрализации этого источника уязвимости и применить ее. Кроме того, при появлении подобных условий (которые возникают с завидным постоянством) нестандартный код, формируемый в результате переполнения буфера, исполняется на том же уровне прав и полномочий, что и атакуемый процесс. Настоятельно не рекомендуется запускать какие-либо IP-службы на системном (System), администраторском (Administrator) или доменном (Domain) уровнях, т. к. компрометация таких служб позволяет инициатору перехватить управление целой системой или доменом!
Спуфинг
Спуфинг (spoofing) — это процесс заимствования информации, относящейся к идентичности (такой как IP-адреса, доменные имена, имена NetBIOS или номера портов TCP и UDP), для сокрытия или маскировки заинтересованности в атаке. На технологии спуфинга базируются несколько атак. К примеру, существуют некоторые NetBIOS-атаки, в ходе которых инициатор отсылает жертве ложные (полученные путем спуфинга) сообщения "NetBIOS Name Release" (освобождение имени NetBIOS) или "NetBIOS Name Conflict" (конфликт имен NetBIOS). В результате жертва может удалить свое собственное действительное имя из таблицы имен и не отвечать на другие действительные запросы NetBIOS. Соответственно, жертва теряет возможность взаимодействия с другими хостами NetBIOS. Чтобы обеспечить защиту от атак этого типа, рекомендуется блокировать входящие сообщения NetBIOS на границе сети. Есть три типа сообщений NetBIOS:
□	служба имен NetBIOS, порт 137 TCP/UDP;
П служба дейтаграмм NetBIOS, порт 138 TCP/UDP;
□	служба сеансов NetBIOS, порт 139 TCP/UDP.
512
Гпава 9
Фреймы Канального уровня подвергаются спуфингу посредством фиктивных МАС-адресов источника. Несмотря ни на что, наиболее распространенным видом спуфинга является фальсификация IP-адресов источника. Хотя IP-спуфинг не оставляет возможностей для получения сколько-нибудь пригодного обратного трафика, он практически не допускает обнаружения, т. к. способы определения отправителя пакета (помимо значения поля Source Address в IP-заголовке) чрезвычайно немногочисленны. В большинстве случаев фиктивный адрес источника выбирается из "частного" адресного пространства, определяемого в документе RFC 1918 (примеры — 10.0.0.0/8 или 192.168.0.0/16). Это делается для того, чтобы пакет походил на исходящий из локальной сети. Время от времени инициатор атаки по аналогии со Smurf-атакой указывает в поле Source Address (адрес источника) IP-адрес другого хоста. Таким образом, любые следствия направляются именно на этот хост. Кроме того, он может выдать владельца заимствованного IP-адреса за инициатора атаки.
Лучший способ избежать атаки с использованием спуфинга — осуществить входящую и исходящую фильтрацию. Входящая фильтрация (ingress filtering) — это процесс применения ограничений по отношению к трафику, входящему в сеть, а исходящая фильтрация (egress filtering), соответственно, лимитирует исходящий трафик. Например, если для предотвращения спуфинга в вашей сети используются адреса 10.0.0.0, то правило исходящей фильтрации должно гласить: "разрешить трафик от 10.0.0.0 на выход, но запретить любой другой исходящий трафик"; в то же время правило входящей фильтрации будет заключаться в следующем: "запретить трафик от 10.0.0.0 на вход, но разрешить любой другой входящий трафик". Таким образом, если адрес источника пакета, входящего в вашу сеть, принадлежит к той же сети, ему будет отказано во входе, и журнал регистрации сообщит вам, что либо этот пакет сформирован с использованием спуфинга, либо у вас большие проблемы с маршрутизацией. Очевидно, что это элементарный пример, приведенный лишь для того, чтобы проиллюстрировать саму идею. В реальном мире разрешенный входящий и исходящий трафик необходимо определять намного конкретнее.
Хищение сеанса
Хищение сеанса TCP представляет собой намного более сложную и комплексную атаку. Ее назначение состоит не в том, чтобы вызвать отказ от обслуживания, а в том, чтобы, имитируя зарегистрированного пользователя, получить доступ к системе. Таким образом, инициатор атаки не может просто перегрузить службу и блокировать сеть, поскольку в этом случае он сам будет не в состоянии получить доступ к системе. Напротив, инициатор должен успешно обмениваться информацией с сервером и клиентом, в то же время не допуская их взаимодействия. В теории, это очень затруднительно,
Организация защиты в среде TCP/IP	513
т. к. инициатор атаки должен проследить сообщения между жертвой и сервером, а затем дождаться установления TCP-сеанса (например, Telnet). После этого он должен спрогнозировать порядковый номер TCP и, наконец, совершить спуфинг адресов источника пакетов, отправляемых клиентам и серверам, чтобы клиент думал, что его атакует сервер, а сервер был уверен, что его атакует клиент.
Примечание
Вспомните, что протокол TCP использует порядковые номера для подтверждения получения данных от второго узла, а также для оповещения этого узла об объеме отсылаемых ему данных.
Успешное хищение сеанса позволяет инициатору атаки отсылать пакеты серверу для исполнения команд, изменения паролей, а то и еще чего похуже. Подробное описание одного из вариантов такой атаки содержится на сайте http://www.insecure.org/stf/iphijack.txt.
Очень важно понимать, что при хищении сеанса TCP обычные механизмы защиты, такие как имена пользователей и пароли, и даже мощные системы аутентификации вроде RADIUS и SecurelD, полностью обходятся стороной — инициатор атаки ждет, когда сеанс уже будет установлен и жертва пройдет аутентификацию, а потом уже выполняет хищение. Несмотря на то, что детали этой атаки очень запутаны, существуют некоторые программы (например, Juggernaut и Hunt), которые позволяют их совершать любому пользователю, обладающему физическим доступом к сети; следовательно, доскональное знание протокола TCP больше не является необходимым.
Анализ IP-атак
В основном, все IP-атаки осуществляются по единой схеме, которая начинается с рекогносцировки или процесса обнаружения (discovery process), направленного на определение активных систем или процессов в сети. Затем инициатор сосредотачивается на самой атаке — независимо от того, подразумевает ли она размещение злонамеренных программ на компрометируемом хосте или же нарушение операций с помощью DoS-атаки. Наконец, скрытый инициатор атаки (stealthy attacker) может замести следы, удалив файлы журнала регистрации и уничтожив все активные прямые соединения.
Рекогносцировка и процесс обнаружения
Для идентификации активных хостов и процессов используется несколько видов процессов рекогносцировки и обнаружения. Скажем, простая PING-развертка (PING sweep) помогает идентифицировать активные хосты в IP-сети. В этом случае на определенный диапазон IP-адресов отсылаются паке
514
Гпава 9
ты эхо-запросов ICMP, ответы на которые и служат индикаторами активности хостов.
|Ц poitscan.pkt		
Ethernet Header	J
Е] -V* TP Header - Internet Protocol Datagr-am	
:	- 0 Version.:	4	
:	‘ 0 Header Length:	5	(20 bytes)	
:	ф Type of Service:	$00001100	
:	;•• • 0 FrecedeMce: Routine, Normal Delay, Higd; Throughput , High Reliability	
•	ф Total Length:	64	
i >--0 Identifier:	5376	
;	0’ Fragmentation Flags: $010 Do Not Fragmetit Last Fragment	
	ф Fragment Offset:	0	(0 bytes)	
J i	Q Tima* To Live:	128	
;	! 0 Protocol:	6 TCP	
;	0 Header Checksum:	0xDlA7	
Source IP Address:	10.1.0.2	
:	Best. IP Шгав:	10.1.0.1	
>••• ф No IP Options	
TCP - Transport Control Protocol	
i- ф Source Port:	2294 konshus-lia	
!-• 0 Destination Port: 1 tcpmux	
I- 0 Sequence Number: 277138	
ф Tick Number:	0	
j	$ Offset:	11	d
_	?	•	1 _E(CV_	|b|	Hc*L.
Рис. 9.4. Исходная проба ТСР-порта
1'2"				ИИИЕЗЛ1
ffl	Ethernet Header	d
□ Mp*IP Header ~ Internet Protocol Datagram	
• • 0 Version;	4 j ?--0 Header Length:	5	(20 bytes) ;	Type of Service:	$11001000	
• p-ф Precedence.- Internetn-ork Control. Normal Delay,- High Throughput,	Normal Reliabili
: I- ф Total Length:	64 * j	Identifier-:	5632	
i в ф Fragirentation Flags: $010 Do Not Fragment Last Fragment	
;	0 Fragment Offset:	0	(0 bytes) !	’•	Tima To Live:	128	
:	Protocol:	6 TCP ;	:--ф	Header Checksum:	OxCFEB ;	@	Source IP ftddress:	10.1.0.2 	i-|H	Dest. IP hddvess:	10.1.0.1 .	ф No IP Options Й V” TCP - Transport Control Protocol  Source Port:	2296 theca-la •	Destination Port: 2 compressnet. Sequence Number: 27714S ; • ф lick Number ;	0 •$ Offset:	11	
	Bev.
Рис. 9.5. При каждой попытке пробы номер порта назначения увеличивается на единицу
Организация защиты в среде TCP/IP
515
Другой разновидностью процесса рекогносцировки является проба порта; с ее помощью можно определить, какие службы, основанные на протоколах UDP и TCP, запущены на хосте. На рис. 9.4 и 9.5 изображены трассировки процесса пробы TCP-порта. Из содержимого этих иллюстраций можно сделать вывод о том, что хост 10.1.0.2 отсылает пакеты квитирования TCP (SYN) хосту 10.1.0.1, увеличивая номер порта назначения в каждом последующем пакете.
На рис. 9.4 и 9.5 показана чрезвычайно упрощенная проба TCP-порта. Чтобы избежать обнаружения, инициатор атаки обычно разнообразит номера портов назначения и временные промежутки между последующими пакетами.
Задача рекогносцировки — выяснить, что вообще имеется, и что из этого наиболее уязвимо. Инструментальные средства вроде nmap очень эффективно выполняют идентификацию каждого хоста в отдельности, выясняя IP-адреса, типы операционных систем и их версии.
Атака
Обнаружив слабое место (vulnerability), инициатор атаки может попытаться получить использовать его в своих целях. Это может быть либо грубая атака (brute force attack), сокрушающая жертву, либо простой и элегантный процесс, состоящий из минимального количества пакетов, но нарушающий выполнение операций на атакуемом хосте. SYN Flood, Smurf и WinNuke — вот три примера типов атаки (они рассмотрены ранее в разд. "Отказ от обслуживания (DoS)"этой главы).
Прикрытие
Пытаясь избежать обнаружения, многие инициаторы атак удаляют файлы журналов регистрации, которые могут содержать информацию об атаках. Для определения действий инициатора во время его нахождения в атакуемой системе бывает необходима специальная компьютерная экспертиза (computer forensics), т. е. исследование всех оставшихся следов атаки.
"Прослушивание" сетей
Один из методов пассивной сетевой атаки основывается на "прослушивании" сетевых сообщений с помощью анализатора протоколов или другого подобного программного обеспечения.
Что может определить сетевой анализатор? Много чего. На рис. 9.6 и 9.7 демонстрируется, как анализатор может отображать незашифрованные имена пользователей и пароли, примененные в ходе стандартного FTP-сеанса.
Возможность прослушивания сети предоставляют многие сетевые анализаторы, такие как tcpdump (UNIX), Ethereal (Linux/Windows), Network Monitor (Windows), AiroPeek (Windows), равно как и EtherPeek for Windows.
516
Гпава 9
			 									
•	ф	Code;	*011000 ;	!-$	Aek is valid i	Push Request i	j	Window:	8540 1 i	0 Checksum:	0xFDF7 r Q Urgent Pointer:	0 • •ф No TCP Options								
0 :i }	• ’•») V;nni 1  at-wПгЫfe =•••$ FTP Command:	0x55534552 (USER) ф User Haute: i-	Data: (1 bytes) Extra bytes (Eata'-lingy: - ф Data: (11 bytes) :--0 Frame Check Sequence •	0x00000000	User А’алае							
0: 00 20 78 Bl 5A 80 00 00 65 10 22 IB 08 16: 00 38 21 00 40 00 20 06 25 SB 0A 01 00 32: 00 63 04 03 00 15 00 44 B3 59 00 49 ZA 48: 21 SC FD F7 00 00 55'S3\4S\52'20®$ 64:	00 01 3E Ж	45 00 OA 01 50 18 ЖЖ0::;	. x. 2 . 8 ! . 0 . c . . . ! ХУ-  pell.	.. e	В. -H	 .DaY.I*>P. USER- Ichap	Piev	!□!	Hext |	
Рис. 9.6. Сетевой анализатор отображает незашифрованное имя пользователя
Code:
Аок is valid
$
Push Request
Window:
*011000
FMB
8505
Checksum:
0xE54B
$
Urgent Pointer: No TCP Options
0
1 JU Control
ф FTP Comnand:	0x50415353 ('FASSV Fass^rd
h ф Password:
• -0 Data: (1 bytes) Zxtrd bytes ('Faddingr.J ;
. Data: (10 bytes)
•0 Frame Check Sequence: 0x00000000
0: 00 20 78 Bl SA 80 00 00 65 10 22 IB 08 00 45 00 . x.2...e.“...E. 16: 00 37 22 00 40 00 20 06 24 SC 0A 01 00 01 0A 01 _7".0. ............ 32: 00 63 04 03 00 15 00 44 B3 69 00 49 2A 61 50 18 .c.................Dai.I*aP, 48: 21 39 B5 4E 00 00 50 41 S3 S3 20 74 65 78 74 62 !9.N..PASS textb 64: 6F 6F 6B 0D 0A 00 00 00 00 oo>:....................................
Рис. 9.7. Сетевой анализатор отображает незашифрованный пароль
С другой стороны, существуют разнообразные пакеты программ антипрослушивающего свойства, которые позволяют обнаружить прослушивание и
Организация защиты в среде TCP/IP 517
оповестить об этом пользователя. На данный момент самой популярной антипрослушивающей программой является AntiSniff от компании Security Software Technologies (раньше она была известна как группа LOpht). Можно сказать, что эти программы также занимаются хакерством — в том смысле, что в своей деятельности они отклоняются от правил, существующих в сети. На самом деле они ищут сетевые интерфейсные платы, работающие в беспорядочном режиме.
Примечание
Работая в беспорядочном режиме, сетевая интерфейсная плата (NIC) передает каждый полученный фрейм на следующий уровень для его обработки; в нормальном режиме плата обрабатывает только те фреймы, в поле Ethernet Destination Address (адрес назначения Ethernet) которых указан ее МАС-адрес (а также широковещательные и групповые сообщения, на которые эта карта подписана). Чтобы анализатор протоколов мог отслеживать весь сетевой трафик, его сетевая интерфейсная плата должна работать именно в беспорядочном режиме; в противном случае он вынужден отслеживать лишь свой собственный входящий и исходящий трафик, что не слишком результативно.
Антипрослушивающая программа отсылает эхо-пакет ICMP на широковещательный IP-адрес 255.255.255.255. Обычно этот пакет также отсылается в виде Ethernet-широковещания, т. е. в поле Destination Address (адрес назначения) указывается FF.FF.FF.FF.FF.FF. Тем не менее, программа отсылает широковещательный IP-адрес, но использует поддельный однонаправленный МАС-адрес. В результате большинство хостов, расположенных в сети, определяют, что этот Ethernet-адрес предназначен не для них, и пропускают пакет. В то же время все хосты, работающие в беспорядочном режиме, предают пакет вверх на IP-уровень для дальнейшей обработки. После этого IP-уровень отвечает на исходный эхо-запрос ICMP. Таким образом, когда антипрослушивающая программа получает эхо-ответы ICMP, она узнает, что кто-то занимается прослушкой, и получает возможность определить IP-адрес злоумышленника.
Необходимо отметить, что антипрослушивающие программы не могут обнаруживать сетевые анализаторы, работающие на "зеркальных" или "спэн"-портах ("span") или применяющие пассивный перехват, т. к. такие порты способны только принимать — они не могут передавать данные (в том числе эхо-ответы ICMP) в сеть. Это немаловажно, поскольку многие системы обнаружения вторжений (Intrusion Detection Systems, IDS) также функционируют в беспорядочном режиме. Вполне допустимо, что искушенный инициатор атаки сможет заметить вашу систему обнаружения вторжений, используя все тот же антипрослушивающий пакет программ. Информация о существовании на атакуемом хосте системы IDS предоставляет инициатору возможность предпринять дополнительные меры для того, чтобы не быть обнаруженным.
518
Гпава 9
Решение проблем IP-защиты
На протяжении этой главы мы неоднократно утверждали, что качество защиты определяется не только постоянной бдительностью и текущим обслуживанием, но также разработкой и применением политик безопасности, правил и технологий эксплуатации. В последующих разделах мы рассмотрим некоторые обязательные элементы повседневного обеспечения безопасности. Соответственно, говоря о заплатах и исправлениях, мы не имеем в виду, что вы должны достать их последние версии, установить и забыть о них. Напротив, необходимо постоянно искать и устанавливать новые исправления и заплаты, иначе вам не удастся достичь надлежащего уровня защиты ваших систем и сетей.
То же утверждение справедливо по отношению к мониторингу информации, имеющей отношение к безопасности, выполнению регулярных ревизий защиты, намеренным атакам на собственные сети и системы, использованию новых протоколов защиты, служб, инструментальных средств и технологий. Постоянная работа и активность — это основное условие создания качественной системы защиты, в целом, и хорошей системы IP-защиты, в частности.
В большинстве профессионально управляемых компаний обновление и сопровождение программного обеспечения планируется на месяцы вперед. Наилучший момент для проверки (и повторной проверки) системы защиты наступает именно после замены систем и программного обеспечения, которое необходимо обезопасить. Более того, в хорошо организованных компаниях внутренние контрольные проверки (ревизии) систем защиты проводятся либо раз в полгода, либо ежеквартально, причем хотя бы раз в году заказывается сторонняя ревизия. Вам также стоит подумать над тем, как бы приспособиться выполнять эти действия на регулярной основе.
Значение заплат и исправлений
Многие атаки становятся возможны благодаря ошибкам в операционных системах и дырам в системах защиты. К примеру, в ноябре 2000 года компания Microsoft признала, что ее операционные системы Windows NT 4.0; Windows 95, Windows 98, Windows 98 Second Edition, а также Windows ME подвержены DoS-атакам. Отослав жертве множество умышленно деформированных TCP/IP-пакетов, инициатор атаки может временно нарушить работу сетевых служб или "подвесить" систему жертвы. Это слабое место исправлено в заплате "Incomplete TCP/IP Packet or Vulnerability" (неполный TCP/IP-пакет, или слабое место в системе защиты), документированной в бюллетене безопасности Microsoft (Microsoft Security Bulletin) MS00-091.
Организация защиты в среде TCP/IP__________________________________ 519
[римечание
Список часто задаваемых вопросов (FAQ) по поводу этого слабого места и соответствующей заплаты опубликован на сайте http://support.microsoft.com/ default.aspx?scid=KB;en-us;275567&.
С бюллетенями безопасности Microsoft можно ознакомиться, воспользовавшись меню Bulletins на сайте http://www.microsoft.com/security/. Другие производители систем и программного обеспечения в большинстве случаев также содержат собственные списки проблем и вопросов, касающихся безопасности. Обычно они распространяют такую информацию с помощью почтовых рассылок, так что вы не пропустите ни одного важного объявления. В зависимости от индивидуальных потребностей и предпочтений, вам следует либо регулярно посещать их Web-сайты, либо подписаться на соответствующие почтовые рассылки.
Какие порты необходимо блокировать?
Многие атаки и эксплойты основываются на общеизвестных слабых местах. В табл. 9.1 приведены порты, которые по мере возможности стоит блокировать, чтобы сократить вероятность атак. Если вы примете рекомендуемый нами пессимистический подход к решению вопросов защиты, то блокировка всех этих портов будет представляться как нечто само собой разумеющееся, а разрешить нужно будет лишь некоторые исключения (к примеру, вышестоящий DNS-сервер, принадлежащий надежному поставщику услуг или доступа в Internet, от которого вы получаете обновления службы DNS и которому предоставляете свои файлы DNS-зоны, чтобы улучшить внешний доступ к своим данным соответствия имен адресам).
Таблица 9.1. Порты, которые рекомендуется блокировать
Порт	Служба
Порт TCP 53 Порт UDP 69 Порт TCP 87 Порты UDP и TCP 111 и 2049 Порты UDP и TCP с 135 по 139 включительно Порты TCP с 512 по 514 Порт TCP 515 Порт TCP 540 Порт UDP и TCP 2000 Порты UDP и TCP от 6000	Передача зоны DNS tftpd Связующие порты SunRPCи NFS Порты, относящиеся к NetBIOS Команды Т" BSD UNIX Ipd uucpd openwindows X Windows
520
Гпава 9
Примечание
Дополнительную информацию о портах, которые рекомендуется блокировать, можно получить по адресу http://www.cert.org/tech_tips/packet_filtering.html.
Распознавание подписей атак
Большинство атак характеризуются специальными идентифицирующими моделями связи — подписями итак (attack signatures), по которым их можно распознать. Эти подписи могут применяться для того, чтобы запустить устройства системы обнаружения вторжений (Intrusion Detection System, IDS), a кроме того, их можно настраивать для работы в качестве фильтров сетевого анализатора.
В табл. 9.2 приведен частичный список номеров портов, которые могут быть использованы троянскими конями для атаки на систему. Эти значения выявляются и определяются компанией von Braun Consultants and Simovits Consulting (http://www.simovits.com — сначала перейдите по ссылке Article archive, а затем откройте страницу List of Trojan Horses).
	Таблица 9.2. Номера портов, используемые троянскими конями
Номер порта	Название троянского коня
1 (UDP)	Sockets des Troie
2	Death
20	Senna Spy FTP server
21	Back Construction, Blade Runner, Cattivik FTP Server, CC Invader, Dark FTP, Doly Trojan, Fore, Invisible FTP, Juggernaut 42, Larva, Motiv FTP, Net Administrator, Ramen, Senna Spy FTP server, The Flu, Traitor 21, WebEx, WinCrash
22	Shaft
23	Fire HacKer, Tiny Telnet Server — TTS, Truva Atl
25	Ajan, Antigen, Barok, Email Password Sender — EPS, EPS II, Gip, Gris, НарруЭЭ, Hpteam mail, Hybis, I love you, Kuang2, Magic Horse, МВТ (Mail Bombing Trojan), троянец Moscow Email, Naebi, червь NewApt, троянец ProMail, Shtirlitz, Stealth, Tapiras, Terminator, WinPC, WinSpy
30	Agent 40421
31	Agent 31, Hackers Paradise, Masters Paradise
41	Deep Throat, Foreplay
48, 50	DRAT
58, 59	DMSetup
Организация защиты в среде TCP/IP
521
	Таблица 9.2 (продолжение)
Номер порта	Название троянского коня
79	CDK, Firehotcker
80	Троянец 711 (Seven Eleven), AckCmd, Back End, Back Orifice 2000 Plug-Ins, Cafeini, CGI Backdoor, Executor, God Message Creator, Hooker, IlSworm, MTX, NCX, Reverse WWW Tunnel Backdoor, RingZero, Seeker, WAN Remote, Web Server CT, WebDownloader
81	RemoConChubo
99	Hidden Port, NCX
110	Троянец ProMail
113	Invisible Identd Deamon, Kazimas
119	Happy99
121	Attack Bot, God Message, JammerKillah
123	Net Controller
133	Farnaz
137	Chode
137 (UDP)	Msinit
138	Chode
139	Chode, червь God Message, Msinit, Netlog, Network, Qaz
142	NetTaxi
146	Infector
146 (UDP)	Infector
170	A-trojan
334, 411	Backage
420	Breach, Incognito
421	Троянец TCP Wrappers
455	Fatal Connections
456	Hackers Paradise
513	Grlogin
514	RPC Backdoor
. 531	Net666, Rasmin
555	Троянец 711 (Seven Eleven), Ini-Killer, Net Administrator, Phase Zero, Phase-0, Stealth Spy
522
Гпава 9
	Таблица 9.2 (окончание)
Номер порта	Название троянского коня
605	Secret Service
666	Attack FTP, Back Construction, троянец BLA? Cain & Abel, NokNok, Satans Back, Door-SBD, ServU, Shadow Phyre, th3r1pp3rz (= Therippers)
667	SniperNet
669	Троянец DP
692	GayOL
777	AimSpy, Undetected
808	WinHole
911	Dark Shadow
999	Deep Throat, Foreplay, WinSatan
1000	Der Spaher / Der Spaeher, Direct Connection
1001	Der Spaher / Der Spaeher, Le Guardien, Silencer, WebEx
1010, 1011, 1012, 1015, 1016	Doly Trojan
1020	Vampire
1024	Jade, Latinus, NetSpy
Естественно, это отнюдь не полный список всех троянских коней, применяющих данные номера портов, однако он в общих чертах отражает ситуацию, сложившуюся на момент написания этой главы. Новейшие данные по этой теме можно узнать из объявлений группы CERT, публикуемых на сайте http://www.cert.org; кроме того, на этом сайте вы можете подписаться на их почтовую рассылку.
IP-защита
Рабочая группа по подготовке протокола IP-защиты (IP Security Protocol Working Group, IPSEC) установила IP-защиту (IP Security, IPSec) для обеспечения служб криптографической защиты, поддерживающих явную и строгую аутентификацию, средства управления доступом и целостностью, а также конфиденциальность 1Р-дейтаграмм.
Стандарты IPSec определяют методы IP-заголовка аутентификации (Authentication Header, АН) и безопасности инкапсулирующей полезной
Организация защиты в среде TCP/IP
523
нагрузки (Encapsulating Security Payload, ESP), позволяющие реализовать защиту от хоста к хосту для шифрования данных и предохранения информации от сетевых анализаторов пакетов. На практике наибольшее распространение получил метод ESP; метод АН используется довольно редко.
О брандмауэрах, прокси-серверах и других пограничных устройствах
Многие современные организации применяют различные устройства и службы для обеспечения безопасности границы между их сетями и системами, с одной стороны, и внешним миром, с другой. В этом разделе речь будет идти о таких устройствах, как брандмауэры, прокси-серверы, бастионные хосты, демилитаризованные зоны, системы обнаружения вторжений, а также пограничные маршрутизаторы.
Мы разъясним все эти понятия и продемонстрируем их роль в обеспечении защиты сетей; кроме того, мы упомянем некоторые другие термины, с которыми вам, по всей вероятности, придется столкнуться в процессе организации надежных IP-сетей. Имейте в виду, что управление границами сетей и их защита — это отдельная специализированная область знаний; по этой причине мы имеем возможность лишь поверхностного описания этой проблемы и указания дополнительных источников, из которых вы можете почерпнуть более подробную информацию.
Ниже перечислены некоторые важнейшие устройства и службы, которые могут помочь вам в обеспечении безопасности внешних границ сети.
□ Бастионный хост. В медиевистике1 бастионом называют форт, предназначенный для отражения атак неприятеля и недопущения вторжения в главную башню замка. В терминологии, связанной с сетевой защитой, понятие бастионный хост (bastion host) обозначает укрепленный компьютер, чья работа полностью подчинена задаче противодействия и сопротивления незаконным или нежелательным попыткам входа в систему и охраны границы между внутренней и внешней сетями. Таким образом, службы брандмауэров, прокси-серверы, а также системы обнаружения вторжений обычно размещаются на бастионном хосте того или иного типа. В нормальных ситуациях на бастионных хостах работают лишь те программные продукты, которые способствуют выполнению этими хостами их функций по охране границ сетей. Использовать бастионные хосты для выполнения более стандартных сетевых служб (например, служб баз данных, файлов, печати и электронной почты) не рекомендуется не только потому, что эти службы подвергаются опасности прямой атаки, но
1 Медиевистика (от лат. medius — средний и aevum — век), раздел исторической науки, изучающий историю Средних веков. — Ред.
524
Гпава 9
также потому, что такие хосты должны быть в полной мере сконцентрированы на выполнении своих первичных функций, связанных с обеспечением защиты границ сетей.
□ Пограничный маршрутизатор (border router). Пограничный маршрутизатор располагается на границе между сетями (обычно между частными сетями, находящимися в компетенции неких организаций, и общедоступными сетями, где "все может быть"). Так как эти устройства зачастую блокируют доступ на основании IP-адресов, доменных имен или адресов сокетов, их иногда называют фильтрующими маршрутизаторами. В сетях с мощной защитой инициаторы атаки должны сначала внедриться в фильтрующий маршрутизатор, и только после этого они получают возможность начать атаку на брандмауэр. В таких сетях между фильтрующим маршрутизатором и брандмауэром часто помещается демилитаризованная зона, в которой могут размещаться ресурсы, доступные извне (так называемые "рискованные хосты", о которых мы уже говорили ранее в этой главе).
□ Демилитаризованная зона (demilitarized zone, DMZ). Своеобразная "ничейная земля" между внутренней сетью и внешним миром, демилитаризованная зона (DMZ) представляет собой буферную область на сетевой границе, доступ к которой могут получить как свои, так и чужие. Многие организации, размещающие собственные Internet-серверы и службы, позиционируют их именно в демилитаризованных зонах (сохраняя частные копии той же информации в глубине внутренней сети), делая их общедоступными, но не полностью выставляя их на всеобщее рассмотрение. Распространенной является ситуация, когда между демилитаризованной зоной и внешним миром устанавливаются фильтрующий маршрутизатор и брандмауэр. Подобным образом, довольно часто брандмауэр (или брандмауэр и фильтрующий маршрутизатор) устанавливается между демилитаризованной зоной и внутренней сетью.
□ Брандмауэр (firewall). Это специальная сетевая "укрепленная" программная служба или программно-аппаратный продукт, представляющие собой своеобразный барьер для контроля и управления потоком трафика между сетями (обычно между сетями, находящимися внутри и за пределами границы). Брандмауэры действуют на Сетевом (3-м), Транспортном (4-м) и Прикладном (с 5-го по 7-й) уровнях сетевой модели TCP/IP (упомянутые номера соответствуют сходным уровням сетевой эталонной модели ISO/OSI). Таким образом, брандмауэры могут не только обследовать полезные нагрузки IP-пакетов и следить за их последовательностями, обнаруживая атаки высокого уровня, но также инспектировать доменные имена, IP-адреса, адреса портов и другую информацию, относящуюся к 3-му уровню. Обычно частью конфигурации брандмауэров выступают прокси-серверы и системы обнаружения вторжений, в резуль
Организация защиты в среде TCP/IP
525
тате чего все средства охраны границ оказываются установлены на од-ном-единственном укрепленном устройстве.
□	Трансляция сетевых адресов. Программное обеспечение для трансляции сетевых адресов (Network Address Translation, NAT) позволяет проводить преобразование внутренних сетевых адресов в общедоступные адреса во время выхода пакетов из внутренней сети; следовательно, в сети Internet раскрываются лишь публичные IP-адреса. В результате таких действий потенциальные хакеры теряют возможность подробно изучить схему адресации, принятую в частной сети, а это имеет большое значение для предотвращения попыток взлома. Чтобы добиться более высокого уровня защищенности, трансляция сетевых адресов часто используется в сочетании с частными IP-адресами, как это рекомендовано в документе RFC 1918. (Помните, что маршрутизация частных IP-адресов в общедоступной сети Internet невозможна, поэтому их спуфинг в ходе внешней атаки также неосуществим.)
□	Прокси-сервер. Это специальный набор программных служб, выполняющий посреднические функции между пользователями и серверами. Таким образом, пользователи сначала связываются с прокси-службой, а она, в свою очередь, подсоединяется к службе назначения. Это позволяет исключить прямое обращение пользователей к службам. Прокси-сервер имеет возможность блокировать нежелательные типы доступа или соединения, а также отслеживать поведение пользователей на предмет подозрительных действий. Прокси-серверы часто устанавливаются на брандмауэрах, т. к. обычно именно они определяют границу между внутренней и внешней сетями.
□	Фильтрующий хост. Когда пользователи извне подсоединяются к службе внутри сети, на самом деле они подключаются к брандмауэру, который затем устанавливает прокси-сеанс с частной стороной сети. Таким образом, кажется, что брандмауэр является фильтрующим хостом (screening host), на котором расположены все службы, доступные внешнему миру, хотя обычно это не так.
□	Фильтрующий маршрутизатор. Также называется пограничным маршрутизатором. Термин "фильтрующий маршрутизатор" (screening router) подчеркивает то обстоятельство, что такие устройства могут использоваться для фильтрации входящего и/или исходящего трафика на основе IP-адресов, адресов портов, доменных имен, а также запрашиваемых протоколов и служб.
На этом закончим описание специализированных устройств защиты и смежного программного обеспечения. Теперь необходимо пояснить, чем объясняется их значимость, что они могут сделать для обеспечения безопасности ваших сетей и систем.
526
Гпава 9
Подробнее о брандмауэрах
В домах и автомобилях брандмауэры (в таких случаях называемые противопожарными перегородками) встроены в структуру для предотвращения распространения огня из одной ее части в другую. В сети брандмауэр — это барьер, контролирующий поток трафика и доступ между сетями. В частности, задачей брандмауэра является проверка входящего трафика, а также его блокирование или фильтрация на основе разнообразных критериев, таких как исходное доменное имя или IP-адрес, запрашиваемая IP-служба или адрес хоста и т. д.
Обычно брандмауэры располагаются на границе, разделяющей общедоступную сеть (например, Internet) и частную сеть внутри компании. Тем не менее, известны организации, помещающие брандмауэры на внутренних границах, например — на сетевых каналах между отделами или департаментами. Более того, иногда брандмауэры используются как средства обеспечения дополнительной защиты при доступе к важным данным. К примеру, помещение брандмауэра между всеми пользователями, с одной стороны, и одним или несколькими серверами, на которых хранятся патенты, засекреченные технологии, данные о персонале и другая конфиденциальная информация, с другой стороны, позволяет реализовать дополнительный уровень защиты и управления доступом к этим ключевым информационным блокам.
Несомненно, можно приобрести программный брандмауэр и установить его на обычном компьютере с операционной системой Windows или UNIX наряду с другими службами, но все же обычно брандмауэры размещаются на отдельных, обособленных физических устройствах. Дело в том, что их функция настолько важна, что обременять их другими серверными обязательствами (вроде содержания служб электронной почты и баз данных) не следует.
Другая причина изолированности брандмауэра состоит в том, что они представляют собой очевидные и открытые точки атак. Какой смысл защищать сетевые границы, если брандмауэр будет .подвергать опасности другие службы? Таким образом, брандмауэры обеспечивают главным образом функции защиты, включая фильтрацию адресов и пакетов, прокси-службы и трансляцию сетевых адресов, оставляя исполнение других функций другим серверам.
Полезные особенности брандмауэров
Если вам придется иметь дело с брандмауэрами, имейте в виду, что они обычно объединяют в себе четыре основных элемента.
1.	Функции фильтрующего маршрутизатора позволяют брандмауэру блокировать или фильтровать трафик исходя из различных значений или критериев (в их числе — доменные имена, IP-адреса, адреса портов и типы сообщений).
Организация защиты в среде TCP/IP
527
2.	Функции прокси-сервера дают брандмауэру возможность вмешиваться во все сообщения между сетями в целях обеспечения конфиденциальности адресов, выполнять службы трансляции сетевых адресов и отслеживать подозрительную активность.
3.	"Проверка с запоминанием состояния" последовательностей пакетов и служб подразумевает принятие решения о пропуске пакета или отказе в зависимости от других пакетов. В отличие от фильтрующего брандмауэра, при котором весь трафик в данный порт блокируется независимо от всех остальных пакетов, брандмауэр с запоминанием состояния более изощрен. К примеру, он не пропускает TCP-пакет с установленными флагами SYN—АСК, если ранее между теми же пунктами источника и назначения не проследовал пакет с флагом SYN. Аналогичным образом, он не пропускает эхо-ответ ICMP, предварительно не пропустив соответствующий эхо-запрос. Это позволяет предотвратить атаки, которые обнаруживают себя лишь по прошествии некоторого времени, исходя из текущих моделей поведения. (К примеру, DoS-атаки и словарные атаки требуют применения часто повторяющихся моделей трафика.) Следя за подобными моделями и осуществляя блокировку при их появлении, проверка с запоминанием состояния обеспечивает функционирование брандмауэра даже в процессе атаки. Эта функция также связывается с системами обнаружения вторжений.
4.	Службы виртуальной частной сети (VPN) имеют дело с системами и службами, которые не осуществляют самостоятельного шифрования трафика. Ранее мы упомянули, что одним из способов обеспечить безопасность внутренне незащищенных служб, которые пересылают учетные записи и пароли в открытом виде, является их передача по VPN-соеди-нениям, которые обычно шифруют весь трафик. (Строго говоря, виртуальные частные сети, применяя туннельные протоколы, не испытывают необходимости в шифровании туннельного трафика, однако на практике шифруется почти весь подобный трафик, что позволяет обеспечить дополнительный уровень конфиденциальности и защиты.) Следовательно, неудивительно, что эти возможности брандмауэров получают особое значение.
Очевидно, что любой брандмауэр подобен маршрутизатору в том смысле, что. для выполнения своих функций он должен располагать по меньшей мере двумя сетевыми интерфейсами (и IP-адресами) — принимая во внимание, что брандмауэр олицетворяет границу между внешней и внутренней сторонами соединения, один из этих интерфейсов должен предназначаться для внешней стороны, а другой — для внутренней. Обычной практикой для брандмауэров является предоставление так называемых реверсивных прокси-служб. Эта возможность позволяет брандмауэру исполнять роль фильтрующего хоста, причем со стороны кажется, что все внутренние службы расположены на нем самом.
528
Гпава 9
Вообще-то брандмауэры также поддерживает специальный интерфейс под названием SOCKS. SOCKS — это протокол, определяющий работу посреднических механизмов для управления трафиком между сетями. SOCKS-сервер располагается между внутренним и внешним интерфейсами на брандмауэре и позволяет внутренним пользователям получать доступ во внешнюю сеть, при этом запрещая внешним пользователям проникать во внутреннюю сеть. Ключевым элементом SOCKS является его способность создавать прокси-соединение, которое действует так, как будто внутренний клиент непосредственно взаимодействует с внешним сервером, в то время как на самом деле клиент связывается с SOCKS-сервером, а тот, в свою очередь, связывается с внешним сервером назначения. Основные характеристики SOCKS версии 5 специфицированы в документе RFC 1928; в их числе — средства аутентификации, позволяющие проверять идентичности пользователей, а также способность устанавливать конкретные политики безопасности и фильтрации пакетов, являющиеся частью линии поведения брандмауэров.
Технические возможности брандмауэров
В дополнение к функциям и возможностям, перечисленным в предыдущих разделах и являющимся присущими всем брандмауэрам, существуют дополнительные функции, которые реализованы лишь в некоторых из них. В некоторых случаях, в зависимости от конкретных потребностей, эти функции могут сыграть значительную роль. Именно поэтому мы приводим их характеристики.
□ Службы трансляции адресов и обеспечения их. конфиденциальности. Эти службы маскируют внутренние сетевые адреса, с тем чтобы их нельзя было выяснить извне, и делают возможным использование частных IP-адресов (в соответствии с документом RFC 1918). Учтите, что общедоступные IP-адреса сегодня не бесплатны; используя частную IP-адресацию внутри сети наряду с трансляцией сетевых адресов, вы можете сэкономить на IP-адресах, не теряя в производительности и возможностях. Тем не менее, имейте в виду, что некоторые защищенные протоколы (например, IPSec) время от времени требуют установления сквозных соединений, при которых частная IP-адресация может не действовать, если только ваш прокси-сервер не обеспечивает специальную поддержку применяемого протокола или службы.
□ Специальные механизмы фильтрации. Многие брандмауэры позволяют производить фильтрацию по IP-адресам, но вам может понадобиться проверить их возможности по части доменных имен, адресов портов и типов пакетов. Одни брандмауэры обладают более гибкими характеристиками соответствия адресов, чем другие. (В некоторых брандмауэрах можно задавать один критерий с использованием групповых символов, чтобы охватить целые семейства адресов.)
Организация защиты в среде TCP/IP	529
□	Аварийные сигналы и предупреждения. Большинство брандмауэров регистрируют данные о превышении порогов или определенных событиях (аварийные сигналы и предупреждения (alerts)), однако некоторые из них располагают более гибкими методами оповещения и отчетности.
□	Журналы регистрации и отчеты. В журналах регистрации (logs) и отчетах (reports) фиксируется информация о событиях и статистические данные о трафике. Если вам необходимы конкретные характеристики этих подсистем, учтите, что они сильно варьируют от одного брандмауэра к другому.
□	Прозрачность (transparency). Это свойство подразумевает незаметность брандмауэра для конечных пользователей; чем он непрозрачнее, тем более заметен. Тогда как большинство брандмауэров прозрачны по отношению к пользователям, по отношению к администраторам это не совсем так — ведь они должны настраивать и обслуживать эти устройства. Рассматривая конкретный брандмауэр, учитывайте, каким образом эта характеристика затрагивает оба сообщества.
□	Системы обнаружения вторжений (Intrusion Detection Systems, IDS). В одних брандмауэрах реализованы элементарные подсистемы обнаружения вторжений, в то время как другие охотно взаимодействуют с полнофункциональными системами этого типа. Значимость данной функции прямо пропорциональна общей значимости безопасности для вашей сети. Очевидно, что с течением времени все больше брандмауэров будут взаимодействовать с системами обнаружения вторжений. (Так как большинство вторжений осуществляются через брандмауэр, размещение такой системы на этом устройстве представляется совершенно естественным.) Одним из основных преимуществ установки систем IDS является то, что эти системы могут выполнять динамическую конфигурацию брандмауэра, с тем чтобы он блокировал запрещенные или подозрительные пакеты; следовательно, администратор освобождается от необходимости реагировать на страницу, пришедшую в 3 часа ночи, и выполнять те же действия вручную. Поскольку автоматизированные системы могут реагировать на появляющиеся модели, связанные с атаками, намного быстрее, чем люди, они могут автоматически прерывать большую часть попыток вторжений.
□	Средства управления. Маршрутизаторы и брандмауэры можно перенастраивать с помощью ICMP-переадресации, а данные топологии маршрутизаторов подвергаются воздействию обновлений службы DNS. Таким образом, ни маршрутизаторы, ни брандмауэры не должны принимать ICMP-переадресацию и обновления DNS из любых источников, кроме серверов, находящихся выше в их иерархии, т. е. информация должна приходить только от вашего поставщика доступа в Internet или с IP-адреса надежного сервера. В противном случае недобросовестные специалисты получают возможность перенастройки вашей маршрутной то-
18 Зак. 321
530
Гпава 9
пологий для того, чтобы поместить свои сети между вашей внутренней сетью и другими внешними сетями. Это может позволить им контролировать весь входящий и исходящий трафик вашей сети; такая атака имеет название "человек посередине" (man-in-the-middle attack) (инициатор помещает устройство или сеть между сетями источника и назначения).
Подробнее о прокси-серверах
В разговоре о прокси-серверах чаще всего упоминается способность проксислужб предоставлять локальным пользователям доступ к серверам и службам за пределами внутренней сети; при этом не стоит забывать о том, что прокси-серверы могут работать и в другом направлении. Они могут выполнять так называемое "обратное посредничество" для предоставления служб, находящихся внутри сети, посторонним пользователям, так, как будто эти службы располагаются непосредственно на прокси-сервере.
Таким образом, прокси-сервер выполняет посреднические функции по отношению к входящим и исходящим запросам на службы, и именно по этой причине он получает возможность фильтрации адресов в общедоступной части сети Internet, а также препятствования получению внешними пользователями доступа к внутренним ресурсам. Многие компании лишают своих сотрудников доступа к сайтам сомнительного содержания, используя фильтры доменных имен или IP-адресов. Кроме того, прокси-сервер может действовать на Прикладном уровне, блокируя определенные новостные группы в программах чтения новостей.
Другой важнейшей характеристикой прокси-серверов является способность кэширования. Когда пользователи запрашивают удаленные ресурсы (например, отдельные Web-страницы), прокси-сервер создает их локальные копии, сохраняя их в течение определенного времени после запросов. Если до превышения временного лимита хранения этих страниц в кэше на них поступит запрос, он будет обработан локально, и для их получения с исходного сервера не нужно будет выполнять лишнюю операцию HTTP get. Применительно к сайтам, на которых множество пользователей обращаются к одним и тем же материалам, кэширование может не только повысить производительность этих пользователей, но и снизить потребление пропускной способности в общедоступной сети Internet.
Тем не менее, кэш является потенциальной точкой атаки (т. к. он делает ранее просмотренные страницы доступными для других пользователей). По этой причине сетевые администраторы вынуждены следить за появлением эксплойтов, осуществляемых через кэш, и устанавливать все необходимые заплаты и исправления программного обеспечения, ответственного за пополнение кэша и управление им.
Организация защиты в среде TCP/IP .	531
Реализация брандмауэров и прокси-серверов
Важно понимать, что при реализации пограничных средств управления вы косвенно принимаете решение связать свою сеть и ее пользователей с сетью Internet. Конечно, границу между этими двумя сетями можно и не устанавливать, но такое решение совершенно несостоятельно. Таким способом можно организовывать только ту сеть, в которой нет важных блоков информации, требующих обеспечения безопасности; это — политика полного отсутствия защиты. С другой стороны, стоит заметить, что в наиболее защищенных сетях доступ в Internet вообще не предоставляется, а если пользователям он необходим, то они получают его через отдельные несекретные сети. Они располагаются на предельных расстояниях, чтобы пользователи не могли переносить файлы из защищенной сети в незащищенную (из компьютеров в защищенной сети даже изымаются флоппи-дисководы и все другие устройства для работы с переносными накопителями).
Так как большинство политик безопасности определяют уровень защиты где-то между двумя крайностями ("все разрешено" и "никаких соединений"), нижеперечисленные стадии помогут вам сориентироваться в вопросах планирования и реализации брандмауэров и прокси-серверов в ваших сетях.
□	Планирование. Прежде чем обзавестись брандмауэром, вы должны получить представление об этих устройствах, в общем, и определиться со своими потребностями, в частности. Фаза планирования состоит из оценки всего доступного ассортимента, выбора наиболее вероятных кандидатов, получения всей надлежащей информации и анализа всего выясненного.
□	Формулирование потребностей. Вы должны точно представлять, чего вы хотите от брандмауэра и как собираетесь его использовать. Чтобы сформулировать свои потребности, необходимо сначала документировать характеристики вашей сетевой среды, затем определиться с тем, какой трафик нужно будет разрешить, а какой — запретить, и сопоставить существующую политику безопасности со своим выбором, чтобы убедиться, что все компоненты сходятся.
□	Установка. Приобретя брандмауэр (а вместе с ним прокси-сервер и/или систему обнаружения вторжений), вы должны установить соответствующие аппаратные средства и программное обеспечение, чтобы привести их в действие. Сначала не следует устанавливать брандмауэр так, чтобы он сразу начал выполнять свои функции по управлению границей сети. Запустите его в регулируемой среде, подальше от посторонних глаз, пока он не будет полностью подготовлен к этапу "Реализация".
□	Конфигурирование. После установки физических и программных элементов брандмауэра вы должны исследовать и проанализировать его конфигурацию, принятую по умолчанию, и понять, как ее изменить для того, чтобы она соответствовала вашим индивидуальным потребностям. По
532
Гпава 9
старайтесь сделать так, чтобы все ваши предположения были подкреплены реальными фактами относительно каждого аспекта поведения брандмауэра. Свяжитесь с производителем, чтобы убедиться, что у вас самая современная версия программного обеспечения, снабженная всеми необходимыми исправлениями и заплатами. Иногда новые продукты месяцами не выпускаются на рынок, но технология, о которой идет речь, никогда не стоит на месте. Выполнив все эти действия, вы убережете сеть от потенциальных эксплойтов после реализации брандмауэра.
□	Тестирование. Если вы выполнили все предыдущие задания, этот этап скорее формален, однако часто он помогает выявить, насколько тщательно все мы проверяем наши умозрительные предположения. Задача — проверить, насколько выполненные настройки брандмауэра (и всего связанного с ним программного обеспечения) соответствуют вашим потребностям. Если ничто человеческое вам (как и нам) не чуждо, вы, вероятно, обнаружите случайную ошибку, которую необходимо исправить, и неверное, предположение, идущее вразрез с вашими требованиями. Кроме того, вы сможете обнаружить непредвиденные побочные действия установок по умолчанию, которые потребуют изменения или корректировки.
□	Атака. Этот этап предполагает запуск сканера портов, анализатора и диспетчера безопасности; таким образом, вы должны самостоятельно произвести все возможные атаки на собственную сеть. Идея заключается в том, чтобы нанести удар по установленной конфигурации и со стороны, посмотреть, какова будет реакция. Естественно, необходимо проверить на прочность как можно больше функций брандмауэра, чтобы точно знать, как он будет себя вести в условиях атаки.
□	Настройка. Учитывая результаты этапов тестирования и атаки, подкорректируйте существующую конфигурацию и постарайтесь привести ее в максимальное соответствие с требованиями безопасности — настолько, насколько позволяет аппаратная часть и программное обеспечение. Повторите цикл "тестирование — атака — настройка" (test-attack-tune cycle) столько раз, сколько необходимо, пока все не встанет на свои места.
□	Реализация. Теперь, когда вы скорректировали установки по умолчанию, избавились от ошибочных предположений и устранили возможность атак, пора вводить брандмауэр (и все связанное с ним программное обеспечение) в действие. На этом этапе вы должны быть уверены, что сделали все возможное, чтобы максимально обезопасить ваши устройства.
□	Мониторинг и обслуживание. После реализации начинается повседневная работа. Вы должны отслеживать журналы регистрации событий, статистику трафика, сообщения об ошибках брандмауэра; помимо этого, необходимо просматривать новостные группы и почтовые рассылки, посвященные безопасности, в поисках информации о новых эксплойтах (в частности тех, которые могут иметь отношение к вашей среде). Таким образом, вы будете готовы к внесению всех необходимых поправок.
Организация защиты в среде TCP/IP
533
По мере появления новых атак и эксплойтов следует повторять цикл "тестирование — атака — настройка". Помните, что 90% затрат на систему связаны с ее обслуживанием (а не с приобретением или подготовкой), так что наблюдение и содержание в рабочем состоянии — это наиболее важные компоненты управления брандмауэром.
Планирование, установка и выбор конфигурации
В ходе первоначальных этапов развертывания брандмауэра ваши знания должны соответствовать самому современному уровню. Это относится к пониманию не только общих возможностей и ограничений, присущих каждому брандмауэру, но и специфики выбранной вами модели. Связывайтесь с производителем, чтобы выяснить наличие известных эксплойтов, обновлений программного обеспечения, заплат, исправлений и прочих усовершенствований продукта с момента его первого появления. Возможно, в данный момент ваша версия продукта не является наиболее современной; следовательно, задача состоит в том, чтобы модернизировать ее.
Кроме того, вам следует следить за новостными группами и почтовыми рассылками, посвященными проблемам безопасности, выясняя последнюю информацию об атаках, эксплойтах, известных проблемах и недостатках программного обеспечения. Такие данные может предоставлять и производитель, но вы должны проверять и другие источники: пользовательскую информацию, консультационные группы по вопросам безопасности, а также другие, более нейтральные источники информации.
В некоторых случаях производители не горят желанием поделиться со своими клиентами плохими новостями; по крайней мере, они делают это менее охотно, чем консультационные группы. Информацию, необходимую в ходе этапов планирования, анализа требований, установки и настройки, вы можете получить от сообществ пользователей, экспертов и отраслевых групп. Сотрудники служб технической поддержки производителей по своей квалификации часто уступают людям, которые постоянно трудятся на линии фронта сражения за безопасность сетей.
Если производитель предлагает консультации или обучение, необходимое для успешного выполнения всех упомянутых этапов, изучите эти предложения. Вопросы о возможных консультациях нужно задавать не только производителю, но и сообществам; только так вы сможете в любой момент получить экспертную поддержку.
Вывод таков: никогда не оставляйте брандмауэр или прокси-сервер в том виде, в котором вы его приобрели; обязательно выясняйте, не появилось ли дополнительных изменений, обновлений, заплат, исправлений и уточнений. Вполне вероятно, что с момента приобретения продукта произошла его модернизация, и ваша задача — идти в ногу со временем!
534
Гпава 9
Подробнее о цикле
"тестирование — атака — настройка"
На этой стадии развертывания брандмауэра чрезвычайно важно вести учет. Во-первых, проведите как можно более полную документацию вашей конфигурации и сохраните эти записи в безопасном месте. Затем можно воспользоваться средством отображения портов или какой-либо другой атакующей программой (например, nmap или Legion)’, это позволит выяснить, какие порты протоколов TCP и UDP на брандмауэре остаются открытыми. Обязательно зафиксируйте данные о найденных открытых портах и проверьте применяемые приложения и службы, чтобы убедиться, что все функциональные возможности, необходимые пользователям, присутствуют.
Обнаружив непредвиденные открытые порты, вы должны проанализировать опасность, которой они подвержены. Повторим, что наилучшим вариантом является закрытие всех портов, которые не используются активно, т. к. это позволяет ограничить количество потенциальных точек атаки. Будьте осторожны при создании исключений в политике служб и портов (которые, по нашему убеждению, должны быть отключены по умолчанию, а затем разрешены в виде исключения). Иногда бывает удобно реализовать удаленное управление брандмауэром, однако необходимо отдавать себе отчет в том, какие при этом открываются потенциальные точки атаки и виды внешнего воздействия.
Наконец, следует создать группу инструментов атаки (attack tools), которые позволят вам напасть на собственный брандмауэр. Здесь есть множество вариантов, но мы склонны рекомендовать следующий инструментарий:
□	Network Associates CyberCop ASaP (http://www.mcafeeb2b.com/services/ cybercop-asap.asp);
□	GNU NetTools (http://cs.wheatonma.edu/nbuggia/NetTools/);
□	средство отображения портов вроде Legion (http://www.slacker.org — проведите поиск по ключу "legion") или nmap (http://www.insecure.org/ nmap/);
□	разнообразные защитные сканеры Internet Security System (http://www.iss.net).
Кроме того, вы можете воспользоваться другими коммерческими, условно-бесплатными или свободно распространяемыми утилитами. Авторы этой книги поддерживают список сетевых ресурсов, посвященных безопасности, по адресу http://www.lanw.com/training/interop/securityurls.htm; это прекрасная отправная точка, с которой можно начать поиск других потенциальных кандидатов на место в вашем инструментальном наборе. Помимо перечня общих информационных ресурсов по этой теме, здесь указаны ссылки на сайты разнообразных производителей брандмауэров и прокси-серверов.
Организация защиты в среде TCP/IP
535
Мы полагаем, что следующие информационные ресурсы особенно полезны.
□	"Internet Firewalls: Frequently Asked Questions" ("Брандмауэры Internet: часто задаваемые вопросы") (http://www.interhack.net/pubs/fwfaq/).
□	Обзор моделей брандмауэров (http://www.thegild.com/firewall/).
Наконец, вы можете ввести ключ "firewalls” в строке поиска Yahoo! или любой поисковой системы, и получите обширный список полезных ресурсов.
Подробнее о системах
обнаружения вторжений (IDS)
Системы обнаружения вторжений значительно облегчают автоматизацию процесса опознания и реагирования на потенциальные атаки и другие подозрительные разновидности сетевого трафика. В отличие от систем, требующих ручного контроля и распознавания конфигурации, примененного к сетевому трафику и моделям использования, системы обнаружения вторжений активно опознают и реагируют на попытки вторжения в реальном времени. Большинство из них отключают пользователей, обнаруживающих подозрительное поведение, и выполняют обратный поиск DNS для определения реальных IP-адресов и местонахождений этих пользователей (насколько это возможно). Некоторые из них даже способны отсылать промежуточным поставщикам доступа в Internet сообщения электронной почты, оповещая их о том, что их узлы используются для организации атак. Почти все системы обнаружения вторжений автоматически регистрируют случаи подозрительного поведения, создавая "компромат" для последующих обвинений.
Недостаток старых ручных систем состоит в том, что для поимки "плохих парней" сетевой администратор всегда должен замечать начало атаки. К тому же системы обнаружения вторжений обладают намного более мощными возможностями для выполнения текущего статистического анализа трафика и свойств отдельных учетных записей. Таким образом, они могут вычислять "постепенные попытки взлома" (когда повторяющиеся попытки угадать пароль могут быть умышленно растянуты во времени, чтобы избежать обнаружения) и необычные модели использования учетных записей, противостоять DoS-атакам и улаживать множество проблем, которые человек замечает только тогда, когда что-либо предпринимать становится уже слишком поздно.
Интересно, что брандмауэры либо предоставляют информацию о методах взаимодействия с системами обнаружения вторжений, либо содержат встроенные системы этого типа. Нам представляется, что автоматизация этой функции будет все больше превалировать и распространяться по мере того, как доступ в Internet и связанные с ним проблемы обеспечения безопасности будут становиться все более обыденными.
536
Гпава 9
Windows 2000:
новое поколение сетевой безопасности
В момент написания этой главы операционная система Windows 2000 пребывала на рынке чуть больше года. Новая версия флагманского сервера и операционной системы для рабочих станций от Microsoft характеризуется множеством усовершенствований и модификаций в области безопасности, вследствие чего ее система защиты становится намного устойчивее по сравнению с предыдущими версиями Windows 9х и Windows NT.
К сожалению, продолжающееся применение этих старых систем означает, что в обозримом будущем Windows 2000 будет поддерживать устаревшие модели защиты и соответствующее программное обеспечение, чтобы обеспечить обратную совместимость. Таким образом, многие усовершенствования системы безопасности, о которых пойдет речь в этом разделе, не смогут полностью вступить в силу до прекращения использования старых операционных систем.
Как бы то ни было, усовершенствования, реализованные в Windows 2000 и перечисленные ниже, позволяют обеспечивать намного более мощную, чем в Windows NT, защиту.
□	Kerberos версии 5. Это программное обеспечение кардинальным образом повышает качество аутентификации пользователей и серверов, а также управления защитой и шифрованием на Сеансовом уровне; это — значительный шаг вперед по сравнению с возможностями Windows NT. Кроме того, эта служба явно основывается на протоколе IP.
□	Инфраструктура открытого ключа (Public Key Infrastructure, PKI) позволяет двум сторонам безопасно обмениваться секретной информацией с помощью цифровых сертификатов, подтверждающих их идентичности; контроль достоверности таких сертификатов возлагается на одно или несколько высоконадежных третьих лиц, которые называются бюро сертификации (certificate authorities, СА). Ко всему прочему, применение открытых и секретных ключей позволяет обеспечить строгое выполнение обязательств по сообщениям (сообщения, в которых утверждается происхождение от конкретного пользователя, могут быть прочитаны лишь в том случае, если они действительно происходят именно от него; в таком случае этот пользователь не может отказаться от ответственности за отосланные им сообщения). Кроме того, они предусматривают безопасный обмен информации (т. к. сообщение, зашифрованное с помощью открытого ключа пользователя, может быть расшифровано только стороной, обладающей секретным ключом того же пользователя). Эта служба также явно основывается на протоколе IP.
□	Управление учетными записями служб каталогов. Active Directory в Windows 2000 теперь обеспечивает более гибкое, чем когда-либо, присвоение административной ответственности; таким образом, доступ к ре
Организация защиты в среде TCP/IP
537
сурсам теперь не ограничивается разрешением типа "все или ничего", как это было применительно к доменам в среде Windows NT. Эта служба, как и все вышеперечисленные, явно основывается на протоколе IP.
□	CryptoAPI версии 2. Этот программный интерфейс предоставляет доступ к мощным службам шифрования приложениям и информационным обменам всех типов. Это инструментальное средство разработки Windows, которое не является явно основанным на протоколе IP.
□	Шифрование NTFS. В среде Windows 2000 в файловой системе NTFS (NT File System) появляется атрибут шифрования, позволяющий хранить целые тома, каталоги и отдельные файлы в надежно зашифрованном виде. Это — усовершенствование файловой системы Windows, не являющееся явно основанным на протоколе IP.
□	Защищенные протоколы безопасности каналов (SSL 3.0/РСТ). Новые реализации протокола SSL (Secure Sockets Layer, защищенных сокетов) и PCT (Private Communication Technology, технология конфиденциальной связи) намного упрощают обмен информацией между двумя сторонами по сети Internet и другим общедоступным сетям без риска раскрытия или компрометации. Очевидно, что это служба явно основана на протоколе IP.
□	Протокол TLS. IP-реализации протокола TLS (Transport Layer Security protocol, безопасности Транспортного уровня) позволяют зашифровывать и защищать сегменты на Транспортном уровне, тем самым защищая содержимое всех сообщений, проходящих по сети Internet на этом уровне.
□	Структура Internet-безопасности. Поддержка спецификации безопасности IPSec и новых туннельных протоколов для VPN-соединений (например, туннельный протокол 2-го уровня, или L2TP, а также усовершенствованная реализация протокола РРТР — Point-to-Point Tunneling Protocol, туннельный протокол двухточечного соединения) упрощает безопасный обмен информацией в сети Internet и других общедоступных сетях.
Несомненно, все перечисленные усовершенствования обладают большим потенциалом, но на момент написания этого материала мало что могут дать пользователям Windows. С течением времени мы будем латать дыры Windows 2000, предотвращать эксплойты и сталкиваться с недостатками системы, как уже было с Windows NT и другими реализациями Windows. Как бы то ни было, в Windows 2000 средства обеспечения безопасности намного более многочисленны, чем в Windows NT, поэтому надо надеяться, что в будущем весь потенциал этой операционной системы будет полностью реализован!
Обновление антивирусных средств и списков вирусов
Поскольку новые вирусы, черви и троянцы появляются с завидной регулярностью, антивирусные программы и описания вирусов необходимо посто
538
Глава 9
янно обновлять. Большинство мощных антивирусных пакетов (например, Norton AntiVirus, Trend Micro's PC-ciliin, Network Associates’ VirusScan и др.) предусматривают средства автоматического обновления, делая этот процесс максимально простым и безболезненным. Для крупных сетевых сред, где конечные пользователи не должны распоряжаться своими загрузками и обновлениями, такие продукта! обеспечивают поддержку промежуточных серверов (где обновления могут откачиваться из локальной копии, а сетевой администратор может координировать содержимое и частоту этих обновлений).
Необходимо осознавать, что антивирусная защита должна являться ключевым компонентом любой политики безопасности, и убедиться в том, что все пути, по которым данные могут входить в сеть, являются предметом проверки, обнаружения, фильтрации и изоляции, что позволит не допустить попадания вирусов в ваши системы и сети. Наиболее мощные антивирусные пакеты незаметно и автоматически проверяют вложения сообщений электронной почты, получаемые входящие файлы, гибкие диски и подобные носители, а также другие потенциальные источники заражения, и нейтрализуют подозрительные материалы без вмешательства пользователя и взаимодействия с ним.
Тестирование сети
Политика безопасности (security policy) — это документ, отражающий позицию организации в вопросах защиты ценной информации и других ресурсов, способах такой защиты, содержания информации в нормальных эксплуатационных условиях, а также ее восстановления в ситуации компрометации или потери данных. Ниже приводится пример политики безопасности, рекомендованный группой CERT.
□ Подготовка.
•	Если политика безопасности уже существует, сверьтесь с ней.
•	Если политики безопасности не существует:
О проконсультируйтесь с руководством;
О проконсультируйтесь с юрисконсультом;
О попробуйте связаться с органом юстиции;
О предупредите других сотрудников вашей организации.
• Документируйте все предпринятые действия по восстановлению.
□ Восстановление управления.
•	Отсоедините скомпрометированную систему (системы) от сети.
•	Создайте полную копию скомпрометированной системы.
Организация защиты в среде TCP/IP	 539
□ Анализ вторжения.
•	Выясните, какие изменения были внесены в системное программное обеспечение и конфигурационные файлы.
•	Выясните, какие изменения были внесены в данные.
•	Определите, какие инструментальные средства и данные не были затронуты злоумышленником.
•	Просмотрите регистрационные файлы.
•	Выполните проверку на наличие признаков сетевого анализатора пакетов.
•	Проверьте другие системы, входящие в сеть.
•	Выясните, какие системы, расположенные на удаленных узлах, были вовлечены в атаку или затронуты ею.
□ Свяжитесь с CERT/CC и другими вовлеченными узлами.
•	Следуйте инструкциям, приведенным на сайте http://www.cert.org/ tech_tips/incident_reporting.html.
•	Свяжитесь с координационным центром CERT.
•	Узнайте координаты других вовлеченных узлов и свяжитесь с ними.
□ Восстановление после вторжения.
•	Переустановите операционную систему с надежного проверенного носителя.
•	Отключите лишние службы.
•	Установите все заплаты системы защиты, поставляемые производителем (http://www.microsoft.com/security/).
•	Свяжитесь с консультантами группы CERT, ознакомьтесь со сводками и бюллетенями производителя.
•	Будьте осторожны, восстанавливая данные с помощью резервных копий, т. к. они могут содержать данные, уже измененные злоумышленником.
•	Измените пароли.
□	Модернизируйте систему защиты вашей системы и сети в соответствии с инструкциями, используя все полученные знания.
□	Расскажите всем вашим пользователям сети об опасности исполнения неизвестных программ или вложений в сообщения электронной почты.
□	Восстановите соединение с Internet.
• Модернизируйте политику безопасности.
О Документируйте вторжение, чтобы избежать его повторения.
540
Гпава 9
О Подсчитайте ущерб, понесенный в результате инцидента.
О Внесите необходимые изменения в политику безопасности (если это необходимо).
В общем, политика безопасности определяет виды повседневных действий по обеспечению защиты и процедуры, необходимые для предотвращения потерь данных и вторжений в системы. Кроме того, она должна предусматривать действия, которые необходимо предпринять в случае, если вторжение или потеря данных все же произойдут. Таким образом, регулярные меры по обеспечению безопасности становятся точно определенными и вполне реальными, а на случай непредвиденных или неблагоприятных ситуаций в сетях и системах описываются методы их восстановления. Имейте в виду, что хорошая политика безопасности учитывает все три компонента безопасности, представленные ранее в этой главе: физическую защиту, контроль действий персонала, а также программную защиту. Этот документ стоит рассматривать как обобщение всех существующих методов и процедур обеспечения безопасности; такой подход сможет не только побудить вас тщательно разработать политику безопасности, но и продемонстрирует необходимость постоянного обновления и поддержки этого документа — так же, как вы должны обновлять и поддерживать методы и процедуры, которые он описывает.
Дополнительная информация о политиках безопасности, а также превосходные примеры этих документов опубликованы на перечисленных далее Web-сайтах.
□	Институт SANS (System and Administration, Networking and Security, Институт систем, администрации, сетевых технологий и безопасности) предлагает самые лучшие программы сертификации и обучения в области безопасности. Неудивительно, таким образом, что "эталонные политики безопасности" ("Model Security Policies"), разработанные этим институтом, непревзойденны. Все необходимые документы и шаблоны можно скачать по адресу http://www.sans.org/newlook/resources/policies/policies.html.
□	Министерство обороны США финансирует деятельность института SEI (Software Engineering Institute, Институт техники программного обеспечения) в Университете Carnegie-Mellon. Сфера исследований этой группы концентрируется на безопасности систем и сетей, а технический отчет "Operationally Critical Threat, Asset, and Vulnerability", (OCTAVE) (Оценка операционно-критических угроз, ценных свойств и уязвимости) является прекрасным шаблоном для создания политик безопасности. Дополнительную информацию можно узнать по адресу http://www.sei.cmu.edu/ publications/documents/99.reports/99tr017/99tr017abstract.html.
□	Техническими службами информационного управления Университета Murdoch был составлен документ под названием "Information Technology
Организация защиты в среде TCP/IP 541
Security Policy" (Политика безопасности информационных технологий), который содержит обстоятельный раздел, посвященный созданию формального документа политики безопасности. Этот документ должен обязательно прочитать любой специалист, серьезно заинтересованный в формулировании собственной политики. Публикация расположена по адресу http://wwwits2.murdoch.edu.au/security/policy.htinl.
Выводы по главе
□ Чтобы создать мощную основу для безопасности сетей и систем, необходимо сформулировать политику, регулирующую процессы, процедуры и правила, относящиеся к физической безопасности, контролю действий персонала, защите систем и программного обеспечения. Кроме того, схема защиты систем и программного обеспечения должна предусматривать любые потенциальные возможности потери или повреждения ценной информации, регулируя вопросы резервирования, восстановления после аварий, внутренние меры предосторожности, охрану периметра и границ сетей.
П В терминологии систем безопасности атака определяется как попытка взлома или иной компрометации конфиденциальности и целостности ценной информации организаций. Эксплойт — это документация успешной атаки, а проникновением обычно называется ее результат.
□ Изначально в TCP/IP была реализована оптимистическая модель механизма защиты, вследствие чего входящие в этот стек протоколы и службы были незащищены вообще или защищены незначительно. Позднейшие улучшения, усовершенствования и обновления, внесенные в TCP/IP, относятся к более пессимистичной модели. К сожалению, стек протоколов TCP/IP сохраняет уязвимость по отношению к различным видам атак, включая отказы от обслуживания (которые могут проистекать из одного источника или быть распределены между несколькими источниками), атаки на службы, слабые места служб и реализаций, атаки типа "человек посередине" и т. д.
□ Одним из базовых принципов IP-защиты является недопущение излишних воздействий путем блокировки всех неиспользуемых портов и установки лишь необходимых служб. Другой принцип — благоразумное применение фильтрации адресов с целью блокирования известных злоумышленников и препятствования спуфингу адресов. Мы пропагандируем пессимистическую модель механизма защиты, при которой доступ запрещается по умолчанию, а разрешается лишь в виде исключения. Наконец, очень полезно следить за новостями и событиями (особенно — за появлением новых эксплойтов), связанными с проблемами безопасности, а также регулярно атаковать собственные системы и сети, выясняя, как блокировать или предотвращать атаки, документированные в эксплойтах.
542	Гпава 9
□	Необходимо обеспечивать защиту систем и сетей от злонамеренного кода всех видов: вирусов, червей и троянских коней. Такая защита подразумевает использование антивирусного программного обеспечения, которое должно быть компонентом любой мощной политики безопасности.
□	Потенциальные инициаторы атак обычно запускают специальную последовательность процессов, называемую рекогносцировкой и обнаружением и направленную на отслеживание систем защиты сетей и систем с целью определения точек атаки. Разумные действия по текущему контролю сети, особенно с помощью систем обнаружения вторжений, помогают блокировать такие атаки (а иногда бывают способны даже идентифицировать их источники, если и не инициаторов).
□	При организации защиты систем или сетей требуется сформулировать политику безопасности, а затем делать все возможное, чтобы воплотить ее в жизнь. Но это еще не все — поддержка схемы безопасности систем или сетей подразумевает отслеживание последних новостей и информации, относящейся к безопасности; установку необходимых заплат, исправлений и обновлений программного обеспечения; регулярное осуществление ревизий систем защиты; проведение атак собственных сетей для обеспечения необходимого на текущий момент уровня безопасности.
□	Ключевым компонентом системы защиты систем и сетей является обеспечение надежности границ этих сетей. Для этих целей обычно применяются фильтрующие маршрутизаторы, брандмауэры и прокси-серверы, которые могут располагаться как на отдельных устройствах, так и в одном месте. В некоторых сетевых структурах между внутренней и внешней сетями организуются демилитаризованные зоны (DMZ), в которых службы могут быть относительно безопасно выставлены на обозрение внешних пользователей, а внутренние пользователи могут обращаться к прокси-службам и службам кэширования для получения доступа во внешнюю сеть.
□	При организации защищенного периметра сети и развертывании устройств защиты прежде всего необходимо запускать цикл "тестирование — атака — настройка"; делать это нужно до того момента, когда после прохождения стадий тестирования и атак потребность в настройке исчезнет. Это единственный метод, гарантирующий максимальную безопасность сетевых границ; кроме того, настоящий процесс нужно повторять каждый раз при появлении новых опасных эксплойтов или слабых мест.
□	В операционной системе Windows 2000 реализованы некоторые усовершенствования, связанные с безопасностью, и по сравнению с предыдущими версиями Windows они стоят на значительно более высоком уровне. Отдельного упоминания заслуживают средства управления безопасностью сеансов и аутентификацией Kerberos; PKI для обеспечения защищенных конфиденциальных обменов уязвимыми данными; некоторые новые про
Организация защиты в среде TCP/IP
543
токолы и службы (IP Security, шифрование NTFS, SSL, PCT и TLS), которые помогают обезопасить клиент-серверный сетевой трафик на основе протокола IP.
Основные термины
Back Orifice — троянский конь с возможностью удаленного управления, разработанный группой "Культ мертвой коровы" ("Cult of the Dead Cow", CDC).
DDoS (Distributed Denial of Service, распределенный отказ от обслуживания) — атака, выполняемая организованной группой, в которой скомпрометированный хост выступает как обработчик, вербующий посредников для непосредственного осуществления атаки.
IP-защита (IP Security, IPSec) — спецификация безопасности, обеспечивающая поддержку различных форм шифрования и аутентификации, распределения ключей и сопутствующих функций. Факультативный компонент IPv4, и обязательный — в IPv6.
Legion — сканер совместного использования файлов NetBIOS с возможностями грубой парольной атаки, который должен входить в инструментарий атаки любого IP-администратора Windows.
nmap — имеющий дурную репутацию сканер портов. Первоначально существовавший в средах UNIX или Linux, nmap должен входить в инструментарий атаки любого IP-администратора.
PCT (Private Communication Technology, технология конфиденциальной связи) — протокол Прикладного уровня на основе IP, документированный в RFC 2246. Применяется для создания безопасного канала, исключающего возможность прослушки клиент-серверных или сервер-клиентских сообщений в сети Internet.
PING-развертка (PING sweep) — операция на основе эхо-запроса протокола ICMP, применяемая для выявления активных устройств в сети. Термин "развертка" относится к процессу тестирования целого диапазона IP-адресов для активных устройств.
гехес — сокращение от remote execution (удаленное исполнение). Одна из удаленных утилит (r-utils) BSD UNIX, позволяющая удаленным пользователям выполнять отдельные команды на удаленном хосте.
грг — сокращение от remote print (удаленная печать). Одна из удаленных утилит (r-utils) BSD UNIX, позволяющая пользователям сети распечатывать файлы на удаленном хосте.
rsh — сокращение от remote shell (удаленная оболочка). Одна из удаленных утилит (r-utils) BSD UNIX, позволяющая пользователям сети запускать сеанс регистрации и производить с ним операции на удаленном хосте.
544
Гпава 9
r-utils — сокращение от remote utilities (удаленные утилиты). Совокупность программ, первоначально вошедших в поставку операционной системы BSD UNIX v4.2 и предоставлявших пользователям удаленный доступ и службы регистрации. Именно поэтому они представляют собой излюбленный объект атак.
Smurf-атака — атака на основе протокола ICMP, при которой инициатор отсылает PING-пакет на широковещательный адрес, записывая в поле источника IP-адрес жертвы.
SOCKS — стандартизированный организацией IETF протокол, определяющий работу посреднических механизмов, контролирующих трафик между сетями.
TLS (Transport Layer Security protbcol, протокол безопасности Транспортного уровня) — специальный протокол Транспортного уровня, работающий с протоколом TCP таким образом, чтобы клиент-серверные приложения могли взаимодействовать без риска прослушки, внедрения и фальсификации сообщений.
WinNuke-атака — атака, основывающаяся на нелогичной структуре пакета NetBIOS, бит Urgent (срочно) в котором установлен в положение "1".
Адресная книга (address book) — база данных адресов электронной почты. Локальные адресные книги часто используются при атаках червей и мобильного кода.
Анонимный доступ (anonymous access) — тип доступа к IP-службам, при котором пользователи не обязаны предоставлять явную информацию об учетной записи и пароле; помимо прочего, анонимный доступ применяется при обращениях к Web-службам и FTP.
Атака (attack) — попытка проникновения в систему или сеть, подрыва системы, ее защиты или блокировка доступа в нее.
Атака IP-службы (IP service attack) — атака системы, эксплуатирующая известные характеристики и слабые места одной или нескольких определенных IP-служб или в своих противозаконных целях использующая хорошо известные адреса портов, связанные с этими службами.
Атака типа "человек посередине" — разновидность атаки сис.темы или сети, в ходе которой атакующая система позиционирует себя между сетью назначения и следующим нормальным каналом в обычной цепи маршрутизации этой сети.
Бастионный хост (bastion host) — специально укрепленный компьютер, предназначенный для охраны границы между внутренней и внешней сетью; именно на нем обычно действуют функции брандмауэров, прокси-серверов, систем обнаружения вторжений и пограничных маршрутизаторов.
Организация защиты в среде TCP/IP
545
Брандмауэр (firewall) — сетевое пограничное устройство, размещаемое между общедоступной и частной сторонами сети; обеспечивает множество служб фильтрации и проверки, гарантируя наличие только санкционированного входящего и исходящего трафика (термин позаимствован от обозначения устройства, предназначенного специально для блокировки распространения огня в домах и автомобилях).
Взломщик (cracker) — человек, пытающийся проникнуть в систему, выдавая себя за полномочного пользователя или применяя другие методы преодоления защиты, которые далеко не всегда требуют серьезных системных знаний.
Вирус (virus) — код, распространяющийся по компьютеру с целью модификации или уничтожения файлов.
Входящая фильтрация (ingress filtering) — процесс наложения ограничений на трафик, входящий в сеть.
Грубая атака (brute force attack) — атака, обычно состоящая из множества запросов на обслуживание. Цель атаки этого типа состоит в перегрузке ресурсов жертвы, включая центральный процессор, доступ к дискам и другие локальные ресурсы.
Грубая парольная атака (brute force password attack) —• систематическая попытка угадать все возможные строки паролей в целях вторжения в систему. В ходе такой атаки пробуются буквально все потенциальные сочетания символов, которые могут представлять собой действительный пароль. Подобные атаки зачастую занимают много времени и обычно могут быть выявлены и предотвращены системами обнаружения вторжений (IDS).
Демилитаризованная зона (demilitarized zone, DMZ) — промежуточная сеть, расположенная между границей внутренних сетей организации и одной или несколькими внешними сетями, такими как Internet. DMZ обычно отделяется от внешних сетей с помощью фильтрующего маршрутизатора, а от внешних сетей — с помощью фильтрующего маршрутизатора и брандмауэра.
Дыра (hole) — слабое место в защите системы или программы, делающее недействительными или игнорирующее настройки и ограничения безопасности этой системы или программы.
Жертва (victim) — объект атаки. Интер,есно, что при исполнении мобильного кода и червей жертвы сами становятся инициаторами атаки, позволяя нераспознанному и неискорененному коду инфицировать другие компьютеры.
Журнал регистрации (log) — файловая запись системной активности и событий, относящихся к определенной программной системе (например, к серверу или брандмауэру). "Посмертное" исследование журналов регистрации иногда-бывает необходимо для определения подписей атаки и степени компрометации системы после успешного выполнения этой атаки.
546
Гпава 9
Заимствование прав пользователя (user impersonation) — методика атаки системы или сети, при которой неуполномоченный пользователь для получения доступа предоставляет действительные полномочия, по праву принадлежащие другому, зарегистрированному пользователю; получив доступ, он пользуется всеми правами и полномочиями зарегистрированного пользователя. (Именно поэтому заимствование прав и полномочий администратора является конечной целью любой атаки этого типа.)
"Затемнение" расширения файла (file extension obfuscation) — процесс сокрытия расширения файла путем помещения фальшивого расширения перед фактическим. К примеру, в сообщениях электронной почты ILOVEYOU содержалось вложение под названием "LOVE-LETTER-FOR-YOU.TXT.vbs". В системах, настройки которых позволяют скрывать расширение, этот файл кажется текстовым и признается безопасным.
Злонамеренный код (malicious code) — программа, написанная с целью повреждения или нарушения операций на хосте.
Инициатор атаки (attacker) — фактический источник последовательности атаки. В ходе атаки DDoS искусные инициаторы могут скрываться за обработчиками и посредниками.
Инструменты атаки (attack tools) — любой набор программных средств, который может быть использован злоумышленником для осуществления попытки атаки на систему или сеть. Сетевым и системным администраторам следует самим обзаводиться такими средствами и обеспечивать их неработоспособность при попытках вторжения неуполномоченных пользователей в неконтролируемых ситуациях.
Исходящая фильтрация (egress filtering) — процесс наложения ограничений на трафик, выходящий из сети.
Компьютерная экспертиза (computer forensics) — процесс исследования "следов", оставленных инициатором атаки. Среди областей, представляющих интерес, — временные файлы (удаленные файлы, оставшиеся в Корзине или в обратимом состоянии) и локальная системная память.
Контроль действий персонала (personnel security) — подход к обеспечению безопасности, предполагающий информирование пользователей о требованиях защиты, обучение их надлежащему применению политик безопасности, процедур и установленных порядков.
Мобильный код (mobile code) — также называемый червем, мобильный код переходит от машины к машине без вмешательства пользователя. Сообщения электронной почты ILOVEYOU содержали мобильный код, который с помощью локальной адресной книги рассылал самого себя всем перечисленным в ней адресатам.
Неполный набор фрагментов (incomplete fragment set) — фрагментационная атака, при которой жертве направляется огромное количество фрагмен
Организация защиты в среде TCP/IP
547
тов, но не передается конечный фрагмент этого набора. Жертва пытается кэшировать полученные фрагменты с целью выполнения повторной сборки пакета по получении полного набора фрагментов.
Обработчик (handler) — система, управляющая DDoS-атакой. Обработчик является скомпрометированным хостом, на котором инициатор атаки разместил код DDoS. Обработчики занимаются вербовкой, посредников, а те, в свою очередь, непосредственно атакуют жертву.
Оптимистическая модель защиты (optimistic security model) — первоначальная основа безопасности TCP/IP. Эта модель признает нормальным ограниченное применение (или полное неприменение) защиты в нормальных сетевых сообщениях. (Именно этим объясняется то обстоятельство, что службы Telnet и FTP преспокойно передают по сетям информацию об учетных записях и паролях в виде открытого текста.)
Отчет (report) — документ, сгенерированный системой или службой, содержащий описание интенсивности трафика и его характеристик относительно данной службы или системы. Обычно применяется для формулировки обычного использования или активности, но может содержать описание зарегистрированных событий или условий, которые могут повлиять на безопасность.
Пессимистическая модель защиты (pessimistic security model) — модель механизма защиты системы или сети, предполагающая необходимость постоянных мер безопасности, направленных на запрещение доступа к ресурсам для всех пользователей по умолчанию и разрешение такого доступа от случая к случаю, притом лишь по необходимости.
Пограничный маршрутизатор (border router) — сетевое устройство, охраняющее границу между внутренней и внешней сетями, управляющее входящим трафиком, которому разрешен вход во внутренние сети, и исходящим трафиком, который может выходить за границы внутренних сетей.
Подпись атаки (attack signature) — характерная для определенной атаки модель связи. Подписью может быть номер порта, применяемый в ходе атаки, или строка символов, встраиваемая в часть данных пакета.
Политика безопасности (security policy) — документ, содержащий точное изложение требований организации относительно установленных порядков, правил и процедур безопасности, определяющий все ценные данные, нуждающиеся в защите, и планирующий процессы восстановления активности и чрезвычайного восстановления в случаях потери данных или компрометации системы.
Предупреждение (alert) — автоматическое оповещение, выполняемое программой (в контексте IP-защиты такой программой может быть маршрутизатор, брандмауэр, прокси-сервер или система обнаружения вторжений) и обозначающее необычную ошибку или состояние, превышенный порог мониторинга или выполняемый триггер.
548
Гпава 9
Присвоение пакетов (packet snooping) — см. Утечка пакетов.
Программа считывания шестнадцатеричных данных (hex reader) — программный пакет, позволяющий пользователям открывать исполнимые файлы для просмотра кода в шестнадцатеричном формате; при этом собственно исполнения файлов не происходит.
Программная защита (software security) — подход к обеспечению безопасности, предполагающий текущий контроль и поддержку систем и программного обеспечения в целях предотвращения максимального количества потенциальных источников атак. С этой точки зрения программная защита — это повседневная работа; ее нельзя провести, а потом забыть.
Прозрачность (transparency) — важная характеристика любой системы или службы, позиционируемой между конечными пользователями, с одной стороны, и запрашиваемыми ими службами или ресурсами, с другой стороны. Чем больше прозрачность, тем меньше пользователи замечают посредника, и чем она меньше, тем более заметен этот посредник. Идеальным вариантом является абсолютная прозрачность, когда пользователи вообще не замечают работу посредника.
Проникновение (break-in) — попытка злоумышленника выдать себя за полномочного пользователя системы или каким-либо другим образом добиться возможности входа в систему или сеть, и получить незаконный доступ к содержащимся в ней ресурсам и информации.
Процесс обнаружения (discovery process) — процесс определения функционирующих в сети компьютеров или процессов.
Расширение файла (file extension) — окончание имени файла, обозначающее тип файла. Вирусы часто содержатся в файлах, имеющих расширения ехе, сот и vbs.
Синхронная атака (SYN Flood) — атака, в ходе которой жертве отсылается большое количество запросов на установление процесса квитирования (SYN). Цель этих действий — забитй очередь соединения и заставить жертву отказывать в обработке последующих действительных запросов.
Система обнаружения вторжений (Intrusion Detection System, IDS) — специализированная программная система, инспектирующая текущие модели сетевого трафика в поисках признаков предстоящей или действующей атаки. Большинство систем обнаружения вторжений не только прерывают попытки вторжения, но и пытаются установить идентичность инициатора (или инициаторов) атаки. Что самое замечательное, такие системы работают в автоматическом режиме и при противостоянии большинству атак не требуют непосредственного человеческого вмешательства.
Сканер портов (port scanner) — специализированное инструментальное программное средство, выполняющее цикл либо по хорошо известным уязвимым портам TCP или UDP (Legion), либо по всем возможным адресам
Организация защиты в среде TCP/IP
549
портов TCP и UDP в поисках открытых портов, которые затем можно применить для получения доступа или эксплуатации слабых мест защиты.
Скомпрометированный хост (compromised host) — хост, подвергшийся взлому и выдавший злоумышленнику административные или корневые полномочия доступа.
Скрытый инициатор атаки (stealthy attacker) — инициатор атаки, заметающий свои следы. Скрытые инициаторы пытаются убедиться в том, что после запуска атаки не остается никаких действующих соединений и регистрационных записей, которые могут содержать информацию об их действиях.
Слабое место (vulnerability) — любой компонент системы, открытый для атаки. В этом смысле особенно опасны хорошо известные протоколы, службы, подсистемы, а также документированные дыры, которыми сравнительно легко воспользоваться.
Слабое место (vulnerability) — любой компонент системы, открытый для атаки. В этом смысле особенно опасны хорошо известные протоколы, службы, подсистемы, а также документированные дыры, которыми сравнительно легко воспользоваться.
Словарная атака (dictionary attack) — разновидность грубой парольной атаки, при которой хэшированные значения всех слов в специальном словаре терминов сравниваются с хэшированными значениями в файлах паролей. Осуществление такой атаки обычно занимает не более нескольких секунд.
Служба удаленной регистрации (remote logon service) — любой вид сетевой службы, позволяющий пользователям, находящимся в другом месте сети, регистрироваться в системе удаленным способом — так, как это делается локально. Такие службы представляют собой излюбленные точки атаки, поскольку они предназначены именно для того, чтобы предоставлять посторонним пользователям доступ к системам и службам.
Спуфинг (spoofing) — спуфинг происходит, когда входящий IP-трафик демонстрирует несоответствия в адресации. Спуфинг адресов происходит, когда внешний интерфейс передает трафик, выдавая его за внутренний, или когда пользователь представляет IP-адрес, который не соответствует доменному имени. Спуфинг доменных имен происходит, когда обратный поиск IP-адреса не соответствует доменному имени, от которого, как утверждается, исходит трафик.
Троянский конь (trojan horse) — программа, выглядящая вполне безобидно, но содержащая злонамеренный код. Превосходным примером троянского коня может послужить почтовая атака ILOVEYOU. Файл .vbs содержал мобильный код, который отправлял сам себя всем адресатам, присутствовавшим в адресной книге жертвы.
550
Гпава 9
Утечка пакетов (packet sniffing) — методика, в которой анализатор протоколов применяется для расшифровки и исследования содержимого IP-пакетов, попыток распознать секретную информацию (включая учетные записи и пароли) и последующего использования этой информации в ходе попыток проникновения.
Физическая защита (physical security) -- подход к обеспечению безопасности, подразумевающий ограничение физического доступа к компонентам систем и сетей, с тем чтобы неуполномоченные пользователи не могли осуществлять попытки прямых атак на эти компоненты. Некачественная физическая защита открывает путь к компрометации, так что ее следует всегда поддерживать на высоком уровне.
Фильтрующий маршрутизатор (screening router) — пограничный маршрутизатор, настроенный на мониторинг и фильтрацию входящего трафика на основе IP-адресов, адресов портов, доменных имен или попыток спуфинга.
Фильтрующий хост (screening host) — роль, исполняемая брандмауэром или прокси-сервером при предоставлении внутренней сетевой службы внешним пользователям.
Хищение сеанса (session hijacking) — методика IP-атаки, посредством которой злоумышленник перехватывает текущий сеанс связи между клиентом и сервером, таким образом присваивая все права и полномочия, присущие этому сеансу. Провести такую атаку довольно сложно, а последние изменения порядковых номеров TCP еще больше усложняют эту задачу.
Хэширование паролей (password hashing) — метод хранения паролей в зашифрованной форме в целях аутентификации. Современные операционные системы, такие как Windows NT, Windows 2000, UNIX и Linux, хэшируют пароли для повышения защиты в хранящихся формах. К сожалению, когда хакеры или взломщики, зная алгоритм хэширования, получают доступ к файлам, в которых хранятся хэшированные пароли, они могут выполнить словарную грубую парольную атаку и определить большинство паролей.
Цикл "тестирование — атака — настройка" (test-attack-tune cycle) — наиболее важная стадия развертывания систем или компонентов защиты. Эту последовательность действий необходимо выполнять вплоть до того момента, когда после тестирования и атаки потребность в дальнейшей регулировке системы или компонента исчезнет. Осуществление этих действий дает наиболее надежную гарантию того, что развертываемые системы и компоненты будут максимально устойчивы по отношению к атакам.
Червь (worm) — злонамеренный мобильный код, способный перемещаться с одного компьютера на другой вплоть до своего уничтожения.
Организация защиты в среде TCP/IP
551
Черный ход (back door) — недокументированная запрещенная точка вторжения в систему или сеть, часто встроенная в программное обеспечение или систему ее разработчиками.
Контрольные вопросы
1.	Более 70% всех проникновений в сети и системы происходят в пределах корпоративных сетей. Да или нет?
а)	да;
б)	нет.
2.	Какой из перечисленных далее факторов не является причиной абсолютного большинства случаев потери данных или служб в системах и сетях?
а)	вирусы;
б)	нарушение энергопотребления;
в)	внутреннее нарушение защиты;
г)	внешнее нарушение защиты.
3.	Какое из следующих утверждений лучше всего объясняет, почему физическая защита сетевых и системных компонентов столь важна?
а)	физический доступ к компонентам и устройствам необходим для успешного проникновения в укрепленные системы;
б)	любая качественная политика безопасности должна затрагивать вопросы физической безопасности;
в)	физический доступ к компонентам и устройствам дает квалифицированным специалистам возможность проникновения в системы;
г)	ни одно из приведенных утверждений: физическая защита не является важной проблемой.
4.	Каковы три компонента сетевой защиты?
а)	защита сети, границ, программного обеспечения;
б)	физическая защита, контроль действий персонала, защита систем и сетей;
в)	физическая защита, контроль действий персонала, защита компонентов;
г)	физическая защита, защита сетей и программного обеспечения.
5.	Какой из следующих типов документов инициатор атаки вероятнее всего использует при попытке проникновения в систему или сеть?
а)	профиль атаки;
б)	эксплойт;
552
Гпава 9
в)	политика безопасности;
г)	хэш-пароль.
6.	В стеке протоколов TCP/IP реализована пессимистическая модель схемы защиты. Да или нет?
а)	да;
б)	нет.
7.	Как называется атака, в ходе которой ее инициатор систематически проверяет все возможные пароли на предмет соответствия учетной записи?
а)	грубая атака;
б)	хищение сеанса;
в)	утечка пакетов;
г)	грубая парольная атака.
8.	Какая из следующих атак менее других опасна повреждением или потерей данных?
а)	атака IP-службы;
б)	атака типа "человек посередине";
в)	атака DoS или DDoS;
г)	вирус;
д)	переполнение буфера.
9.	Какие из перечисленных далее IP-служб по умолчанию отсылают информацию об учетных записях и паролях в виде открытого текста? (Выберите все подходящие ответы.)
a)	FTP;
б)	Telnet;
в)	Stelnet;
г)	Web-доступ с помощью SSL.
10.	Какое общее свойство делает IP-службы FTP и HTTP (Web) довольно уязвимыми?
а)	применение транспортного протокола TCP;
б)	длинные переменные лимита времени;
в)	анонимная регистрация;
г)	алгоритмы автоматического повтора.
11.	Какое из следующих описаний лучше всего характеризует "черный ход"?
а)	слабое звено или известная точка атаки в любой распространенной операционной системе;
Организация защиты в среде TCP/IP
553
б)	недокументированная запрещенная точка вторжения в систему или приложение;
в)	любой протокол, служба или возможность системы, чувствительная к атаке;
г)	резервное, но легальное средство входа в систему или приложение.
12.	Какое из следующих описаний лучше всего характеризует слабое место?
а)	слабое звено или известная точка атаки в любой распространенной операционной системе;
б)	недокументированная запрещенная точка вторжения в систему или приложение;
в)	любой протокол, служба или возможность системы, чувствительная к атаке;
г)	резервное, но легальное средство входа в систему или приложение.
13.	Какое из следующих действий не является признанным правилом IP-защиты?
а)	избегание лишнего воздействия;
б)	блокирование всех неиспользуемых портов;
в)	предотвращение спуфинга адресов;
г)	разрешение доступа по умолчанию, запрещение доступа в виде исключения;
д)	самостоятельная атака своей системы как средство предотвращения внешних атак.
14.	К какому типу злонамеренных программ относится ILOVEYOU?
а)	вирус;
б)	червь;
в)	троянский конь;
г)	элемент управления ActiveX.
15.	Установка какого значения TCP помогает злоумышленникам совершать DoS-атаки с помощью незавершенных наборов фрагментов?
а)	размер окна TCP;
б)	размер буфера TCP;
в)	время жизни (TTL) TCP;
г)	максимальная единица передачи (MTU) TCP.
554
Гпава 9
16.	Какой из четырех элементов DDoS-атаки реже всего участвует в процессе ее непосредственного исполнения?
а)	инициатор атаки;
б)	обработчик;
в)	посредник;
г)	жертва.
17.	Какой из четырех элементов DDoS-атаки координирует и непосредственно выполняет атаку?
а)	инициатор атаки;
б)	обработчик;
в)	посредник;
г)	жертва.
18.	Какую методику может применить инициатор атаки, чтобы скрыть или завуалировать свою заинтересованность в противоправных действиях?
а)	заимствование прав пользователя;
б)	спуфинг;
в)	атака типа "человек посередине";
г)	рекогносцировка.
19.	В процессе какой атаки флаг Urgent (срочность) NetBIOS-пакета устанавливается в положение "1"?
а)	PING-смерти;
б)	синхронной атаки (SYN Flood);
в)	Smurf-атаки;
г)	WinNuke-атаки.
20.	Какое действие инициаторы чаще всего выполняют, чтобы избежать обнаружения после успешного проникновения?
а)	перенастройка системы с целью получения администраторских полномочий;
б)	удаление файлов журналов регистрации и всех следов атаки;
в)	переформатирование всех жестких дисков с целью уничтожения всех потенциальных свидетельств;
г)	копирование всех файлов с паролями к другим системам.
21.	Какое из следующих утверждений лучше всего объясняет важность применения заплат и исправлений систем и приложений?
а)	по мере выявления слабых мест и эксплойтов производители систем и приложений создают заплаты и исправления, предназначенные для вое-
Организация защиты в среде TCP/IP
555
становления, прекращения и подавления потенциальных атак; следовательно, устанавливать такие средства довольно полезно;
б)	применение заплат и исправлений является существенной частью текущего обслуживания систем и приложений;
в)	необходимо применять лишь те заплаты и исправления, которые имеют отношение к текущим проблемам безопасности;
г)	стоит подождать некоторое время после появления заплаты или исправления, чтобы убедиться, что оно работает корректно.
22.	Какой из следующих диапазонов номеров портов UDP/TCP ассоциируется с удаленными утилитами (r-utils) Berkeley?
a)	111 и 2049;
б)	от 135 до 139;
в)	от 512 до 514;
г)	1001 и 1002.
23.	Какие троянские кони при атаке применяют порт 25? (Выберите все подходящие ответы.)
a)	Magic Horse;
б)	Back Orifice 2000;
в)	Pro Mail;
г)	МВТ;
д)	Doly.
24.	Компьютер какого типа следует использовать для размещения программного обеспечения брандмауэра и/или прокси-сервера?
а)	защищенный хост;
б)	бастионный хост;
в)	фильтрующий хост;
г)	фильтрующий маршрутизатор.
25.	Какие из перечисленных далее средств стоит включить в инструментарий атаки? (Выберите все подходящие ответы.)
a)	EtherPeek;
б)	nmap;
в)	Legion;
г)	GNU NetTools.
556
Гпава 9
Практические задания
Задание 9.1
Следующие практические задания предполагают, что вы работаете в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (процесс ее установки описывается в задании 1.1 главы 1). Кроме того, для выполнения этого и следующих заданий вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
______1римечание J|
Если в процессе работы над практическими заданиями на экране появится диалоговое окно общей статистики, нажмите кнопку ОК и продолжайте.
Исследование результатов локального сканирования
1.	Запустите демо-версию программы EtherPeek for Windows (соответствующие инструкции содержатся в практическом задании 1.2 главы I).
2.	Выберите File > Open, откройте файл трассировки arpscan.pkt (расположенный в каталоге Course Technology\18654-2\Ch9 на вашем жестком диске) и нажмите кнопку Открыть (Open). Появится окно сводки пакета. В этом файле содержится образец рекогносцировки, выполненной с помощью ARP-широковещания с целью обнаружения активных хостов.
3.	Откройте пакет № 1 (Packet #1) этого файла трассировки. Появится окно расшифровки пакета. Как можно увидеть, в Ethernet-заголовке указывается широковещательный адрес (OxFF-FF-FF-FF-FF-FF).
4.	Для прокрутки содержимого пакета пользуйтесь кнопками Decode Next (стрелка вправо) и Decode Previous (стрелка влево). Ответьте на следующие вопросы.
а)	Каков IP-адрес устройства, отославшего широковещательные ARP-сообщения?
б)	Какие хосты были обнаружены?
в)	Как можно применить такой поиск в небольшой маршрутизируемой сети?
5.	Закройте окно расшифровки пакета и файл arpscan.pkt и сразу переходите к заданию 9.2.
Задание 9.2
Исследование результатов сканирования портов
1.	Выберите File > Open, откройте файл трассировки portscan.pkt (расположенный в каталоге Course Technology\18654-2\Ch9 на вашем жестком
Организация защиты в среде TCP/IP
557
диске), и нажмите кнопку Open. Появится окно расшифровки пакета. В этом файле показан образец процесса ТСР-рекогносцировки.
2.	Дважды щелкните на пакете № 1 (Packet #1), чтобы просмотреть его расшифровку. Первый пакет был отослан на порт назначения 1. Какой флаг TCP был установлен в этом пакете?
3.	Нажмите кнопку Decode Next (стрелка вправо). Просмотрите флаги, содержащиеся в ответном пакете. Какие флаги в нем содержатся?
4.	Просмотрите остальные пакеты этого файла трассировки и ответьте на следующие вопросы.
а)	Насколько очевидна эта проба порта?
б)	Если эта проба распространится на все порты, сможет ли она определить процесс службы DHCP?
в)	Какие порты активны в устройстве назначения?
5.	Закройте демо-версию программы EtherPeek for Windows.
Задание 9.3
Ваш маршрутизатор настроен на блокировку всех пакетов квитирования TCP, отсылаемых на эхо-порт. При выполнении этого задания вам предстоит сформировать фильтр для проверки всех пакетов, отсылаемых на эхо-порт, и протестировать этот фильтр с помощью файла трассировки portscan.pkt.
Создание фильтра для захвата поисков блокируемых портов
1.	Запустите демо-версию программы EtherPeek for Windows.
2.	Выберите View > Filters, чтобы открыть окно Filters. Нажмите кнопку Insert.
3.	Введите имя "Echo filter" в текстовом поле Filter.
4.	Установите флажок Port filter. Введите "7" (номер эхо-порта) в текстовом поле Port 1.
5.	В области Туре между полями Port 1 и Port 2 нажмите кнопку Port 1 to 2 и выберите Both directions.
6.	Нажмите кнопку ОК. Фильтр будет захватывать пакеты из порта 7.
7.	Закройте окно Filters. Теперь необходимо протестировать созданный фильтр, чтобы убедиться, что он будет захватывать эхо-пакеты, содержащиеся в файле portscan.pkt.
8.	Выберите File > Open, откройте файл трассировки portscan.pkt (расположенный в каталоге Course Technology\18654-2\Ch9 на вашем жестком диске) и нажмите кнопку Открыть (Open). Появится окно сводки пакета.
558
Гпава 9
9.	Чтобы открыть окно Select, выберите Edit > Select.
10.	В секции Selection Criteria прокрутите список до записи Echo filter и установите флажок слева от нее. Нажмите кнопку Select Packets. Теперь этот фильтр будет применен к пакетам.
И. В появившемся окне Selection Results содержится информация о том, сколько пакетов соответствует критерию отбора. Нажмите кнопку Hide Unselected.
12.	Нажмите кнопку Close в окне Select.
13.	Сработал ли фильтр? Был ли произведен захват пакетов, направленных в эхо-порт и исходящих из него? Настраивая брандмауэр на блокировку всего трафика в эхо-порт и из него, вы можете протестировать брандмауэр, установив в нем этот фильтр.
14.	Закройте демо-версию программы EtherPeek for Windows.
Задание 9.4
При выполнении этого задания вы создадите логический фильтр для обнаружения всего исходящего и входящего трафика с участием следующих подозрительных номеров портов:
□	31337 Back Orifice;
□	31335 Trinoo — сообщения от посредника обработчику;
□	27444 Trinoo — сообщения от обработчика посреднику.
Настройка фильтра для захвата трафика, связанного с сообщениями Back Orifice и Trinoo
1.	Запустите демо-версию программы EtherPeek for Windows.
2.	Выберите View > Filters, чтобы открыть окно Filters. Нажмите кнопку Insert.
3.	Введите имя "BO-Trinoo" в текстовом поле Filter.
4.	Щелкните на стрелке вниз в поле со списком Туре и выберите Advanced.
5.	Нажмите кнопку And и выберите Port. Появится окно Port Filter.
6.	Введите "31337" в текстовом окне Port 1.
7.	Нажмите кнопку Port 1 to 2 и выберите Both directions. Нажмите кнопку ОК. Первый критерий фильтрации будет помещен в окно Edit Filter.
8.	Так как вам интересны пакеты с участием портов 31337, 31335 или 27444, воспользуйтесь операндом OR. Нажмите кнопку Or и выберите Port. Появится окно Port Filter.
9.	Введите "31335" в поле Port 1.
Организация защиты в среде TCP/IP 	559
10.	Нажмите кнопку Port 1 to 2 и выберите Both directions. Нажмите кнопку ОК. В окно Edit Filter будет помещен второй критерий фильтрации.
11.	Нажмите кнопку Or и выберите Port. Появится окно Port Filter.
12.	Введите "27444" в поле Port 1.
13.	Нажмите кнопку Port 1 to 2 и выберите Both directions. Нажмите кнопку ОК. В окно Edit Filter будет помещен третий (и последний) критерий фильтрации.
14.	Нажмите ОК, чтобы закрыть окно Edit Filter.
15.	Закройте демо-версию программы EtherPeek for Windows.
Запустив этот фильтр в сети, вы сможете перехватывать исходящий и входящий трафик с участием указанных подозрительных портов.
Учебные задачи
1.	Предположим, что вы только что получили место сетевого администратора в небольшой школе. В каждом из 12 классов есть хотя бы один компьютер. Эти компьютеры объединены с помощью концентратора. Маршрутизатор цифровой абонентской линии подсоединяет локальную сеть к Internet. Какие действия можно предпринять, чтобы защитить эту сеть от проникновений из Internet?
2.	Допустим, вы — специалист по защите сетей, работающий в крупной компании, занимающейся производством обуви и расположенной в Детройте, штат Мичиган. Объединенная сеть компании распространяется на шесть зданий, связанных посредством волоконно-оптических каналов. Ваш корпоративный Web-сервер был несколько раз атакован. Главный администратор компании решился на покупку брандмауэра. Опишите .фильтры, которые вы собираетесь применить в брандмауэре, а также способы тестирования этого устройства.
3.	Предположим, что недавно после окончания занятий, просматривая доску объявлений, вы заметили вакансию на место сетевого администратора. Естественно, вы решили попробовать устроиться и, к счастью, были приняты на работу. Вашим первым заданием стала разработка политики безопасности для всей школьной территории. Этой политике должны будут следовать все студенты, преподаватели и посетители. Создайте этот документ, используя информацию, представленную в этой книге, а также новые источники, найденные вами в сети Internet.
Глава 10
Маршрутизация в среде IP
После прочтения этой главы и выполнения упражнений вы сможете:
□	разобраться в том, как происходит маршрутизация, и понять, какую роль в процессе управления ею играют таблицы маршрутизации;
□	получить представление о разнообразных типах протоколов маршрутизации, включая протоколы состояния канала и дистанционно-векторные протоколы;
□	узнать методы обеспечения быстрой сходимости обновления таблиц маршрутизации и понимать необходимость этих методов;
□	осознать разницу между маршрутизацией в границах компании или организации, осуществляемой с помощью протоколов внутренней маршрутизации и маршрутизацией между организациями, выполняемой с помощью протоколов внешней маршрутизации;
□	описать связь маршрутизаторов во внутренних и внешних сетях, включая Internet;
□	узнать основные принципы, методы и инструменты диагностики и поиска неисправностей маршрутизаторов.
Из предшествующих глав вам должно быть известно, что, когда компьютер осуществляет отправку пакета в пункт назначения, находящийся вне локальной подсети, он отсылает его на свой шлюз по умолчанию (обычно это маршрутизатор или сервер, настроенный на работу в качестве маршрутизатора). Затем этот шлюз по умолчанию либо пересылает пакет непосредственно в пункт назначения, либо передает его другому маршрутизатору, который знает, как достичь пункта назначения.
Этот процесс, известный под названием перенаправления пакетов, кажется довольно простым. Но возникает вопрос: "Как маршрутизатор определяет, куда нужно переслать пакет?" В этой главе мы в деталях рассмотрим процессы и протоколы, применяемые маршрутизаторами для принятия реше-
19 Зак. 321
562
Глава 10
ний о перенаправлении и ускорении передачи пакетов в пункты назначения. Кроме того, мы объясним, как они справляются с проблемами и сбоями маршрутизации и доставки.
Введение в маршрутизацию
Начнем с определения таблицы маршрутизации. Таблица маршрутизации — это база данных, расположенная в памяти маршрутизатора. Записи этой базы называются "маршрутами" и состоят из сетевого адреса, "следующего транзита" (жаргонное выражение, обозначающее IP-адрес следующего маршрутизатора на пути в пункт назначения), разного рода метрики, а также данных производителя. Таблица маршрутизации представляет собой компиляцию всех сетей, доступных маршрутизатору. В небольших сетях в таблице может быть всего несколько записей. В случае с более крупными сетями предприятий записей может быть несколько сотен. Несомненно, наибольшее количество записей относится к сети Internet. На момент написания этих строк в таблицах магистральных маршрутизаторов Internet насчитывалось более 100 000 записей. На рис. 10.1 изображен пример небольшой таблицы маршрутизации для маршрутизатора Cisco. Как видите, пункт назначения обозначается в виде IP-адреса с косой чертой (/) в конце для ясности, а также числом, выражающим длину маски подсети. Таким образом, запись 137.20.30.0/24 означает, что маска составляет 24 бита в длину, или 255.255.255.0. Следующий транзит, соответствующий этой записи, — 137.20.25.2, интерфейс — SerialO. Кроме того, обратите внимание на обозначение "О IA" перед записью маршрута. Оно указывает на то, что маршрут был определен с помощью алгоритма OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов). Мы далее еще поговорим об этом более подробно.
Таблица маршрутизации применяется следующим образом. Когда пакет прибывает на сетевой интерфейс, маршрутизатор в первую очередь выясняет адрес назначения этого пакета, считывая значение первого поля в его IP-заголовке — Destination Address (адрес назначения), а затем просматривает поле Network (сеть) таблицы маршрутизации в поисках соответствия. Если поиск успешен, маршрутизатор отсылает пакет в следующий транзит, которым обычно является другой маршрутизатор в прямо подсоединенной сети.
Примечание
Необходимо понимать, что детали описанного выше процесса могут корректироваться производителем — они не стандартизированы ни в одном протоколе.. Методы перенаправления пакетов, применяемые маршрутизатором, совершенно индивидуальны.
Маршрутизация в среде IP
563
Codes: С - connected, S - static, I - IGRP, R - RIP, M - mobile, В - BGP D - EIGRP, EX - EIGRP external, О - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP I - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default U - per-user static route, о - ODR
Gateway of last resort is 137.20.25,2 to network 0.0.0.0
172.168.0.0/24 is subnetted, 2 subnets
В 172.168.70.0 [20/170] via 137.20.10.70, 1:11:35
О E2 172.168.80.0 [110/20] via 137.20.25.2, 01:11:26, SerialO 200.200.100.0/32 is subnetted, 1 subnets
OIA '	200.200.100.1 [100/115] via 137.20.25.2, 01:12:06, SerialO
137.20.0.0/16 is variably subnetted, 16 subnets, 4 masks
0 E1 137.20.200.16/28 [110/164] via 137.20.25.2, 01:12:06, SerialO 0 IA 137.20.240.1/32 [110/65] via 137.20.25.2, 01:12:06, SerialO 0 IA 137.20.224.0/20 [110/1626] via 137.20.25.2, 01:12:06, SerialO 0 IA 137.20.30.0/24 [110/120] via 137.20.25.2, 01:11:51, SerialO C	137.20.25.0/24 is directly connected, SerialO
C	137.20.10.0/24 is directly connected, EthernetO
0 IA 137.20.60.1/32 [110/75] via 137.20.25.2, 01:12:07, SerialO
О E1 137.20.40.16/28 [110/164] via 137.20.25.2, 01:11:30, SerialO
0 IA 137.20.33.0/24 [110/115] via 137.20.25.2, 01:11:33, SerialO
О E2 137.20.86.0/24 [110/20] via 137.20.25.2, 01:12:08, SerialO
В 137.20.81.0/24 [200/0] via 137.20.86.1,01:11:59
В 137.20.82.0/24 [200/0] via 137.20.86.1, 01:11:59
0 IA	137.20.100.33/32 [110/114] via 137.20.25.2, 01:12:08, SerialO
0 IA	137.20.100.35/32 [110/114] via 137.20.25.2, 01:11:53, SerialO
OIA 137.20.64.0/20 [110/74] via 137.20.25.2, 01:12:09, SerialO 170.10.0.0/24 is subnetted, 1	subnets
В	170.10.10.0 [20/170] via	137.20.10.70, 01:11:37
160.10.0.0/24 is subnetted, 1	subnets
В	160.10.10.0 [20/170] via	137.20.10.70, 01:11:37
161.10.0.0/24 is subnetted, 1	subnets
В	161.10.10.0 [20/170] via	137.20.10.70, 01:11:37
C 200.200.200.0/24 is directly connected, LoopbackO
O‘E1 0.0.0.0/0 [110/167] via 137.20.25.2, 01:12:09, SerialO
В 160.0.0.0/4 [20/170] via 137.20.10.70, 01:11:37
Рис. 10.1. Таблица маршрутизации маршрутизатора Cisco
Теперь, когда вы получили общее представление о таблице маршрутизации, мы можем попытаться ответить на вопрос: "Как маршрутизатор определяет, куда нужно отсылать пакеты?" Если переформулировать его в более специальном смысле, получим другой вопрос: "Как размещаются записи таблицы маршрутизации?"
564
Глава 10
Размещение записи в таблице маршрутизации может производиться тремя основными способами. Первый способ предполагает применение прямого соединения. К примеру, маршрутизатор, подсоединенный к сетям 10.1.0.0/16 и 10.2.0.0/16, знает об их существовании постольку, поскольку его IP-адрес относится именно к ним.
Далее. Таблицу маршрутизации можно отредактировать вручную. Для этого необходимо войти в сеть на маршрутизаторе, путем ввода имени и пароля и с помощью меню или командной строки определить доступную сеть, следующий транзит и всю нужную метрику. Этот процесс повторяется для каждой отдельной сети, которую вы хотите Сделать доступной. Настоящий метод имеет свои преимущества и недостатки. Важнейшее преимущество — это контроль. В отношении статических маршрутов вы можете определить точную конфигурацию, которая не будет подвергаться изменениям. В числе других преимуществ — простота и безопасность; кроме того, маршрутизатор сразу узнает путь к сети. Недостатки этого подхода становятся очевидными в крупной сети: во-первых, не с руки вводить по несколько сотен записей для каждого маршрутизатора, а во-вторых, при любой модификации сети нужно не забыть внести соответствующие изменения в каждый из этих маршрутизаторов. Как показано на рис. 10.1, записи в таких таблицах иногда могут сбивать с толку; ошибку сделать просто, а вот найти ее довольно проблематично.
Наконец, третий способ размещения записей в таблице маршрутизации — динамический, с помощью протокола маршрутизации (routing protocol). Эти протоколы обеспечивают совместное использование информации о различных сетях в пределах объединенной сети. Таким образом, вам нужно выполнить конфигурацию такого протокола на каждом маршрутизаторе, а затем они будут передавать друг другу информацию о достижимости Сетевого уровня (Network Layer Reachability Information, NLRI). Преимущества и недостатки протоколов маршрутизации прямо противоположны характеристикам ручной настройки: их намного проще поддерживать в крупном окружении, но при этом они являются точками, легко подверженными атакам; маршрутизатор в одной части объединенной сети может долго получать информацию о сети в другой ее части, а наиболее модернизированные протоколы маршрутизации могут быть чрезвычайно сложны. Кроме того, динамическому способу свойственно недостаточное управление. К примеру, если к сети назначения существует несколько путей, протокол маршрутизации сам выберет, каким из них воспользоваться. Конечно, вы можете скорректировать метрику, сделав один из путей предпочтительным, но для этого необходимо хорошо понимать последовательность изменений.
На этом этапе мы хотим прояснить один не совсем ясный момент. Есть два типа протоколов, присутствующих в сети: протоколы маршрутизации и маршрутизируемые протоколы. Первые используются для обмена маршрутной информацией. К протоколам маршрутизации относятся протоколы R1P
Маршрутизация в среде IP 565
(Routing Information Protocol, протокол маршрутной информации) и OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов). (Вспомните, что записи, изображенные на рис. 10.1, были получены с помощью протокола OSPF.)
Маршрутизируемые протоколы 3-го уровня применяются для передачи пакетов по объединенной сети. В стеке протоколов TCP/IP таким протоколом является IP. По получении TCP/IP-пакета маршрутизаторы отбрасывают заголовок Канального уровня и просматривают IP-заголовок, чтобы узнать, как нужно маршрутизировать пакет. В стеке протоколов IPX/SPX маршрутизируемым протоколом является IPX (Internetwork Packet Exchange, межсетевой пакетный обмен).
Примечание ^5
Коммутаторы 3-го (Сетевого) уровня— это устройства, выполняющие коммутацию на основе МАС-адреса; кроме того, при необходимости принятия решений о маршрутизации они анализируют заголовок Сетевого уровня. По существу, коммутаторы 3-го уровня представляют собой смесь коммутаторов и маршрутизаторов.
Существуют два основных варианта классификации протоколов маршрутизации. Во-первых, они могут группироваться по способу связи. Здесь есть две разновидности: протоколы состояния канола (link-state routing protocols) и дистанционно-векторные протоколы (distance vector routing protocol).
Второй вариант классификации — административный. Когда организации только начинали подключаться к сети Internet, они быстро поняли, что зачастую модели и принципы одной компании несовместимы с моделями и принципами другой; таким образом, нужно было получить возможность извлекать эту информации. Решение появилось в виде маршрутных доменов, или автономных систем, о которых мы далее еще поговорим. Таким образом, организации получили полный контроль над своими собственными маршрутными доменами, а также возможность устанавливать для них политики безопасности и регулировки производительности независимо от других организаций. Протоколы маршрутизации, применяемые в пределах маршрутного домена, называются внутренними шлюзовыми протоколами (Interior Gateway Protocols,' IGP), а протоколы, предназначенные для соединения таких доменов, называются внешними шлюзовыми протоколами (Exterior Gateway Protocols, EGP).
Оставшаяся часть этого раздела посвящена разбору различных типов протоколов маршрутизации и их поведения. Сначала мы рассмотрим дистанционно-векторные протоколы маршрутизации и протоколы состояния канала, а затем перейдем к внутренним и внешним шлюзовым протоколам.
566
Глава 10
Дистанционно-векторные
протоколы маршрутизации
На сегодняшний день употребительны несколько дистанционно-векторных протоколов маршрутизации. Наиболее распространенным из них является протокол RIP (Routing Information Protocol, протокол маршрутной информации); на втором месте — протокол IGRP (Interior Gateway Routing Protocol, протокол внутренней шлюзовой маршрутизации), принадлежащий компании Cisco. От протоколов состояния канала их отличают несколько общих характеристик.
Во-первых, они периодически отсылают своим соседям широковещательные сообщения со своими заполненными таблицами маршрутизации. Это делается в соответствии с показаниями таймеров — когда маршрутизатор получает список сетей от своего соседа, он заносит их в свою таблицу маршрутизации и устанавливает таймер. Если таймер истекает до получения следующего широковещательного обновления, то последние полученные маршруты из таблицы удаляются. Следовательно, таймер показывает, сколько времени необходимо сети, чтобы сойтись, т. е. обеспечить стабильные таблицы маршрутизации для всех маршрутизаторов. К примеру, если маршрутизатор сообщает о какой-то сети своему соседу, а затем в результате неких изменений эта сеть перестает быть доступной, сосед пересылает в нее пакеты вплоть до истечения таймера. Если между этими двумя расположено еще несколько маршрутизаторов, то время сходимости (convergence) может достичь нескольких минут.
Другое различие состоит в том, что дистанционно-векторные протоколы выполняют маршрутизацию "по слухам". Скажем, есть три маршрутизатора: А, Б и В. А подключен к Б, а Б подключен к В. Маршрутизатор А отсылает маршрутизатору Б сообщение "я знаю путь к сети 1". Получив это сообщение, маршрутизатор Б отсылает маршрутизатору В сообщение "я знаю путь к сети 1", а не "маршрутизатор А знает путь к сети 1, а я знаю путь к маршрутизатору А". Это может показаться безобидным, но все дело в том, что маршрутизатор В не знает о существовании маршрутизатора А. Подобная нехватка полной информации может вызвать различные проблемы, о которых мы еще поговорим.
Кроме того, дистанционно-векторные протоколы обмениваются информацией о том, как далеко от пункта назначения находятся все сети. Решения о маршрутизации принимаются исходя из физического расстояния до этого пункта; время прохождения до него не учитывается. Такие протоколы имеют репутацию слишком "болтливых" и неэффективных.
На рис. 10.2 предпринимаются следующие шаги, направленные на настройку таблицы маршрутизации на трех маршрутизаторах (А, Б и В).
1.	Каждый маршрутизатор запускается и приравнивает свой вектор дистанции (distance vector) к нулю.
Маршрутизация в среде IP
567
2.	Каждый маршрутизатор высчитывает издержки, связанные с его расстоянием до каждого подсоединенного канала. В этом примере мы допускаем, что издержки на один транзит равны единице.
3.	Каждый маршрутизатор анонсирует информацию о своем векторе дистанции, определяющем достижимость сетей, по всем непосредственно подсоединенным к ним каналам. К примеру, маршрутизатор А утверждает, что он находится на расстоянии нуля транзитов от сетей 1 и 2. Маршрутизатор Б заявляет, что он находится на таком же расстоянии от сетей 2 и 3. Маршрутизатор В извещает, что расстояние от него до сетей 3 и 4 также составляет 0 транзитов.
4.	После получения такой информации от других маршрутизаторов каждый из них обновляет свою таблицу маршрутизации, внося в нее новую информацию о векторах дистанции. Например, как показано на рис. 10.2, маршрутизатор Б узнает о сети 1 из широковещательного сообщения, полученного от маршрутизатора А. Маршрутизатор Б понимает, что расстояние от него до сети 1 составляет один транзит. Подобным образом, маршрутизатор В определяет, что от него до сети 1 — два транзита. Если устройство, находящееся в сети 4, захочет связаться с устройством, находящимся в сети 1, то ему придется пройти через три маршрутизатора — расстояние от этого устройства до сети 1 составляет три транзита.
5.	По получении новой маршрутной информации маршрутизаторы отсылают данные об обновлении маршрутов в другие непосредственно подсоединенные к ним сети. Это называется триггерными обновлением (triggered update). К примеру, маршрутизатор Б отсылает новую маршрутную информацию в сеть 2 только после получения этой информации от маршрутизатора В. Получив ее от маршрутизатора А, маршрутизатор Б отсылает новую маршрутную информацию в сеть 3.
6.	Дистанционно-векторные маршрутизаторы периодически отправляют широковещательные или групповые сообщения с маршрутной информацией по непосредственно подсоединенным к ним каналам. Это называется периодическим обновлением (periodic update).
Рис. 10.2. В дистанционно-векторных сетях каждый маршрутизатор отслеживает расстояние до других сетей
568
Глава 10
Маршрутные циклы
Одна из наиболее сложных задач автоматизации процесса маршрутизации — предотвращение маршрутных циклов (routing loops). Есть множество разновидностей таких циклов, но простейшим примером может послужить ситуация, когда первый маршрутизатор считает, что наилучший путь к сети проходит через второй маршрутизатор, а тот в то же время полагает, что оптимальный путь к этой сети проходит через первый маршрутизатор. Эти два маршрутизатора будут передавать друг другу пакет, предназначенный для передачи в сеть, до того момента, пока не истечет его время жизни (TTL).
Другой пример. Представим, что произойдет, если маршрутизатор В, изображенный на рис. 10.2, выйдет из строя — путь к сети 4 будет потерян. Маршрутизатор Б (который находится на расстоянии одного транзита от сети 4), не получив информацию о потере пути к сети 4, будет пребывать в уверенности, что этот путь может обеспечить маршрутизатор А (хотя он отдален от сети 4 на два транзита). Маршрутизатор Б пересчитает вектор дистанции и прибавит к расстоянию до сети 4 единицу. Теперь он будет считать, что сеть 4 находится на расстоянии трех транзитов, включая транзит через маршрутизатор А. Получив эту информацию, маршрутизатор А пересчитает расстояние до сети 4, и получится, что оно равняется четырем транзитам. Узнав об этом новом расчете, маршрутизатор Б опять пересчитает свою таблицу маршрутизации. Этот процесс мог бы продолжаться до бесконечности (infinity), но по приведенным ниже причинам этого не происходит.
Метод, применяемый дистанционно-векторными протоколами для предотвращения бесконечной циркуляции по маршрутному циклу, называется отсчетом до бесконечности (counting to infinity). Определяя "бесконечность" как фиксированное число транзитов (к примеру, 16 в случае с протоколом RIP), протокол в конечном итоге заявляет, что "любой маршрут длиннее 16 транзитов является недостижимым"; в результате пакеты, направляемые по такому маршруту, будут не перенаправляться, а игнорироваться. Это не отменяет маршрутных циклов как таковых, но, по крайней мере, снижает наносимый ими ущерб. Есть и недостаток: размер сети искусственно ограничивается. Диаметр сети (network diameter) в этом случае не может превышать 15 транзитов.
Другой схемой предотвращения циклов в дистанционно-векторных протоколах маршрутизации является разделение горизонта (split horizon). Разделение горизонта просто запрещает маршрутизатору афишировать сеть на том же интерфейсе, от которого он узнал про ее существование. Еще одна функция, которая часто сочетается с разделением горизонта, называется негативным откликом (poison reverse). Это метод "заражения" маршрута с целью запрета пользования им. Более подробно о разделении горизонта и негативном отклике мы поговорим далее в разд. "Свойства маршрутизации" этой главы.
Маршрутизация в среде IP 569
Протоколы состояния канала
В основном протоколы состояния канала отличаются от дистанционновекторных протоколов маршрутизации в двух отношениях. Во-первых, они не осуществляют маршрутизацию по слухам. Каждый маршрутизатор генерирует информацию только о непосредственно подсоединенных к нему каналах и отправляет ее всем маршрутизаторам в сети, чтобы у них сформировалось идентичное представление о сетевой топологии. После этого в целях определения оптимального пути через объединенную сеть каждый маршрутизатор запускает так называемый алгоритм Дейкстры (Dijkstra algorithm).
Вторая отличительная черта протоколов состояния канала состоит в том, что они не выполняют периодическое широковещание целых таблиц маршрутизации. Они формируют отношение смежности с соседними маршрутизаторами. и после исходного полного обмена информацией отсылают лишь обновления состояния каналов (к примеру, его "включение" или "выключение"). Такие обновления происходят почти сразу после произошедшего изменения, поэтому, в отличие от дистанционно-векторного протокола, протокол состояния канала не дожидается истечения показаний таймера. Таким образом, период сходимости для таких протоколов сравнительно мал. В результате экономится не только время, но и пропускная способность — время от времени соседи лишь отсылают приветственные (Hello) пакеты, проверяя достижимость друг друга.
Маршрутизация на основе состояния канала характеризуется применением следующих процессов:
1.	Маршрутизаторы состояния канала входят в контакт со своими соседними маршрутизаторами (neighbor routers) с помощью приветственного процесса (Hello process).
2.	Каждый маршрутизатор формирует и передает сообщение LSA (Link-State Advertisement, объявление состояния канала), содержащее список соседей и издержки на пересечение сети для достижения каждого из них. Обычно издержки выражаются в фиксированных значениях, высчитываемых на основе пропускной способности канала.
3.	По мере распространения сообщений LSA по сети и их получения другими маршрутизаторами эти маршрутизаторы формируют образ сети.
4.	Маршрутизаторы состояния канала преобразуют этот образ в таблицу перенаправления (forwarding table). Сортировка этих таблиц осуществляется по принципу наименьших издержек на маршрут. Назначение таблиц состоит в определении способа перенаправления пакетов через маршрутизатор.
5.	Маршрутизаторы состояния канала периодически отправляют групповые сообщения со сводками своих баз данных состояния канала по прямо подсоединенным каналам.
570
Глава 10
6.	Если принимающий маршрутизатор не располагает какой-либо маршрутной информацией или определяет, что имеющаяся информация устарела, этот маршрутизатор может запросить получение обновленной информации.
На рис. 10.3 изображена сеть состояния канала. В данной конфигурации маршрутизаторы А, Б и В отсылают приветственные (Hello) пакеты в сеть 1. Получив такие пакеты от всех своих соседей, каждый маршрутизатор формирует базу данных смежности (adjacencies database). Они содержат информацию только о локальных сетях и' соседних маршрутизаторах. К примеру, база данных смежности маршрутизатора В содержит информацию о сети 1 и 4, а также о маршрутизаторах А, Б и В. Маршрутизатор В не знает о существовании сетей 2 и 3, т. к. сообщения LSA (объявления состояния каналов) по их поводу отправлены не были.
Рис. 10.3. В сети состояния канала база данных смежности представляет собой простой образ локальной сети
Каждый из этих маршрутизаторов отсылает сообщение LSA (объявление состояния канала), включая в него информацию о своих соседях и издержках, связанных с расстоянием до них.
По получении такого LSA-сообщения маршрутизатор Б копирует маршрутную информацию, после чего направляет его в сеть 3. Маршрутизатор А перенаправляет это сообщение в сеть 2. По получении LSA-сообщения, содержащего подробную информацию о сетях 2 и 3, образ сети маршрутизатора В превращается в диаграмму состояния канала.
Это LSA-сообщение продолжает рассылаться по сети, чтобы все маршрутизаторы смогли получить общее представление о ней. Такое распространение
Маршрутизация в среде IP 571
информации "из первых рук" обеспечивает своевременный и точный обмен данными маршрутизации.
Процесс сходимости намного эффективнее при маршрутизации на основе состояния канала, чем при дистанционно-векторной маршрутизации. Проблема циклов снимается, потому что маршрутизаторы состояния канала распознают и разрешают циклы по мере формирования образов сетей. Кроме того, в отличие от дистанционно-векторной маршрутизации, маршрутизаторы состояния каналов способны пересылать LSA-сообщения до повторного подсчета издержек. Так как OSPF является протоколом состояния канала, он обладает всеми свойствами, упомянутыми в этом разделе.
Свойства маршрутизации
При проектировании и реализации иерархии маршрутизации необходимо знать специфику конкретных сетей и их взаимодействия. Кроме того, чрезвычайно важно осознавать требования и ограничения различных протоколов маршрутизации, которые могут быть использованы в объединенной сети. Все эти проблемы будут рассматриваться на протяжении всей главы, однако особенно подробно они освящены в следующих разделах.
Сходимость маршрутов
Как говорилось ранее в этой главе, сходимость — это процесс распространения новой маршрутной информации по объединенной сети. В идеале, сеть должна находиться в состоянии конвергенции (converged state), когда все маршрутизаторы располагают информацией о всех доступных сетях и связанных с ними издержках.
Каждая из схем маршрутизации, описанных ранее, предполагает, что в случае, если сеть 3 внезапно станет недоступной, об этом должны узнать все маршрутизаторы, иначе они не прекратят пересылку пакетов, направленных в эту сеть. Дистанционно-векторная сеть сходится медленнее, чем сеть состояния канала.
Разделение горизонта
Разделение горизонта (Split Horizon) — это один из методов ускорения процесса сходимости и разрешения проблемы отсчета до бесконечности (в большинстве случаев). Основное правило разделения горизонта запрещает объявление пути тому интерфейсу, от которого этот путь был получен ранее. На рис. 10.4 приведен пример разделения горизонта. Маршрутизатор А узнал о существовании сети 3 от маршрутизатора Б, который утверждал, что при условии прохождения через него расстояние до этой сети составит один
572
Глава 10
транзит. Маршрутизатор А добавляет к этим издержкам еще один транзит и обновляет свою таблицу маршрутизации, фиксируя в ней расстояние до сети 3, равное двум транзитам. Маршрутизатор А распространяет эту информацию в сети 1. В соответствии с правилами разделения горизонта, маршрутизатор А не может объявлять путь к сети 3 тому же устройству, от которого он о ней узнал.
Объявление сети 1 ---------------►
Объявление сетей 1 и 2
о
е
в
• Объявление
“ сетей 1,2 и 3
в
Объявление сетей 2, 3 и 4
Объявление f
сетей 3 и 4
Объявление
сети 4 «Ф,.—.. i LL  . ! В
Рис. 10.4. В соответствии с правилом разделения горизонта, маршрутную информацию нельзя отправлять тому устройству, от которого она была изначально получена
Негативный отклик
Негативный отклик (Poison Reverse) — это методика определения издержек маршрутов с целью предотвращения маршрутных циклов. Когда один маршрутизатор узнает о маршруте или группе маршрутов от другого маршрутизатора, он назначает этой группе бесконечное значение издержек, чтобы исключить возможность объявления этих маршрутов их источникам. Маршруты А-Б—В и В—Б—А—Б-В оба определяют пути от маршрутизатора А до маршрутизатора В, но маршрутизатор В не имеет права объявлять более длинный путь к маршрутизатору Б, т. к. маршрутизатор Б уже знает прямой путь к А. Методика негативного отклика (poison reverse) позволяет избежать таких недоразумений (и предотвратить дальнейшее воспроизведение подобных циклов, т. к. повторение уже посещенных каналов делает цикл длиннее, но не изменяет его топологию).
Маршрутизация в среде IP
573
Время жизни
Значение времени жизни (lifetime value) — Time to Live (TTL), определяемое в соответствующем поле заголовка Сетевого уровня, гарантирует невозможность бесконечного зацикливания пакетов в сети. Когда пакет проходит по объединенной сети, маршрутизаторы анализируют значение TTL, чтобы выяснить, хватит ли ему жизни для выполнения переадресации. К примеру, когда пакет со значением TTL, равным восьми, прибывает на маршрутизатор, он сначала уменьшает это значение до семи, а потом уже перенаправляет пакет. Однако, если значение TTL пришедшего пакета равняется одному, маршрутизатор не может переадресовать его, т. к. это значение нельзя уменьшать до нуля.
Как вы уже знаете из главы 4, в ответ на пакеты с истекшим значением времени жизни маршрутизаторы отсылают ICMP-сообщения Time Exceeded (превышение лимита времени).
Групповые и широковещательные обновления
Некоторые протоколы маршрутизации способны распространять обновления маршрутов лишь путем отсылки широковещательных сообщений. Другие могут осуществлять периодические обновления как широковещательным, так и групповым способом. Естественно, что широковещательные сообщения не могут быть переадресованы маршрутизаторами. Тем не менее, маршрутизаторы можно настроить на пересылку групповых сообщений.
Существует две версии протокола RIP (протокол маршрутной информации). Версия 1 может отсылать широковещательные обновления. Версия 2, обеспечивающая поддержку масок подсетей не по умолчанию (информация о масках подсети переменной длины (VLSM) содержится в главе 2), способна осуществлять групповые обновления. Протокол OSPF также может отправлять групповые обновления.
ICMP-сообщения Router Advertisement
Как указывается в главе 4, некоторые маршрутизаторы можно настроить таким образом, чтобы они периодически отсылали ICMP-пакеты Router Advertisement (извещение о существовании маршрутизатора). Как бы то ни было, это не означает, что ICMP является протоколом маршрутизации. Такие сообщения лишь позволяют хостам получать информацию о доступных путях, не предпринимая для этого никаких действий.
Инициативные (отправляемые маршрутизаторами по собственной инициативе) ICMP-пакеты Router Advertisement регулярно отсылаются на групповой адрес 224.0.0.1, общий для всех хостов. Извещение этого типа обычно содержит IP-адрес отправившего его маршрутизатора. Кроме того, в нем
574
Глава 10
указывается значение времени жизни, обозначающее временной промежуток, в течение которого принимающий хост должен сохранять предоставленную запись маршрута.
Более подробные данные о ICMP-сообщениях Router Advertisement содержатся в главе 4 и в документе RFC 1256 под названием "ICMP Router Discovery Messages" (ICMP-сообщения поиска маршрутизаторов).
Черные дыры
Ситуация, называемая черной дырой (black hole), происходит в сети тогда, когда маршрутизатор отвергает пакеты, не оповещая отправителя о проблеме. Так как отправитель не получает извещения о том, что пакеты были отвержены, он продолжает их повторную передачу вплоть до истечения лимита времени; предпринимаемые действия зависят от более высоких уровней. Например, если сообщение основано на протоколе TCP, уровень TCP ретранслирует пакет и ожидает ответа в виде подтверждения (АСК). Причина появления черных дыр — отключение протокола ICMP на маршрутизаторах.
Рис. 10.5. Маршрутизатор типа "черной дыры" PMTU отвергает пакеты с превышением размера, не объявляя об этом
Существует множество разновидностей "дырявых" маршрутизаторов. Один из них показан на рис. 10.5. В этом примере маршрутизатор Б относится к разновидности "черных дыр" максимальной единицы передачи маршрута (Path Maximum Transmission Unit black hole router или PMTU black hole router).
Маршрутизация в среде IP 575
В его распоряжение прибывает пакет с максимальной единицей передачи маршрута (PMTU), равной 4352, но этот маршрутизатор не поддерживает определение PMTU — он не отправляет ICMP-ответ с указанием PMTU для следующего транзита. Он просто отвергает пакет.
Области, автономные системы
и пограничные маршрутизаторы
Чтобы уменьшить количество записей в базе данных состояния канала, протокол OSPF использует области (areas), в которые входят смежные группы физических сетей. Спецификация протокола OSPF определяет необходимость наличия магистральной области (backbone area) (области 0). Все остальные области напрямую подсоединяются именно к ней (хотя специальные туннельные соединения также разрешены). Маршрутизаторы, обеспечивающие соединение областей, называются маршрутизаторами границ областей (Area Border Routers, ABR). Они способны суммировать маршрутную информацию до отсылки пакетов состояния канала в другие сети. На рис. 10.6 изображена сеть, в которой выделено несколько областей.
Магистральная область
Рис. 10.6. Каждая область должна быть подсоединена к магистральной области 0.0.0.0
В этом примере область 1 состоит из трех подсетей переменной длины. Вместо того, чтобы объявлять каждую из них, маршрутизатор А складывает все три сети в единую запись — 10.1.0.0/16. Маршрутизатору Б необходима лишь запись, объединяющая все три сети. Подобным образом, область 2 составляют три сети, которые могут быть представлены как 10.2.0.0/16.
Особо крупные сети можно разделять на специальные области, называемые автономными системами (Autonomous Systems, AS). Административное
576
Глава 10
управление ими ничем не отличается от вышеописанного. Например, если одна компания управляет другой, то материнская компания может содержать все объединенные сети в пределах одной автономной системы. В то же время дочерняя компания может располагать отдельной автономной системой.
Все маршрутизаторы, расположенные в пределах автономной системы, обеспечивают внутреннюю маршрутизацию с помощью одного или нескольких внутренних шлюзовых протоколов (Interior Gateway Protocols, IGPs). К этому типу протоколов относятся ghjnjrjks RIP и OSPF.
Для взаимодействия различных автономных систем маршрутизаторы применяют внешние шлюзовые протоколы (Exterior Gateway Protocols, EGPs). Примером внешнего шлюзового протокола может послужить протокол BGP (Border Gateway Protocol, пограничный межсетевой протокол).
На рис. 10.7 показано взаимодействие между автономными системами, внутренними и внешними шлюзовыми протоколами.
Автономная система 1
Автономная система 2
Б
Внутренние шлюзовые протоколы .
Маршрутизаторы границ автономных систем
Внутренние шлюзовые протоколы
Рис. 10.7. Для соединения двух автономных систем применяется внешний шлюзовой протокол
Маршрутизаторы, соединяющие автономные системы, называются маршрутизаторами границ автономных систем (Autonomous System Border Routers, ASBR).
Маршрутизация в среде IP 	577
Внутренние шлюзовые протоколы (IGP)
Внутренние шлюзовые протоколы применяются для обмена маршрутной информацией в пределах автономной системы. Они также известны под названием внутридоменных протоколов маршрутизации (intra-domain routing protocols). Наиболее часто применяемые среди них — это протоколы RIP (версии 1 и 2) и OSPF.
Протокол RIP
Протокол RIP — это основной дистанционно-векторный протокол маршрутизации. Существует две версии протокола RIP: версия 1 (специфицирована в документе RFC 1058) и версия 2 (специфицирована в документе RFC 2453). В протоколе RIP версии 2 реализована поддержка подсетей переменной длины.
RIP-сообщения основаны на транспортном протоколе UDP. RIP-маршрути-заторы отсылают и принимают дейтаграммы с помощью UDP-порта 520.
В следующем разделе мы рассмотрим структуры пакетов и возможности RIPvl и RIPv2.
Протокол RIPvl
Маршрутизаторы, использующие протокол RIPvl, в первую очередь отсылают RIP-объявления о непосредственно подсоединенных к ним каналах. Затем маршрутизатор отправляет RIP-запрос на идентификацию других сетей. Эти два действия нужны для того, чтобы создать таблицу маршрутизации.
RIPvl-маршрутизаторы отправляют широковещательные сетевые RIP-сообщения каждые 30 секунд. Каждый такой RIP-пакет может содержать информацию о сетях числом до 25. Так как протокол RIPvl не поддерживает маски подсетей не по умолчанию, маршрутизаторы допускают, что сетевые части адресов зависят от класса, к которому они относятся (А, Б или В).
На рис. 10.8 показан формат RIPvl-пакета.
О	1516	31
COMMAND	VERSION	RESERVED—MUST BE ZERO
ADDRESS FAMILY IDENTIFIER		RESERVED—MUST BE ZERO
IP ADDRESS		
RESERVED—MUST BE ZERO		
RESERVED—MUST BE ZERO		
METRIC		
Рис. 10.8. Формат RIPvl-пакета
Далее приводится описание полей RIPvl-пакета.
578
Глава 10
Поле Command
Поле Command (команда), длина которого составляет 1 байт, определяет, является ли пакет RIP-запросом (1) или RIP-ответом (2).
Поле Version
Поле Version (версия) длиной в 1 байт содержит информацию о версии протокола: RIPvl (1) или RIPv2 (2).
Поля Reserved
Поля Reserved (зарезервировано) длиной в 2 байта (или 4 байта) зарезервированы, и их значения приравниваются к нулю.
Поле Address Family identifier
Поле Address Family Identifier (идентификатор семейства адресов), длина которого составляет 2 байта, определяет протокол, используемый протоколом RIP. Значение "2" обозначает, что этим протоколом является IP.
Поле IP Address
Это 4-байтное поле IP Address (IP-адрес) содержит IP-адрес.
Поле Metric
Поле Metric (метрика), длина которого составляет 4 байта, содержит показатели расстояния для вышеуказанного адреса.
На рис. 10.9 изображен пакет RIPvl.
Протокол RIPvl выполняет работу, достаточную для предоставления маршрутной информации. Тем не менее, эта версия имеет два недостатка: во-первых, она не поддерживает маски подсетей не по умолчанию, а во-вторых, не обеспечивает быстрой сходимости. Первую проблему решает переход на протокол RIPv2. Вторая проблема снимается лишь переводом маршрутизации с протокола RIP на протокол OSPF.
Протокол RIPv2
Различие между протоколами RIPvl и RIPv2 состоит в поддержке последней версией масок подсетей переменной длины, базовой аутентификации, а также обновления маршрутов с помощью групповых сообщений. Групповой IP-адрес RIPv2 — 224.0.0.9.
На рис. 10.10 показан формат RIPv2-naiceTa.
Очевидно, что в пакетах протокола RIPv2 содержатся некоторые новые поля, а старые используются по-иному. Далее приводится описание полей Р1Ру2-пакета.
Маршрутизация в среде IP
579
j..$ Packet Length:554
i-ф Tiiaestaap:	02:15:37.510501 08/21/1999
BJ-V* Ethernet Header
S-T*	Header - Internet Protocol Datagram
Й’Т* WPP ~ Hser Datagram Protocol j	;- ф	Source Port;	520	RIJ?/ex tended file ndise server .	J
j	 0	Destination Port:	520
j	|-.0	Length:	512
s	:..0	Checksum:	0x0000
Й'T3 KIP - Routing Information Protocol j ....0 CcHiinand:	2 Response containing Metf$vrk distance pdii
i ;--ф Version:	1
0 'Zero:	0x0000	Ji
Й-лЦГ Info on Net U 1	u
 L-0 Addr R-arnily Id: 2	p
[	!  Zero:	0x0000	П |i
j j-g Net Address:	10.0.44.192	J
i	i- £	Zero:	0x0000000000000000
;	$	Distance:	3
ЙТ Info on Net U 2
i	;..§	Addr Earnily Id:	2
i	[ ф	Zero:	0x0000
: ; g Net Address:	10.0.174.64	J
i-$ Zero:	0x0000000000000000
	* 0 Distance:	1		
фInto on Net Й 3
 Mdr SaraiJ-X И: 2
0 Zero:	0x0000	_ .
. ^3 >l«( па,Ь'е.р.'	in n nn i?a	J£at
:	'	Bev' J t£|| Hext f
Рис. 10.9. Это широковещательное сообщение RIP содержит множество записей сетей
0
1516
31
COMMAND |	VERSION	RESERVED—MUST BE ZERO
ADDRESS FAMILY	AUTHENTICATION TYPE
AUTHENTICATION	
ADDRESS FAMILY IDENTIFIER	ROUTE TAG
IPADDRESS	
SUBNET MASK	
NEXT HOP	
METRIC	
Рис. 10.10. Формат Н1Ру2-пакета
Пол© Command
Поле Command (команда), длина которого составляет 1 байт, определяет, является ли пакет RIP-запросом (1) или RIP-ответом (2).
580
Глава 10
Поле Version
Значение "2" в этом 1-байтном поле Version (версия) обозначает, что пакет относится к версии RIPv2.
Поле Reserved
Поле Reserved (зарезервировано), длина которого 2 байта, зарезервировано, и его значение приравнивается к нулю.
Поле Address Family
Поле Address Family (семейство адресов), длина которого составляет 2 байта, определяет протокол, используемый протоколом RIP. Значение "2" означает, что таким протоколом является IP. Значение OxFFFF указывает на то, что оставшаяся часть сообщения содержит аутентификацию. Таким образом, в последующей части RIP-пакета остается место для 24 записей.
Поле Authentication Туре
Поле Authentication Туре (тип аутентификации) согласно названию определяет тип аутентификации. На настоящий момент определен лишь один тип аутентификации — тип 2.
Поле Authentication
Поле Authentication (информация аутентификации), длина которого составляет 16 байт, содержит незашифрованный пароль (plain text password). Если пароль короче 16 байт, он выравнивается влево и забивается символами 0x00 справа.
Поле Address Family Identifier
Когда поле Address Family Identifier (идентификатор семейства адресов) содержит значение 0x02, последующие 20 байт представляют запись маршрута.
Поле Route Tag
Поле Route Tag (признак маршрута), длина которого составляет 2 байта, может использоваться для того, чтобы обозначить, является ли последующая маршрутная информация внутренней записью маршрута (internal route entry) (полученной в пределах данной области маршрутизации) или внешней записью маршрута (external route entry) (полученной посредством другого IGP-или EGP-протокола вне этой области).
Поле IP Address
4-байтное поле IP Address (IP-адрес) содержит объявляемый IP-адрес.
Маршрутизация в среде IP 	581
Пол© Subnet Mask
Поле Subnet Mask (маска подсети) длиной в 4 байта определяет маску подсети, связанную с объявляемым IP-адресом.
Поле Next Нор или Another Router
Для протокола RIP нормальной является ситуация, когда маршрутизаторы объявляют только те сети, в которые они могут перенаправлять пакеты. Тем не менее, в протоколе RIPv2 4-байтное поле Next Нор (следующий транзит) или, иначе, называемое Another Router (другой маршрутизатор) может применяться для связывания другого маршрутизатора с записью маршрута. Значение 0.0.0.0 в этом поле означает, что маршрутизатор объявляет сети, в которые он способен перенаправлять пакеты.
Поле Metric
Поле Metric (метрика), длина которого составляет 4 байта, определяет расстояние (в транзитах) до объявляемой сети. В пакетах запроса это поле не используется.
Протокол RIPv2 выгодно отличается от своего предшественника, RIPvl, множеством усовершенствований, вследствие чего этот протокол до сих пор широко распространен в небольших и несложных сетях. Так как протокол RIPv2 относительно просто устанавливать, настраивать и координировать, в обозримом будущем он, скорее всего, сохранит свои позиции. Тем не менее, для более сложных корпоративных сетей лучше подходит протокол OSPF, которому и посвящен следующий раздел.
Протокол OSPF
Протокол OSPF (Open Shortest Path First, первоочередное открытие кратчайших маршрутов), чья спецификация содержится в документе RFC 2328, является наиболее распространенным в сетях TCP/IP маршрутным протоколом состояния канала. (Слово "открытие" в названии этого протокола отражает его несобственнический характер.) OSPF-маршрутизация основывается на настраиваемых значениях (метрике), которые могут быть связаны с пропускной способностью сети, задержкой или денежными затратами. По умолчанию метрика, предназначенная для определения маршрутов, базируется на пропускной способности сети.
Фундаментальная структурная схема протокола OSPF изображена на рис. 10.11. Сначала OSPF-устройства отправляют по непосредственно подсоединенным к ним каналам групповые приветственные (Hello) пакеты с целью определения своих соседей. После получения таких пакетов друг от друга OSPF-маршрутизаторы начинают включать адреса соседей в свои последующие приветственные пакеты. В зависимости от конфигурации и типа среды OSPF-маршрутизаторы устанавливают смежности с некоторыми из этих соседей. После организации смежности соседи обмениваются копиями
582
Глава 10
всех LSA-сообщений, допуская при этом, что все они находятся в той же области. После этого через каждые 10 секунд (по умолчанию) продолжается отсылка приветственных (Hello) пакетов, но теперь они используются в качестве механизма поддержки соединения, который позволяет гарантировать, что все остальные маршрутизаторы функционируют и отвечают. Проще говоря, создается своеобразный образ локального окружения.
Приветственные пакеты Hello Packets
Объявления г состояния канала LSAs
Входящие пакеты
База данных смежностей
[.
База даных состояния канала
Алгоритм Дейкстры
Таблица перенаправления
J\
> Перенаправ-ляемые пакеты
Рис. 10.11. Структура протокола OSPF
В сети, основанной на широковещании, в которой к определенному сегменту может быть подключено несколько (больше двух) маршрутизаторов, для каждого маршрутизатора необходимо полное зацепление, иначе он не сможет установить смежность со всеми остальными маршрутизаторами. Из-за требований, связанных с обработкой данных и памятью, эта архитектура не является расширяемой. Чтобы уменьшить непроизводительные издержки, протокол OSPF использует принцип назначенного маршрутизатора (Designated Router, DR). На каждый сегмент широковещания приходится по одному назначенному маршрутизатору, который выбирается исходя из его приоритета (по шкале [0; 255], где большие числа являются предпочтительными, а 0 означает, что данный маршрутизатор не способен стать назначенным). Маршрутизатор с вторым по значимости приоритетом становится резервным назначенным маршрутизатором (Backup Designated Router, BDR). Эти два маршрутизатора устанавливают смежности со всеми остальными OSPF-маршрутизаторами в
Маршрутизация в среде IP
583
подсети, причем эти самые остальные устанавливают лишь две смежности: с маршрутизаторами DR и BDR. Обязанностью назначенного маршрутизатора является извещение всех остальных маршрутизаторов LSA-сообщениями (объявлениях состояния канала). Назначением маршрутизатора BDR является обеспечение быстрого восстановления обслуживания в случае, если основной назначенный маршрутизатор DR выйдет из строя.
Все остальные маршрутизаторы отсылают групповые LSA-сообщения на групповой адрес назначенного маршрутизатора (224.0.0.6). Это LSA-сооб-щение представляет маршрутизатор, а также издержки, связанные с получением доступа в сеть.
Существует пять основных типов LSA-сообщений).
□	Тип 1 (объявление каналов маршрутизатора). Этот пакет распространяется в пределах области и содержит информацию о соседях маршрутизатора. LSA-сообщения этого типа отсылаются всеми маршрутизаторами.
□	Тип 2 (объявление сетевых каналов). Этот пакет генерируется назначенным маршрутизатором от имени локальной сети. В нем перечисляются все маршрутизаторы, присутствующие в данной локальной сети. Сообщения LSA этого типа отсылаются только назначенными маршрутизаторами.
□	Тип 3 (объявление сетевого общего канала). Этот пакет генерируется маршрутизатором границ областей и указывает достижимые сети вне области. Сообщения LSA этого типа отсылаются только маршрутизаторами границ областей (ABR).
□	Тип 4 (объявление общего канала до маршрутизатора границ автономных систем). Этот пакет определяет стоимость пути от отправляющего маршрутизатора до маршрутизатора границ автономных систем. Сообщения LSA этого типа отсылаются только маршрутизаторами границ областей (ABR).
□	Тип 5 (объявление внешнего канала автономной системы). Этот пакет распространяется между всеми маршрутизаторами в пределах автономной системы и описывает стоимость пути от отправляющего маршрутизатора границ автономных систем до пунктов назначения вне данной автономной системы. Сообщения LSA этого типа отсылаются только маршрутизаторами границ автономных систем (ASBR).
При объявлении самих себя маршрутизаторы пересылают пакеты 1-го типа на групповой адрес (224.0.0.5) маршрутизатора предпочтительного кратчайшего пути (SPF).	।
Назначенный маршрутизатор (DR) отсылает пакет 2-го типа от имени сети. Такой уникальный пакет содержит список всех маршрутизаторов, подключенных к локальной сети.
В каждой локальной сети протокол OSPF применяет идентификаторы маршрутизаторов для определения одного главного маршрутизатора (master
584
Глава 10
router). Все остальные OSPF-маршрутизаторы называются подчиненными (slave routers). Главный маршрутизатор регулярно пересылает пакет описания базы данных (Database Description, DD), содержащий характеристику содержимого базы данных состояния канала. Другие маршрутизаторы отсылают подтверждения, означающие успешное получение DD-пакетов.
Если главный маршрутизатор не получает подтверждения (АСК) от одного из подчиненных SPF-маршрутизаторов, он отправляет копию LSA-сообщения этому маршрутизатору напрямую.
На рис. 10.12 изображена общая последовательность сообщений, применяемых протоколом OSPF.
Обновление состояния канала
LSA
Подтверждение состояния канала
Объявление
сетевых кана лов
Подтверждение состояния канала
Описание базы данных
Подтверждение состояния канала
Рис. 10.12. Процессы OSPF-приветствия, объявления и обновления состояния канала
После получения этих LSA-сообщений OSPF-маршрутизаторы формируют базу данных состояния каналов, или образ всей сети — сетей, объединяемых, маршрутизаторами, плюс издержки, связанные со всеми каналами.
Тем не менее, эта база данных не может обеспечить рациональную маршрутизацию пакетов. По отношению к содержимому базы данных применяется алгоритм Дейкстры, который в случае наличия множества путей к сети используется для назначения их приоритетов. Результатом становится база данных перенаправления. Именно к ней обращается OSPF-маршрутизатор при необходимости перенаправить пакет.
Протокол OSPF обеспечивает поддержку масок подсети переменной длины и резюмирования маршрутов, что позволяет уменьшить количество записей маршрутов в OSPF-таблице.
Маршрутизация в среде IP
585
На рис. 10.13 изображен формат заголовка OSPF-пакета.
О	1516	31
VERSION #	TYPE	PACKET LENGTH
ROUTER ID		
AREA ID		
CHECKSUM		AUTYPE
AUTHENTICATION		
Рис. 10.13. Стандартная структура OSPF-заголовка
В следующих подразделах эти поля рассматриваются более подробно.
Поле Version #
1-байтное поле Version # или, иначе, Version Number (номер версии) содержит номер версии протокола OSPF. Наиболее употребительной на данный момент является версия 2.
Поле Туре
1-байтное поле Туре (тип) определяет назначение OSPF-пакета. Значения поля Туре приведены в табл. 10.1.
Таблица 10.1. Значения поля Туре
Номер	Тип	Описание
1	Приветственный пакет (Hello Packet)	Применяется для определения местоположения соседних маршрутизаторов
2	Описание базы данных (Database Description)	Применяется для передачи резюмированной информации базы данных
3	Запрос состояния канала (Link-State Request)	Применяется для осуществления запросов на резюмированную информацию базы данных
4	Обновление состояния канала (Link-State Update)	Применяется для распространения сообщений LSA в других сетях
5	Подтверждение состояния канала (Link-State Acknowledgment)	Применяется для подтверждения приема информации о состоянии канала
586
Глава 10
Поле Packet Length
Поле Packet Length (длина пакета), длина которого составляет 2 байта, обозначает длину данного OSPF-пакета. Поле Packet Length содержит OSPF-заголовок, а также все последующие действительные данные. В него не помещается набивка пакета (в случае ее использования).
Поле Router ID
4-байтное"ноле Router ID (идентификатор маршрутизатора) содержит идентификатор передающего маршрутизатора.
Поле Area ID
Поле Area ID (идентификатор области), длина которого составляет 4 байта, содержит номер области, к которой принадлежит передающий маршрутизатор. Значение поля может быть выражено в десятичном или точечном десятичном представлении. Часто (в целях более эффективного управления крупными сетями) разработчики присваивают идентификатору области то же значение, что и сети, расположенной внутри этой области, а выражают его в точечном десятичном представлении (к примеру, Область 10.32.0.0). В иных случаях для представления областей проще пользоваться нетехническими числами (в качестве таковых могут выступать организационные единицы, коды потребителей или почтовые индексы) и записывать их в десятичном виде (например, Область 95129).
Поле Checksum
Значение поля Checksum (контрольная сумма), длина которого составляет 2 байта, представляет собой результат вычисления контрольной суммы содержимого OSPF-пакета. При вычислении поле Authentication (аутентификация) не учитывается.
Поле АиТуре
2-байтное поле АиТуре (тип аутентификации) определяет тип аутентификации, применяемый в пакете. Более подробно типы аутентификации расписаны в приложении D документа RFC 2328.
Поле Authentication
4-байтное поле Authentication (аутентификация) использует процесс аутентификации.
Что касается данных, следующих за OSPF-заголовком, формат пакета варьирует в зависимости от типа LSA-пакета.
На рис. 10.14 изображен приветственный (Hello) OSPF-пакет. Как видите, маршрутизатор указывает, что адрес 10.2.99.99 принадлежит назначенному маршрутизатору (DR).
Маршрутизация в среде IP
587
tl ha !.Ф
P
;.Ф
!.$
;..ф	Flags:	0x00
;..ф	Status:	0x00
г-ф	Packet Length: 82
Ь- ф	Tinestamp?	19:40:33.886241 04/06/2001
Ethernet Header
Й a^a‘ IP Header - Internet Protocol Datagram
0- r OSPE -- Open Shortest Path First Routing Protocol
2
1 Afello
44
10-2.99.99
0.0.0. 0
0xZ0D6
0 N& AutheMticdtit'
OxFFFFOOOO
10 seconds $00000010
Ad vef t z sastaw t s
1
40 seconds
10.1.99.99	:
..Backup Designated Router: 0-0.0.0 No Backup Desgntd Rtr = ...ф Fraira Clteck Sequence: 0x8C4BE3AC
£tev |Q Hext |
'гЛ>е:
Packet length: Router IP Address: Area ID: Checksum:
Authentication Type: Authentication Data: Data: (8 bytes) Network Mask: Hello Interval: Options:
AS	Link State
Router Priority: Dead Interval: Designated Router:
!.Ф
Й
rl
Рис. 10.14. Приветственный OSPF-пакет
Протокол EIGRP
Протокол IGRP был разработан в 1980-х годах компанией Cisco Systems с целью создать более эффективный внутренний шлюзовой протокол. Обновление IGRP произошло в начале 1990-х, в результате чего появился протокол EIGRP (Enhanced Interior Gateway Routing Protocol, расширенный протокол внутренней шлюзовой маршрутизации).
Протокол EIGRP представляет собой странную смесь технологий маршрутизации. Он объединяет возможности протокола состояния канала и дистанционно-векторного протокола. Более подробную информацию о протоколе EIGRP можно найти на сайте компании Cisco http://www.cisco.com.
Внешние шлюзовые протоколы (EGP)
Внешние шлюзовые протоколы (Exterior Gateway Protocols, EGP) обеспечивают обмен маршрутной информацией между автономными системами (AS). Другое их название — междоменные протоколы маршрутизации (inter-domain
588
Глава 10
routing protocols). Собственно говоря, название "внешний шлюзовой протокол" относится к первой реализации этого типа протоколов маршрутизации. Спецификация протокола EGP содержится в документе RFC 904. В настоящее время протокол EGP вытесняет протокол BGP (Border Gateway Protocol, пограничный межсетевой протокол).
Протокол BGP
Пришедший на смену протоколу EGP протокол BGP (пограничный межсетевой протокол) относится к разновидности дистанционно-векторных. В настоящее время в употреблении находится версия 4 протокола BGP, специфицированная в документе RFC 1771. Протокол BGP реализует три вида операций маршрутизации:
□	маршрутизация между автономными системами;
□	маршрутизация в пределах автономной системы;
□	сквозная маршрутизация через автономные системы.
На рис. 10.15 показано, каким образом протокол BGP осуществляет маршрутизацию между автономными системами (inter-autonomous system routing). В этой конфигурации BGP-маршрутизаторы, находящиеся в различных автономных системах, являются равноправными, и обмениваются информацией о топологиях объединенной сети каждой из автономных систем.
Рис. 10.15. Обычная BGP-схема
Когда протокол BGP настроен на маршрутизацию внутри автономной системы (intra-autonomous system routing), все BGP-маршрутизаторы располагаются внутри одной такой системы. Сквозная маршрутизация через автономные системы (pass-through autonomous system routing) позволяет равноправным BGP-маршрутизаторам обмениваться маршрутной информацией через автономную систему, которая не поддерживает протокол BGP.
Маршрутизация в среде IP
589
Управление маршрутизацией в собственной объединенной сети
Простая настройка протоколов IGP в собственной объединенной сети, вероятно, обеспечит связность подсетей; как бы то ни было, управление маршрутизацией отнюдь не ограничивается простой организацией связности.
В первую очередь администратор должен озаботиться составлением политики. Один из недостатков протоколов IP-маршрутизации состоит в том, что они не проводят различия между пользователями, типами трафика, и т. д. Они лишь знают, как добраться до сети назначения. Этот недостаток сглаживается введением политики маршрутизации. Предположим, что в вашей сети между пунктами А и Б есть два пути. Один из них проходит по каналу ISDN со скоростью передачи 128 Кбит/с, который соединяет две сети напрямую, а другой — по каналу Т1, который проходит через другие сети, расположенные между пунктами А и Б. Протокол RIP попытается переслать весь трафик по каналу ISDN, т. к. он характеризуется меньшим количеством транзитов. С другой стороны, протокол OSPF, метрика которого базируется на пропускной способности, предпочтет более высокоскоростной канал Т1. Загвоздка в том, что ни одно из этих решений вас не устраивает. К примеру, вы хотите настроить сеть таким образом, чтобы какой-то один тип трафика (скажем, VoIP — Voice over IP), проходил по первому соединению с меньшей задержкой, а другой тип (HTTP или FTP) пересылался по второму, более крупному каналу с большей задержкой. Такая конфигурация называется "политикой маршрутизации". Политики могут формулироваться на любой основе — начиная от типа протокола (как в вышеприведенном примере) и заканчивая адресом источника или назначения (в этом случае в политике может значиться: "хочу, чтобы весь трафик от хоста xyz проходил по каналу 1, а весь остальной трафик — по каналу 2").
Примечание
Создание политик способствует повышению эффективности сетей, но, в то же время, делает поиск неисправностей более проблематичным.
Кроме того, необходимо учесть, что большинство внутренних шлюзовых протоколов (ЮР) позволяют осуществлять конфигурацию определенного количества параллельных каналов. Они обычно управляются "по ходу действия", и этим отличаются от выравнивания нагрузки "от пакета к пакету". Это означает, что весь трафик между хостами А и В будет перемещаться по одному каналу, а трафик между хостами Б и Д — по другому. Выравнивание нагрузки "от пакета к пакету" подразумевает, что первый пакет идет по каналу 1, второй пакет — по каналу 2, третий — снова по каналу 1 и т. д. Такой способ выравнивания нагрузки нарушает функционирование множества
590
Глава 10
протоколов, позволяя пакетам прибывать в пункт назначения непоследовательно.
Службы маршрутизации также требуют постоянного внимания, особенно если речь идет о крупных сетях. Вам надлежит следить за использованием памяти (в зависимости от типа маршруты могут занимать разные объемы памяти), чтобы быть уверенным в том, что маршрутизаторы способны обработать любые дополнения; полезно завести инструмент управления, отсылающий предупреждения о возникающих проблемах маршрутизации. Кроме того, большинство таблиц маршрутизации могут содержать информацию о сроке службы каждого из этих маршрутов. Если речь идет о маршрутном протоколе состояния канала, незначительный срок службы является признаком нестабильности маршрута. Если он недавно был изменен, вам следует выяснить, почему это произошло. К примеру, если в таблице вы обнаружили маршрут со сроком службы в 23 минуты, но сеть не подвергалась изменениям в течение шести недель, вероятно, у вас проблемы.
Наконец, администратор должен содержать карту сети с указанием всех существующих в ней сетевых адресов и протоколов маршрутизации. Она должна служить в качестве плана сети, помогая выявлять возможные маршрутные циклы и решать вопросы конфигурации.
Более подробные данные о процессах управления содержатся в главе 11.
Гибридные сети
Стоит только подумать, что вы разобрались с протоколами маршрутизации, как реальность доказывает противоположное. Ваша сеть растет. Возникает необходимость в переходе к другому протоколу. Ваша компания сливается с другой компанией, что заставляет обеспечивать одновременную поддержку двух разных протоколов. Думали, что протоколы сложны по отдельности? Эти иллюзии развеются, если вы попробуете провести перераспределение маршрутов от одного протокола другому.
Процесс перераспределения чрезвычайно опасен. Что получится при попытке перевести сеть с бесклассового протокола на классовый, который распознает лишь основную сеть, но не поддерживает применяемое вами маскирование подсетей переменной длины (VLSM)? Как преобразовать понятия пропускной способности, задержки, нагрузки и максимальной единицы передачи (MTU), которыми оперируют протоколы EIGRP и IGRP, в простую категорию количества транзитов, присущую протоколу RIP? Поскольку решения этих проблем в значительной -степени специфичны для каждого отдельного производителя, они выходят за рамки нашего исследования. Тем не менее, вы должны понимать, что это — лишь часть трудностей, связанных с поддержкой нескольких протоколов маршрутизации. Прежде чем претворять в жизнь ваши планы и проекты, тщательно прора
Маршрутизация в среде IP
591
ботайте и протестируйте их. Обязательно составьте возвратный план, позволяющий в крайнем случае отменить все сделанные изменения.
Маршрутизация в глобальной сети и вне ее пределов
Выбирая протокол маршрутизации для своего предприятия, вы должны учитывать множество факторов. В этом разделе мы рассмотрим различные сетевые модели и соответствующие им протоколы маршрутизации. В большинстве случаев ваш выбор ограничивается протоколами RIP или OSPF, причем OSPF почти всегда предпочтителен. Как бы то ни было, следующие ситуации стоит обговорить отдельно.
Несколько малых офисов
Если рассматриваемая сеть относительно мала (в ней находятся до 10 машин, причем для каждой из них существует своя подсеть плюс одно или два Internet-соединения), мы настоятельно рекомендуем вообще обойтись без протоколов маршрутизации. Конечно, протоколы RIP и OSPF остаются вариантами, но протокол RIP стоит устанавливать лишь в самых мелких и простых сетях, а протокол OSPF требует слишком значительных усилий по конфигурации, установке и надлежащей поддержке. Когда это возможно, лучше всего применять простейшее решение. Протокол RIP следует устанавливать лишь в некоторых специфических случаях.
□	При подсоединении к серверу, поддерживающему маршрутизацию, чтобы он мог выполнять динамическое определение оптимального пути. (Если этот сервер поддерживает протокол OSPF, придется устанавливать его.)
□	Когда применяемые маршрутизаторы не поддерживают другие протоколы. Такая ситуация типична для рынка устройств доступа в Internet (IAD, Internet Access Device): широкополосных устройств, брандмауэров и устройств трансляции сетевых адресов для малых и домашних офисов (SOHO).
Центральный узел и лучи
Многие корпорации состоят из центрального офиса с множеством подразделений и филиалов. Обычно все сети филиалов подсоединяются прямо непосредственно к концентратору, на котором располагаются системы планирования, мэйнфрейм (универсальная вычислительная машина большой мощности) и большинство серверов. Характерная особенность такой сети состоит в том, что маршрутизатор на концентраторе должен знать пути к различным узлам, а маршрутизаторы в сетях филиалов располагают единственным соединением вне своих офисов.
592
Глава 10
Если есть только одно соединение, какой смысл расходовать драгоценную пропускную способность (не говоря уже о ресурсах памяти и обрабатывающих мощностях маршрутизатора) для объявления всех маршрутов каждому лучу? Для маршрутизаторов, расположенных на концах лучей, необходим один-единственный маршрут по умолчанию, ведущий к центральному узлу. В такой ситуации оптимален протокол маршрутизации по требованию (On-Demand Routing, ODR).
Если в сети с топологией "звезда" используется ретрансляция кадров, будьте осторожны при установке дистанционно-векторных протоколов. Ретрансляция кадров и технология ATM (асинхронный режим передачи) применяют виртуальные каналы, с помощью которых любой физический интерфейс можно разделить на несколько логических интерфейсов. Как правило, все они прекращаются на концентраторе, так что для того, чтобы осуществить передачу от маршрутизатора А к маршрутизатору В, необходимо войти и выйти из одного и того же интерфейса на маршрутизаторе Б. Следовательно, когда маршрутизатор А объявляет свои сети маршрутизатору Б, тот принимает и устанавливает их в своей таблице маршрутизации, но переслать их дальше через тот же интерфейс он не сможет, и на маршрутизатор В обновления маршрутов не попадают. Почему? Метод разделения горизонта (split horizon) не позволяет выполнять такое объявление, т. к. оно производит впечатление явного маршрутного цикла (не являясь таковым).
Многопротокольная маршрутизация
Если в вашей компании (помимо прочих) используется протокол IPX (Internetwork Packet Exchange) компании Novell, возможно, вам придется устанавливать один протокол маршрутизации для протокола IP, и один — для IPX. С другой стороны, протокол маршрутизации EIGRP компании Cisco способен поддерживать оба упомянутых протокола. В некоторых случаях эта возможность представляется довольно экономичной. Как бы то ни было, для ее реализации необходимо применение оборудования Cisco.
Мобильные пользователи
Необычайно сложна организация и координация сетей, в которых пользователи постоянно перемещаются. Пользователи ноутбуков и карманных компьютеров, дистанционные пользователи, компании, часто реорганизующие рабочие пространства с целью соответствовать изменениям в составе своего штата — все они выражают новые течения, с которыми еще недавно стек TCP/IP был не в состоянии справиться.
К счастью, в течение последних нескольких лет произошел технологический прорыв, направленный на удовлетворение потребностей мобильных пользователей. Среди инноваций — сотовые устройства с возможностью обработки
Маршрутизация в среде IP
593
данных, беспроводные технологии стандарта 802.11b, а также множество коммутируемых и широкополосных устройств для домашних соединений. Как все это взаимодействует с протоколом IP? В первую очередь, посредством протокола DHCP. К сожалению, существует множество приложений (к примеру, речевых и защитных), которым хосты необходимы для поддержки постоянного IP-адреса, независимо от того, где они в данный момент находятся и к чему они подсоединены.
Эти факторы обуславливают постановку другого вопроса: как осуществить маршрутизацию пакетов, если хост использует IP-адрес, не входящий в локальную подсеть? Этот вариант вполне осуществим, но совершенно не очевиден. В следующих разделах предлагаются два возможных решения проблемы "несогласованных адресов".
Протокол Mobile IP
Спецификация протокола мобильной связи с сетью Internet — Mobile IP, составленная организацией IETF, — содержится в документах RFC 2002— RFC 2006. Протокол Mobile IP позволяет IP-хосту перемещаться в пространстве и с помощью Mobile IP-агента (agent) (маршрутизатора с установленным протоколом) сохранять собственный IP-адрес. На высоком уровне это выглядит следующим образом. С помощью протокола поиска маршрутизатора ICMP хост пытается определить, в какой сети он находится: в собственной или во внешней. Находясь во внешней сети, он вступает во взаимодействие с внешним агентом, который затем пересылает пакеты собственному агенту. Впоследствии собственный агент устанавливает туннель с внешним агентом,.который и доставляет пакеты хосту.
Практическим применением этой технологии может быть перемещение IP-телефона из одного офиса компании в другой (они должны быть подсоединены к корпоративной сети). Более всего она применима в вооруженных силах, т. к. высокомобильные воинские части в целях безопасности должны сохранять постоянный 1Р-адрес.
Технология LAM
Технология LAM (Local Area Mobility), разработанная в компании Cisco, во многом схожа с Mobile IP, но она функционирует с помощью таблицы маршрутизации, что намного проще, хотя эта простота не оказывает почти никакого воздействия на сеть. Когда маршрутизатор снабжен LAM, он отслеживает трафик в локальной сети на предмет IP-адресов, не соответствующих его собственному IP-адресу. Вычислив такой трафик, он помещает в кэш ARP-запись, а в таблицу маршрутизации — маршрут хоста (host route) (запись маршрута с 32-битной маской подсети). Затем LAM перераспределяется первичному протоколу маршрутизации. Вскоре все остальные маршрутизаторы узнают маршрут хоста и перенаправляют соответствующий трафик.
20 Зак. 321
594
Глава 10
Хосты в собственной подсети сохраняют возможность сообщения с отдаленным узлом, т. к. маршрутизатор в собственной подсети предоставляет для него агентов ARP (RFC 826), а затем пересылает пакеты в следующий транзит, указанный в таблице маршрутизации.
Одним из ключевых понятий этой технологии является маршрут хоста. Причина успешности его применения кроется в том, что, когда маршрутизаторы ищут адрес в таблицах маршрутизации, они всегда выбирают самое близкое совпадение. К примеру, если в таблице маршрутизации есть запись 192.168.1.0/24, а адрес мобильного хоста — 192.168.1.57, то по сети распространяется маршрут 192.168.1.57/32. При этом в таблице каждого маршрутизатора содержатся оба маршрута. Если маршрутизатор получает пакет, направленный по адресу 192.168.1.42, он не совпадает с записью 192.168.1.57/32 (естественно), зато совпадает с 192.168.1.0/24. С другой стороны, когда приходит пакет, направленный по адресу 192.168.1.57, он совпадает с обеими записями, но предпочтение отдается более близкой (/32), т. к. она точнее.
Маршрутизация
в сеть Internet и из нее
На момент написания этих строк в сети Internet применялся протокол внешней маршрутизации BGPv4. Возможно, "загадочная" репутация протокола BGP не совсем заслуженна, но для надлежащего развертывания этого протокола действительно. нужны значительные вложения в оборудование. С другой стороны, сложные сети, в которых без протокола BGP не обойтись, есть лишь у немногих компаний. Как правило, необходимость в установке протокола BGP появляется лишь в тех сетях, которые подсоединены к множеству поставщиков Internet-услуг. Но даже в этом случае ни одно исследование, посвященное маршрутизации, нельзя назвать завершенным, если в нем нет упоминания об этом важнейшем сетевом протоколе, который является неотъемлемой частью Internet-магистрали (если признавать существование такой категории).
Несмотря на то, что BGP является дистанционно-векторным протоколом, он отслеживает транзиты между парами автономных систем (AS), а не между маршрутизаторами. В качестве примера предположим, что автономная система AS 100 объявляет автономным системам AS200 и AS2000 маршрут в сеть 67.24.20.0/22. Когда маршрут объявляется за пределами автономной системы, протокол BGP указывает ее номер. Таким образом, автономные системы AS200 и AS2000 получают путь к сети 67.24.20.0/22 100. Затем AS200 объявляет его автономной системе AS300, присоединяя свой номер, в результате чего AS300 получает путь 67.24.20.0/22 200 100. В то же время AS2000 и AS300 объявляют этот путь автономной системе AS3000, присое
Маршрутизация в среде IP
595
диняя к нему свои собственные номера. Таким образом, автономная система AS3000 получает два маршрута:
□	67.24.20.0/22 2000 100;
□	67.24.20.0/22 300 200 100;
Принимая во внимание, что вся остальная метрика в обоих маршрутах идентична (а протокол BGP предоставляет огромное количество метрики), автономная система AS3000 предпочитает более краткий путь через AS2000 и AS 100. Даже если путь через AS2000 состоит из 20 транзитов, а путь через AS300 — из трех, автономная система AS3000 все равно предпочтет более краткий путь, т. к. она не имеет понятия о фактических расстояниях. Помните, что этот протокол выполняет значительные административные функции, и в реальном мире такие решения часто принимаются исходя из стоимости в долларах и соглашений между поставщиками сетевых услуг, и в этом случае оптимальность физического пути отходит на второй план.
Даже в корпоративных сетях, обслуживаемых двумя или несколькими поставщиками Internet-услуг, предпочтительно объявлять лишь путь по умолчанию от каждого из этих поставщиков и настраивать BGP- и IGP-перераспределение на определение нужного пути по умолчанию. Раньше обычной практикой было перераспределение из 1GP в BGP, но т. к. многие сети теперь используют частные адреса RFC 1918 (например, 10.0.0.0 или трансляцию сетевых адресов), перераспределение в BGP стало бессмысленным.
Защита маршрутизаторов и маршрутизации
Из всех аспектов служб маршрутизации защиты требуют сами маршрутизаторы и протоколы маршрутизации. Маршрутизаторы располагают информацией о сетевой адресации и путях между сетями. Эти пути следует обезопасить в такой степени, чтобы ни один злонамеренный пакет не мог по ним пройти. Схема обеспечения безопасности маршрутизаторов не отличается от подобных схем, применяемых к большинству хостов. Отключите ненужные службы и ожидающие порты, установите строгий контроль доступа для предотвращения преступных действий и, конечно, ограничьте физический доступ к машинам. Кроме того, стоит снабдить маршрутизаторы защищенными паролями, а для доступа к ним применять технологию зашифрованных сообщений. Довольно часто для доступа к маршрутизаторам и их конфигурации сетевые администраторы пользуются стандартной службой Telnet. При этом по сети пересылаются незашифрованные имена пользователей и пароли, подверженные прослушке с помощью сетевых анализаторов.
596
Глава 10
Защита протоколов маршрутизации несколько сложнее. Необходимо уберечь информацию, раскрываемую такими протоколами, от чужих глаз, т. к. с ее помощью внутренние системы становится намного проще атаковать. Более того, важно позаботиться о предотвращении DoS-атак, при которых неуполномоченные пользователи формируют фальшивые маршрутные пакеты, пытаясь заставить ваши маршрутизаторы организовать маршрутные циклы или черные дыры, или, хуже того, перенаправлять трафик инициаторам атак, которые получают возможность захватывать все передаваемые данные.
К сожалению, для защиты протоколов маршрутизации необходимо их взаимодействие. К примеру, протокол OSPF поддерживает несколько видов аутентификации (что указывается в его заголовках), включая MD5. Настройка этого вида аутентификации приведет к тому, что маршрутизатор не сможет сформировать смежность с другим маршрутизатором, не зная соответствующего пароля. С другой стороны, протокол RIPvl вообще не располагает функциями безопасности, а протокол RlPv2 защищается паролем, толку от которого мало, т. к. он пересылается в виде открытого текста.
Более подробно проблемы безопасности TCP/IP и их решения рассматриваются в главе 9.
Поиск неисправностей
IP-маршрутизации
Большинство проблем IP-маршрутизации — это следствие недостатка связности между маршрутизаторами. Существует множество утилит и инструментальных средств, позволяющих тестировать связность маршрутов. Ниже приведены четыре утилиты, входящих в поставку операционной системы Windows 2000.
□	ROUTE — применяется для просмотра локальной таблицы маршрутизации хоста, добавления и удаления записей маршрутов.
□	PING — применяется для отсылки ICMP-сообщений Echo (эхо) и тестирования связности.
□	TRACERT — отсылает ICMP-сообщения Echo (эхо) с приращением значений времени жизни (TTL) в целях идентификации пути к пункту назначения.
□	PATHPING — еще одна утилита, предназначенная для определения пути от хоста до пункта назначения.
Детальная информация об утилитах ROUTE, PING, TRACERT и PATHPING содержится в главе 4. Синтаксис команд приводится в приложении 3.
Маршрутизация в среде IP
597
Выводы по главе
□	Маршрутизаторы и протоколы маршрутизации обеспечивают механизм перенаправления трафика из подсети отправителя в подсеть предполагаемого получателя. Обычно маршрутизаторы обращаются к специальным таблицам, которые содержат описательную информацию об известных маршрутах и маршрутизаторах по умолчанию, так что трафик может быть надлежащим образом направлен как внутрь любой межсетевой среды, так и за ее пределы.
□	Координировать процесс перенаправления пакетов маршрутизаторам помогают многочисленные протоколы маршрутизации. Протоколы внутренней маршрутизации предназначены для использования внутри автономных маршрутных доменов — например, тех, которые находятся в ведении или управляются одной компанией или организацией. Протоколы внешней маршрутизации обеспечивают маршрутизаторам, принадлежащим к сетям разных компаний или организаций, возможность безопасного перенаправления данных и координации маршрутной информации между всеми сторонами, участвующими в соединении.
□	Дистанционно-векторные протоколы (к которым относится протокол RIP) представляют старейший и простейший тип протоколов маршрутизации, в которых издержки примерно высчитываются исходя из количества переходов (транзитов) от маршрутизатора к маршрутизатору, а топология позволяет обойтись без маршрутных циклов. Протоколы на основе состояния канала (вроде протокола OSPF) предусматривают более комплексные показатели и средства управления. Они способны не только реализовывать несколько маршрутов между отправителем и получателем, но и применять усложненную метрику для выравнивания нагрузки между каналами, а при необходимости — переходить от более дешевых к более дорогостоящим маршрутам.
О Протокол OSPF поддерживает намного более совершенные маршрутные структуры, которые разбивают сеть на области маршрутизации, способствующие оптимизации таблиц маршрутизации. Ко всему прочему, протокол OSPF распознает специальные категории областей маршрутизации, к которым относятся магистральная область (в которой связываются все отдельные области) и автономные системы, подпадающие под административный контроль конкретных организаций. В таких случаях маршрутизаторы границ областей могут подсоединять отдельные области маршрутизации. к магистрали или к другим подобным областям.
□	Координирование маршрутизации в сложных сетях требует понимания того, когда следует применять протоколы внешней и внутренней маршрутизации и как устанавливать надлежащие виды соединений между различными маршрутными доменами. Пользователи каналов глобальных
598
Глава 10
сетей, Internet-соединений и Mobile IP требуют особого внимания; для них маршрутизация должна обеспечивать корректное поведение всех систем и служб. Чрезвычайно важно понимать, как и когда протоколы внутренней маршрутизации, такие как OSPF, должны взаимодействовать с протоколами внешней маршрутизации, такими как BGP.
□	Так как таблицы маршрутизации определяют топологию и поведение IP-сетей, необходимо обеспечивать максимальную безопасность маршрутизаторов. По этим причинам обязательно использовать сложные пароли и защищенные каналы для получения доступа к маршрутизаторам и их конфигурации, а также ее обновления.
□	Среди основных инструментов поиска неисправностей, предназначенных для исследования и диагностики проблем маршрутизации на IP-хосте, в системе Windows 2000 рекомендуется использовать, входящие в ее состав такие утилиты, как ROUTE, TRACERT, PING и PATHPING. Квалифицированное управление маршрутами и маршрутизаторами невозможно без владения этими утилитами, работающими из командной строки.
Основные термины
EGP (Exterior Gateway Protocol, внешний шлюзовой протокол) — исходно предназначенный для применения в сети Internet в настоящее время протокол EGP заменен более современным и эффективным пограничным межсетевым протоколом (Border Gateway Protocol, BGP).
Автономная система (Autonomous System, AS) — группа маршрутизаторов, находящихся в компетенции одной административной структуры.
Агент (посредник) (agent) — в общем смысле, агентом называется программный компонент, который выполняет службы по поручению другого процесса или пользователя. В случае с Mobile IP агент представляет собой специальное программное обеспечение маршрутизатора, которое осуществляет туннелирование из удаленной подсети в собственную подсеть пользователя с целью установления соединений для определенного статического IP-адреса.
Алгоритм Дейкстры (Dijkstra algorithm) — алгоритм вычисления оптимального маршрута в сети на основе состояния канала.
База данных смежности (adjacencies database) — база данных локального сегмента сети и присоединенных к нему маршрутизаторов. Отмеченные маршрутизаторы совместно используют базы данных смежности в сетях состояния канала.
Бесконечность (infinity) — в маршрутизации так называется максимальное количество транзитов, через которые может пройти пакет до того, как он
Маршрутизация в среде IP 599
будет отвержен. В IP-пакете для определения оставшегося времени жизни пакета применяется поле Time То Live (TTL, время жизни).
Вектор дистанции (distance vector) — исходная точка или местоположение, по отношению к которой выполняется измерение расстояния до другой сети.
Внешние шлюзовые протоколы (Exterior Gateway Protocols, EGPs) — исходно предназначенные для применения в сети Internet. К ним относятся в частности протокол EGP и BGP.
Внешняя запись маршрута (external route entry) — запись маршрута, полученная из другой области.
Внутренние шлюзовые протоколы (Interior Gateway Protocol, IGP) — протоколы маршрутизации, применяемые в пределах автономных систем.
Внутренняя запись маршрута (internal route entry) — запись маршрута, полученная из той же области, в которой находится данное вычислительное устройство.
Внутридоменные протоколы маршрутизации (intra-domain routing protocols) — протоколы маршрутизации, обеспечивающие обмен маршрутной информацией между отдельными автономными системами.
Главный маршрутизатор (master router) — в маршрутизации на основе состояния канала так называется маршрутизатор, распространяющий свое представление базы состояния канала среди подчиненных маршрутизаторов.
Диаметр сети (network diameter) — количество транзитов, которое может обеспечить протокол маршрутизации; сетевой диаметр протокола маршрутной информации (RIP) равен 15 транзитам; большинство других протоколов маршрутизации (таких как OSPF и BGP) характеризуются неограниченным сетевым диаметром.
Дистанционно-векторный протокол маршрутизации (distance vector routing protocol) — протокол маршрутизации, использующий информацию о расстояниях между сетями и пренебрегающий данными о времени передачи трафика из сети источника в сеть назначения. Дистанционновекторным протоколом маршрутизации является RIP.
Значение времени жизни (lifetime value) — период времени,- в течение которого пакет может оставаться в сети. По истечении времени жизни маршрутизаторы отвергают пакеты.
Информация о достижимости Сетевого уровня (Network Layer Reachability Information, NLRI) — информация о доступных сетях, а также о маршрутизаторах, посредством которых эти сети могут быть достигнуты. Такую информацию собирают, координируют и распространяют между маршрутизаторами и другими устройствами протоколы маршрутизации.
600
Глава 10
Магистральная область (backbone area) — обязательная область, к которой все остальные маршрутизаторы должны быть подсоединены либо напрямую, либо посредством туннеля.
Маршрут хоста (host route) — запись в таблице маршрутизации с 32-битной маской подсети, предназначенная для достижения определенного сетевого хоста.
Маршрутизатор границ автономных систем (Autonomous System Border Router, ASBR) — маршрутизатор, который соединяет независимую область маршрутизации (AS) с другой такой областью или с сетью Internet.
Маршрутизатор границ областей (Area Border Router, ABR) — маршрутизатор, предназначенный для соединения отдельных областей.
Маршрутизация внутри автономных систем (intra-autonomous system routing) — в терминологии протокола BGP так называется способность выполнять маршрутизацию в пределах автономной системы.
Маршрутизация между автономными системами (inter-autonomous system routing — в протоколе BGP обозначает способность маршрутизации между разными автономными системами.
Маршрутизация по требованию (On-Demand Routing, ODR) — функция с низкими накладными расходами, обеспечивающая 1Р-маршрутизацию узлов в сети, имеющей топологию "звезда". Каждый маршрутизатор поддерживает и обновляет в своей таблице маршрутизации записи только для тех хостов, чьи данные проходят через него; таким образом экономится пропускная способность и потребность в памяти.
Маршрутные циклы (routing loops) — конфигурация сети, позволяющая пакетам циркулировать по ней. В дистанционно-векторных сетях для разрешения маршрутных циклов используются методы разделения горизонта и негативный отклик (poison reverse). Сети, использующие протокол OSPF, автоматически разрешают циклы путем определения оптимальных путей через объединенную сеть.
Междоменные протоколы маршрутизации (inter-domain routing protocols) — протоколы маршрутизации, применяемые для обмена информацией между автономными системами.
Назначенный маршрутизатор (designated router, DR) — маршрутизатор с высочайшим приоритетом в сегменте сети состояния канала. DR объявляет состояние канала всем остальным маршрутизаторам в сети.
Негативный отклик (Poison reverse) — процесс, призванный сделать маршрутизатор нежелательным для определенного пути. Один из методов предотвращения маршрутных циклов.
Незашифрованный пароль (plain text password) — пароль, передаваемый по кабелю в виде открытого текста в формате ASCII.
Маршрутизация в среде IP
601
Области (areas) — группы смежных сетей. Области применяются при маршрутизации на основе состояния канала; они обеспечивают резюмирование таблиц маршрутизации в крупных сетях.
Отсчет до бесконечности (counting to infinity) — проблема сетевой маршрутизации, случающаяся по причине появления маршрутного цикла. Пакеты циркулируют по сети до того момента, пока время их жизни не истечет.
Периодическое обновление (periodic update) — в общем, означает обновление значений данных, происходящее через определенный интервал времени. Что касается протоколов маршрутизации, большинство дистанционновекторных протоколов проводят периодические обновления для обеспечения соответствия таблицы маршрутизации новейшим данным.
Подчиненный маршрутизатор (slave router) — в сетях, использующих протокол OSPF, этот тип маршрутизатора принимает от главного маршрутизатора и подтверждает сводные пакеты базы данных состояния канала.
Приветственный (Hello) процесс (Hello process) — процесс, применяемый маршрутизаторами состояния канала для обнаружения соседних маршрутизаторов.
Протокол маршрутизации (routing protocol) — протокол 3-го уровня, позволяющий маршрутизаторам обмениваться информацией о достижимых сетях, маршрутах, по которым их можно достичь, и связанных с ними издержках.
Протокол маршрутизации на основе состояния канала (link-state routing protocols) — протокол маршрутизации, работающий на основе общего образа состояния канала топологии сети. Маршрутизаторы состояния канала могут определять оптимальный путь исходя из пропускной способности, задержки и других свойств пути, связанных с одним или несколькими доступными каналами. Протоколом состояния канала является OSPF.
Разделение горизонта (split horizon) — метод, призванный устранить проблему отсчета до бесконечности. Правило разделенного горизонта гласит, что информацию нельзя отсылать тому устройству, от которого она была получена.
Сквозная маршрутизация через автономные системы (pass-through autonomous system routing) — в протоколе BGP эта методика маршрутизации применяется для передачи маршрутной информации BGP через сеть, не поддерживающую этот протокол.
Сообщение LSA (Link-State Advertisement, объявление состояния канала) — пакет, содержащий информацию о маршрутизаторе, его соседях и сети, к которой он подсоединен.
602
Глава 10
Соседние маршрутизаторы (neighbor routers) — в сети состояния канала соседние маршрутизаторы подключены к одному сетевому сегменту.
Состояние канала (link-state) — специальный протокол маршрутизации, использующий и обменивающийся информацией только о ближайших соседях; оценивает издержки канала исходя из времени передачи, не учитывая число транзитов и расстояния маршрутизации.
Состояние конвергенции (converged state) — состояние сети, при котором все маршрутизаторы синхронизированы и расположены в сети единым образом.
Сходимость (convergence) — процесс обеспечения всех маршрутизаторов в сети свежей информацией о доступных сетях и связанных с ними издержках.
Таблица перенаправления (forwarding table) — таблица, на основании которой в сети состояния канала принимаются решения о маршрутизации.
Триггерное обновление (triggered update) — обновление, происходящее в ответ на определенное событие в сетевой среде, обычно связанное с включением или отключением маршрутизатора от этой среды, изменением издержек или настроек каналов сети.
"Черная дыра" (black.hole) — точка сети, в которой пакеты отвергаются без предупреждения.
"Черная дыра" максимальной единицы передачи маршрута — маршрутизатор, который без объявления отвергает слишком большие пакеты с установленным битом Don't Fragment (запрет фрагментации).
Контрольные вопросы
1.	Какое из следующих выражений является синонимом маршрутизации?
а)	доставка пакетов;
б)	обработка пакетов;
в)	перенаправление пакетов;
г)	отслеживание пакетов.
2.	Где именно в большинстве маршрутизаторов и подобных устройств хранится маршрутная информация?
а)	база данных маршрутов;
б)	таблица маршрутизации;
в)	каталог маршрутов;
г)	кэш поиска маршрутов.
Маршрутизация в среде IP
603
3.	Какое поле IP-заголовка определяет решение о маршрутизации входящего пакета?
a)	Source Address (адрес источника);
б)	Destination Address (адрес назначения);
в)	Flags (флаги);
г)	Time То Live (время жизни).
4.	Какое из следующих качеств лучше всего характеризует важнейшее преимущество статического маршрута (который нужно вручную вводить в таблицу маршрутизации и обновлять)?
а)	контроль;
б)	гибкость;
в)	легкость управления;
г)	ручной ввод.
5.	Каково первостепенное преимущество использования протокола маршрутизации?
а)	он позволяет маршрутизаторам обмениваться информацией о топологии сети;
б)	он поддерживает динамическое обновление таблиц маршрутизации;
в)	он представляет собой отдельную точку повреждения или атаки;
г)	присущий ему недостаток управления;
6.	Маршрутизируемые протоколы применяются для обмена маршрутной информацией. Да или нет?
а)	да;
б)	нет.
7.	Какие два из следующих способов позволяют группировать протоколы маршрутизации?
а)	методы связи: дистанционно-векторный и состояния канала;
б)	статическая конфигурация в сравнении с динамическим обновлением;
в)	внутренние в сравнении с внешними шлюзовыми протоколами;
г)	размер сетей, который могут выдержать конкретные протоколы маршрутизации.
8.	Какие из следующих протоколов маршрутизации также являются дистанционно-векторными? (Выберите все подходящие ответы.)
a)	OSPF;
б)	IGRP;
604
Глава 10
в)	BGP;
г)	RIP.
9.	Какой из следующих протоколов маршрутизации является протоколом на основе состояния канала?
a)	OSPF;
б)	IGRP;
в)	BGP;
г)	RIP.
10.	Какие из следующих характеристик относятся к дистанционно-векторным протоколам?
а)	они периодически отсылают всем своим соседям широковещательные сообщения, помещая в них таблицы маршрутизации целиком;
б)	сходимость является функцией таймера обновления;
в)	диаметр сети (максимальное количество транзитов между двумя маршрутизаторами), по существу, неограничен;
г)	стоимость пути основывается на времени, а не на расстоянии (количестве транзитов).
11.	Какое из следующих определений лучше всего характеризует метод разделения горизонта (split horiron)?
а)	все маршруты, исходящие из других пунктов, должны пройти бесконечное расстояние;
б)	он не позволяет маршрутизатору объявлять б сети интерфейсу, который изначально предоставил эту информацию;
в)	он предотвращает маршрутные циклы;
г)	он создает маршрутные циклы.
12.	Какие из следующих характеристик относятся к протоколам маршрутизации на основе состояния канала? (Выберите все подходящие ответы.) а) маршрутизаторы формируют таблицы смежности, отсылая обновления только при изменении состояний канала;
б)	такой протокол независим от значений таймера, так что период сходимости длится недолго;
в)	такой протокол проверяет дбстижимость соседей с помощью приветственных пакетов;
г)	диаметр сети ограничен 15 транзитами.
13.	Какое из следующих определений лучше всего характеризует сеть, находящуюся в состоянии конвергенции?
а)	маршрутизаторы ожидают обновлений таблицы для завершения распространения;
Маршрутизация в среде IP 605
б)	все маршрутизаторы знают доступные в данный момент сети и связанные с ними издержки;
в)	все маршрутизаторы используют статические таблицы маршрутизации;
г)	все маршрутизаторы применяют протоколы маршрутизации на основе состояния канала.
14.	Значение какого поля заголовка применяется для отвержения пакетов, которые в противном случае вошли бы в бесконечный цикл?
a)	Source Address (адрес источника);
б)	Destination Address (адрес назначения);
в)	Flags (флаги);
г)	Time То Live (время жизни).
15.	Какая версия протокола RIP выполняет обновления посредством групповых, а не широковещательных пакетов?
a)	RIPvl;
б)	RIPv2;
в)	RIPv3;
г)	OSPF.
16.	Какое определение лучше всего характеризует "черную дыру" в сети?
а)	маршрутизатор отвергает пакеты, отсылая оповещение о существовании проблемы;
б)	маршрутизатор отвергает пакеты, не отсылая оповещения о существовании проблемы;
в)	сетевой маршрут исчезает без оповещения об изменении состояния;
г)	маршрутизатор не поддерживает определение максимальной единицы передачи маршрута.
17.	Какое явление провоцирует появление "черных дыр"?
а)	один или несколько маршрутизаторов становятся недоступны;
б)	состояние канала изменяется без оповещения;
в)	на маршрутизаторе отключается протокол ICMP;
г)	на маршрутизаторе включается протокол ICMP;
18.	Как называется OSPF-область, к которой должны быть подсоединены все остальные области?
а)	магистральная область;
б)	автономные системы;
606
Глава 10
в)	суррогатная область;
г)	область взаимосвязи.
19.	Для соединения автономных систем маршрутизаторы пользуются внешними шлюзовыми протоколами, такими как BGP. Да или нет?
а)	да;
б)	нет.
20.	С какого поля начинаются отличия заголовков RIPv2 и RIPvl?
a)	Address Family (семейство адресов);
б)	Authentication Туре (тип аутентификации);
в)	Authentication (аутентификация);
г)	Address Family Identifier (идентификатор семейства адресов).
21.	Какое из следующих назначений маршрутизатора позволяет протоколу OSPF более эффективно, чем протоколу RIP, управлять поведением локальной маршрутизации?
а)	установка шлюза по умолчанию;
б)	установка назначенного маршрутизатора;
в)	объявление каналов маршрутизатора;
г)	объявление сетевых каналов.
22.	Какой номер типа OSPF-пакета связывается с приветственными (Hello) пакетами, применяемыми для проверки достижимости?
а)	1;
б)	2;
в)	3;
г)	4;
д)	5.
23.	Какой из следующих сценариев оправдывает применение статических настроек маршрутизатора?
а)	до десяти узлов, каждый с одной подсетью, два или несколько Internet-соединений;
б)	от десяти до ста узлов, каждый с несколькими подсетями, два или несколько Internet-соединений;
в)	более ста узлов, каждый с несколькими подсетями, два или несколько Internet-соединений;
г)	ни один из вышеприведенных; статическая маршрутизация не рекомендуется в любых ситуациях.
Маршрутизация в среде IP	607
24.	Если речь идет о конфигурации сети с топологией "звезда", сколько путей должны знать маршрутизаторы на концах лучей (с противоположной от центрального узла стороны)?
а)	один;
б)	два;
в)	много;
г)	все.
25.	Какой компонент жизненно необходим для обеспечения работы протокола Mobile IP в современных сетях?
а)	мобильный маршрутизатор, сопровождающий пользователя;
б)	маршрутизатор, настроенный как агент Mobile IP;
в)	надлежащим образом настроенный клиент;
г)	использование Mobile IP в современных сетях невозможно.
Практические задания
Для выполнения следующих заданий вы должны работать в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (она находится на сопровождающем книгу компакт-диске). Кроме того, для выполнения заданий вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
Задание 10.1
Создание расширенного фильтра
для трафика маршрутизации RIP и OSPF
1.	Запустите демо-версию программы EtherPeek for Windows.
2.	Выберите View в строке меню, а затем нажмите Filters. Появится окно Filters.
3.	Нажмите кнопку Insert. Появится окно Edit Filter.
4.	Введите "RIP-OSPF" в текстовом поле Filter.
5.	Выберите на стрелке рядом с текстовым полем Туре и нажмите Advanced. В окне Edit Filter появится область Advanced.
6.	Нажмите кнопку Add и выберите Protocol.
7.	Щелкните на значке плюс в прямоугольнике, находящемся перед обозначением типа фреймов, который применяется в вашей сети. (В большинстве сетей TCP/IP применяется тип фреймов Ethernet Туре 2.) В результате появится список предопределенных фильтров протоколов.
608
Глава 10
8.	Щелкните на значке плюс в прямоугольнике, находящемся перед обозначением IP. Прокрутите окно вниз до OSPF. Щелкните на значке плюс в прямоугольнике слева от обозначения OSPF и обратите внимание, что в EtherPeek есть предопределенные пакеты для пяти типов пакетов OSPF. Щелкните на записи OSPF, чтобы обеспечить захват всего OSPF-трафика.
9.	Нажмите кнопку ОК. В области Advanced окна Edit Filter выводится значение "Protocol IP OSPF".
10.	Так как вам интересны пакеты, относящиеся к протоколам OSPF или RIP, нажмите кнопку Or и выберите Protocol. Еще раз щелкните на значке плюс в прямоугольнике, находящемся перед обозначением типа фреймов, который применяется в вашей сети.
11.	Щелкните на значке плюс в прямоугольнике рядом с IP. Прокрутите окно вниз до UDP. Щелкните на значке плюс в прямоугольнике рядом с UDP. Прокрутите окно вниз до RIP. Процессы UDP сортируются исходя из номеров портов. Так как протокол RIP использует номер порта 520, этот протокол находится в самом низу списка.
12.	Нажмите кнопку ОК. В области Advanced окна Edit Filter выводится значение "Protocol UDP RIP". Чтобы закрыть окно Edit Filter, нажмите кнопку ОК.
13.	Щелкните Capture в строке меню, а затем нажмите Start Capture (или <Ctii>+<Y>). Нажмите кнопку ОК, чтобы применить установки буфера захвата. Откроется окно Capture.
14.	Перейдите на вкладку Filters и установите флажок рядом с только что созданным фильтром RIP-OSPF.
15.	Нажмите кнопку Start Capture. Перейдите на вкладку Packets, чтобы просмотреть трафик, помещаемый в буфер.
16.	Захватив трафик в буфер слежения, нажмите кнопку Stop Capture, проанализируйте содержимое этого трафика и определите протокол маршрутизации, применяемый в вашей аудитории.
17.	Закройте окно сводки пакета. Если вы не собираетесь сразу же переходить к заданию 10.2, закройте демо-версию программы EtherPeek.
Задание 10.2
Чтение и интерпретация OSPF-пакетов
с
1.	Если демо-версия программы EtherPeek for Windows не активизирована, запустите ее.
2.	Щелкните File в строке меню, а затем нажмите Open.
Маршрутизация в среде IP
609
3.	Откройте файл трассировки ospfl.pkt, находящийся в каталоге Course Technology\18654-2\ChlO на вашем жестком диске. Просмотрите содержащиеся в нем пакеты и ответьте на следующие вопросы.
а)	Каков IP-адрес устройства, отсылающего эти пакеты?
б)	Каков IP-адрес назначения этих пакетов?
в)	Для чего используется этот адрес?
г)	Какой маршрутизатор в данной сети является назначенным?
д)	К какому типу относится пакет № 1 (Packet #1)?
4.	Изобразите схему сети, исходя из содержимого этих пакетов.
5.	Закройте демо-версию программы EtherPeek for Windows.
Учебные задачи
1.	Допустим, что вы устанавливаете новую сеть для киностудии, расположенной в Каннах (Франция). Разработайте OSPF-сеть со следующими характеристиками:
а)	четыре области (их нужно пронумеровать);
б)	три сети в каждой области;
в)	резюмирование маршрута на границах области;
г)	одна автономная система.
2.	Предположим, что ваша компания, занимающаяся операциями на фондовой бирже и состоящая из трех RIP-сетей, недавно приобрела небольшую компанию по продаже электронной техники. Сеть приобретенной компании основана на протоколе OSPF; эта компания должна сохранить возможность проведения всех операций таким же образом, как это делалось до ее поглощения; следовательно, вашей задачей является разработка плана прозрачного объединения этих двух сетей.
Напишите "план интеграции сетей" с подробным описанием вариантов объединения этих двух сетей, а также проектом реализации.
Глава 11
Мониторинг IP-сетей
и управление ими 
После прочтения этой главы и выполнения упражнений вы сможете:
□	разобраться в основных принципах и приемах управления современными сетями;
□	уяснить роль протокола SNMP (Simple Network Management Protocol, простой протокол сетевого управления) в 1Р-сетях;
□	проводить различие между внутриполосными и внеполосными средствами и методами сетевого управления;
□	понять базовую структуру и функции управляющей информации протокола SNMP, включая базы управляющей информации, абстрактную синтаксическую нотацию, а также родственные объекты управления;
□	уяснить назначение базы управляющей информации стандартного удаленного мониторинга SNMP, известной под названием RMON;
□	научиться устанавливать, настраивать и применять консоли, инструментальные средства и утилиты протокола SNMP;
□	получить представление о том, как средства сетевого управления на основе протокола SNMP интегрируются с другими средами. сетевого управления.
По мере того как сети увеличиваются и становятся все более сложными, организации испытывают насущную необходимость в их обследовании, управлении и координации. На самом деле, эти потребности вызвали развитие полноценной дисциплины, посвященной изучению требований, связанных с управлением сетями, и процессов, направленных на их реализацию.
Из этой главы вы сможете почерпнуть базовую терминологию, основные понятия и информацию о средствах и методах общего сетевого управления; всего этого будет достаточно, чтобы вы смогли верно оценить перспективу управления IP-сетями. Вы узнаете о ключевом протоколе сетевого управле
612
Гпава 11
ния, называемом SNMP (Simple Network Management Protocol, простой протокол сетевого управления). Кроме того, вам станут известны стандартные средства и технологии, посредством которых протокол SNMP справляется с управлением сетями, а также способы применения этих средств и технологий для элементарного мониторинга сетей.
Методы и принципы сетевого управления
Задачи управления сетью определяются возможностью сбора информации о ней и определения сетевых явлений, обычно называемых событиями. Речь идет о способности производить текущий контроль и управление всеми устройствами, входящими в современную сеть: от концентраторов и маршрутизаторов до серверов, коммутаторов и разнообразных шлюзов. Современные средства управления сетями функционируют благодаря специальным протоколам и службам, предназначенным для регулярного сбора данных из этих устройств, а также распознавания и оповещения о специфических событиях, которые могут происходить как на самих этих устройствах, так и в связывающих их сетях.
В некоторой степени сам термин "сетевое управление" подвержен различным интерпретациям. Он может означать как действия, нерегулярно выполняемые частично занятым администратором в мелкомасштабной сети, так и деятельность сетевых оперативных центров, подконтрольных крупным поставщикам услуг, компаниям и организациям, и работающих 24 часа в сутки 365 дней в году. По этой причине необходимо проводить различие между теориями, претендующими на руководящие функции в сетевом управлении, и методами, при помощи которых сетевое управление осуществляется на практике.
На протяжении этой главы мы в подробностях рассмотрим типы данных, подлежащих сбору, способы их группировки и анализа в целях выяснения состояния сети, а также выявления существующих тенденций и проблем. Кроме того, вы узнаете, каким образом механизмы оповещения о событиях могут сигнализировать о потенциальных или реально существующих проблемах, и почему обработка таких событий — это важнейший компонент любого процесса сетевого управления.
В следующих разделах вы познакомитесь с официальным открытым стандартом, посвященным технике сетевого управления, и узнаете, как он соотносится с практическими проблемами и вопросами сетевого управления. Вы сможете усвоить правило, согласно которому тщательное и всестороннее сетевое управление требует объявления управляющей информации и событий даже тогда, когда сама сеть находится в неисправном состоянии.
Мониторинг IP-сетей и управление ими	613
Структура сетевого управления
По аналогии с множеством других специализированных и высокотехничных областей знания, сетевое управление располагает четким представлением о системах и сетях, находящихся в сфере его применения, а также особым терминологическим и понятийным аппаратом, с помощью которого обозначаются компоненты управляемой сетевой среды. Конечные пункты обычно называются управляемыми устройствами (managed devices); это может быть любая система (настольный компьютер, сервер, маршрутизатор, концентратор, коммутатор, частная телефонная система и другие виды сетевого оборудования), на которой установлено и запущено управляющее программное обеспечение.
Именно специальные программы обеспечивают соответствие управляемого устройства своему названию, т. к. именно они обнаруживают происходящие события и дают возможность отправлять предупреждения. Программы позволяют производить сбор текущих данных, характеризующих или описывающих управляемые устройства, на которых эти программы работают, или сетевые каналы, подсоединяющие эти устройства к сети.
Что касается сбора данных, то в утилитах или средствах управления, называемых объектами управления (management entity), происходят два процесса, призванных обеспечить доступ к управляющей информации, средствам и режимам управления.
□	При получении предупреждений должны быть сгенерированы подходящие ответы. Они могут предусматривать уведомление оператора, регистрацию событий, закрытие системы или перезагрузку, а также различные виды автоматических попыток восстановления неисправных систем или служб;
□	Происходит регулярный опрос или выборочный контроль управляющей информации, посредством которого объект управления запрашивает у управляемых устройств обновления, отражающие текущие интервалы данных, связанные с определением параметров трафика, уровнями ошибок и использования, и отчитывается о процессах конкретных приложений или служб.
Объект управления следует представлять как службу, выполняющую функции управления, инициирующую опросы и сбор данных и действующую в роли хранилища собираемой информации. Более того, объект управления отвечает на происходящие события и имеет возможность регистрировать и характеризовать сетевые режимы и процессы.
Установленный на каждом управляемом устройстве, специальный программный компонент, который называется агентом управления (management agent), отвечает на опросы на предмет собранных данных, причем сам агент управления обеспечивает сохранность базы данных управления (management
614
Глава 11
database, MDB), содержащую собранную со временем информацию. Объекты управления обычно действуют в контексте системы управления сетью (network management system, NMS), в которой агенты и объекты обмениваются данными и сообщаются посредством протоколов управления сетью (network management protocols). Каждая система NMS обеспечивает функции управления в тесном взаимодействии с поддерживающими ее протоколами и известными ей базами данных управления. Протокол управления, включенный в стек TCP/IP, называется SNMP (Simple Network Management Protocol, простой протокол сетевого управления).
Большинство типичных систем NMS поддерживают один или несколько объектов управления, каждый из которых обычно взаимодействует с множеством управляемых устройств в ходе получения управляющей информации и реагирования на события сети и устройств. Могут существовать целые иерархии объектов управления, причем такая ситуация типична для многих крупномасштабных сред. В этом случае посредники управления (management proxies) на низком уровне иерархии взаимодействуют с объектами управления более высокого уровня, предоставляя им информацию о состоянии и событиях. Это позволяет крупномасштабным сквозным системам управления охватывать множество разнообразных устройств и узлов, однако при этом детали управления конкретными устройствами могут располагаться на два или три уровня ниже корпоративного уровня. Эти взаимоотношения показаны на рис. 11.1.
Рис. 11.1. В корпоративной сети многочисленные уровни, системы управления позволяют сформировать единый образ многоабонентской и многоплатформенной сети
Мониторинг IP-сетей и управление ими
615
Теперь мы рассмотрим открытый стандарт, определяющий модель управления сетью, которая была разработана с целью объединения разнообразных видов процессов, координируемых системой управления сетью (NMS).
Модель сетевого управления OSI
Аналогично сетевой эталонной модели ISO/OSI, которая определяет систему координат для сетевых протоколов и служб, модель сетевого управления ISO/OSI (для краткости — модель сетевого управления OSI) устанавливает правила сетевого управления и обеспечивает превосходную базу для понимания основных функций, выполняемых системой управления сетью. В модель сетевого управления OSI входят 5 уровней, перечисленных далее.
О Управление сетевым учетом (Accounting Management). Этот уровень отвечает за вычисление параметров использования сети и служб с целью контроля и регламентирования отдельных пользователей или групп. Иногда, передавая плату за использование обратно организационным единицам (эту систему еще называют убыточной), управление сетевым учетом позволяет контролировать сетевой доступ таким образом, чтобы это было справедливо по отношению ко всем пользователям, или, наоборот, отражало правила организации, которые могут предусматривать приоритет одних классов пользователей над другими.
□ Конфигурационное управление (Configuration Management). Этот уровень заведует документированием конфигурационными данными сетей и систем, а также осуществляет текущий контроль влияния использования различных версий аппаратного и программного обеспечения на режим функционирования сети, ее надежность и производительность. Таким образом, с каждым сетевым устройством связано значительное количество конфигурационных данных, в число которых может входить информация об операционной системе или программно-аппаратных средствах, сетевых интерфейсах, протоколах, службах и относящихся к ним настройках и т. д. Организуя централизованный доступ к такой информации и контроль над нею, система управления сетью может существенно повысить ценность и гибкость сети.
□	Контроль неисправностей (Fault Management). Контроль неисправностей заключается в обнаружении, регистрации и исправлении проблем сетей и систем (когда это возможно) в целях обеспечения нормального их функционирования. Контроль неисправностей поддерживается практически всеми системами управления сетями, в то время как другие компоненты модели сетевого управления OSI реализованы не столь повсеместно.
□	Контроль производительности (Performance Management). Этот уровень подразумевает измерение и текущий контроль уровней сетевого трафика, использования сетей и других статистических параметров работы сетей и
616
Гпава 11
систем с целью сохранения их производительности на приемлемых уровнях. Среди наиболее важных параметров — такие, как уровень использования сети и ее пропускная способность, время отклика пользователей и служб, частота появления ошибок и определение характеристики трафика. Качественный контроль производительности может производиться только при наличии исходного уровня производительности сети (снимков средних характеристик сети и режимов ее работы), исходя из которого и определяются отклонения от нормы. Большинство объектов управления оценивают производительность непрерывно, используя пороговые величины для вызова предупреждений и выполнения необходимых действий.
П Управление защитой (Security Management). Этот уровень контролирует доступ к сетевым ресурсам, предотвращая отказы от обслуживания, нежелательные обращения или нападения на эти ресурсы, и разрешая обращения к ним лишь при условии выполнения надлежащей аутентификации и авторизации. Подсистемы управления защитой идентифицируют и маркируют уязвимые сетевые ресурсы, а также формируют таблицы управления доступом с целью ограничения их раскрытия перед зарегистрированными пользователями. Кроме того, такие системы осуществляют мониторинг сетевых точек доступа, задействуют схемы обнаружения вторжений, фильтры пакетов, адресов и служб, а также другие формы контроля доступа, гарантируя явный отказ в реализации всех нежелательных форм доступа. Многое из того, что было рассмотрено в главе 9, теоретически может находиться в ведении системы управления защитой в системе NMS, однако на самом деле в большинстве обычных сетей эти функции распределяются между несколькими системами.
Практика сетевого управления
Когда приходит время воплощать в жизнь задачи, связанные с управлением сетью и составляющими ее устройствами и ресурсами, выясняется, что модель сетевого управления OSI прекрасно справляется с категоризацией и каталогизацией всех вовлеченных задач и процессов. Но, увы! Полноценные системы управления в современных сетях присутствуют очень редко.
Производители, такие как.Tivoli Systems (со своим семейством продуктов Tivoli Management Environment) и Computer Associates (семейство называется СА Unicenter), успешно продают свои системы сетевого управления организациям, но в то же время управление современными сетями редко происходит в рамках какой-то одной системы. Некоторые производители устройств или программного обеспечения иногда не предоставляют агента управления, совместимого с конкретной системой сетевого управления, новые приложения и службы бывают неспособны взаимодействовать с некоторыми такими системами и т. д. В результате получается, что полноценное сквозное управ
Мониторинг IP-сетей и управление ими
617
ление средствами одной отдельной системы крайне желательно, но редко когда достижимо на все 100%. Таким образом, системным и сетевым администраторам в любом случае приходится использовать множество инструментальных средств, а иногда — огромное их количество.
В большинстве современных сетей модель сетевого управления OSI представляется эталоном, в соответствии с которым нужно организовывать управление сетями и устройствами, причем делать это любыми доступными средствами. Важно обозначить систематическое сетевое управление как приоритетное направление деятельности, приобрести оптимальный набор программных компонентов и инструментов, которые можно использовать как часть программы регулярного, запланированного текущего обслуживания сети. По аналогии с обеспечением безопасности сетей и систем, успех сетевого управления в одинаковой степени определяется как повседневным трудом, так и тщательным подбором программных средств.
Внутриполосное и внеполосное управление
При планировании распределенного управленческого решения (distributed management solution) необходимо учитывать путь, по которому будет перемещаться управляющая информация. К примеру, возможно, что ваше устройство управления получает предупреждения от различных сетевых маршрутизаторов. По какому пути отсылаются пакеты с этими предупреждениями?
Есть два варианта сетевой управляющей информации — внутриполосный и внеполосный. Трафик внутриполосного управления (in-band management) перемещается по сетевому информационному пути, а трафик внеполосного управления (out-of-band management) — по отдельному неинформационному пути.
На рис. 11.2 изображена сеть, поддерживающая лишь внутриполосный трафик управления. Если на маршрутизаторе 2 сработает предупреждение, то оно сможет дойти до управляющего устройства лишь по одному пути — информационному. Нет необходимости в каком-то дополнительном или специальном кабеле: сообщения внутриполосного управления прекрасно обойдутся без него. Если маршрутизатор 2 обнаружит проблему, предупреждение о ней будет отправлено управляющему устройству транзитом через маршрутизатор 1.
На первый взгляд, по этому сценарию все должно работать превосходно. Но представьте, что случится, если маршрутизатор 2 обнаружит повреждение сети Ethernet между собой й маршрутизатором 1! Предупреждение не достигнет устройства управления, т. к. его нельзя будет перенаправить в этой сети Ethernet.
Внеполосное управление предполагает обмен сообщениями между агентами управления и управляющим устройством независимо от состояния сети передачи данных. К примеру, на рис. 11.3 изображена сеть, содержащая вне
618
Глава 11
полосный канал между маршрутизатором 2 управляющим устройством. Если агент обнаружит неисправность, он отправит предупреждение именно по этому внеполосному каналу.
Рис. 11.2. Сеть, которая поддерживает лишь внутриполосный трафик управления
Рис. 11.3. Сеть, содержащая внеполосный канал
Мониторинг IP-сетей и управление ими
619
Значимость внеполосного управления невозможно переоценить — по существу, в этом случае объекты управления получают возможность доступа к управляемым устройствам с помощью резервного соединения, даже когда сеть, являющаяся субъектом управления, недоступна. Конечно, посредством его нельзя решить все потенциальные проблемы (например, при неисправности основного маршрутизатора в области маршрутизации может пропасть Internet-соединение, и внеполосный доступ будет невозможен), внеполосный канал все же представляет ценный способ доступа и управления устройствами в условиях неисправности сетей, позволяя производить быстрое и эффективное восстановление сетевых служб.
Далее мы поговорим о протоколе управления, который применяется во всех сетях на основе TCP/IP. Речь идет о протоколе SNMP.
Введение в SNMP
SNMP — это протокол типа "запрос-ответ", применяемый для передачи управляющих сообщений между SNMP-агентом (SNMP agent) (процессом на стороне клиента) и SNMP-менеджером (SNMP manager) (процессом на стороне сервера). На сегодняшний день определено несколько версий протокола SNMP.
□	SNMP версии 1 (SNMPvl). Это исходная версия протокола SNMP, обеспечивающая относительно небольшое количество функций защиты. Она применяет пароли в виде открытого текста, называемые групповыми именами, или строки, передаваемые между SNMP-клиентом и менеджером в целях проверки достоверности данных и/или инициатора запроса на эти данные. Групповые имена рассматриваются более подробно далее в разд. "Защита SNMP" этой главы.
□	SNMP версии 2 (SNMPv2). Эта версия содержит усовершенствования протокола и безопасности. Немногие производители смогли договориться насчет способов реализации новых функций, связанных с безопасностью, так что они остались незамеченными, в отличие от успешно реализованных усовершенствований протокола, среди которых следует выделить модернизированные идентификаторы объектов, поддержку макросов и множественных протоколов, а также возможность передачи крупных массивов данных.
□	SNMP версии 3 /SNMPv3). Новейшая версия протокола SNMP, в основном направлена на исправление проблем с безопасностью, характерных для двух других версий, в четырех областях: аутентификации (обеспечении достоверности пользователя), конфиденциальности (сохранении секретности), авторизации (ограничении доступа), а также удаленной конфигурации и администрирования.
620
Гпава 11
В этом разделе речь пойдет о протоколе SNMPvI, поскольку эта версия до сих пор является наиболее распространенной.
Протокол SNMPvI состоит из следующих основных элементов:
□	объекты базы управляющей информации (MIB);
□	SNMP-агенты;
□	SNMP-менеджеры;
О SNMP-сообщения.
Рассмотрим каждый из этих элементов по отдельности.
Объекты базы управляющей информации (MIB)
База управляющей информации (Management Information Base, MIB) — это база данных управляемых объектов (manageable objects) устройства. К примеру, управляемый маршрутизатор поддерживает базы управляющей информации, содержащие объекты, связанные с маршрутизацией: интерфейсы, перенаправляемые пакеты, фильтрованные пакеты и т. д. Ниже перечислены некоторые базы, реализуемые в сетях с SNMP-управлением:
□	MIB-2 (RFC 1213);
□	ATM MIB (RFC 2515);
□	Printer MIB (RFC 1759);
□	IPv6 MIB (RFC 2465).
В рамках каждой отдельной базы официальная спецификация, называемая структурой информации для управления сетью (Structure of Management Information, SMI), определяет формат всех содержащихся в этой базе объектов (objects). Собственно говоря, в каждой базе форматы объектов определяются с помощью конкретной разновидности формы представления информации — ASN.l (Abstract Syntax Notation One, абстрактная синтаксическая нотация 1).
ASN. 1 — это язык описания типа объекта и идентификатора объекта (object identifier, OID). В протоколе SNMP идентификатор объекта применяется при обращении к отдельному объекту MIB. Этот идентификатор представляет собой последовательность неотрицательных целочисленных значений, составляющих дерево объектов (object tree). Как показано на рис. 11.4, это дерево начинается с корня. "Ветви" (сегменты) дерева объектов называют подчиненными (subordinates). В протоколе SNMP объекты идентифицируются обозначением пути, по которому можно добраться до идентификатора конкретного устройства внутри дерева объектов.
Мониторинг IP-сетей и управление ими
621
root
I
iso(1)
I
org(3)
dod(6)
internet(l)	‘H.3.1.6
mgmt(2)
mib(1)
system(1) interfaces(2) at(3)	ip(4) icmp(5) tcp(6) udp(7)
Рис. 11.4. В представлении ASN.1 используется структурированный идентификатор объекта
Применение идентификаторов объектов
Идентификаторы сетевых объектов управления находятся в пределах сегмента пространства имен iso(l), org(3), dod(6), internet(l) или 1.3.6.1. Основные ветви приведены в табл. 11.1.
Таблица 11.1. Сегменты дерева SMI
Сегмент	Имя сегмента
1	iso
1.3	org
1.3.6	dod
1.3.6.1	internet
1.3.6.1.1	directory
1.3.6.1.2	mgmt
1.3.6.1.2.1	mib-2
1.3.6.1.2.1.2.2.1,3	ifType
1.3.6.1.2.1.10	transmission
1.3.6.1.2.1.10.23	transmissionppp
622
Гпава 11
	Таблица 11.1 (окончание)
Сегмент	Имя сегмента
1.3.6.1.2.1.27	application
1.3.6.1.2.1.28	mta
1.3.6.1.3	experimental
1.3.6.1.4	private
1.3.6.1.4.1	enterprise
1.3.6.1.5	security
1.3.6.1.6	SNMPv2
1.3.6.1.6.1	snmpDomains
1.3.6.1.6.2	snmpProxys
1.3.6.1.6.3	snmpModules
1.3.6.1.7	mail
1.3.6.1.8	features
В настоящее время распространенной базой управляющей информации является MIB-2; она поддерживается большинством устройств, управляемых протоколом SNMP. База MIB-2 включает подчиненные для дальнейшего определения области управления. В табл. 11.2 приведены основные подчиненные, находящиеся в сегменте MIB-2.
Таблица 11.2. Подчиненные MIB-2
Подчиненный	Описание	Справочная информация
1	System (система) — общие данные об устройстве	RFC 1213
2	Interfaces (интерфейсы) — параметры сетевых интерфейсов)	RFC 1213
3	Address Translation (трансляция адресов)— описание соответствия между сетевыми и физическими адресами	RFC 1213
4	Internet Protocol (Протокол IP) — данные, относящиеся к протоколу IP	RFC 1213
5	ICMP (протокол контроля сообщений в сети Internet) — данные, относящиеся к протоколу ICMP	RFC 1213
6	TCP (протокол управления передачей) — данные, относящиеся к протоколу TCP	RFC 1213
Мониторинг IP-сетей и управление ими
623
Таблица 11.2 (окончание)
Подчи- Описание ненный	Справочная информация
7	UDP (протокол передачи дейтаграмм пользователя) — данные, относящиеся к протоколу UDP 8	EGP (внешний шлюзовой протокол) — данные, относя- щиеся к протоколу EGP 13	AppleTalk— данные, относящиеся к стеку протоколов AppleTalk 14	OSPF (первоочередное открытие кратчайших маршру- тов) — данные, относящиеся к протоколу OSPF 15	BGP (пограничный межсетевой протокол)— данные, относящиеся к протоколу BGP 16	Remote Network Monitoring (удаленный сетевой монито- ринг) — данные, относящиеся к протоколу RMON 23	RIPv2 (протокол маршрутной информации версии 2) — данные, относящиеся к протоколу RIPv2 42	Token Ring Station Source Route (маршрутизация от ис- точника устройства с маркерным доступом) — данные, относящиеся к устройству, работающему по протоколу Token Ring 43	Printer MIB (база управляющей информации принте- ров) — данные, относящиеся к принтерам	RFC 1213 RFC 1213 RFC 1742 RFC 1253 RFC 1657 RFC 1271 RFC 1389 RFC 1748 RFC 1759
Примечание
Полный список подчиненных MIB и определений SMI опубликован по адресу
http://www.iana.org.
В некоторых случаях производители реализуют частные базы управляющей информации (private MIB) для управляемых элементов конкретных продуктов. К примеру, производителю Internet-серверов могут понадобиться функции управления вводом/выводом диска и кэшированием. Частные объекты находятся в сегменте 1.3.6.1.4.
Загрузка баз управляющей информации
Большинство производителей предоставляют информацию об MIB-агентах в своем программном обеспечении или операционных системах, а платформы сетевого управления содержат информацию о базах MIB для наиболее распространенных аппаратных средств. При этом многие производители обес
624
Гпава 11
печивают поддержку дополнительных функций, которые не определены в документах RFC, специфицирующих протокол SNMP. Если ваше устройство управления не может получить от управляемого устройства запрошенные данные, значит, вероятно, отсутствует база MIB с конкретным информационным блоком. В большинстве случаев, когда устройство управления не способно извлечь определенную переменную базы MIB, на это могут быть две причины: либо само устройство не распознает эту переменную, либо агент ее не поддерживает; в последнем случае вы должны загрузить базу управляющей информации (MIB) в устройство управления, как правило — вместе с компилятором базы MIB.
Необходимо обращать внимание на очередность загрузки базы MIB в устройство управления, т. к. многие базы пользуются описаниями из других баз. К примеру, если база X импортирует описание из базы Y, некоторые компиляторы требуют загрузки базы X до базы Y. Если загрузить базы в неправильном порядке, то компилятор может сгенерировать ошибку, утверждая, что импортированные данные не определены. В таком случае вам следует проверить последовательность описаний базы MIB в разделе IMPORTS MIB-модуля и убедиться в том, что вы загрузили все предшествующие базы.
Удаленный мониторинг (RMON)
RMON (удаленный мониторинг) применяется для текущего контроля и администрирования удаленных сегментов распределенной сети. Современным добавлением к функциональным возможностям протокола SNMP является спецификация протокола RMON, которая обеспечивает удаленное взаимодействие с базой MIB. До появления RMON протокол SNMP не мог использоваться для удаленного управления устройствами, он допускал только лишь локальное управление ими. С управлением распределенной средой связаны некоторые исключительные трудности. Во-первых, такая среда обычно характеризуется довольно крупными размерами, и в ней много устройств, требующих управления. Во-вторых, распределенные сети, развиваясь с течением времени, становятся гетерогенными средами (содержащими разнородное оборудование с несходными версиями программного обеспечения). Наконец, в распределенной среде обычно не хватает персонала, который мог бы помочь с управлением и поиском неисправностей на каждом устройстве; следовательно, нужно искать рентабельное решение. Протокол RMON был разработан именно для того, чтобы способствовать разрешению всех проблем, связанных с управлением распределенной средой.
Протокол RMON размещает агентов, называемых сетевыми зондами (network probes), в различных пунктах распределенной сети. Зонды — это самостоятельные устройства, каждое из которых снабжено сетевой интерфейсной платой, процессором, памятью и программным обеспечением; они подключаются к сети так же, как и любое другое физическое устройство. Кроме
Мониторинг IP-сетей и.управление ими
625
того, зондом может быть программа на межсетевом устройстве, таком как маршрутизатор или коммутатор; способы ее конфигурации также вполне типичны. Зонды связываются с устройством сетевого управления внутриполосным (in-band) способом и сообщают любую запрошенную этим устройством информацию. Одним из преимуществ зондов является то, что они могут собирать и хранить данные в автономном режиме. Эта возможность может быть полезна, например, в случае, когда удаленный узел не требует наличия постоянной связи с центральным узлом (что позволяет экономить на использовании глобальной сети), или когда связь с консолью сетевого управления оказывается прерванной (в результате неисправности канала).
Как утверждается в документе RFC 1757, первая версия протокола RMON была разработана для сетей Ethernet. Ее идентификатор объекта (OID) — (1.3.6.1.2.1.16) — включает девять отдельных групп объектов. Реализация всех этих групп, а также любой из них, не является обязательной. Если устройство удаленного мониторинга использует определенную группу, то он должен применять все объекты в этой группе. К примеру, управляемый агент, использующий группу host, должен применять объекты hostControlTable, hostTabie и hostTimeTabie. Далее перечислены наиболее распространенные группы объектов.
□	Ethernet statistics (статистика Ethernet). Эта группа содержит статистические данные, собираемые сетевым зондом для каждого Ethernet-интерфейса, текущий контроль которого осуществляется на этом устройстве.
□	History control (контроль предыстории). В этой группе регистрируется и хранится периодическая статистика сети Ethernet.
□	Alarm (аварийный сигнал). Эта группа регулярно выполняет статистический выборочный контроль переменных на сетевом зонде и сравнивает их с ранее вычисленными пределами. Если отслеживаемая переменная выходит за установленные пределы, инициируется событие, по которому RMON-агент посылает сообщение менеджеру.
□	Host (хост). Эта группа содержит статистические данные обо всех хостах сети, в том числе и о их МАС-адресах.
□	HostTopN. Эта группа генерирует отчеты с описанием наиболее загруженных хостов, возглавляющих статистические таблицы.
□	Matrix (таблица). В этой группе хранятся статистические данные о сообщениях между группами из двух адресов.
□	Filter (фильтр). Эта группа обеспечивает фильтрацию пакетов.
□	Packet capture (захват пакетов). Эта группа обеспечивает захват пакетов после их прохода по каналу.
□	Event (событие). Эта группа координирует инициирование событий и передачу оповещений от управляемых устройств.
21 Зак. 321
626
Гпава 11
Если у группы, которой вы пользуетесь, есть зависимая группа, то вы должны применять и ее. К примеру, группа захвата пакетов требует применения группы фильтров. База RMON MIB обладает улучшенным набором свойств для удаленного управления, т. к. содержит информацию об устройстве, не требующую передачи по сети больших объемов данных. Многие группы в базе RMON MIB содержат одну или несколько таблиц с параметрами управления, а также таблицы данных с результатами операций. Таблицы управления обычно можно редактировать, в то время как таблицы данных предназначены только дая чтения.
Следующая версия протокола RMON, спецификация которого содержится в документе RFC 1513, называется RMON Token Ring. В ней реализована поддержка сетей с маркерным доступом; для этих целей создана десятая группа — группа Token Ring, чьи функции во многом сходны с функциями группы статистики Ethernet, но применяемая информация относится к сети с маркерным доступом. Группа Token Ring содержит четыре подгруппы: ring station (устройства с маркерным доступом), ring station order (последова-ельности устройств с маркерным доступом), ring station configuration (конфигурации устройств с маркерным доступом) и source routing (маршрутизации от источника устройств с маркерным доступом).
Две первые реализации RMON (Ethernet и RMON Token Ring), в первую очередь, имеют отношение к информации Физического и Канального уровней и не принимают во внимание оставшиеся пять уровней семиуровневой модели OSI. Стандарт протокола RM0N2 (RFC 2021) расширяет возможности RMON путем добавления 10 новых групп объектов (с 11 по 20), которые обеспечивают функции управления и оповещения на высших уровнях. Это позволяет управлять протоколами высших уровней, такими как EGP и даже SNMP, теми же способами, какими управляются протоколы нижних уровней: IP, ICMP, TCP и UDP.
SNMP-агенты
Программное обеспечение SNMP-агента устанавливается на устройствах, подотчетных SNMP-менеджерам, и содержит базу MIB для этих устройств. К примеру, SNMP-агент на маршрутизаторе располагает базой MIB, содержащей специальную информацию об управляемых объектах этого маршрутизатора. (Многие производители маршрутизаторов и коммутаторов поставляют SNMP-агентов в комплекте со своими продуктами).
SNMP-агенты отвечают на запросы SNMP-менеджера на информацию об объектах в их базе MIB. Кроме того, они отсылают SNMP-менеджерам предупреждения, связанные с отдельными событиями или превышением определенного порога.
Мониторинг IP-сетей и управление ими
627
SNMP-менеджеры
SNMP-менеджеры запрашивают SNMP-агентов на предмет информации об объектах базы MIB этих агентов. Кроме того, они определяют для агентов пороги.
SNMP-сообщения
SNMP-менеджеры и агенты взаимодействуют с помощью транспортного протокола UDP, используя специальный набор команд:
□	get-request;	□ set;
□	get-response;	П trap.
□	get-next;
Эти пять команд составляют ядро SNMP-сообщений. Команды get-request, get-response, get-next и set отправляются через UDP-порт 161, а trap — через порт 162 (рис. 11.5).
Команды GET (GET-REQUEST/ GET-RESPONSE)
Команда get-request применяется для чтения отдельной записи в базе управляющей информации. SNMP-менеджер передает команду get-request, указывая необходимую запись в представлении ASN.1. Команда get-request представляет собой наиболее распространенный вид SNMP-сообщений, в ответ на которое отсылается команда get-response.
628
Глава 11
GET-NEXT
При необходимости считывания нескольких записей таблицы MIB SNMP-менеджер использует команду get-next. Желаемые объекты MIB указываются после самой команды. По получении этого пакета SNMP-агент отвечает КОМаНДОЙ GET-RESPONSE.
SET
Команда set применяется для определения пороговых значений для SNMP-агентов. В общем, они называются не аварийными порогами, а порогами событий (event thresholds), т. к. указывают лишь на произошедшее событие. Это событие может не быть сбойной ситуацией или поводом для аварийного сигнала. Команда set может выполнять и другие функции, включая управление конфигурациями устройств и лимитами времени, настройку управляемых устройств на прием команды set только от одного устройства управления, и даже блокировку и разблокирование самого протокола SNMP. В сущности, абсолютно уместно рассматривать команду set как "активный контроллер" возможностей протокола SMNP и отчетности по управляемым устройствам.
1 ~r| snrnphn	pcap	
“““
ffi'FlPs B=[10.0.0.0] 5=[10.20.3.15} l.EN=14B ID=S0233
UDP: D=163 3=162 I.EN-14B
ЙSNMP: --------Simple Network Management Protocol (Version 1)
[ Q SNMP:
i  @ SNMP : ' Q SNMP:
I -3 SNMP: i -JS) SNMP: ) SNMP:  Q SNMP: > Q SNMP 1 I- Q SNMP: SNMP: SNMP: k Q SNMP : j. © SNUP ‘ i-Q SNMP:
Version Community Corranatid Enterprise
Network address Generic trap Specific trap Time ticks
= PUBLIC
“ [10.20.3.15]
= б (Enterprise specific,
® 124
“ B9670S0
Object = (1.3.6.1.4.1.23.2.34.1.1)
Value » 954S3Z91S
kS SNMP, \ Q SNMP: i 3 SNMP: i - SNMP: j-3 SNMP: D SNMP:
Object = (1.3.6.1,4.1.23.2.34.1
Value = 159
Object “ {1.3.6.1.4.1.23
Value = 0
Object “ (
Value - 9
(Excelan.2.34 .1.2)
(Excelan.2.34.1.3)
(Exce lan. ,2.34.1.21)
vj
(Ехпе1ап. 2.33.1.1)
Рис. 11.6. TRAP-сообщение протокола SNMP
Мониторинг IP-сетей и управление ими
629
TRAP
TRAP-сообщения занимают уникальное положение среди всех команд SNMP. Эти сообщения отсылаются SNMP-агентом SNMP-менеджеру в инициативном режиме в случае превышения установки события. В отличие от других типов SNMP-сообщений, в полях Source Port (порт источника) и Destination Port (порт назначения) UDP-заголовка TRAP-сообщения указывается значение 162. Сообщение этого типа изображено на рис. 11.6.
SNMP-защита
Так как протокол SNMP обеспечивает обмен статистикой и информацией о текущем рабочем состоянии, а также предоставляет средства изменения конфигураций устройств, можно ожидать, что он располагает мощной системой защиты. К сожалению, в SNMPvI реализована очень простая система паролей, которую не следует считать безопасной. SNMP-запрос содержит групповое имя (community name), которое является разновидностью пароля. Три основных групповых имени перечислены ниже:
□	групповое имя только для чтения (мониторинга);
□	групповое имя для чтения и записи (управления);
□	групповое имя предупреждения (ловушек).
Групповое имя только для чтения применяется для обращения к базе MIB и считывания значений объектов. Групповое имя для чтения и записи используется для редактирования содержимого базы MIB. К примеру, для того, чтобы добавить записи в таблицу маршрутизации, вы должны обладать полномочиями группового доступа' чтения и записи. Кроме того, вы можете изменять некоторые конфигурационные параметры в устройствах, управляемых SNMP; среди этих параметров — адресация 3-го уровня, протоколы маршрутизации и списки доступа. Наконец, групповое имя предупреждения (ловушек) позволяет обращаться к установкам ловушек SNMP-менеджера. Эти настройки обозначают устройства, которым позволяется получать ловушки, сигнализирующие при совершении определенных событий.
Обычно с каждым групповым именем связывается другое слово. Предоставляемый уровень доступа зависит от того, какое групповое имя указывается в SNMP-сообщении. Предположим, что вы в своей сети определили следующие групповые имена:
□	групповое имя только для чтения: Adminl;
□	групповое имя для чтения и записи: Admin2;
□	групповое имя предупреждения: Admin3.
Если вы планируете добавить новые записи в базу MIB маршрутизатора, необходимо настроить менеджер на использование имени Admin2.
630
Глава 11
В протоколах SNMPvl и SNMPv2 групповые имена перемещаются по сети в виде открытого текста, в результате чего они становятся еще более незащищенными. Более того, большинство производителей по умолчанию устанавливают групповое имя только для чтения PUBLIC, а для чтения и записи — PRIVATE, до крайности упрощая задачу проникновения в SMNP-системы. Учтите, что групповое имя только для чтения позволяет просматривать SNMP-данные (что, с точки зрения безопасности, довольно плохо), а групповое имя для чтения и записи — модифицировать эти данные (а это еще хуже). Обратимся к рис. 11.6; в изображенной на нем расшифровке пакета отчетливо просматривается групповое имя PUBLIC. Профессиональный хакер с помощью групповых имен может напрямую нанести вашей сети серьезные повреждения, а если он получит полномочия в системах, то косвенно нанесенный ущерб будет еще больше. Это особенно опасно в среде Windows 2000, в которой служба протокола SNMP работает в системной учетной записи, обладая административными полномочиями.
Установка и конфигурация SNMP-агентов и консолей
Количество SNMP-агентов примерно эквивалентно количеству сетевых устройств; причина этого состоит в том, что SNMP-агенты исполняют роль интерфейсов между конкретными аппаратными или программными компонентами, с одной стороны, и протоколом SNMP, с другой. Таким образом, они носят индивидуальный характер не только по отношению к производителю, но и по отношению к отдельным продуктам. Поскольку агенты осуществляют текущий контроль разнообразных продуктов, таких как маршрутизаторы, пакеты планирования ресурсов предприятий (Enterprise Resource Planning, ERP), персональные компьютеры, серверы, даже устройства электроснабжения и кондиционеры, процесс их непосредственной установки варьирует от случая к случаю, но все они подчиняются общим основным принципам. Именно эти принципы, а также некоторые вопросы конфигурации высокого уровня, и являются предметом рассмотрения этого раздела.
Так как агенты часто включаются в поставку программного обеспечения, обеспечивающего работу устройств и приложений, возможно, вам не придется их устанавливать. К примеру, SNMP-агенты для маршрутизаторов Cisco и Nortel входят в комплекты программного обеспечения Cisco IOS и Nortel RS, которые устанавливаются на маршрутизаторах производителями. Чтобы начать пользоваться таким агентом, вам нужно лишь ввести команду его разблокирования, а затем осуществить некоторые простые настройки. SNMP-агент для Microsoft Windows 2000 Server работает как служба. Он также включается в поставку операционной системы, но по умолчанию не устанавливается. Для его инсталляции выберите Пуск (Start) > Настройка
Мониторинг IP-сетей и управление ими
631
(Setting) > Панель управления (Control Panel) > Установка и удаление программ (Add/Remove Programs). Перейдите на кладку Добавление и удаление компонентов Windows (Windows Components), выделите пункт списка Средства управления и наблюдения (Management and Monitoring Tools) и нажмите кнопку Состав (Details). Затем установите флажок, находящийся рядом с записью Протокол SNMP (Simple Network Management Protocol). Далее, для начала инсталляции последовательно два раза нажмите кнопку ОК.
Почти все агенты содержат открытую базу MIB: MIB-2 (RFC 1213) и существенные компоненты частной базы MIB производителя. Последняя должна включать все объекты, характерные для данного устройства или программы. Возможно, время от времени (при выпуске новой базы MIB) ее придется обновлять, но обычно эта задача выполняется в ходе обыкновенных обновлений версий продукта. К примеру, в Windows обновление базы MIB выполняется с помощью служебных пакетов для всей операционной системы, а следовательно, обновлять базу данных управления вручную не приходится.
После успешной инсталляции агента порт 161 должен быть занят ожидающим устройством. Скажем, если вы введете netstat -а в командной строке Windows, то увидите следующее:
Proto LocalAddress Foreign Address
UDP servername:snmp *:*
Имейте в виду, что в случае с хорошо известными службами Microsoft заменяет номер порта после двоеточия именем данной службы. В противном Случае была бы выведена строка servername: 161.
Конфигурация агента
Процесс конфигурации большинства агентов чрезвычайно прост. В ходе него обычно решаются задачи трех видов.
1.	Ввод системной информации — например, контактов (Contact) и местоположения (Location). Это простые текстовые поля, заполнение которых не является обязательным. Они могут быть полезны при поиске неисправностей, но, с другой стороны, предоставление слишком большого количества информации увеличивает риски, связанные с безопасностью.
2.	Определение группового имени только для чтения. Обычно по умолчанию принимается слово PUBLIC.
3.	Определение группового имени для чтения и записи. Обычно по умолчанию принимается слово PRIVATE.
Перед тем как консоль управления начнет извлекать данные из агента, должно быть определено групповое имя только для чтения или для чтения и записи. Групповое имя для чтения и записи должно быть определено до
632
Глава 11
того, как консоль управления будет пытаться изменить конфигурацию устройства посредством SNMP-агента.
Новейшие спецификации протокола SNMP обеспечивают поддержку более строгой системы аутентификации, которая призвана разрешить проблемы, связанные с групповыми именами и слабыми незашифрованными паролями. Более того, многие производители реализуют контроль доступа, посредством которого агент получает возможность отвечать лишь на запросы, направленные с конкретного IP-адреса. Вне всяких сомнений, вам следует воспользоваться этими нововведениями.
Другой значимый компонент конфигурации агента — поддержка SNMP-ловушек. Настраивая службу SNMP Trap, вы должны указать IP-адрес консоли управления. Это — пункт назначения, в который будут отсылаться сообщения-ловушки. Поскольку ловушки связываются с несколькими изменениями системы, но лишь единицы из них в любой конкретный момент представляют для вас интерес, большинство производителей позволяют отбирать отдельные ловушки или их группы и указывать, какие из них и в какое время нужно отсылать. Зачастую агент настраивается таким образом, что ловушка отсылается при превышении порога (например, в случае, когда остается 20% свободного дискового пространства). В других случаях ловушка отсылается при обнаружении любой ошибки. Настройка ловушек может занять значительное время, однако этот процесс нельзя назвать слишком сложным. Ключ к успеху — это качественная документация и обеспечение согласованности множества аналогичных устройств.
Установка консоли
Процесс установки консоли сетевого управления значительно сложнее. По аналогии с SNMP-агентами, существует множество непохожих друг на друга фирменных консолей; по этой причине мы рассмотрим лишь общие для всех консолей вопросы инсталляции.
Устанавливая консоль, вы должны отдавать себе отчет в том, что она окажется средоточием сетевого управления. Она будет эффективна лишь в том случае, если сможет просматривать и редактировать бесчисленное количество настроек практически каждого устройства сети. Следовательно, необходимо приложить максимум усилий для обеспечения физической и сетевой защиты этого сервера.
Инсталляция сетевой консоли обычно требует установки с компакт-диска программного обеспечения, которое варьирует в зависимости от производителя и аппаратных средств. Так как консоли зачастую отслеживают огромные объемы данных, вероятно, вам заодно придется настроить базу данных SQL Server или Oracle. После установки вы должны поместить в базу данных управления (MDB) консоли базы управляющей информации (индиви
Мониторинг IP-сетей и управление ими
633
дуальные для каждого производителя) для всех устройств, которыми предполагается управлять. В результате консоль сможет понимать сообщения, получаемые от агентов. Такая структура ценна еще и потому, что она избавляет вас от необходимости заменять консоль при каждом обновлении управляемых сетевых устройств или программ. В этом случае нужно лишь предоставить консоли новую базу управляющей информации (MIB).
На практике большая часть SNMP-консолей являются частями пакетов программ, которые обычно называются "архитектурами". Продукты вроде HP's OpenView, Computer Associates' Unicenter TNG и IBM's Trivoli называются архитектурами постольку, поскольку они предоставляют основные SNMP-службы другим пакетам, вследствие чего программы управления, индивидуальные для каждого производителя и продукта (сменные модули вроде Cisco's CiscoWorks2000 и Nortel's Optivity) могут интегрироваться в единую консоль и работать совместно. Кроме того, они обеспечивают стандартные функции, которыми могут пользоваться все эти программы; в числе этих функций — автоматический поиск сетевых устройств, возможность отсылки предупреждений по электронной почте, на пейджер или с помощью каких-либо других средств, коррелирование и интеллектуальная интерпретация предупреждений. Примером последней функции может послужить ситуация, когда канал глобальной сети повреждается, а устройство сетевого управления обнаруживает невозможность достижения этого канала, а также служб и приложений на другой его стороне. Надо надеяться, что устройство управления осознает, что единственная проблема заключается в канале глобальной сети, и пошлет предупреждение только связанной с ним группе, не беспокоя им группы приложений серверов.
Конфигурация консоли
Конфигурация консолей сетевого управления — это очень сложная и продолжительная задача. Исходная конфигурация многих пакетов может занимать шесть месяцев и даже больше! Несмотря на это, конфигурация не бывает завершенной. В целях эффективного использования большинства возможностей, предоставляемых этими продуктами, они требуют специальных ресурсов и постоянного обслуживания.
Конфигурация начинается с процесса обнаружения. Консоль должна знать, какими устройствами ей предстоит управлять. Этот процесс может быть ручным (в этом случае вы должны самостоятельно ввести информацию о всех управляемых системах) или автоматическим (консоль отсылает SNMP-запросы на каждый IP-адрес диапазона, а затем добавляет их в свою базу данных). С помощью открытых баз управляющей информации консоль в большинстве случаев может определить тип, модель и версию практически любого устройства, но вам, скорее всего, потребуется ввести дополнительную информацию о каждом управляемом узле.
634	Гпава 11
После успешного обнаружения и определения всех узлов вы можете приступать к настройке графиков и диаграмм, предназначенных для просмотра статистики общего состояния сети. Более простые версии таких графиков (которые могут представлять собой, к примеру, индикаторы, меняющие цвет с зеленого на красный в зависимости от доступности или недоступности конкретной службы) часто помещаются на удаленных рабочих столах администраторов, в оперативных центрах и на "справочных столах". Расширенные статистические данные выводятся на экраны компьютеров специалистов по сетям или базам данных. Эти графики, равно как и другая статистическая информация, полезны при поиске неисправностей, анализе тенденций, документации и выполнении прочих задач.
Еще одна удобная функция, требующая существенной конфигурации, называется предупреждением. Мы уже говорили, что их часто настраивают в агентах для обеспечения возможности отсылки SNMP-ловушек в случае превышения какого-либо порога. Кроме того, вы должны сообщить консоли, что она должна предпринимать при получении ловушки. Многие консоли обладают очень мощными возможностями, связанными с конкретными сценариями. С их помощью можно настроить отсылку сообщения электронной почты с кодом ошибки и IP-адресом или отправку сообщения на пейджер с описанием проблемы. Кроме того, сценарии могут выполнять определенные действия. К примеру, если сервер регистрирует событие, указывающее на то, что служба перестала реагировать, сценарий консоли может остановить, а затем перезапустить эту службу.
Все эти возможности превращают архитектуры в чрезвычайно мощные инструменты, но при этом они требуют приложения серьезных усилий. Учтите, что наиболее полезной их характеристикой является масштабируемость. Сначала это может не бросаться в глаза, но назначение систем сетевого управления состоит в том, чтобы автоматизировать задачи сетевых администраторов, чтобы сеть могла расширяться, а количество управляющего персонала не увеличивалось.
SNMP-консоли, инструменты, утилиты и основные файлы
В этом разделе приводятся некоторые виды инструментов и утилит, без применения и обслуживания которых в SNMP-системах сетевого управления не обойтись. Для начала вам нужна консоль. Их великое множество, однако львиная доля рынка занята тремя продуктами (описанными в разд. "Установка консоли"этой главы)'.
□	HP OpenView's Network Node Manager (NNM) (http://managementsoftware.
hp.com/products/nnm/);
Мониторинг IP-сетей и управление ими
635
□	IBM's Tivoli NetView (http://www.tivoli.com/products/index/netview/);
□	Computer Associates' Unicenter TNG (http://www.cai.com/unicenter/).
Существует множество других, менее значительных утилит, которые могут сильно облегчить задачу поддержки системы управления. Популярная утилита под названием MIB-браузер применяется для просмотра самих баз управляющей информации. Пакет SNMP Utilities Release 3.0 от компании Advent включает 2 MIB-браузера: стандартный и на основе HTML. Более подробная информация — на сайте http://www.adventnet.com/products/ snmputilities/faq.html.
Компания Solar Winds разработала известный набор SNMP-утилит, в которых входят MIB-браузеры и "чистильщики" (sweepers). Последние используются для "чистки" подсети. Они отправляют SNMP-запросы всем устройствам, находящимся в подсети, и мгновенно отображают всю доступную информацию. К примеру, с помощью утилиты Network Browser в операционной системе Windows NT Server чистильщики возвращают список всех совместно используемых ресурсов (включая скрытые и административные), список пользовательских учетных записей (включая скрытые), полную информацию обо всех сетевых интерфейсах и т. д. Все эти данные извлекаются посредством SNMP-команд GET. Опробовав этот продукт, вы наверняка сможете оценить серьезность проблем SNMP-защиты. Более подробную информацию о Solar Winds можно найти на сайте http://www.sohrwinds.net/.
Еще один набор SNMP-утилит создан в компании Logisoft AR. Эти инструменты позволяют вручную создавать команды GET и отсылать их другим устройствам. Дополнительная информация — на сайте http://www.logisoftar.com/ SnmpUtils.htm.
Наконец, стоит упомянуть SNMP-набор Utils университета Карнеги-Меллона. Более развернутые данные об этих инструментах опубликованы на странице http://www.gaertner.de/snmp/welcome-3.7hst.html.
Интеграция SNMP
с другими средами управления
В целях обеспечения более эффективного сетевого управления некоторые наиболее распространенные среды, такие как HP OpenView и Tivoli Unicenter TNG, используют протокол SNMP в связи с другими программными модулями. Эти модули берут данные, предоставляемые SNMP-устройствами, и с их помощью составляют базы данных событий. Среди самых общеупотребительных модулей — такие, как PING, обеспечивающий возможность соединения с управляемыми устройствами (даже если они не поддерживают никаких других функций управления вроде SNMP); модули контроля изменения баз данных, отслеживающие модификации файлов
636
Глава 11
конфигураций устройств; динамические топологические схемы, отвечающие за графическое представление облика сети; инвентаризационные модули, описывающие текущий инвентарь и предоставляющие специальную информацию об уровнях версий программных и программно-аппаратных средств; слежение на уровне служб, оповещающее о производительности сети в соответствии с предопределенными соглашениями.
Наконец, чтобы данные, собранные с помощью протокола SNMP, можно было эффективно использовать, иные управляемые среды располагают функциями отчетности. Посредством этих служб можно брать сырые данные из SNMP-устройств и придавать им более или менее содержательный вид. Практически на каждой платформе сетевого управления есть компонент, называемый опросником', он регулярно отсылает сетевым устройствам запросы, собирая информацию (об использовании пропускной способности, центрального процессора и дискового пространства, о наличии сетевых ошибок и т. д.), а затем сохраняя ее в базе данных для дальнейшего к ней возвращения. К такой базе данных может обращаться инструмент генерирования отчетов, собирая статистические данные, которые дают сетевому менеджеру представление о производительности сети, подобно тому, как основные показатели состояния нашего организма дают врачу представление об общем состоянии здоровья.
Поиск неисправностей SNMP
Реализации протокола SNMPvl довольно просты, и поэтому, в целом, искать неисправности в них довольно удобно; как бы то ни было, есть несколько моментов, на которые при возникновении проблем следует обратить внимание. Из-за популярности протокола SNMP многие производители стали внедрять в свои продукты возможности SNMP-агентов. Проблемы возникают тогда, когда производители начинают применять усовершенствованные или частные идентификаторы объектов, не специфицированные в документах RFC. К примеру, система управления сетью может запросить конкретный SNMP-объект у устройства, которое, находясь в частном пространстве объектов (1.3.6.1.4), по-разному определено в SNMP-агенте и на сервере управления сетью. В результате система управления сетью получит либо ошибку "нет такого объекта", либо, что еще хуже, ошибочную информацию. Выявить и исправить такую проблему удобнее всего, исследовав текущие пакеты между устройствами с помощью анализатора протоколов. Это поможет установить, где именно произошло разъединение, и решить, какие действия следует предйринять. Для производителей совершенно нехарактерно периодическое обновление и предоставление клиентам баз управляющей информации.
Другая распространенная ошибка связана с использованием групповых имен. Такие имена на устройстве сетевого управления и в SNMP-агенте
Мониторинг IP-сетей и управление ими
637
должны полностью совпадать. Групповые имена чувствительны к регистру, а следовательно, public — это не то же самое, что public. Кроме того, не забудьте, что есть три уровня групповых имен: для чтения (мониторинга), для чтения и записи (управления) и предупреждения (ловушек). Убедитесь, что применяемый пароль соответствует уровню доступа в агенте или устройстве сетевого управления, который вы собираетесь получить. Опять же, при возникновении проблемы с получением доступа к агенту или устройству управления вам может помочь анализатор протоколов.
Выводы по главе
□	Управление сетью подразумевает установку на управляемые устройства специальных программных компонентов, называемых агентами управления; они могут отчитываться или отвечать на опросы объектов управления в системе управления сетью (NMS).
□	Несмотря на то, что большинство процессов, связанных с управлением сети, осуществляются средствами этой самой сети (что называется внутриполосным управлением), почти все системы управления сетями предусматривают различные методы внеполосного управления, обеспечивающие возможность обращения к управляемым устройствам даже тогда, когда сама сеть не функционирует.
□	Система управления сетью зиждется на двух основных видах деятельности: способности управляемых устройств выдавать предупреждения об определенных событиях и способности объектов управления регулярно опрашивать управляемые устройства с целью сбора и группировки данных об этих устройствах, а также о сетях, их соединяющих.
□	Порядок сетевого управления определяется в модели сетевого управления OSI, которая различает пять уровней процессов: управление сетевым учетом (Accounting Management) — связывает пользователей и группы с использованием сети; конфигурационное управление (Configuration Management) — собирает и координирует конфигурационные данные управляемых устройств; контроль неисправностей (Fault Management) — узнает о случающихся сетевых и соответствующих системных неисправностях, отчитывается об их появлении и пытается их исправить; контроль производительности (Performance Management) — характеризует режимы функционирования сети, пропускную способность и отчитывается об этих параметрах; управление защитой (Security Management) — устанавливает на сетевых ресурсах средства управления доступом, осуществляет текущий контроль на предмет незаконных попыток входа.
□	В IP-сетях протокол SNMP (Simple Network Management Protocol, простой протокол сетевого управления) обеспечивает передачу управление-
638
Глава 11
ских сообщений и данных между агентами и объектами управления. Несмотря на то, что к настоящему моменту определены и систематизированы три версии протокола SNMP, версия SNMPvI остается наиболее распространенной из них.
□	Управляющая информация протокола SNMP, разделенная по устройствам, хранится в базе данных управляемых объектов, называемой MIB (Management Information Base, база управляющей информации). Среди разновидностей MIB, встречающихся в IP-сетях, выделяют стандартные базы MIB-2, ATM MIB, printer MIB, а также IPv6 MIB. Структура управленческой информации таких баз поддерживается с помощью ASN.1 (Abstract Syntax Notation One, абстрактная синтаксическая нотация версии 1) — языка, описывающего типы идентификаторов объектов баз MIB. В настоящее время самой распространенной разновидностью баз управляющей информации является MIB-2; она поддерживается сетевыми устройствами, управляемыми посредством протокола SNMP.
□	Принципиальным является последовательность загрузки баз управляющей информации в управляющее устройство, т. к. между отдельными базами существуют устойчивые зависимости. Для обеспечения работоспособности перекрестных ссылок необходимо загружать базы, на которые ссылаются другие базы.
□	База RMON MIB (Remote Monitoring MIB, база удаленного мониторинга) используется для текущего контроля и управления удаленными сегментами распределенной сети. Зонды RMON отчитываются о собранной информации о состоянии сети и процессах, в ней происходящих, и предоставляют довольно полный образ трафика, ошибок и режимов работы сети.
□	SNMP-сообщения используют протокол UDP для транспортировки, и протокол IP для сетевого доступа. Пять SNMP-команд, применяется для координации сообщений между менеджерами и агентами: get-request, GET-RESPONSE, GET-NEXT, SET И TRAP.
□	К сожалению, т. к. наиболее часто применяемая версия протокола SNMP, SNMPvI, практически не содержит функций защиты, обеспечение SNMP-безопасности подразумевает смену групповых имен, устанавливаемых по умолчанию, и контроль передачи SNMP-сообщений через границы корпоративных сетей.
□	Поиск неисправностей, связанных с протоколом SNMP, требует практического знания состояния локальной сети, групповых имен, существующих мер безопасности, а также применяемых идентификаторов объектов (OID).
Мониторинг IP-сетей и управление ими
639
Основные термины
ASN.l (Abstract Syntax Notation One, абстрактная синтаксическая нотация версии 1) — язык описания типа и идентификатора объекта.
SNMP-агент (SNMP agent) — программный компонент, расположенный в управляемом объекте и связывающийся с SNMP-менеджерами посредством SNMP-команд. Программное обеспечение SNMP-агента обслуживает базу управляющей информации.
SNMP-менеджер (SNMP manager) — программное обеспечение, отправляющее SNMP-команды SNMP-агенту.
Агент управления (management agent) — программный компонент на управляемом устройстве, собирающий управляющую информацию в локальную базу данных управления, имеющий возможность отвечать на запросы объекта управления на эти данные или направлять этому объекту предупреждения по поводу определенных событий или превышения порогов.
База данных управления (management database, MDB) — совокупность данных об отдельно взятом управляемом устройстве, собираемые агентом управления с целью доставки объекту управления. Так же называется упорядоченная совокупность данных из управляемых устройств, хранящаяся в системе управления сетью и описывающая состояние и условия функционирования сети.
База управляющей информации (Management Information Base, MIB) — база данных объектов или параметров устройств, поддающихся управлению.
Внеполосное управление (out-of-band management) — схема управления, в которой для обмена управляющей информацией протокола SNMP применяется путь, отличный от информационного. По этой причине данные внеполосного управления могут доходить до управляющего устройства даже в тех ситуациях, когда первичный информационный путь становится недоступным.
Внутриполосное управление (in-band management) — схема управления, в которой в качестве основного пути передачи управляющих данных применяется информационный путь. Основная проблема, связанная с внутриполосным управлением, состоит в том, что данные не могут достичь управляющего устройства в то время, когда информационный путь не функционирует.
Гетерогенная среда (heterogeneous environment) — сетевая среда, состоящая из разнородного оборудования, часто от разных производителей.
Групповое имя (community name) — слово, применяемое в качестве пароля доступа к информации только для чтения (мониторинга), чтения и записи (управления) или предупреждения (ловушек). Также называется строкой.
640
Глава 11
Дерево объектов (object tree) — древоподобная структура, описывающая и организующая управляемые объекты в базе управляющей информации.
Идентификатор объекта (object identifier, OID) — последовательность неотрицательных целочисленных значений, применяемая для обращения к отдельно взятому объекту в базе управляющей информации.
Контроль неисправностей (Fault Management) — одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; отвечает за обнаружение и регистрацию сетевых и системных проблем и при возможности исправляет их.
Контроль производительности (Performance Management) — одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI. Контроль производительности отвечает за измерение и текущий контроль уровней трафика, использования и других статистических параметров поведения сети и системы.
Конфигурационное управление (Configuration Management) — одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; осуществляет документирование и регулирование сетевых и системных конфигурационных данных.
Объект (object) — элемент, который может находиться под управлением SNMP-агента.
Объект управления (management entity) — программный процесс, опрашивающий управляемые устройства на предмет управляющей информации и собирающий ее; может отвечать на предупреждения, исходящие из управляемых им устройств.
Подчиненные (subordinates) — сегменты ("ветви") древовидной структуры базы управляющей информации.
Порог события (event threshold) — заданная точка, в которой генерируется сообщение SNMP TRAP (ловушка). Порог события может обозначать как возникновение проблемы, так и неаварийное событие.
Посредник управления (menagement proxy) — специальный компонент программы сетевого управления, делающий возможным управление систем управления сетью на нижнем уровне единой системой высшего уровня. В основном, посредник выполняет требования отчетности и опросов, предъявляемые системами высшего уровня, путем преобразования форматов сообщений и данных, применяемых в системах низшего и высшего уровней, и наоборот.
Протокол управления сетью (network management protocol) — любой из нескольких протоколов и служб Прикладного уровня, используемых для передачи сообщений сетевого управления, включая команды, опросы
Мониторинг IP-сетей и управление ими
641
(запросы и ответы) и предупреждения. В сетях TCP/IP стандартным и наиболее распространенным протоколом этого типа является SNMP.
Распределенное управленческое решение (distributed management solution) — схема управления, в которой управляющая информация об устройствах распространяется по сети. В этой схеме может действовать несколько управляющих устройств.
Сетевой зонд (network probe) — отдельно взятое автономное устройство, осуществляющее мониторинг и управление удаленными сегментами сети.
Система управления сетью (Network Management System, NMS) — программные или аппаратные средства, внутри которых функционируют объекты управления, и в которых можно устанавливать, настраивать, координировать и регулировать функции сетевого управления.
Структура информации для управления сетью (Structure of Management Information, SMI) — определенная структура объектов, содержащихся в базе управляющей информации. Это древовидная структура, по своей организации во многом напоминающая иерархию файлов и каталогов на жестком диске.
Управление защитой (Security Management) — одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI. Управление защитой контролирует доступ к сетевым ресурсам, стремясь избежать отказов от обслуживания, нежелательных обращений и вторжений, и ограничивая доступ к этим ресурсам исключительно на основе аутентификации и авторизации.
Управление сетевым учетом (Accounting Management) — одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; управление сетевым учетом выполняет функции подсчета использования сети и служб с целью контроля или регламентации отдельных пользователей или их групп.
Управляемое устройство (managed device) — любая система или служба, в которой установлено и запущено программное обеспечение агента управления, готовое издавать предупреждения и отвечать на запросы на управляющую информацию.
Управляемые объекты (manageable objects) — элементы или характеристики устройства, настройки или состояние которых может быть запрошено SNMP-менеджерами. Список управляемых объектов содержится в базе управляющей информации.
Частная база управляющей информации (MIB) (private MIB) — фирменная база управляющей информации (MIB), определяющая управляемые объекты устройства производителя.
642
Гпава 11
Контрольные вопросы
1.	Какие два из нижеприведенных видов деятельности составляют основу функций сетевого управления?
а)	способность собирать управляющую информацию путем опроса управляемых устройств;
б)	способность к удаленному управлению устройствами;
в)	способность к взаимодействию с базами данных управления;
г)	способность управляемых устройств к изданию предупреждений в ответ на определенные события;
д)	способность к интеграции и управлению множеством уровней систем управления сетями.
2.	В качестве управляемого устройства может выступать любая система, в которой работает агент управления, готовый отвечать на опросы и реагировать на локальные рабочие условия. Да или нет?
а)	да;
б)	нет.
3.	Какой программный компонент работает на управляемом устройстве, выполняя функции управления и сбора управляющей информации?
а)	агент управления;
б)	объект управления;
в)	консоль управления;
г)	система управления сетью;
д)	посредник управления.
4.	Какой программный компонент работает в системе управления сетью, координируя процессы управления и группируя собранную управляющую информацию?
а)	агент управления;
б)	объект управления;
в)	консоль управления;
г)	система управления сетью;
д)	посредник управления.
5.	Какой программный компонент обеспечивает групповое управление нескольких уровней системы управления сетью?
а)	агент управления;
б)	объект управления;
Мониторинг IP-сетей и управление ими
643
в)	консоль управления;
г)	система управления сетью;
д)	посредник управления.
6.	Какой уровень модели сетевого управления OSI ответственен за текущий контроль доступа в сеть пользователей и групп, обеспечивая справедливые правила доступа, или отражая корпоративную политику, предоставляющую некоторым группам приоритетные права?
а)	управление сетевым учетом;
б)	конфигурационное управление;
в)	контроль неисправностей;
г)	контроль производительности;
д)	управление защитой.
7.	Какой уровень модели сетевого управления OSI ответственен за обнаружение и регистрацию ошибок, а также (при возможности) за их устранение?
а)	управление сетевым учетом;
б)	конфигурационное управление;
в)	контроль неисправностей;
г)	контроль производительности;
д)	управление защитой.
8.	На практике системы управления сетями, точно соответствующие модели сетевого управления OSI, встречаются крайне редко. Да или нет?
а)	да;
б)	нет.
9.	Какое из следующих определений лучше всего характеризует внеполосное сетевое управление?
а)	5-то методика, с помощью которой в широкополосной сети используются дополнительные частоты сообщений;
б)	это методика, с помощью которой для доступа к управляемому устройству применяется резервный канал (или техника) связи;
в)	это методика, с помощью которой сетевой доступ к управляемому устройству может быть разрешен или запрещен;
г)	это техника, с помощью которой сетевой канал, ведущий к управляемому устройству, применяется как для выполнения функций управления, так и для отправки обычных сетевых сообщений и предоставления доступа.
644
Глава 11
10.	Протокол управления сетью, присутствующий в стеке TCP/IP, называется:
a)	SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты);
б)	NNTP (Network News Transport Protocol, сетевой протокол передачи новостей);
в)	CMIP (Common Management Information Protocol, протокол общей управляющей информации);
г)	NMTP (Network Management Transport Protocol, сетевой протокол передачи управления);
д)	SNMP (Simple Network Management Protocol, простой протокол сетевого управления).
11.	Какие из следующих компонентов связываются с версией 1 стандартного для TCP/IP протокола управления сетью? (Выберите все подходящие ответы.)
а)	объекты базы управляющей информации;
б)	агенты;
в)	менеджеры;
г)	консоли;
д)	сообщения.
12.	Какой тип объекта базы управляющей информации может поддерживать маршрутизатор, управляемый с помощью протокола IP? (Выберите все подходящие ответы.)
а)	сетевые интерфейсы;
б)	статистика приложений;
. в) статистика пакетов;
г) ни один из вышеперечисленных.
13.	Какой из следующих подчиненных MIB-2 соответствует протоколу маршрутизации OSPF?
а)	1;
б)	2;
в)	Т,
г)	14;
д)	23.
Мониторинг IP-сетей и управление ими
645
14.	Какой термин обозначает фирменную или специализированную базу управляющей информации, созданную производителем в дополнение к стандартной базе вроде MIB-2?
а)	фирменная база управляющей информации;
б)	специализированная база управляющей информации;
в)	частная база управляющей информации;
г)	открытая база управляющей информации;
д)	нестандартная база управляющей информации.
15.	Чем объясняется необходимость загрузки баз управляющей информации в точной последовательности?
а)	сетевое управление невозможно без сохранения должного порядка баз управляющей информации;
б)	если одна база управляющей информации (MIB) использует объекты, описанные в другой MIB, она не сможет разрешить эти описания, если определяющая MIB загружена не была;
в)	любая MIB, ссылающаяся на объекты в другой MIB, должна быть загружена до того, как ссылки станут возможны;
г)	разрешение неопределенных объектов невозможно.
16.	Агент RMON называется посредником. Да или нет?
а)	да;
б)	нет.
17.	Если устройство удаленного мониторинга использует какую-либо группу объектов RMON, оно должно применять все объекты этой группы. Да или нет?
а)	да;
б)	нет.
18.	Какое из следующих определений лучше всего описывает взаимоотношения между SNMP-менеджерами и SNMP-агентами?
а)	агенты отсылают менеджерам запросы на данные из MIB;
б)	менеджеры отсылают агентам запросы на данные из MIB;
в)	агенты устанавливаются на управляемых устройствах;
г)	менеджеры устанавливаются в системах управления сетями.
19.	Какой тип SNMP-сообщений, в отличие от остальных, отсылается SNMP-агентом SNMP-менеджеру в инициативном режиме?
а)	команды get;
б)	зет;
646
Глава 11
в)	trap;
Г) TRIGGER.
20.	На какие три категории разделяются групповые SNMP-имена?
а)	групповое имя по умолчанию;
б)	групповое имя хоста;
в)	групповое имя только для чтения;
г)	групповое имя для чтения и записи;
д)	групповое имя предупреждения.
21.	Групповое имя по умолчанию для SNMP — DEFAULT. Да или нет?
а)	да;
б)	нет.
22.	Какие адреса портов протоколов TCP и UDP прослушивает SNMP-агент управления?
а)	139;
б)	161;
в)	179;
г)	500.
23.	Как обычно называют программное средство, используемое для просмотра содержимого MIB SNMP?
а)	программа считывания MIB;
б)	инспектор MIB;
в)	браузер MIB;
г)	редактор MIB.
24.	Чтобы должным образом представить управляющую информацию протокола SNMP в целях изучения тенденций и анализа статистики, к базе данных управления необходимо применить генератор отчетов. Да или нет? а) да;
б)	нет.
25.	Какой побочный эффект возможен в условиях, когда производитель применяет модернизированные (частные) идентификаторы объектов MIB, не специфицированных в документах RFC, посвященных вопросам управления, а агенты и менеджеры пользуются разными описаниями идентификаторов объектов? (Выберите все подходящие ответы.) а) агент может выйти из строя и отказаться работать;
б)	агент может возвратить сообщение об ошибке "нет такого объекта";
Мониторинг IP-сетей и управление ими
647
в)	система управления сетью может выйти из строя и отказаться работать;
г)	агент может сообщить об объекте, отличном от запрошенного;
д)	менеджер обновит агента, установив правильный идентификатор объекта.
26.	Все версии протокола SNMP располагают мощной системой аутентификации, защищающей групповые имена, которые используются для получения доступа к управляющей информации и средствам управления. Да или нет?
а)	да;
б)	нет.
Практические задания
Задание 11.1
Для выполнения следующих заданий вы должны работать в среде Windows 2000 с установленной демо-версией программы EtherPeek for Windows (она находится на сопровождающем книгу компакт-диске). В некоторых случаях вам также потребуется доступ в сеть Internet.
Создание базового фильтра для трафика SNMP GET-REQUEST, GET-RESPONSE и GET-NEXT с помощью предопределенного описания протокола
1.	Запустите программу EtherPeek (о том, как это делается, написано в задании 1.2 главы Г).
2.	Выберите View в строке меню, а затем нажмите Filters. Появится окно Filters.
3.	Нажмите кнопку Insert. В результате появится окно Edit Filter.
4.	Введите "SNMP" в текстовом поле Filter.
5.	Установите флажок Protocol filter.
6.	Нажмите кнопку Protocol.
7.	Щелкните на значке плюс в прямоугольнике, чтобы развернуть пункт меню, соответствующий типу фреймов, который применяется в сети вашей аудитории. Если вы не знаете применяемый тип фреймов, попробуйте захватить несколько пакетов и просмотреть их заголовки.
8.	Щелкните на значке плюс в прямоугольнике рядом с обозначением IP, чтобы развернуть список протоколов на основе протокола IP.
648
Глава 11
9.	Щелкните на значке плюс в прямоугольнике рядом с обозначением UDP, чтобы развернуть список протоколов на основе протокола UDP.
10.	Нажмите SNMP. Этот фильтр будет захватывать все пакеты, проходящие через порт 161 в обе стороны. Сообщения SNMP TRAP захватываться не будут. Выполняя задание 11.2, вы сможете создать более сложный SNMP-фильтр.
11.	Для возврата к окну Edit Filter нажмите кнопку ОК.
12.	Чтобы активизировать созданный фильтр, нажмите кнопку ОК.
13.	Сразу переходите к заданию 11.2.
Задание 11.2
Создание сложного фильтра на основе трафика
SNMP GET-REQUEST, GET-RESPONSE, GET-NEXT и TRAP
1.	Нажмите кнопку Insert в окне Filters программы EtherPeek. Появится окно Edit Filter.
2.	Введите имя фильтра "SNMP-All" в текстовом поле Filter.
3.	Щелкните на стрелке вниз, находящейся рядом с полем Туре, а затем нажмите Advanced. Появится окно Advanced Edit Filter.
4.	Нажмите кнопку And, а затем — кнопку Protocol.
5.	Щелкните на значке плюс в прямоугольнике, расположенном рядом с записью типа фреймов, который применяется в вашей сети. В результате появится список предопределенных фильтров протоколов.
6.	Щелкните на значке плюс в прямоугольнике рядом с обозначением IP, а затем — на таком же значке рядом с UDP. Нажмите SNMP.
7.	Нажмите кнопку ОК. В окне Advanced Edit Filter появится значение Protocol UDP SNMP.
8.	Поскольку вы заинтересованы в пакетах сообщений SNMP Get (get-request, get-response или get-next) или SNMP TRA!?, нажмите кнопку Or, щелкните Protocol, а затем вновь щелкните на значке плюс рядом с применяемым в вашей сети типом фреймов.'
9.	Щелкните на значке плюс в прямоугольнике рядом с обозначением IP, а затем — на таком же значке рядом с UDP. Прокрутите окно вниз и щелкните SNMP-Trap.
10.	Для возврата к окну Edit Filter нажмите кнопку ОК. Чтобы перейти к окну Filters, нажмите кнопку ОК еще раз.
11.	Сразу переходите к заданию 11.3.
Мониторинг IP-сетей и управление ими
649
Задание 11.3
Создание сложного фильтра на основе трафика SNMP GET-REQUEST, GET-RESPONSE и GET-NEXT из несанкционированных источников
1.	Нажмите кнопку Insert в окне Filters программы EtherPeek. Появится окно Edit Filter.
2.	Введите имя фильтра "SNMP-Unauthorized" в текстовом поле Filter. В этом проекте предполагается, что в вашей сети присутствует один SNMP-менеджер с IP-адресом 10.23.3.4. Вам предстоит создать фильтр для всего SNMP-трафика, исходящего от всех устройств, кроме 10.23.3.4. При организации SNMP-фильтра вы воспользуетесь методом описания порта.
3.	Щелкните на стрелке рядом с полем Туре. Выберите Advanced. В результате появится окно Advanced Edit Filter.
4.	Нажмите кнопку And. Выберите Port.
5.	Введите значение "161" в поле Port 1. В поле Port 2 оставьте значение "Any port".
6.	Для возврата к окну Edit Filter нажмите кнопку ОК.
7.	Нажмите кнопку And. Нажмите Address.
8.	Щелкните на стрелке в поле Туре. Нажмите IP.
9.	Введите адрес 10.23.3.4 в поле Address. В поле Address 2 оставьте значение "Any address".
10.	Нажмите кнопку ОК. Появится окно Edit Filter. Теперь фильтр захватывает весь трафик SNMP get-request, get-reponse и get-next с адреса 10.23.3.4. Впрочем, вам нужен SNMP-трафик из несанкционированных источников.
11.	Щелкните в области, в которой отображается только что созданный фильтр Address. Нажмите кнопку Not. Таким образом, вы определили фильтр для всего SNMP-трафика, проходящего через порт 161, кроме того, что исходит от устройства 10.23.3.4.
12.	Закройте демо-версию программы EtherPeek for Windows.
Учебные задачи
1.	Предположим, что недавно в вашей компании было принято решение об установке системы управления сетью. В данный момент глобальная сеть состоит из семи сетей, разделенных маршрутизаторами. Эти сети поддерживают 12 серверов и 145 клиентов. Набросайте краткий план управленческого решения для вашей сети.
650
Глава 11
2.	Допустим, что вас наняли для создания базы управляющей информации (MIB) для маршрутизаторов, выпускаемых вашей компанией. В данный момент она производит только маршрутизаторы для соединения сетей Ethernet и Token Ring, работающие на скорости 100 Мбит/с. Создайте структурированную древовидную схему базы MIB, которую можно было бы использовать для управления маршрутизаторами вашей компании. Можете изучить существующие базы управления маршрутизаторами.
3.	Предположим, что в течение недели вы анализировали SNMP-трафик в вашей сети и обнаружили ряд SNMP-сообщений, исходящих от несанкционированной системы. Кроме того, исследуя SNMP-трафик, вы обнаружили, что идентификаторы объектов ASN.1 не зашифровываются. Все они начинаются с 1.3.6.1.4.1.111. В частности, сетевое устройство управления постоянно отправляет запросы на объект 1.3.6.1.4.1.111.4.1.1.3. Ваша задача — определить, какие SNMP-сообщения отсылаются в ответ на эти запросы. Используя ресурсы сети Internet, идентифицируйте элемент, о котором отсылаются отчеты, и систематизируйте SNMP-трафик управления.
17
Глава 12	М
TCP/IP, NetBIOS и WINS
После прочтения этой главы и выполнения упражнений вы сможете:
□	решить, где и когда лучше всего применить NetBIOS;
□	изучить разнообразные способы разрешения имен NetBIOS;
□	узнать наиболее эффективные методы разрешения имен NetBIOS;
□	установить в сети WINS-сервер и интегрировать службу WINS с DNS.
Эта глава знакомит вас с NetBIOS (Network Basic Input/Output System, сетевая базовая система ввода/вывода) — старой сетевой технологией, когда-то составлявшей основу организации Windows-сетей, совместного использования файлов и принтеров. Вы узнаете, что представляет собой система NetBIOS, как она работает и каким образом она была модернизирована для применения в сетевой среде TCP/IP. Кроме того, в этой главе рассматривается служба имен Internet для Windows (Windows Internet Name Service, IVINS) как средство разрешения имен ресурсов NetBIOS, а также способы ее интеграции с DNS-серверами, распространенными в современных сетях TCP/IP.
Что такое система NetBIOS (и зачем она нужна)?
В большинстве современных Windows-клиентов NetBIOS является естественным методом получения доступа к сетевым ресурсам и разделения собственных ресурсов. Теоретически сеть, состоящая только из клиентов и серверов Windows 2000, не нуждается в установке протокола NetBIOS. Тем не менее, на практике очень немногие сети не применяют NetBIOS для совместного использования ресурсов с клиентами.
У NetBIOS есть два серьезных недостатка. Наиболее значимый из них состоит в том, что в его пространстве имен нет сетевого компонента. Имена NetBIOS — это действительно имена, а не адреса. Из-за этого ограничения
652
Глава 12
функционирование службы NetBIOS вне пределов одной сети требует использования TCP/IP или другого осведомленного о состоянии сети протокола. Второй недостаток менее существенен, но он производит впечатление "трудноизлечимого". Дело в том, что NetBIOS — это очень "болтливый" протокол: он постоянно и по любому поводу отсылает огромное количество коротких сообщений. Это свойство, бывшее незначительным в сетях с 20 или 40 машинами в 1980-х годах, может превратиться в большую проблему в современных сетях с тысячами клиентов, особенно если для разрешения имен используются каналы глобальной сети.
Несмотря на эти ограничения, а также существенные усовершенствования сетевых технологий Windows, осуществленные в течение последних лет, NetBIOS остается непременным компонентом любой Windows-сети.
Исторические ограничения NetBIOS
Система NetBIOS была разработана в 1985 году в компании Sytek, а позже заимствована IBM и Microsoft как средство присвоения имен сетевым ресурсам в небольших одноранговых сетях. Изначально NetBIOS предназначалась для именования компьютеров (предполагалось, что их имена должны были быть идентичны именам пользователей), затем — пользователей и, наконец, — других ресурсов локальной сети. Впоследствии понятия рабочих групп (workgroups) и доменов, введенные в Windows-сети, также реализовывались посредством имен NetBIOS. Исходно система NetBIOS была не протоколом, а программным интерфейсом приложения (Application Programming Interface, API), применяемым для обращения к сетевым ресурсам. В качестве транспортного протокола как такового выступал расширенный пользовательский интерфейс NetBIOS (NetBIOS Enhanced User Interface, NetBEUI), объединяя 2—5 уровни сетевой эталонной модели ISO/OSI (эталонной модели OSI).
Вплоть до появления операционной системы Windows NT 3.51 NetBIOS и NetBEUI были сетевыми методами, принятыми в Windows по умолчанию. Для обеспечения обратной совместимости поддержка NetBIOS и NetBEUI реализована во всех версиях Windows, включая Windows 2000. Даже самые современные принципы организации сетей, такие как протокол CIFS (Common Internet File System, общий протокол доступа к файлам Internet) и протокол SMB (Server Message Block, блок серверных сообщений), создавались на базе NetBIOS.
У каждого ресурса NetBIOS есть 15-символьное имя, предваряющее односимвольный (2-байтный) код, обозначающий тип этого ресурса. Так получилось, что возможность совместного использования ресурсов NetBIOS вне локальной сети так и не была обеспечена. Простая структура пространства имен NetBIOS не содержит средств для того, чтобы провести различие между, например, "Джоном в IBM Almaden" и "Джоном в IBM Armonk"; им
TCP/IP, NetBIOS и WINS
653
можно лишь присвоить уникальные имена. Несмотря на добавление групповых имен для доменов и рабочих групп Windows, пространство имен NetBIOS не выстроено в четкую иерархию. С точки зрения NetBIOS, есть только одна сеть — та, в которой эта система находится. В отсутствие сетевого компонента (наподобие того, что присутствует в IP-адресе) маршрутизация NetBIOS и NetBEUI в принципе невозможна. Собственно говоря, заданная конфигурация большинства маршрутизаторов запрещает им маршрутизировать пакеты NetBEUI. Это именно то, что нужно, учитывать, когда ресурс NetBIOS с именем "John" (Джон) в одной сети может кардинально отличаться от ресурса "John" (Джон) в другой сети, но различия между ними не проводится.
В начале 1990-х в компании Novell была разработана схема маршрутизации трафика NetBIOS путем его инкапсуляции в протокол IPX. В результате в сетях NetWare IPX-представление сетевой иерархии предоставило возможность преодолеть ограничения NetBIOS. Не заставила себя ждать реакция компании Microsoft, предложившая инкапсуляцию трафика NetBIOS в UDP- или TCP-пакеты, работающих на основе протокола IP. Начиная с версии Windows NT 3.51 стандартной сетевой схемой Windows стала NetBIOS over TCP/IP (сокращения: NetBT или NBT). .
Маршрутизация трафика NetBIOS в сторонние сети предполагает возможность идентификации компьютера, предлагающего эти ресурсы, — для разрешения имени NetBIOS в конкретный процесс на конкретной машине. В 1987 году компанией Microsoft было предложено использование серверов имен NetBIOS (NetBIOS Name Seivers, NBNS). Этот подход был реализован в WINS-сервере — сначала в Windows NT Server, а потом и в Windows 2000 Server.
NetBIOS в Windows 2000
С самого начала система NetBIOS со своими расширениями и производными составляла основу организации одноранговых Windows-сетей. В компании Microsoft делались попытки преодолеть исходные ограничения NetBIOS, однако желание соблюсти обратную совместимость означало невозможность полного отказа от NetBIOS и NetBEUI. Даже последние достижения в технологиях организации сетей Windows, такие как протоколы CIFS и SMB, основаны на ядре NetBIOS.
Windows 2000 — это первая операционная система Microsoft, в которой предпочтительным методом разрешения имен и адресов является служба DNS, а не производные NetBIOS. Но даже в этих условиях DNS-службы Windows 2000 можно интегрировать с WINS-службами, что гарантирует возможность взаимодействия со старыми системами Windows.
654
Глава 12
Есть множество способов конфигурации Windows 2000, которые позволяют приспособиться к различным сетевым средам. В сети, в которой используется только Windows 2000, разрешение сетевых IP-имен и адресов можно осуществлять с помощью служб Active Directory (AD) и DNS. В Active Directory применяется Microsoft-реализация облегченного протокола службы' каталогов (Lightweight Directory Access Protocol, LDAP). Тем не менее, для совместного со старыми версиями Windows использования ресурсов необходимо включить разрешение имен NetBIOS. В зависимости от возраста операционных систем и типов взаимодействия между ними, может потребоваться установка и конфигурация NetBEUI, который теперь называется фреймовым протоколом NetBIOS (NetBIOS Frame, NBF); это позволит обеспечить обратную совместимость.
Более 15 лет система NetBIOS подвергалась бесчисленным обновлениям, инкапсуляциям, модификациям и усовершенствованиям. В ходе этого процесса она приобретала новые функции, которые наслаивались на нее, как на луковицу. В дальнейшем мы постараемся, отбросив все наложения, продемонстрировать ядро этой системы, постепенно раскрывая схему организации Windows-сетей с помощью NetBIOS, чтобы вы могли разобраться в том, как работает этот базовый компонент.
NetBIOS в перспективе
В сетевой схеме Windows 2000 NetBIOS присутствует на нескольких уровнях. В некотором смысле Windows 2000 — это переходная операционная система, в которой предпринята попытка ослабить зависимость от NetBIOS и NetBEUI, характерную для более старых версий Windows. Способы разрешения имен сетевых ресурсов в сетях Windows 2000 довольно разнообразны. Для нас важны три таких способа: абсолютное игнорирование NetBIOS и применение только DNS, полное разделение NetBIOS и TCP/IP и их сочетание.
Оптимальный способ организации сети в среде, состоящей только из систем, базирующихся на Windows 2000, предполагает прямое главенство блока серверных сообщений (протокола Server Message Block, SMB), применение Active Directory в качестве контроллера домена и службы DNS для разрешения имен. Если компьютер настроен на прямое главенство протокола SMB, то этот протокол осуществляет запросы через интерфейс Windows Sockets (Winsock), а не NetBIOS. Тем не менее, такая схема работает только в сетях, в которых нет операционных систем Windows старше версии 2000. Если в вашей сети системы Windows 2000 соседствуют с системами Linux или UNIX, то, возможно, это — лучшее решение. Помните, что старые клиенты и приложения (например, функции сетевого просмотра в Windows Explorer) не могут идентифицировать сетевые ресурсы и обращаться к ним без NetBIOS.
TCP/IPJIetBIOS и WINS
655
На другом полюсе находятся сети, в которых есть старые клиенты и по какой-то причине существует необходимость ограничения просмотра сетевых ресурсов локальным сегментом сети. В целях достижения полной обратной совместимости Windows 2000 может использовать протокол NBF (NetBIOS Frame, фреймовый протокол NetBIOS) в качестве сетевого транспортного протокола. Если вы хотите намеренно ограничить совместное использование ресурсов локальным сегментом сети, свяжите совместное использование принтеров и файлов Windows с протоколом NBF, но не с TCP/IP.
Возможны и некоторые промежуточные решения, когда трафик NetBIOS передается либо посредством TCP/IP, либо с помощью как TCP/IP, так и протокола NBF. Служба NetBIOS over TCP/IP сокращенно обозначается как NetBT или NBT. Разрешение имен NetBIOS может осуществляться с помощью любого из нескольких сочетаний методов — от сетевого широковещания и файлов LMHOSTS до интеграции WINS-серверов со службой DNS. Основная часть этой главы посвящена именно промежуточным решениям, применяющим службу NetBT, т. к. она представляется наиболее распространенным и удобным методом организации совместного использования сетевых ресурсов в среде Windows.
Конфигурация машин Windows 2000 по умолчанию разрешает и службу NetBT, и протокол NBF. Когда ресурс вызывается приложением, сетевой запрос на него отсылают они вместе. Windows 2000 использует тот протокол, который отвечает первым. Протокол NBF обычно быстрее отвечает на запросы, касающиеся совместного использования ресурсов в локальной сети. Так как NBF-маршрутизация невозможна, возвращать запросы на ресурсы NetBIOS вне локальной сети может только служба NetBT.
На рис. 12.1 изображается взаимоотношение между основными элементами операционной системы Windows 2000 и стеками протоколов применительно к вышеописанным методам использования имен сетевых ресурсов. Кроме того, на иллюстрации показано отношение этих элементов к эталонной модели OSI.
В верхней части иллюстрации находится типичное приложение, использующее сетевые ресурсы. В этом примере таким приложением является служба CIFS, применяющая протокол SMB. В числе других функций Прикладного уровня — сетевой просмотр в Windows Explorer, использующий интерфейс NetBIOS, и приложения TCP/IP вроде HTTP или SMTP, применяющие интерфейс Winsock.
Функция представления, соответствующая 6-му уровню эталонной модели OSI, отсутствует. Уровень представления вообще редко реализуется в сетевых протоколах Windows..
В операционной системе Windows 2000 эмулятор NetBIOS позволяет приложениям, таким как SMB и Lotus Notes, совершать запросы NetBIOS и преобразовывать их в команды, отсылаемые на интерфейс TDI (Transport Driver Interface, интерфейс транспортного драйвера) Windows 2000. TDI — это эта-
656
Глава 12
лонный стандарт, регламентирующий написание высших уровней всех сетевых транспортных протоколов. Соответствие этому стандарту позволяет приложениям взаимодействовать с любыми сетевыми транспортными протоколами в нормальном режиме. Кроме того, у запросов интерфейса Winsock может быть свой эмулятор в ядре (kernel) операционной системы. TDI и разнообразные эмуляторы программных интерфейсов приложений (API) исполняются в ядре, отвечая за функции управления сеансами, которые соответствуют 5-му уровню эталонной модели OSI.
Пользовательский режим
Привилегированный режим.
CIFS/SMB
Прикладной уровень ' '
Транспортные , протоколы
Эмулятор Winsock
Эмулятор NetBIOS
Сеансовый уровень '
Интерфейс транспортного драйвера (TDI)
Транспортный уровень
(4)
UDP
TCP
NBF (NetBEUI)
Сетевой уровень
(3)
Драйвер спецификаций интерфейса сетевых адаптеров
Драйвер сетевой интерфейсной платы
Канальный уровень
(2)

Физический ж
Физическая сеть	уровеНь (D
Рис. 12.1. Взаимоотношение между основными элементами операционной системы Windows 2000, стеками протоколов и эталонной моделью OSI
Обратите внимание на то, что TCP/IP и NBF считаются транспортными протоколами, охватывая 3-й и 4-й уровни эталонной модели OSI. В нормальных условиях протоколы CIFS и SMB направляют запросы интерфейсу NetBIOS с помощью динамически подключаемых библиотек (dynamic link library, DLL) на Прикладном уровне. Эти запросы исполняются эмулятором NetBIOS, работающим в ядре. Если конфигурация протокола SMB предполагает прямое главенство, его запросы направляются интерфейсу Winsock и исполняются эмулятором Winsock. В результате протокол SMB получает эквивалент прямого соединения с TCP/IP.
Драйвер (драйверы) спецификации NDIS (Network Driver Interface Specification, спецификация интерфейса сетевых адаптеров) предоставляет транспортным протоколам общий набор точек входа в сетевой адаптер
TCP/IP, NetBIOS и WINS 657
(адаптеры), установленный в системе. Учтите, что драйверы NDIS объединяют 2-й и 3-й уровни эталонной модели OSI. Драйверы сетевой интерфейсной платы (NIC) совершенно индивидуальны в зависимости от производителя и конкретной ее модели.
Все функции 2—5 уровней эталонной модели OSI выполняются модулем ввода/вывода в ядре Windows 2000. По этой причине они работают быстрее и безопаснее, чем в более ранних версиях операционных систем Windows.
Физический уровень выполняется вне ядра; он соответствует 1-му уровню эталонной модели OSI.
Зачем нужна система NetBIOS?
NetBIOS — это соглашение по присвоению имен, сетевой программный интерфейс приложения, а также набор протоколов для совместного использования сетевых ресурсов. Имена NetBIOS могут присваиваться компьютерам, пользователям, процессам, а также любому из нескольких видов групп. Приложения могут запрашивать эти ресурсы по их NetBIOS именам, используя функции NetBIOS-провайдера, реализованного в качестве библиотеки DLL в операционной системе Windows 2000. Среди приложений, использующих NetBIOS, — такие как функция сетевого просмотра в Windows Explorer, совместное использование файлов и печати Windows (в случае привязки к NetBIOS, что и происходит по умолчанию), Lotus Notes, Microsoft Exchange и другие сетевые протоколы, такие как менеджер локальных сетей (LAN Manager).
Как работает NetBIOS?
Вообще говоря, NetBIOS поддерживает список уникальных имен сетевых ресурсов, обеспечивает службы установления, охраны и разрешения этих имен, осуществляет передачу сообщений между приложениями, использующими эти сетевые ресурсы; среди именованных ресурсов — файлы, службы (процессы), пользователи, компьютеры, домены и рабочие группы Windows. NetBIOS гарантирует правильность, актуальность и уникальность имен и обеспечивает программные интерфейсы приложений (API) доступом к этим ресурсам. Для обращения к именованному ресурсу приложение должно совершить запрос к интерфейсу NetBIOS или найти имена доступных ресурсов. В зависимости от конфигураций NetBIOS на конкретных машинах эта система может предпринимать различные действия для разрешения имен в адреса. Затем она может отправлять сообщения для запрашивания именованного ресурса или открывать и поддерживать сеанс.
Трафик NetBIOS состоит из фреймов NetBIOS одного из двух типов: дейтаграмм или сеансовых фреймов. Дейтаграммы применяются в трафике для "объявления" без установления соединения или в запросах и ответах, кото-
22 Зак. 321
658
Глава 12
рые не требуют учреждения и поддержки надежного соединения между двумя хостами. Кроме того, в виде дейтаграмм передаются службы имен и службы дейтаграмм (datagram services) NetBIOS. Сеансы NetBIOS используются в ситуациях, в которых необходимо установление надежного соединения, — например, во время взаимодействия с процессом, работающим на другом хосте.
NetBIOS может предоставлять действующий протокол (в форме протокола NBF или NetBEUI), применяемый для транспортировки NetBIOS-сообщений. Когда сообщения пересылаются посредством протокола NBF или NetBEUI, они инкапсулируются непосредственно в части IEEE 802.2 LLC сетевого фрейма данных. Распределенный интерфейс передачи данных по волоконно-оптическим каналам (Fiber Distributed Data Interface, FDDI) и все сетевые протоколы серии IEEE 802 поддерживают стандарт управления логическим соединением (Logical Link Control, LLC) 802.2. Серия сетевых протоколов IEEE 802 состоит из 802.11 (беспроводные локальные сети), 802.3 (Ethernet) и 802.5 (Token Ring).
Когда NetBIOS, как и служба NetBT, работает посредством TCP/IP, дейтаграммы пересылаются в UDP-пакетах, а сеансовые фреймы — в ТСР-пакетах. Протокол UDP функционирует без установления соединения, в то время как протокол TCP создает и поддерживает надежное соединение, лучше согласующееся с потребностями сеансов NetBIOS.
Регистрация и поддержка имен NetBIOS
Утверждение существования имени и его принадлежности конкретному компьютеру, пользователю, процессу или группе называется регистрацией имени. Когда компьютер (в документации Microsoft NetBIOS он называется "конечным узлом") или пользователь подсоединяются к сети NetBIOS или когда запускается процесс с именем NetBIOS, они пытаются зарегистрировать свое имя посредством отсылки пакета запроса на регистрацию имени (Name Registration Request packet). В зависимости от конфигурации узла и сети, этот пакет может отсылаться как широковещательный или однонаправленный пакет WINS-серверу или обоими указанными способами. Если запрошенное имя уже затребовано другим узлом сети, то,WINS-сервер (или существующий держатель имени) отказывает инициатору запроса в использовании этого имени, отправляя ему отрицательный ответ на запрос регистрации имени (Name Registration Reply).
Разрешение имен NetBIOS
Существует несколько методов разрешения имен NetBIOS, и предпочтение одному из них отдается исходя из конфигурации клиента и доступности тех или иных типов служб. Альтернативные конфигурации и службы подробно обсуждаются далее в разд. "Регистрация и разрешение имен NetBIOS" этой главы.
TCP/IP, NetBIOS и WINS
659
Методы разрешения имен подразделяются на три основных категории:
□	поиск по списку на локальной машине;
□	отправление широковещательных запросов в локальную подсеть;
□	направление запросов на серверы имен.
Локальные списки содержат кэш имен NetBIOS, файлы LMHOSTS и HOSTS. На широковещательные запросы имен отвечает искомый хост или агент WINS. WINS является сервером имен, типичным для NetBIOS, однако возможна настройка DNS-серверов Microsoft на использование WINS для разрешения имен NetBIOS.
				iQsXSI
	_3B]|5S J Ц	Я	III	-cckUs !
S IEEE 802.3	0.000%		0 i	0
: BNetBEUI/MetBIOS	Й	7.634%		3,008 i	47 :
Session Initialize	0.162%		64 j	1 =
г-session End	0.162%		64 ;	i i
"Session Confirm	0.162%		64 i	1 :
Session Alive /--Name Recognized	0.162% 0.330%		64 j 130 !	. ij.
i i-Name Query	0.330%		130 :	2 т
: S-Datagram	0.000%		0 I	0 :
: в sub	0.000%		o i	0
! - Xact Name, B.. .	2.023%		797 1	4 '
 S Data Only Last	0,000%		0 .	0 ;
;	! 0 SHB	4. 444%		1,751 i	13 '
;• Tree Connect. . .	1.015%		400	2
:	i-Flush File	0.327%		129 :	1 ;
/•Delete Dir	0.195%		77;	1
!	‘ Create Dir	1	Z.997*<		1,181 :	9 ;
' -Data Ack	0.650%		256 ;	4 \
□ Ethernet Type 2	0.000%		0 ,	0 ‘
Й IP	Ci. 000%		6 J	0 i
 □ UDP	0.000%		0 !	o i
: ;-dms	0.642%		253 :	2 !
: в тс?	0.650%		256 '	4 i
=	0.325%		128 !	2 i
•, S-SessMsg	2.274%		896 i	14 i
; S SMB ,	1	8.443%		3,327 ’	25;
rXactZ Fu...	1	6.365%		2,508 i	12 i
!	rXact Nam...	Я	9.704%		3,824 !	18 :
*	-User Log...	0.513%		202 	2 .
•	i-Tree Dis...	0.985%		388 :	4 :
i	;- Find Close	0.995%		392 :	4 
• i	Close File	2.040%		804 ;	8 :
s	1 •Check Di...	0.632%		249 :	2 I
: HTTP  ’laol"	ШЙИ|МЕ1215% 0.325%		17,423 ; 128 	46 : 2
В ARP	0. 000-;		0 ;	0 \
:-R3p	0.650%		256 :	4 
- Req	0.650%		256 !	4 1
				
Рис. 12.2. Зачастую в одной сети NetBIOS работает как посредством протокола TCP/IP, так и NBF
660
Глава 12
Другие службы NetBIOS
Службы имен составляют основу NetBIOS, однако некоторые приложения могут обращаться к этой системе и за другими службами (рис. 12.2). Такие приложения, как Network Browser, LAN Manager, Exchange и Lotus Notes, используют службы дейтаграмм и службы сеансов (session services) NetBIOS. В этой главе нет их подробного описания, однако, принимая решение о том, стоит ли устанавливать NetBIOS, вы должны учитывать потенциальные нужды пользователей.
Имена NetBIOS
Имена NetBIOS основываются на имени пользователя, предоставленном во время входа в систему, а также на информации, указанной в папке Панель управления (Control Panel) > Сеть и удаленный доступ к сети (Network). Эту конфигурационную информацию можно вводить вручную (в соответствующих диалоговых окнах или посредством прямого редактирования реестра); с другой стороны, она может предоставляться DHCP-сервером Microsoft во время запуска сервера. Имена пользователя, компьютера и Windows-домена (или рабочей группы Windows) составляют основу имен NetBIOS, определяя имя пользователя, запросившего данный ресурс, службы, доступные на конкретной машине, членство в какой-либо рабочей группе и т. д.
Структура имен NetBIOS
Существуют два основных вида имен NetBIOS: уникальные и групповые имена. Имя первого типа разрешается в конкретный адрес. В качестве примеров можно привести имена компьютеров и пользователей. Групповые имена могут разрешаться в несколько адресов. Примерами могут послужить имена доменов и рабочих групп Windows.
Длина имени NetBIOS составляет 16 символов, и оно разделяется на две части. Первые 15 символов представляют само имя. Последний символ обозначает код описания класса ресурса, которому это имя соответствует. Имена NetBIOS, длина которых меньше 15 символов, набиваются вправо пробелами, которых ставится ровно столько, чтобы совокупная длина составила 15 символов. К примеру, именем NetBIOS службы сообщений на компьютере "Frank" было бы "FRANK 0x03", где после пяти символов, из которых состоит имя "Frank", ставится 10 пробелов (0x20). Имя завершается шестнадцатеричным числом (в нашем примере — 03), обозначающим тип ресурса, представляемого этим именем. Имена NetBIOS нечувствительны к регистру, однако для Microsoft и некоторых других производителей привычно представлять их в верхнем регистре.
TCP/IP, NetBIOS и WINS
661
Классы ресурсов рассматриваются в разд. "Типы имен и суффиксы NetBIOS".
Примечание
Шестнадцатеричные числа с основанием 16 чрезвычайно удобны в вычислительной технике, т. к. четыре бита (полубайт, иногда называемый "слогом") могут представлять ровно 16 различных значений от нуля до 15. В то время как обычные десятичные числа перед подстановкой единицы на следующую позицию отсчитываются от нуля до десяти, шестнадцатеричные числа отсчитываются от нуля до 15. Так, в арабской системе число, большее, чем 9, одной цифрой выразить нельзя, в ход идут первые шесть букв латинского алфавита: 10 (А), 11 (В), 12 (С), 13 (D), 14 (Е) и 15 (F). В шестнадцатеричной системе, когда основание равно 16, прибавляя единицу к "F", вы получаете 16, выраженное как "10". Поскольку числовое представление значения 16 в системе счисления с основанием 16 выглядит точно так же, как представление значения 10 в десятичной системе счисления с основанием 10, во избежание путаницы необходимо определить тип числа. Распространенным признаком шестнадцатеричных чисел (он присутствует и в наших примерах) является предваряющая строка "Ох", например: 0x1 F.
Типы имен и суффиксы NetBIOS
Как было указано ранее, имена NetBIOS завершаются односимвольным (2-байтным) суффиксом. Суффикс — код, определяющий службу или функцию, вызываемую при помощи этого имени. Суффиксы выражаются в шестнадцатеричном представлении в диапазоне от 00 до FF. В табл. 12.1 приводятся примеры суффиксов NetBIOS, соответствующие различным типам имен NetBIOS. Все эти примеры позаимствованы из системы организации сетей Windows, однако другие приложения, такие как Lotus Notes и Microsoft Exchange, в равной степени используют имена NetBIOS.
Таблица 12.1. Суффиксы NetBIOS и их значения
Имя	Тип имени	Суффикс NetBIOS (шестнадцатеричное)	Значение
computername	Уникальное имя	00	Служба рабочей станции (Workstation Service)
computername	Уникальное имя	01	Служба сообщений (Messenger service)
computername	Уникальное имя	03	Служба сообщений (Messenger service)
computername	Уникальное имя	06	Служба удаленного доступа (Remote Access Server, RAS)
662
Глава 12
			Таблица 12.1 (окончание)
Имя	Тип имени	Суффикс NetBIOS (шестнадцатеричное)	Значение
computername	Уникальное имя	1F	Служба сетевого динами- . ческого обмена данными (NetDDE service)
computername	Уникальное имя	20	Служба сервера (Server service)
computername	Уникальное имя	21	Служба клиента службы удаленного доступа (RAS Client service)
computername	Уникальное имя	BE	Служба агента сетевого мониторинга (Network Monitor Agent service)
computername	Уникальное имя	BF	Приложение агента сетевого мониторинга (Network Monitor Application service)
domainname	Групповое имя	00	Регистрирует компьютер в качестве члена домена или рабочей группы Windows
domainname	Групповое имя	1В	Регистрирует компьютер в качестве главного браузера домена
domainname	Групповое имя	1С	Контроллер домена
domainname	Групповое имя	1Е	Способствует выборам браузера
username	Уникальное имя	03	Служба сообщений (Messenger service)
Идентификатор области действия NetBIOS
Идентификатор области действия NetBIOS является средством обеспечения дополнительного разграничения имен ресурсов. Этот идентификатор представляет собой символьную строку в конце имени, отделенную от него точкой (.). Он используется-примерно так же, как доменные имена в протоколе IP.
К сожалению, область действия NetBIOS не может быть прямо присвоена сетевому ресурсу. Она присваивается компьютеру с помощью протокола DHCP или посредством прямого изменения параметра реестра Windows. Установка области действия, произведенная вручную через реестр, подменяет
TCP/IP, NetBIOS и WINS
663
все соответствующие настройки, сделанные через DHCP-сервер. После ее присвоения NetBIOS-сообщения могут происходить лишь между узлами с одинаковыми областями действия. Другими словами, идентификатор области действия замещает все остальные методы совместного использования ресурсов вне границ сети. Microsoft не рекомендует задействовать эту возможность, т. к. она слабо поддается обслуживанию и поиску неисправностей, и, кроме того, мешает другим, более сложным методам совместного использования ресурсов через границы сетей.
Параметр области действия NetBIOS изначально был призван помочь крупным организациям разбить их NetBIOS-сети на подсети. На практике он оказывается значительно полезнее для самых маленьких сетей, ограничивая возможность внешнего воздействия и вторжений. Присвоив всем узлам локальной сети неожиданный идентификатор области действия, вы можете организовать дополнительный уровень безопасности и противостоять попыткам злоумышленников имитировать легальных пользователей.
Как бы то ни было, учтите, что параметр области действия нельзя установить напрямую в каком-то одном диалоговом окне, и его трудно поддерживать для нескольких пользователей. Кроме того, применение идентификатора области действия делает непригодными все остальные средства совместного использования ресурсов NetBIOS сквозь границы сетей.
Регистрация и разрешение имен NetBIOS
Существует множество методов регистрации и разрешения имен NetBIOS. Вот лишь некоторые из них:
□	кэширование имен NetBIOS;
□	отсылка широковещательных сообщений в локальную сеть или IP-подсеть;
□	серверы имен NetBIOS (NBNS), такие как WINS;
□	файл LMHOSTS;
□	файл HOSTS;
□	служба DNS.
Важнейшие методы связаны с широковещанием и серверной службой WINS. Каждый из них используется по отдельности, но, с другой стороны, их можно совмещать; кроме того, возможно добавление других методов. В зависимости от конфигурации NetBIOS и этих вспомогательных функций на конкретной машине и в ее сети процессы пользуются различными методами разрешения, причем испытывают их в разном порядке. В следующих разделах приводится описание каждого из них. •
664
Глава 12
Несмотря на то, что точное сочетание методик регистрации и разрешения имен на каждом клиенте зависит от его конфигурации, есть некоторые технические приемы, общие для всех клиентов.
При разрешении имени узел в первую очередь проверяет, не является ли оно его собственным именем.
Если на узле настроен стек протоколов TCP/IP, то имена, представляемые процессом разрешения, проверяются, чтобы узнать, действительно ли они являются именами NetBIOS. Если имя состоит более чем из 15 символов или содержит точку, оно разрешается с помощью службы DNS посредством запроса, направляемого интерфейсом Winsock, а не NetBIOS.
Большинство режимов регистрации и разрешения имен позволяют узлу проверять кэш имен NetBIOS и только после этого осуществляются попытки регистрации и разрешения имени другими методами.
Режимы разрешения имен по типам узлов
В NetBIOS методы регистрации и разрешения имен, применяемые компьютером (конечным узлом), номинально связываются с типом этого узла. Тип узла устанавливается либо с помощью протокола DHCP (посредством диалогового окна свойств сети Подключение по локальной сети —- Свойства (Properties)), либо путем прямого изменения параметров реестра. Четырьмя основными типами узлов NetBIOS являются: b-узлы, р-узлы, m-узлы и 11-узлы. В дополнение к этому в некоторых операционных системах компании Microsoft b-узлы для клиентов преподнесены в значительно усовершенствованном виде. Каждому типу узла посвящен отдельный раздел этой главы.
В-узел (Broadcast Node, широковещательный узел)
В-узел регистрирует и разрешает имена с помощью широковещания. Этот подход оптимален для самых маленьких сетей, однако широковещательная активность в сетях, состоящих из 15—20 узлов, требует значительной пропускной способности. Кроме того, следует учитывать, что обычные b-узлы не могут использовать серверную службу WINS. Если служба WINS отключена, то этот тип узла принимается по умолчанию для клиентов Windows 2000.
Чтобы зарегистрировать имя, b-узел отправляет широковещательный пакет регистрации имени (Name Registration) в локальную сеть или IP-подсеть. Не получив отрицательного ответа на свой запрос, b-узел присваивает нужное имя и начинает отстаивать право на него перед лицом последующих попыток его регистрации. Когда компьютер или процесс b-узла отключается, он просто перестает отстаивать свое имя NetBIOS, таким образом освобождая его.
Чтобы разрешить имя, b-узел отправляет широковещательный пакет запроса на имя (Name Request). В ответ хост или узел, которому принадлежит запрошенное имя, отсылает пакет ответа на запрос имени (Name Request
TCP/IP, NetBIOS и WINS
665
Reply). Если в течение определенного периода времени ответа не поступает, это имя признается неразрешимым, и NetBIOS возвращает ошибку.
Р-узел (Peer Node, одноранговый узел)
P-узел пытается произвести регистрацию и разрешение имен с помощью локального WINS-сервера. В результате из задач по разрешению имен NetBIOS устраняется широковещательный трафик, но, если сконфигурирован только один WINS-сервер, возникает единичная точка отказа.
Чтобы зарегистрировать имя, p-узел отправляет настроенному WINS-серверу однонаправленный пакет запроса на регистрацию имени (Name Registration Request). Если это имя не принадлежит какому-либо другому ресурсу, WINS-сервер отвечает пакетом положительного ответа на запрос регистрации имени (Name Registration Reply) и фиксирует в своих записях новую пару "имя-адрес". Если запрошенное имя уже занято другим узлом, WINS-сервер отсылает ему сообщение, проверяя, используется ли это имя до настоящего времени. Если это так, WINS-сервер отсылает p-узлу отрицательный ответ на запрос регистрации имени (Name Registration Reply).
Перед прекращением работы компьютера или процесса p-узла он отсылает WINS-серверу пакет запроса на освобождение имени (Name Release Request), сообщая ему о том, что имя больше не используется. Имена, хранящиеся на WINS-сервере, характеризуются временем жизни (Time То Live, TTL), которое, в зависимости от конфигурации этого сервера, может быть приравнено к любому значению от одной минуты до 365 дней. По умолчанию значение TTL записи имени WINS равняется шести дням. По истечении времени жизни имя освобождается. Когда WINS-сервер отсылает сообщение с положительным ответом на запрос регистрации имени, он указывает и время жизни этого имени. P-узел пытается обновить свое имя по прошествии половины времени жизни.
Для разрешения имени p-узел отправляет WINS-серверу пакет запроса имени (Name Query). Если WINS-сервер может разрешить запрошенное имя, он отправляет p-узлу всю необходимую информацию в пакете ответа на запрос имени (Name Query Response). В противном случае WINS-сервер отсылает пакет отрицательного ответа на запрос имени. Если для p-узла настроено несколько WINS-серверов, он будет пытаться запрашивать их по очереди, пока не получит ответа — отрицательного или положительного. Конфигурация Windows 2000 и Windows 98 позволяет запрашивать до 12 WINS-серверов. Более ранние версии клиентов Windows могут использовать лишь 2 WINS-сервера. При разрешении имен p-узлы не применяют широковещание.
М-узел (Mixed Node, смешанный узел)
М-узел — это смесь двух предыдущих типов узлов. Сначала он пытается произвести регистрацию и разрешение по подобию b-узла, т. е. посредством
666
Глава 12
отсылки широковещательных сообщений в локальную сеть, а затем испытывает прием p-узла, стараясь связаться с настроенным WINS-сервером. Методы p-узла применяются только в том случае, если широковещание не увенчалось успехом. Преимущества этого подхода наиболее очевидны в ситуациях, когда WINS-сервер является удаленным и большая часть трафика ограничена локальной сетью, однако для узлов, обслуживаемых WINS-сервером, они довольно спорны. Кроме того, m-узел позволяет разрешать локальные имена без помощи WINS-сервера.
Н-узел (Hybrid Node, гибридный узел)
Н-узел сначала использует метод p-узла, а в случае неудачи задействует широковещание по подобию b-узла. В результате широковещательный трафик в локальной подсети сводится к минимуму, но сама возможность применения широковещания на случай неполадок с WINS-сервером сохраняется. Узел этого типа принимается по умолчанию для клиентов Windows 2000 с включенной службой WINS.
Расширенный b-узел (Enhanced B-Node)
Чтобы преодолеть некоторые ограничения, связанные с разрешением имен по методу b-узла, в компании Microsoft были разработаны два альтернативных метода создания модифицированного или расширенного b-узла. Расширенный b-узел сначала использует кэш имен NetBIOS, затем файл LMHOSTS и только после этого пытается выполнить разрешение по нормальному методу b-узла. Расширенным b-узлом пользуются Windows For Workgroups 3.11, Microsoft LAN Manager и Windows 2000. Что касается клиентов Windows 2000, применение файла LMHOSTS можно отключить в диалоговом окне Дополнительные параметры TCP/IP на вкладке WINS (открыть окно можно из окна Свойства: Протокол Интернета TCP/IP (TCP/IP Properties), нажав на кнопку Дополнительно (Advanced)).
Кэш имен NetBIOS и файл LMHOSTS
Кэш имен NetBIOS — это временный файл, размещающийся в памяти и устанавливающий соответствие имен NetBIOS и IP-’адресов. Имена добавляются в кэш имен NetBIOS по мере их обнаружения в ходе разрешения и запуска компьютера, и именно тогда кэш имен инициализируется посредством считывания файла LMHOSTS. По умолчанию время хранения записей в кэше имен NetBIOS ограничивается 10 минутами. Параметр лимита времени можно установить в реестре.
LMHOSTS — это текстовый файл, который хранится в каталоге <корень windows>\systeni32\drivers\etc. В нем перечисляются имена NetBIOS и связанные с ними IP-адреса. Файл LMHOSTS составляется по образцу файла
TCP/IP, NetBIOS и WINS
667
HOSTS для протокола IP в системах BSD UNIX. Его базовая структура, применение и синтаксис соответствуют файлу HOSTS, но в нем отражаются функции, уникальные для NetBIOS. К примеру, символы, которые не поддерживались в исходной реализации DNS, в файле LMHOSTS можно представить, заключив имя в кавычки, а символы, отсутствующие в DNS, — в виде шестнадцатеричного значения ("FRANK \0xl4").
В файле LMHOSTS можно выбирать, какие имена предварительно загружать в кэш имен NetBIOS, включать дополнительные и/или альтернативные файлы LMHOSTS по обращению, обозначения доменов и имена уникальных ресурсов. Каждая из этих функций обеспечивается своим синтаксисом, в том числе зарезервированными словами. В качестве примера вы можете ознакомиться с файлом LMHOSTS, присутствующим на любом компьютере с установленной операционной системой Windows 2000.
Создавать и редактировать файлы LMHOSTS позволяет любой редактор простого текста, такой, например, как Notepad. Не следует редактировать простой текст в текстовых процессорах вроде Microsoft Word или WordPad, т. к. они помещают в файлы посторонние символы, предназначенные для форматирования и компоновки страниц. Учтите, что при каждом поиске по файлу LMHOSTS он анализируется полностью — вместе со строками комментариев. Ограничивая объем этого файла, вы улучшаете производительность.
Файл LMHOSTS — это статический список. Следовательно, его применение оптимально в небольших сетях с устойчивыми именами NetBIOS и IP-адресами. Обеспечивать актуальность данных файла LMHOSTS в крупных или более динамических сетях может быть затруднительно, если вообще возможно.
Регистрация и разрешение имен с помощью WINS-серверов
Сами WINS-серверы подробно рассматриваются далее в разд. "WINS-серверы'' этой главы. Сейчас речь пойдет только о регистрации и разрешении имен с их помощью.
WINS-серверы — это серверы имен NetBIOS, которые создают и обслуживают динамическую базу данных имен NetBIOS и соответствующих им IP-адресов. Они не принимают участия в процессе широковещательной регистрации и разрешения имен, осуществляемом b-узлами. Напротив, их деятельность основывается на прямых (однонаправленных) сообщениях с клиентами (конечными узлами), стремящимися зарегистрировать и разрешить имена NetBIOS. WINS-клиенты, сконфигурированные как p-узлы, т-узлы или h-узлы, могут осуществлять попытки регистрации или разрешения имен NetBIOS путем контактирования их с WINS-сервером (или WINS-серве
668
Глава 12
рами). Различия между этими тремя типами узлов, касающиеся методов регистрации и разрешения имен, рассмотрены ранее в разд. "Режимы разрешения имен по типам узлов" этой главы. Взаимодействуя с WINS-сервером, узлы всех трех типов ведут себя совершенно одинаково.
Клиенты с включенной службой WINS могут быть настроены на использование нескольких WINS-серверов. Старые WINS-клиенты имеют возможность применения одного первичного и одного вторичного WINS-сервера. В то же время клиенты Windows 98 и Windows 2000 могут использовать до 11 вторичных WINS-серверов. Сначала клиент обращается к первичному WINS-серверу. (Если выполнять конфигурацию клиента в диалоговом окне Свойства: Протокол Интернета (TCP/IP) (TCP/IP Properties), он появляется первым в списке.) Если первичный WINS-сервер не отвечает, клиент обращается к вторичным WINS-серверам, настроенным для этих целей, осуществляя эти попытки в том порядке, в котором доступные WINS-серверы перечислены в диалоговом окне Свойства: Протокол Интернета (TCP/IP) (TCP/IP Properties).
Когда узел, пользователь или процесс с именем NetBIOS регистрируются в сети или начинают работу, они пытаются зарегистрировать свое имя. Если его настройки предполагают использование службы WINS, он отправляет WINS-серверу пакет запроса на. регистрацию имени (Name Registration Request). Если запрашиваемое имя соответствует структуре имен NetBIOS и в базе данных WINS-сервера нет записи о нем, этот WINS-сервер отсылает узлу положительный ответ на запрос регистрации имени (Name Registration Reply) и вводит имя в свою базу данных. В своем ответе WINS-сервер указывает время жизни (TTL) имени, которое по умолчанию приравнивается к шести дням. По прошествии половины этого временного периода (т. е. через три дня после получения, если определено время жизни по умолчанию), узел пытается обновить свое имя. Если в течение времени жизни обновления имени не происходит, оно освобождается и становится доступным для любого объекта, который попытается его зарегистрировать.
Если запрошенное имя уже присутствует в базе данных, WINS-сервер отсылает узлу, который пытается выполнить регистрацию, сообщение Wait Acknowledgement (WACK, подтверждение для ожидания). Это сообщение подтверждает получение пакета с запросом на регистрацию имени (Name Registration Request), но, не предоставляя имя и не отказывая в нем, просит узел подождать. В то же время WINS-сервер пытается связаться с зарегистрированным владельцем имени, чтобы проверить, используется ли оно. Если владелец отвечает, WINS-сервер отправляет запрашивающему узлу отрицательный ответ на запрос регистрации имени (Name Registration Reply). Если же зарегистрированный владелец не отвечает, тогда WINS-сервер предоставляет нужное имя запрашивающему хосту, отсылая ему пакет с положительным ответом на запрос регистрации имени. (В ранних версиях WINS сервер по-другому реагировал на явный конфликт именования — он обра
TCP/IP, NetBIOS и WINS
669
щался к регистрирующему узлу с приглашением самостоятельно отправить запрос владельцу имени.)
В некоторых условиях WINS-сервер может отправить владельцу имени или узлу, претендующему на это имя, один из двух пакетов: оповещение о конфликте имен (Name Conflict Demand) или требование освобождения имени (Name Release Demand). Эти так называемые "требующие" пакеты представляют собой запросы, ответы на которые не предусмотрены. Они рассматриваются как приказы, которые узлы обязаны исполнять. Пакет оповещения о конфликте имен (Name Conflict Demand) сообщает узлу о том, что имя, которым он пользуется, является предметом конфликта. Узел, в свою очередь, доносит эту ситуацию до сведения пользователя и, в конечном итоге, освобождает имя. Пакет требования освобождения имени (Name Release Demand) приказывает принимающему узлу немедленно удалить занимаемое имя из его таблицы имен. Обычно пакеты этих типов отсылаются, когда, к примеру, вы выполняете реконфигурацию сети, и имена с адресами постоянно назначаются и перераспределяются.
WINS-серверы поддерживают специальный режим регистрации имен, который называется пиковым. К примеру, когда в начале рабочего дня "оживает" крупная сеть, многие сотни или даже тысячи запросов на регистрацию имен могут поступать с промежутками в несколько секунд. Чтобы обезопасить себя во время такого внезапного всплеска активности, WINS-серверы могут переходить в пиковый режим. Находясь в этом режиме, сервер отвечает на каждый пакет с запросом о регистрации имени положительным ответом, не пытаясь разрешить конфликты. Хитрость в том, что для каждого положительного ответа определяется короткий период времени жизни (TTL), но в каждом отдельном случае он немного варьирует. Поскольку узлы будут пытаться обновлять свои имена по прошествии половины периода времени жизни, разрешение конфликтов именования можно отложить вплоть до окончания всплеска активности. Таким образом, сервер получает возможность рассредоточить очередь, распределив рабочую нагрузку на более значительный временной период. На консоли WINS-сервера (WINS Server Console) вы можете изменить размер очереди, по достижении которого запускается пиковый режим (по умолчанию он соотносится с 500 регистрациями).
Системы Linux и UNIX могут обращаться к ресурсам NetBIOS с помощью своих программных комплексов Samba. Для обеспечения совместного использования ресурсов в IP-сетях этот комплекс применяет протокол SMB и службу NetBT. При оптимальной конфигурации Samba-хосты могут обращаться к ресурсам через любой WINS-сервер, а клиенты Windows — через Samba-сервер, причем в обоих случаях это делается на базе службы NetBT. Samba, как и Linux, является открытым программным средством (его можно беспрепятственно и бесплатно переделывать и перераспределять).
670
Глава 12
DNS и файл HOSTS
Предпочтительная конфигурация клиентов Windows 2000 предполагает использование службы DNS для разрешения имен. Если стек TCP/IP функционирует, даже клиенты, чьи настройки не определяют службу DNS как первичный метод разрешения имен, могут пытаться разрешать их путем DNS-запросов, особенно тогда, когда имя соответствует соглашениям по именованию DNS, но нарушает аналогичные соглашения по NetBIOS. Кроме того, некоторые приложения или клиенты могут осуществлять попытки разрешения имен с помощью файла HOSTS.
Файл HOSTS — это статический список соответствий IP-адресов именам, расположенный в каталоге Скорень windows>\system32\driver\etc — там же, где находится файл LMHOSTS. Некоторые оконные версии UNIX-программ, такие как Telnet и FTP, всегда сверяются с файлом HOSTS, причем делают это еще до обращения к службе DNS. Большинство приложений Windows не используют файл HOSTS. Как и в случае с файлом LMHOSTS, формат и синтаксис HOSTS заимствованы из операционной системы BSD UNIX/Тем не менее, в файле HOSTS отсутствуют специальный синтаксис и зарезервированные слова, обеспечивающие поддержку имен NetBIOS в LMHOSTS.
В системах UNIX и Linux нормальный порядок выполнения методов разрешения имен выглядит следующим образом:
□	локальный хост;
□	файл HOSTS;
□	служба DNS;
□	NetBIOS.
Что касается собственных клиентов Microsoft, в этой компании осуществляются попытки приблизить службу DNS к вершине этой последовательности поиска. Чтобы приобщить старых Windows-клиентов к правилам Internet, в Microsoft была разработана оригинальная версия службы DNS — Microsoft DNS, или MS DNS, которая запрашивает WINS-серверы для разрешения имен NetBIOS. Эта возможность детально освещена далее в разд. "WINS-серверы" этой главы.
NetBIOS Over TCP/IP
Служба NetBIOS, применяющая TCP/IP в качестве транспортного протокола, называется NetBT, или NBT. NetBT позволяет NetBIOS использовать сетевую адресуемость TCP/IP, которая обеспечивает доступность ресурсов вне границ их сетей и IP-подсетей.
TCP/IP, NetBIOS и WINS
671
NetBEUI и NetBIOS были буквально созданы друг для друга, но TCP/IP и NetBIOS принадлежат к совершенно разным сферам. Чтобы получить возможность сосуществования с TCP/IP, NetBIOS пришлось приспособиться к соглашениям TCP/IP.
Между ними были отдельные сходства, однако некоторые функции NetBIOS были изменены или добавлены именно для того, чтобы добиться подобия этой системы TCP/IP. Имя NetBIOS напоминало имя хоста TCP/IP. Идентификатор области действия NetBIOS замышлялся как аналог домена TCP/IP. Когда приложения TCP/IP, такие как Telnet и FTP, связывались с хорошо известным портом, службы (во многих отношениях этот термин равнозначен) в NetBIOS определялись при помощи шестнадцатеричного кода — последнего символа имени NetBIOS.
Соглашения по присвоению имен в NetBIOS и TCP/IP также разнились. Исходные стандарты службы DNS, регламентировавшие использование символов в обозначении имен хостов, были более ограничительными, чем аналогичные правила NetBIOS. В то же время, имя NetBIOS нельзя было отделить от суффикса. Обе эти части должны были определять конкретную службу.
Эти проблемы были решены путем незначительной корректировки NetBIOS и организации некоторых действий, которые смогли сделать имена и команды NetBIOS передаваемыми и переводимыми по TCP/IP-соединению. Эти решения появились и были опубликованы в документах RFC 1001 и RFC 1002 в 1987 году.
Протокол UDP — это аналог дейтаграммного трафика NetBIOS. Оба являются протоколами запроса/ответа без установления соединения. Протокол TCP обеспечил достойную замену сеансам NetBEUI, предложив надежные соединения между хостами. Агентство IANA (Internet Assigned Numbers Authority, Агентство по выделению имен и уникальных параметров протоколов Internet) и его предшественники пытались удержать службы, осуществляемые через одинаковые порты с низшими номерами UDP и TCP, на одном уровне, предлагая разное качество обслуживания одних и тех же приложений с помощью того или иного протокола. Таким образом, по отношению к протоколам TCP и UDP для NetBIOS и NetBT выделены порты, приведенные в табл. 12.2.
Таблица 12.2. Порты TCP/UDP для служб NetBIOS
Порт TCP/UDP	Службы NetBIOS
137	Службы имен
138	Службы дейтаграмм
139	Сеансовые службы
672
Глава 12
Имена NetBIOS и IP-имена
Для преобразования имени NetBIOS в имя, распознаваемое и маршрутизируемое службой DNS, необходимо было выполнение двух действий: во-первых, имя NetBIOS должно было стать полноценным именем хоста, а во-вторых, нужно было добавить доменную часть имени.
Имя NetBIOS нужно было пересмотреть таким образом, чтобы заменить все символы, не распознаваемые службой DNS. Имена службы DNS должны быть пригодными для печати, однако некоторые наиболее распространенные идентификаторы служб в именах NetBIOS (последние 16 символов) являются шестнадцатеричными значениями, меньшими чем 0x20 (символы пробела). В кодовом наборе ASCII ни один из таких символов не печатается. Чтобы разрешить эту и подобные несовместимости между двумя наборами допустимых символов, была разработана специальная схема кодирования имен NetBIOS, согласно которой любое 16-символьное имя NetBIOS представлялось в виде 32-символьной строки ASCII, составленной из заглавных букв от "А" до "Р". Таким образом был создан удобный эквивалент имени хоста (рис. 12.3).
,-ф Flags:	0x80	F02.3
Status:	0x00
0 Packet Length: 65 Timestamp:	07:37:35.004416 04/18/Z001
[+] Т" 802.3 Header
802.2 Logical Link Control <LLC) Header
$ Best, SAP:	OxFO NetBEUI/NetBIOS
$ Source SAP:	OxFO NetBXUI/N&tBJOS
•	• ф Command:	0x03 ttanuaLberad Informs
ЙNetBEUI/NetBIOS - Network Basic Input/Output System,
-	Q	Length:	44
	$	NetBIOS Delimiter:	OxEFFF
ф Command:	0x00 Add Group Zteae Query Wait)
ф	Option Data 1:	0x00 Reserved
; ф Option Data 2:	0x0000 Reserved
..ф Xmit/Resp Correlator: 0x00060000 ф Destination Name:	...............<0x00>
Source Name.	CORNELL	*.0«lE
..ф Frame Check Sequence: 0x00000000
------------ . - - ------------------- .............-.....-....•.-..—..
0:	03	00	00	00	00	01	00	A0	24	C6	2B	S8	00	2F	F0	F0 ......... S.+X./..
16:	03	ZC	00	FF	EF	00	00	00	00	00	00	06	00	00	00	00 .f..............--
3Z:	00	00	00	00	00	00	00	00	00	00	00	00	00	43	it	&г	. ...........COB
48: «10М1ЖЯВ®ЖЙЖ«®ВЖ8Ижйоо oo oo" ВЙЯЙМЙ®®-'I
64: 00
Рис. 12.3. При использовании NetBEUI или NBF имена NetBIOS пересылаются в кодировке ASCII
TCP/IP, NetBIOS и WINS
673
Эта схема кодирования довольно. проста. Она представлена здесь только лишь потому, что когда-нибудь вам, скорее всего, придется столкнуться с сетевым анализатором, который при расшифровке пакетов не будет преобразовывать имена NetBIOS обратно в их собственный формат. Наряду с идентификатором службы имя NetBIOS содержит информацию, важную для диагностики сети. Зная эту схему кодирования, вам не придется ломать голову над строкой из 32 заглавных букв, представляющей имя NetBIOS службы, диагностику которой нужно будет провести.
Вот как это делается. Представьте, что имя NetBIOS выражается в виде строки 2-байтных шестнадцатеричных чисел в диапазоне от 0x00 до OxFF. Одно такое 2-байтное шестнадцатеричное число эквивалентно одному символу имени. Печатаемые символы имени NetBIOS берут свои шестнадцатеричные значения из набора символов ASCII. Помните, что имена NetBIOS короче 15 символов набиваются пробелами (0x20), которые, смещая существующие символы вправо, компенсируют их недостаток. Последним символом является идентификатор службы.
А вот что нужно сделать. Разбейте каждое шестнадцатеричное число на две части и рассматривайте каждую цифру как отдельное значение. Соответственно, наибольшее шестнадцатеричное число, OxFF, разделяется на OxF и OxF. (В десятеричном представлении — 15 и 15.) Прибавьте к каждому из этих шестнадцатеричных цифр значение заглавной буквы ASCII "А" (0x41) — получится 0x50 и 0x50. Эти значения преобразуются в символы ASCII "Р" и "Р". Собственно говоря, с помощью этого метода кодирования нельзя получить букву, находящуюся вне диапазона (А; Р). Применив тот же метод по отношению к символу пробела (0x20), вы получите 0x2 + 0x41 = 0x43 (буква "С" в ASCII), и 0x0 + 0x41 = 0x41 (буква "А" в ASCII). В кодированных именах NetBIOS вы обнаружите множество строк "САСАСАСА". Этот метод работает и в обратном направлении: вычтите 0x41 из каждого кодированного символа, затем объедините результаты как высший и младший порядок шестнадцатеричного числа (начиная слева), и получите имя NetBIOS в оригинальном представлении (естественно, включая всю набивку). На рис. 12.4 изображено закодированное имя NetBIOS.
Чтобы преобразовать (транслированное) имя NetBIOS в полностью определенное доменное имя (fully qualified domain name, FQDN), к нему необходимо добавить доменную часть. Изначально идентификатор области действия NetBIOS задумывался как средство создания "доменного имени NetBIOS". Проблема, связанная с этим подходом, очевидна в контексте сегодняшней сети Internet, но она не была столь явной тогда, когда была предложена. Эта проблема состоит в том, что идентификатор области действия NetBIOS — это строка, определяемая пользователем, и она в любом случае прибавляет лишь один уровень иерархии. С другой стороны, доменные имена Internet регламентируются, ограничиваются, и соответствуют более глубокой и строгой иерархии. Идентификатор области действия
674
Глава 12
NetBIOS может быть допустимым доменным именем Internet, если он вообще используется. Применение другого вида идентификатора области действия приводит к проблемам с обратным поиском, некорректной маршрутизацией и другим неприятностям, которым подвергаются хосты, подсоединенные к Internet.
Flags:	0x00
Qi	Status:	0x00
5 0 Packet Length:96
0	Tiaescamp:	06:06:28.705102	04/18/2001
S W Ethernet Meader
gj-'lp Meader - Internet Protocol Datagram
B-V” ~ Vser Datagram Protocol
i ф Source Port:	137 NETBIOS jVaate Service
ф	Destination	Port:	137
: !--ф	Length:	58
ф	Checksum:	0x6C66
S V* i * 3 * S NetBIOS Name Servi.ce - Network Basic Input/Output System
i- ф	Identification:	0x8DD8
.ф	Parameter:	0x0110
• ф Request
Standard Query
p. ф Recursion Desired
ф Packet Was Broadcast
,--ф	Number	of	Questions:	1
 - ф	Number	of	Answers:	0
: ф	Number	of	Authority:	0
ф	Number	of	Additional:	0
Qwrr Tioi.iain Мл.»- I’.ll’IELI,  IK 
< -ф Query Type:	32 NetBIOS General Name S&rvice
• 0 Query Class:	1 Internet
— ф Erame Check Sequence: 0x00000000
0:	FF	FF	FF	FF	FF	FF	00
16:	00	4E	87	99	00	00	80
32:	01	FF	00	89	00	89	00
48:	00	00	00	00	00	00	20
64:	46	45	4D	45	4D	43	41
80:	41	43	41	43	4.1.	42	40
A0 24 B5 37 D6 08 00 45 11 2K 51 CO A8 01 65 CO ЗА 6C 66 80 D8 01 10 00 45 44 45 50 46 43 45 4F: 43 41 43 41 43 41 43 41: 00 00 20 00 01 00 00 00
00	....... $p7...K.
AS .N........Q...e..
01 ........:lf......
45 ....... BMPFCB0K
43 VHHKHCACACACACAC bo acacabl;.........
Eifev „ I Oj j
Рис. 12.4. При использовании NetBT имена NetBIOS кодируются для совместимости с DNS
WINS-серверы
По существу, WINS — это имитация службы DNS, выполненная в компании Microsoft и предназначенная для пространства имен NetBIOS. Когда начались эксперименты Microsoft с совместным использованием ресурсов NetBIOS вне границ сети, стала очевидной необходимость в чем-то вроде сервера имен
TCP/IP, NetBIOS и WINS
675
NetBIOS (NBNS). Такая служба была смоделирована на основе успешных DNS-серверов, применяемых в сетях TCP/IP, а ее официальная спецификация была зафиксирована в документах RFC 1001 и RFC 1002. Серверы имен для NetBIOS over TCP/IP должны соответствовать этим документам. Последней версией сервера имен NBNS от Microsoft является WINS.
Компания Microsoft продолжала прилагать усилия к улучшению функциональных возможностей WINS-сервера и его интеграции в другие компоненты сетевой схемы Windows, включая службу Active Directory и собственную реализацию службы DNS.
Далее в этом разделе речь пойдет о том, как действует служба WINS и какие ее конфигурации возможны в сетях Microsoft в среде Windows 2000.
Как работает WINS
WINS — это серверная служба, работающая в системах Windows NT Server и Windows 2000 Server. WINS-сервер регистрирует имена NetBIOS и IP-адреса, причем его настройки позволяют возвращать IP-адрес, связанный с именем ресурса (для обратного WINS (reverse WINS), или WINS-R), или имена NetBIOS, связанные с IP-адресом.
WINS-сервер хранит данные о соответствиях имен адресам в базе данных. Каждая запись ресурса в такой базе данных содержит имя NetBIOS и связанный с ним IP-адрес, а также значение времени жизни (TTL) и номер версии данной записи. Номер версии облегчает репликацию базы данных на другие WINS-серверы.
WINS-серверы не принимают участия в широковещательной регистрации и разрешении имен (по методу b-узла). Вместо этого они обмениваются однонаправленными сообщениями о регистрации и разрешении имен непосредственно с WINS-клиентами, относящимися к р-узлам, h-узлам и т-узлам. Кроме того, WINS-серверы могут взаимодействовать друг с другом, с WINS-агентами, а также с DHCP- и DNS-серверами Microsoft. ,
Различные конфигурации WINS
В зависимости от требований той или иной сети можно применять различные способы развертывания WINS-серверов. Функции WINS-сервера, DNS-сервера и контроллеры домена Active Directory могут быть реализованы как на одной, так и на нескольких физических машинах. Один WINS-сервер может обслуживать множество подсетей, однако зависимость от одного сервера означает наличие единой точки отказа. Кроме того, размещение WINS-сервера вне локальной сети приводит к появлению дополнительного WAN-трафика. По возможности вам следует завести хотя бы один вторичный WINS-сервер, т. к. это позволит избежать проблемы единой точки отказа.
676
Глава 12
Если ваши подсети достаточно крупны, то оправданной может быть организация отдельных WINS-серверов для каждой из них. Возможность репликации, которой обладает WINS-сервер, позволяет сохранить текущие записи в распределенной среде, а присутствие локальных WINS-серверов снижает объемы WAN-трафика. В настоящем разделе рассматриваются четыре различных топологии серверных служб WINS: единый WINS-сервер, WINS-сервер с WINS-агентом, распределенные WINS-службы и интеграция службы WINS с Microsoft DNS.
WINS-сервер
В операционных системах Windows NT Server или Windows 2000 Server установить и настроить WINS-сервер можно, во-первых, в диалоговом окне исходной конфигурации, во-вторых, с помощью WINS-консоли (в меню Администрирование (Administrative Tools)) и, наконец, путем прямого редактирования реестра. Кроме того, в Windows 2000 присутствуют средства командной строки, предназначенные для конфигурации WINS-серверов. Введите ? для отображения справки по этой теме.
Администраторский доступ к WINS-серверу позволяет вам:
□	просматривать статистику сервера;
□	проверять согласованность баз данных и номеров версий;
□	отбирать записи для окончательного удаления ("гробить" записи);
□	удалять старые записи (чистить базу данных);
□	производить поиск активных зарегистрированных владельцев;
□	резервировать и восстанавливать базу данных;
□	создавать и удалять статические записи;
□	удалять динамические записи (только в Windows 2000);
□	экспортировать базу данных в текстовый файл .csv (только в Windows 2000);
□	задавать параметры репликации.
Примечание ^Д|
В Windows 2000 допускается членство в группе WINS Users, дающее пользователям доступ к WINS-консоли только для чтения.
Есть лишь одно безусловное требование, касающееся местонахождения WINS-сервера — он должен быть доступен для клиентов посредством соединения TCP/IP. Из практических соображений вам следует настроить топологию WINS таким образом, чтобы оптимизировать защиту, доступность сервера и сетевой трафик. В сети, находящейся в одном сегменте, это про
TCP/IP, NetBIOS и WINS
677
сто. Что касается сетей, распространяющихся на несколько сетевых сегментов, то здесь можно реализовать любое сочетание WINS-агентов, дублирования WINS-серверов и Microsoft DNS с включенной службой WINS.
Так как DHCP-серверы Microsoft могут обновлять базу данных службы WINS одновременно с выделением (если в нем присутствует информация, относящаяся к WINS), WINS- и DNS-серверы часто устанавливаются на одной физической машине, что позволяет исключить лишний трафик.
WINS-агент
Существуют WINS-клиенты для последних версий DOS, OS/2, а также для всех версий Windows. Кроме того, они могут работать в системах Linux и UNIX с установленными программными комплексами Samba. Как бы то ни было, вам может понадобиться сделать некоторые машины b-узлами (в особенности это касается старых клиентов NetBIOS). Чтобы интегрировать b-узлы в сеть с поддержкой WINS, вы должны установить WINS-агента на любом сервере или рабочей станции Windows NT или Windows 2000. WINS-агент — это WINS-клиент, который пытается разрешить все широковещательные сообщения запросов имен, исходящие от b-узлов в его сегменте сети, направляя соответствующие запросы собственным WINS-серверам. Если WINS-агент может разрешить имя с помощью службы WINS или своего локального кэша имен NetBIOS, он отсылает отправителю широковещательного запроса пакет с положительным ответом на запрос этого имени. WINS-агент не регистрирует имена (кроме собственного) на своем WINS-сервере. Присутствие WINS-агента позволяет b-узлам получать доступ к ресурсам вне локальной сети, несмотря на то, что они неспособны обращаться к серверной службе WINS напрямую.
Любую систему Windows NT или Windows 2000 можно сделать WINS-агентом, установив значение "1" для параметра реестра EnableProxy. Его значение по умолчанию приравнивается к нулю (табл. 12.3).
	Таблица 12.3. Параметр реестра EnableProxy
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\NetBT\Parameters
Тип данных	REGJDWORD
Разрешенный диапазон	0-1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
678
Глава 12
С другой стороны, вы можете привязать агента к конкретному сетевому адаптеру, установив аналогичное значение того же ключа реестра, т. е.:
HKEY_LOCAL__MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\ Parameters\Adapters\Interfaces\<NIC>
В вышеприведенном примере термин <nic> обозначает конкретный сетевой адаптер.
Имейте в виду, что в Windows 2000 параметр EnableProxy по умолчанию отсутствует в реестре. При этом операционная система работает в обычном режиме, не предусматривающем исполнение роли WINS-агента.
Репликация WINS
Если ваша сеть базируется на WINS, мы настоятельно рекомендуем установить несколько WINS-серверов, даже если с нормальным уровнем трафика может справиться один такой сервер. Более того: целесообразно (т. е. почти обязательно) устанавливать несколько WINS-серверов в сетях, расположенных в нескольких сегментах.
WINS-серверы способны обмениваться информацией из своих баз данных посредством репликации, при которой сервер может получать записи от своего партнера. Есть два основных типа взаимодействия между WINS-серверами: репликация проталкивания (push replication) и репликация выталкивания (pull replication) — согласно типу события, запустившему обмен данными между ними. WINS-сервер, исполняющий роль передающего партнера, извещает другой сервер о наличии записей для проталкивания, делая это либо при запуске, либо после обновления определенного количества записей с момента последнего выталкивания, выполненного его партнером. С другой стороны, сервер, настроенный как принимающий партнер, по прошествии определенного периода времени выталкивает базу данных партнера. Чтобы оптимизировать производительность системы, вы можете перераспределить роли серверов и установить для каждого из них нужный временной интервал и количество обновленных записей, необходимое для запуска репликации.
При регистрации или обновлении записи ресурса в базе данных WINS номер версии этой записи увеличивается на единицу. Чем больше этот номер, тем свежее информация в данной записи ресурса. WINS-серверы пользуются номерами версий, чтобы определить необходимость (или отсутствие необходимости) в обновлении записей.
Интеграция WINS и DNS
Материал этого раздела предполагает, что вы прочли и усвоили основные моменты главы, посвященной службе DNS. Если какие-либо моменты рас
TCP/IP, NetBIOS и WINS
679
смотрения интеграции служб WINS и DNS покажутся вам непонятными, за дополнительной информацией обращайтесь к главе 7.
Реализация DNS-сервера Microsoft (MS DNS) позволяет использовать службу WINS для разрешения имен NetBIOS в первичном домене или в корневом домене зоны. Служба MS DNS не может разрешать имена NetBIOS, не являющиеся прямыми потомками корня зоны или первичного DNS-домена. Например, имя frank.example.com является прямым потомком домена example.com; таким образом, DNS-сервер, обслуживающий этот первичный домен, может уверенно применять службу WINS для разрешения такого имени. Имя frank.accounting.example.com не является прямым потомком домена example.com; следовательно, DNS-серверы, обслуживающие первичный домен example.com, не могут разрешить его как имя NetBIOS. Это ограничение унаследовано от исходной схемы NetBIOS. Так как имя NetBIOS не содержит сетевого компонента, это — всего лишь имя, но не адрес.
Первичный WINS-сервер
example.com
Первичный DNS-сервер
zone root hg.example.com
zone root sales.example.com
Рис. 12.5. WINS-серверы в корневой зоне DNS-доменов
Если в вашей сети присутствуют субдомены, вы можете выбирать между двумя вариантами интеграции WINS и MS DNS. Если субдомены достаточ
680
Глава 12
но крупны, имеет смысл делегировать эти домены таким образом, чтобы у каждого из них были свои записи начала полномочий (Start of Authority, SOA) с собственными корневыми зонами службы DNS (рис. 12.5). В каждом из них серверы MS DNS смогут разрешать имена NetBIOS средствами службы WINS, поскольку они будут обслуживать первичный домен.
Вместо этого вы можете создать специальный домен только для клиентов NetBIOS (рис. 12.6). Не забывайте, что DNS-домен является логическим, а не физическим объектом. Ели все клиенты NetBIOS принадлежат к домену netbios.example.com, вы можете сделать его первичным. Это решение облегчает интеграцию в сетях, содержащих серверы Linux, UNIX и Microsoft DNS. Решив создать специальный домен для имен NetBIOS, вы должны будете добавить соответствующее доменное имя в списки суффиксного поиска DNS всех клиентов. Если домен NetBIOS присутствует в таком списке, клиент применяет этот домен для поиска ресурсов NetBIOS. Добавить запись в список суффиксного поиска DNS клиента можно как вручную (в TCP/IP Properties), так и с помощью DHCP.
Рис. 12.6. В этой сети создан специальный домен для WINS-разрешения
Как же служба DNS узнает, например, что frank.example.com — это имя NetBIOS, а не IP-имя? Хороший вопрос, ответ на который прост: она этого не узнает. Так как это имя по форме соответствует IP-имени, сервер MS DNS сначала проверит адресные записи (А) домена example.com в своей ба
TCP/IP, NetBIOS и WINS
681
зе данных. Нужные записи ему найти не удастся, и после этого он произведет поиск в кэше имен NetBIOS для этого домена; если и теперь ничего не получится, он свяжется с настроенным WINS-сервером (или с несколькими такими серверами). Если WINS-сервер ответит, сервер MS DNS кэширует этот ответ и передаст информацию процессу, подавшему исходный запрос на разрешение имени (Name Resolution Request).
В ходе конфигурации сервера MS DNS вы можете указать ему один или несколько WINS-серверов, с помощью которых он будет выполнять разрешение имен NetBIOS. Это можно сделать во время исходной конфигурации, с помощью консоли DNS (DNS Console) или посредством прямого редактирования реестра. Имя WINS-сервера вводится в базу данных сервера MS DNS как запись ресурса (RR). Схема записи ресурса WINS выглядит примерно так:
owner class WINS [LOCAL] [Ь<значение>] [С<значение>]
<wins_address>
Элементы в нижнем регистре — это маркеры, в верхнем регистре — константы. Элементы в угловых скобках — это значения, а элементы в квадратных скобках необязательны. В базе данных никаких скобок не ставится. Элементы разделяются пробелами, и поэтому сами элементы пробелов содержать не могут. Описания каждого элемента следуют ниже.
□	owner (владелец). Элемент owner обозначает доменное имя, которому принадлежит запись. Его значением всегда должен быть символ @, указывающий на то, что данный домен является зоной происхождения записи.
□	class (класс). Значением элемента class всегда выступает in, т. к. серверы MS DNS знают только один класс адресов — Internet (значением не может быть ни CHAOS, ни любое другое возможное, но редко применяемое значение).
□	wins. Элемент wins идентифицирует WINS-запись, причем он должен выглядеть точно так, как показано в предшествующем примере. Элементы owner, class и wins создаются автоматически, когда вы устанавливаете флажок Использовать прямой просмотр WINS (Use WINS lookup) на вкладке WINS диалогового окна свойств данного DNS-сервера <Имя> — Свойства (Server Properties), где <Имя> — имя сервера DNS.
□	local (локальная сеть). Элемент local является необязательным. Если он присутствует, он сообщает DNS-серверу о том, что тому не следует задействовать эту запись ресурса при передаче данных другим DNS-серверам. Когда сервер сообщается с DNS-серверами, произведенными вне компании Microsoft, передача записи ресурса WINS может спровоцировать ошибки или сбой в передаче зон. Этот элемент можно не указывать, когда ваш сервер взаимодействует только с другими серверами MS
682
Глава 12
DNS. С помощью флажка Не выполнять репликацию WINS (Do not replicate this record) на вкладке WINS диалогового окна свойств данного DNS-сервера <Имя> — Свойства (Server Properties) вы можете включить (установка флажка) или пропустить (сброс флажка) этот элемент записи ресурса WINS.
□	ь<значение>. Этот элемент выражает значение лимита времени на поиск и является необязательным. Обратите внимание, что в нем нет пробелов, кавычек и скобок. Значение следует непосредственно за заглавной буквой ь. Руководствуясь значением по умолчанию, DNS-сервер считает WINS-сервер не отвечающим, если реакции от него не последовало в течение двух секунд. Это значение можно изменить на вкладке WINS диалогового окна свойств данного DNS-сервера <Имя> — Свойства (Server Properties) — нажав кнопку Дополнительно (Advanced), вы сможете открыть одноименное диалоговое окно Дополнительно (Advanced).
□	с<значение>. Элемент с<значение> определяет период хранения в кэше WINS и является необязательным. Обратите внимание, что в этом элементе также нет пробелов, кавычек и скобок. Значение следует непосредственно за заглавной буквой с. По умолчанию время хранения ответов в кэше WINS приравнивается к 15 минутам. Учтите, что ответы службы WINS не следуют обычной практике DNS, предполагающей установку минимального времени жизни (TTL) в записях начала полномочий (SOA) для зоны в качестве значений по умолчанию. Вместо этого они используют значение периода хранения в кэше службы WINS. Его можно изменить на вкладке WINS диалогового окна свойств данного DNS-сервера <Имя> — Свойства (Server Properties) — нажав кнопку Дополнительно (Advanced), вы сможете открыть одноименное диалоговое окно Дополнительно (Advanced).
□	wins__address (адрес WINS). Этот элемент содержит IP-адрес WINS-сервера. Когда для DNS-сервера настроено несколько WINS-серверов, их адреса перечисляются в порядке поиска слева направо, а в качестве разделителя выступает единичный пробел. Вы можете указать адреса WINS-серверов и определить их порядок на вкладке WINS диалогового окна свойств данного DNS-сервера <Имя> — Свойства (Server Properties).
Серверы MS DNS в домене in-addr.arpa способны производить обратный поиск, возвращая имена, связанные с конкретным IP-адресом. Серверы MS DNS в корневой зоне при обратном поиске можно настроить на применение WINS-R для выполнения поиска ресурсов NetBIOS, связанных с конкретным IP-адресом. С помощью запроса состояния адаптера (Adapter Status Query) NetBIOS WINS-сервер находит имя (имена), связанное с данным IP-адресом, и возвращает эту информацию серверу MS DNS. Настройка WINS-В. для серверов MS DNS в корневой зоне обратного поиска выполняется так же, как и конфигурация WINS для серверов в домене прямого поиска.
TCP/IP, NetBIOS и WINS
683
Серверы в домене обратного поиска хранят информацию, относящуюся к WINS-R, в записи ресурса следующей формы.
owner class WINS-R [LOCAL] [L<value>] [C<value>]
<добавляемый_домен>
Представление, значение и применение этих элементов аналогично предыдущему примеру, относящемуся к прямому WINS-разрешению, за исключением двух моментов.
Элемент wins-r идентифицирует версию службы WINS для обратного поиска; он должен выглядеть точно так же, как показано в примере. Если для открытия диалогового окна Свойства (Properties) сервера в домене обратного поиска вы используете консоль DNS (DNS Console), обратите внимание, что соответствующая вкладка называется WINS-R, а не WINS. Флажок, предназначенный для включения этой функции, называется Использовать обратный просмотр WINS (Use WINS-R lookup).
Элемент <добавляемый_домен> содержит доменное имя, которое необходимо присоединять ко всем именам NetBIOS, найденным WINS-сервером, при их возврате DNS-серверу в ответ на его запросы. Введите нужную строку в поле ввода текста Домен, добавляемый к возвращенному имени (Domain to append to returned name) на вкладке WINS-R диалогового окна <Имя> — Свойства (Server Properties).
Помимо всего прочего, функция обратного поиска MS DNS позволяет серверу MS DNS рассматривать хостовую часть имени как имя NetBIOS, а доменную часть — как идентификатор области NetBIOS, и предоставлять его WINS-серверу для разрешения. Если вам нужна эта возможность, нажмите кнопку Дополнительно (Advanced) на вкладке WINS-R диалогового окна <Имя> — Свойства (Server Properties) данного сервера и установите флажок Представить домен DNS как область NetBIOS (Submit DNS domain as NetBIOS scope). Диалоговое окно Дополнительно (Advanced) также позволяет устанавливать лимиты времени поиска и хранения в кэше для WINS-R.
Поиск неисправностей WINS и NetBIOS
Ошибки разрешения имен Windows, как и большинство других сетевых ошибок, можно разделить на две обширных категории: прямой отказ и ухудшение обслуживания. В некоторых отношениях полный отказ исправить легче. В этом случае наличие проблемы не оспаривается. Кроме того, сами причины этой проблемы обычно более очевидны: неправильная конфигурация клиента, ошибка пользователя при регистрации в сети и извечный (но от этого не менее серьезный) слабый контакт с сетевым кабелем, адаптерной платой или шнуром питания. Накопление факторов, связанных с субоптимизацией, редко приводит к прямому отказу от обслуживания.
684
Глава 12
С другой стороны, именно это является наиболее распространенной причиной (или группой причин) низкой производительности.
Когда сеть находится в хорошем состоянии, отказ служб NetBIOS зачастую связывается с некорректной конфигурацией конечных узлов или сбоем сервера. С другой стороны, низкая производительность обычно определяется совокупностью несущественных ошибок конфигурации сервера или значительного количества конечных узлов. Кроме того, на общую производительность сильно влияет топология сервера. При установке служб WINS в сети с множеством подсетей требуется не только учитывать вопросы защиты и доступности, но и обеспечивать оптимизацию загрузки канала глобальной сети (WAN). Следуя лучшим традициям NetBIOS, партнеры по репликации про-талкивания/выталкивания демонстрируют повышенную "болтливость". Необходимо противопоставить частоту обновлений WINS-сервера частоте некорректных положительных ответов на запросы имен. Неверные разрешения имен не только формируют дополнительный трафик, но, как правило, снижают производительность.
В этом разделе приводятся некоторые полезные инструменты диагностики проблем служб NetBIOS и WINS, а также перечень наиболее распространенных типов этих проблем.
Средства локализации неисправностей NetBIOS и WINS
Инструментальные средства, обеспечивающие диагностику и поиск неисправностей в сетях TCP/IP, могут быть полезны и при эксплуатации служб NetBIOS и WINS. К примеру, утилита PING — это прекрасный инструмент тестирования связности. Утилиты TRACEROUTE и NETSTAT выполняют задачи, связанные с диагностикой. Впрочем, все эти средства подробно рассматриваются в других главах данной книги. Предметом этого раздела выступают три инструмента, предназначенные для решения проблем с разрешением имен.
Утилита NBTSTAT
NBTSTAT — это программа, работающая из командной строки, которая возвращает статистику NetBIOS, используя службу NetBT, если в системе, в которой она работает, установлен стек TCP/IP. Утилита NBTSTAT присутствует на всех серверах и рабочих станциях Windows NT и Windows 2000. Это простой инструмент, обеспечивающий мгновенную обратную связь по состоянию конкретных клиентов NetBIOS, а также по вопросам разрешения имен NetBIOS вообще. Аргумент -п возвращает список всех локальных имен NetBIOS в табличной форме, сходной с табл. 12.1. Аргумент-г возвращает список имен, разрешенных посредством широковещания и с по
TCP/IP, NetBIOS и WINS
685
мощью службы WINS, и рассчитывает общее количество случаев разрешения и регистрации имен, осуществленных каждым из этих методов. Аргумент -s возвращает таблицу сеансов NetBIOS, отображая открытые сеансы и их IP-адреса назначения. Аргумент -s ("S" в верхнем регистре) выполняет ту же функцию, но пытается разрешить имя удаленного хоста с помощью файла HOSTS.
Чтобы просмотреть полный список аргументов и их синтаксиса, введите в командной строке nbtstat без аргументов.
Утилита NBSTAT предоставляет быстрый способ проверки состояния отдельных хостов NetBIOS и позволяет получить быстрый снимок процессов разрешения имен NetBIOS в локальном сегменте сети. Если, к примеру, вам кажется, что какой-то узел испытывает трудности при сообщении с WINS-сервером, применение утилиты NBTSTAT может показать, что на самом деле он пытается использовать широковещательное разрешение имени.
Консоли WINS и DNS
Консоли WINS-сервера (WINS Server Console) и DNS-сервера (DNS Server Console) располагают некоторыми средствами диагностики проблем с разрешением и регистрацией имен NetBIOS. В консоли WINS можно производить поиск активных зарегистрированных владельцев по имени или по самому владельцу. На рис. 12.7 показано, как был зарегистрирован каждый из таких владельцев.
Рис. 12.7. Консоль управления Windows 2000 в представлении WINS-серверов
686
Глава 12
Консоль DNS в Windows 2000 лучше, чем WINS-сервер, приспособлена для мониторинга и системной диагностики. Если вы выполнили интеграцию служб WINS и DNS, можете воспользоваться монитором производительности DNS (DNS Performance Monitor), который позволяет просматривать статистику службы DNS, включая значительные данные об использовании и интенсивности трафика службы WINS. Учтите, что вся эта информация выражается в показателях отдельного DNS-сервера, а не самого WINS-сервера. Неожиданные значения, присутствующие в этой статистике (например, большое количество полученных поисков WINS при незначительном количестве отправленных ответов WINS), могут служить признаками проблем с серверами или с конфигурацией некоторых клиентов.
SNMP для WINS
Рабочие параметры службы WINS, включая подробности о режиме репликации серверов и их производительности, хранятся в базе управляющей информации (Management Information Base, MIB). Для получения доступа к этим данным в целях локализации неисправностей и мониторинга производительности вы можете воспользоваться протоколом SNMP (Simple Network Management Protocol, простой протокол сетевого управления).
Анализаторы пакетов
Программы вроде NetMon, выполняющие захват сетевого трафика и расшифровку пакетов, являются чрезвычайно полезными устройствами поиска неисправностей в сетях. Более сложные экземпляры программ, такие как EtherPeek и Sniffer Pro, выполняют эти задачи еще лучше, поскольку они показывают статистику в различных видах, применяют фильтры и даже отправляют в сеть формируемые пользователями тестовые пакеты, отслеживая результаты. '
Эти программы позволяют просматривать сами пакеты, проверяя, правильно ли они оформлены. Вам предоставляется возможность заглянуть внутрь пакетов, и узнать, какая информация отсылается в каждый конец пары запроса/ответа. Более того, вы можете настраивать триггеры и аварийные сигналы для захвата отдельного типа трафика в определенное время или в случае конкретного сетевого события. Это мощные и гибкие инструменты. В отсутствие первоклассных анализаторов пакетов вроде EtherPeek анализ пакетов был бы сложнейшей задачей.
Типичные ошибки NetBIOS и WINS
В качестве примера, иллюстрирующего проблемы, которые легко решить при помощи анализатора пакетов, но трудно — без него, рассмотрим следующий случай.
TCP/IP, NetBIOS и WINS
687
Конечный узел может безошибочно регистрировать свое имя компьютера, имена пользователей и домен, однако приложение, работающее на этом узле и применяющее NetBIOS, по всей видимости, не может обращаться к сетевым ресурсам. Регистрация пользователя не вызывает подозрений, и он имеет право совместного использования ресурсов, к которым пытается получить доступ приложение. Захват нескольких пакетов из этого конечного узла в то время, когда он пытается использовать подозрительное приложение, способен раскрыть суть проблемы. Прикладная программа пытается получить доступ к ресурсам с помощью имени компьютера, а не имени текущего пользователя. Вот почему у нее ничего не получается (возможно, это результат ошибки программиста, который не позаботился о правильности переменных — все это так просто!).
Среди прочих типичных ошибок NetBIOS и WINS стоит отметить следующие:
□	неверная конфигурация конечных узлов вследствие ошибки пользователя;
□	некорректный вход в сеть вследствие ошибки пользователя;
□	неправильный тип узла вследствие ошибки пользователя или неверной конфигурации DHCP;
□	недостаточные лимиты времени, не учитывающие сетевые задержки;
□	нежелательный трафик вследствие неверной конфигурации конечных узлов и/или серверов или из-за конкретной топологии клиента/сервера;
□	злонамеренные ошибки (вторжение, имитация узла, принудительное освобождение имени);
□	необычное количество случаев принудительного освобождения имен вследствие некорректного отключения конечного узла;
□	перегрузка серверов вследствие неверной конфигурации или топологии.
^Предупреждение^
Помните, что большинство параметров, устанавливаемых прямо в реестре, подменяют установки DHCP.
Выводы по главе
□	Система NetBIOS была естественным методом для Windows организации сетей, и она до сих пор пронизывает схему совместного использования сетевых ресурсов Windows. Вне зависимости от теорий и несмотря на всяческие надежды на будущее, NetBIOS остается фактически незаменимым компонентом среды Windows.
О Маршрутизация NetBIOS и NetBEUI (NBF) невозможна в принципе. Чтобы появилась возможность ее применения вне локальной сети, сис
688
Глава 12
тема NetBIOS должна быть связана с маршрутизируемым сетевым протоколом вроде TCP/IP (NetBT или NBT).
□	Существуют три способа разрешения имени NetBIOS: поиск в локальном списке, запрос к серверу (WINS, DNS или Samba) или запрос ко всему локальному сегменту сети (с помощью широковещания). Первый способ оптимален в небольших сетях со статическими адресами и постоянными именами. В крупных сетях или динамических сетях любого размера списки непрактичны. Повторимся, что широковещательное разрешение имен подходит для мелких сетей, в которых все конечные узлы расположены в одном сегменте или подсети. В более крупных сетях, а также в сетях, требующих организации совместного использования ресурсов вне своих границ, широковещание не работает. Следовательно, разрешение с помощью сервера имен остается единственным жизнеспособным вариантом для крупномасштабных сетей, а также для сетей, разбросанных по множеству подсетей. Основным сервером имен NetBIOS является WINS, однако Microsoft DNS также может пользоваться WINS для разрешения имен NetBIOS.
□	Сетевые клиенты или конечные узлы Windows могут быть настроены на применение одного и четырех базовых режимов регистрации и разрешения имен. Они называются "типами узлов" (конечных узлов). Предельно схематично их можно описать следующим образом:
•	b-узел использует только широковещание (по умолчанию применяется клиентами Windows 2000 с отключенной службой WINS);
•	p-узел применяет только серверы имен (WINS);
•	m-узел использует широковещание, а к серверам (WINS) обращается как к резервному средству;
•	h-узел обращается к серверам (WINS), а в качестве резерва при необходимости пользуется широковещанием (по умолчанию применяется клиентами Windows 2000 с включенной службой WINS).
□ WINS-серверы аналогичны DNS-серверам, но предназначены для обслуживания пространства имен NetBIOS. Когда собственные DNS-сервера компании Microsoft настроены на запросы службы WINS для разрешения имен NetBIOS, они сочетают лучшие качества обоих систем. Как бы то ни было, вы должны помнить, что MS DNS может разрешать имена NetBIOS только в корневой зоне. Имена NetBIOS знают только одну сеть — ту, в которой они находятся.
Основные термины
CIFS (Common Internet File System, Общий протокол доступа к файлам Internet) — предложенный компанией Microsoft метод доступа к файлам в
TCP/IP, NetBIOS и WINS 669
Internet, базирующийся на применении NetBIOS и других собственных протоколов и программных интерфейсов приложений операционных систем Microsoft. Фактически применяется метод SMB, работающий с помощью NetBIOS.
LMHOSTS — файл в формате открытого текста, содержащий данные об именах NetBIOS и связанных с ними IP-адресах. Аналогичен файлу HOSTS, но содержит информацию, уникальную для NetBIOS.
Microsoft DNS (MS DNS) — выполненная в компании Microsoft реализация стандарта DNS, содержащая расширения, которые позволяют серверам MS DNS запрашивать службу WINS для разрешения имен NetBIOS. Для обратного поиска в домене in.addr.arpa сервера MS DNS могут использовать WINS-R, возвращая имена NetBIOS, связанные с данным IP-адресом.
NDIS (Network Driver Interface Specification, спецификация интерфейса сетевых адаптеров) — программные блоки (следующие данной спецификации), обеспечивающие процессам Транспортного уровня возможность нормального взаимодействия с сетевыми интерфейсными платами, несмотря на различия в схемах этих плат и реализациях их драйверов.
Samba — комплект приложений с открытым исходным текстом, предоставляющий возможность совместного использования файлов и принтеров с помощью SMB/CIFS (посредством NetBT) в различных операционных системах, в том числе в Linux и UNIX.
SMB (Server Message Block, блок серверных сообщений) — название клиент-серверного протокола совместного использования файлов, разработанного ЗСот, IBM и Microsoft и применяемых им сообщений. Протокол SMB функционирует на Прикладном уровне посредством NBT в среде Windows 2000 или NetBEUI в среде, содержащей другие операционные системы Windows. Кроме того, может работать на основе протоколов IPX/SPX.
TDI (Transport Driver Interface, интерфейс транспортного драйвера) — спецификация Microsoft, регламентирующая написание верхних уровней всех сетевых транспортных протоколов. Редиректор и сервер Windows об-- ходят NetBIOS и пользуются непосредственно TDI, таким образом избегая ограничений, связанных с NetBIOS.
WINS (Windows Internet Name Seivice, служба имен Internet для Windows) — серверная служба Windows NT Server и Windows 2000 Server, обеспечивающая разрешение имен NetBIOS и адресов практически тем же способом, которым DNS-сервер выполняет эти задачи относительно имен хостов 1Р.
Динамически подключаемая библиотека (dynamic link library, DLL) — блок исполнимого кода (или данных), применяемый другими приложениями Windows для выполнения конкретной функции или набора функций.
23 Зак. 321
690
Глава 12
Программный интерфейс приложения (Application Programming Interface, API) — совокупность программного кода, инструментальных средств и протоколов, применяемых при разработке программных приложений, согласующихся и совместимых с данной операционной системой.
Рабочая группа (workgroup) — в Windows так называется группа одноранговых узлов, способных к совместному использованию файлов в сети. Рабочая группа является менее интегрированным образованием, чем домен, и предполагает менее интенсивный централизованный мониторинг и управление.
Служба дейтаграмм (datagram service) — в протоколах NetBIOS, NetBEUI или NBF служба дейтаграмм представляет собой протокол без установления соединения, применяемый для отправки сообщений и ответов. Когда такие протоколы работают на базе TCP/IP (например, NetBT), службы дейтаграмм и имен применяют протокол UDP (через порты 138 и 137 соответственно). При необходимости установления более надежного соединения используется протокол TCP, предоставляющий службы сеансов.
Сообщение Wait Acknowledgement (WACK) (подтверждение для ожидания) — ответный пакет, отсылаемый WINS-серверами клиентам для подтверждения приема запроса без предоставления имени или отказа в нем, и содержащий просьбу подождать. В результате удается избежать излишнего простоя связи с перегруженным WINS-сервером.
Фреймовый протокол NetBIOS (NetBIOS Frame, NBF) — преемник NetBEUI в качестве собственного транспортного протокола NetBIOS в Windows 2000.
Ядро (kernel) — центральный элемент операционной системы компьютера. При запуске операционной системы ядро сохраняется в основной памяти. Оно выполняет наиболее важные задачи.
Контрольные вопросы
1.	Какая возможность была приоритетной во время разработки исходной версии NetBIOS?
а)	сильная межсетевая архитектура;
б)	надежные механизмы доставки;
в)	обеспечение обмена данными между разнородными системами;
г)	поддержка магистральных соединений;
д)	высокая производительность.
2.	Как называется собственный транспортный протокол NetBIOS, присутствующий в Windows 2000?
a)	NetBT;
б)	NBF;
TCP/IP, NetBIOS и WINS
691
в)	NetBOY;
г)	NBT.
3.	Через какие сетевые операционные системы возможна передача данных NetBIOS? (Выберите все подходящие ответы.)
a)	IEEE 802.3 (Ethernet);
б)	IPX/SPX;
в)	TCP/IP;
г)	IEEE 802.5 (Token Ring).
4.	Какая из перечисленных далее организаций ответственна за разработку и поддержку документов RFC?
a)	ISO;
б)	IANA;
в)	IETF;
г)	OSI.
5.	Что означает публикация документа в виде RFC?
a)	RFC является стандартом;
б)	RFC — это документ с открытым исходным текстом программного обеспечения;
в)	разработчики должны руководствоваться директивами RFC;
г)	директивами RFC должны руководствоваться фирмы, выполняющие государственные заказы;
д)	этот документ находится в государственной собственности;
е)	ни один из перечисленных вариантов не является правильным.
6.	Маршрутизация протоколов NBT и NBF возможна. Да или нет?
а)	да;
б)	нет.
7.	Перечислите уровни эталонной модели OSI, обслуживаемые NetBEUI, в возрастающем порядке.
а)	Прикладной уровень;
б)	Канальный уровень;
в)	Сетевой уровень;
г)	Физический уровень;
д)	Уровень представления;
е)	Сеансовый уровень;
ж)	Транспортный уровень.
692
Глава 12
8.	Какие из этих терминов являются обозначениями типов трафика NetBIOS? (Выберите все подходящие ответы.)
а)	дейтаграмма;
б)	полезная нагрузка;
в)	сеанс;
г)	назначение.
9.	Какой протокол выполняет службы сеансов? (Выберите все подходящие ответы.)
a)	UDP;
б)	NetBT;
в)	TCP;
г)	NetBEUI.
10.	Какие порты TCP выделены агентством IANA для NetBIOS? (Выберите все походящие ответы.)
а)	135;
б)	136;
в)	137;
г)	138;
д)	139.
11.	Из скольких символов состоит имя NetBIOS?
а)	8;
б)	16;
в)	32;
г)	64.
12.	Когда имя NetBIOS кодируется в форму, в которой возможен его анализ службой DNS, сколько символов используется для создания результирующего имени хоста?
а)	8;
б)	16;
в)	32;
г)	64.
13.	В любой операционной системе Windows система NetBIOS включена по умолчанию. Да или нет?
а)	да;
б)	нет.
TCP/IP, NetBIOS и WINS
693
14.	Количество каких пакетов службы NetBT возрастает, когда множество WINS-клиентов в сети просто отключаются от питания, вместо того, чтобы быть корректно выключенными (с помощью команды Shut Down)?
а)	требование разрешения имени (Name Resolution Demand);
б)	отрицательный ответ на запрос символического имени (Negative Symbolic Name Response);
в)	требование освобождения имени (Name Release Demand);
г)	требование предупреждения о выключении (Shut-down Warning Demand).
15.	По умолчанию какое количество запросов на регистрацию имен (Name Registration Request) в очереди запускает пиковый режим WINS-сервера? а) 50;
б)	800;
в)	500;
г)	8000.
16.	Когда на конечном узле задействуется служба NetBT, этому узлу необходимо присвоить идентификатор области NetBIOS, сделав это либо с помощью DHCP, либо путем прямого редактирования реестра. Да или нет?
а)	да;
б)	нет.
17.	Для разрешения каких адресов DNS-сервер корневой зоны frank.com может использовать служба WINS? (Выберите все подходящие ответы.)
а)	frankofred.frank.com;
б)	funk.frank.com;
в)	frank.frank.frank.com;
г)	frank.funk.frank.com.
18.	При обратном поиске WINS используются команды NBTSTAT. Для какого домена DNS разрешен обратный поиск WINS (WINS-R)?
а)	любой потомок второго уровня этой корневой зоны;
б)	in-addr.arpa;
в)	in-ardor.napa;
г)	frank.funk.frank.com.
19.	Какую сетевую схему описывают документы RFC 1001 и RFC 1002?
a)	NetBT;
б)	NBF;
694
Глава 12
в)	SNMP;
г)	CIFS.
20.	При разрешении имени NetBIOS надежный запрос WINS через Internet невозможен. Да или нет?
а)	да;
б)	нет.
21.	Какой тип узла NetBIOS не использует широковещание при разрешении имен?
а)	h-узел;
б)	р-узел;
в)	Ь-узел;
г)	т-узел.
22.	С помощью каких средств вы предпочли бы проверить клиента NetBIOS в локальной сети, если на вашей и других машинах задействован стек TCP/IP? (Выберите все подходящие ответы.)
a)	NSLOOKUP;
б)	SNMP;
в)	PING;
г)	NBTSTAT.
23.	WINS-агенты используются при регистрации имен NetBIOS для Ь-узлов. Да или нет?
а)	да;
б)	нет.
24.	В каких операционных системах могут существовать WINS-клиенты? (Выберите все подходящие ответы.)
a)	UNIX;
б)	OS/2;
в)	DOS;
г)	Linux.
25.	Сколько байт занимает суффикс NetBIOS, обозначающий тип службы?
а)	1;
б)	2;
в)	4;
г)	16.
TCP/IP, NetBIOS и WINS
695
Практические задания
Выполнение следующих практических заданий возможно, только в среде Windows 2000.
Задание 12.1
Применение утилиты NBTSTAT из командной строки
для запроса ресурсов службы NetBT
1.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Командная строка (Command Prompt). Появится окно командной строки Командная строка (Command Prompt).
2.	Введите в командной строке nbtstat и нажмите клавишу <Enter>. Появится прокрученный до конца экран справки NBTSTAT.
3.	Воспользовавшись полосой прокрутки в правой части окна Командная строка (Command Prompt), найдите начало текста NBTSTAT. В нем определена функция NBTSTAT, приведена схема синтаксиса (включая порядок одновременного указания аргументов), а также значение и употребление каждого аргумента. Обратите внимание, что все аргументы чувствительны к регистру: -а и -а — это разные аргументы, выводящие разные ответы.
4.	Прокрутите окно Командная строка (Command Prompt) вниз для ввода новой команды.
5.	Введите в командной строке nbtstat с и нажмите клавишу <Enter>. В результате появится список имен и адресов NetBIOS, находящихся в кэше данной (локальной) машины (рис. 12.8).
Рис. 12.8. Команда nbtstat -с
696
Глава 12
6.	Прокрутите данные NBTSTAT и выберите из списка имен NetBIOS одно имя для использования в ходе выполнения следующего шага. При необходимости прокрутите окно до появления командной строки.
7.	Введите в командной строке nbtstat -а удаленное_имя (заменив элемент удаленное_имя выбранным в предыдущем шаге именем) и нажмите клавишу <Enter> (рис. 12.9). NBTSTAT отобразит список имен NetBIOS, возвращенных компьютером с именем удаленное^имя.
Рис. 12.9. Команда nbtstat -а
8.	Прокрутите окно, если это необходимо для просмотра всей информации, выведенной в ответ на последнюю команду. Затем прокрутите окно вниз до появления командной строки.
9.	Закройте окно Командная строка (Command Prompt).
Задание 12.2
Поиск местонахождения файлов HOSTS и LMHOSTS по умолчанию
и считывание информации из образца файла LMHOSTS.SAM
1.	Выберите Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Проводник (Windows Explorer), а затем двойным щелчком откройте диск, на котором установлена операционная система Windows 2000.
2.	Перейдите в каталог <KopeHb_windows>\system32\drivers\etc.
3.	Вам необходимо найти несколько файлов в этом подкаталоге. Сначала двойным щелчком откройте файл под названием HOSTS.
TCP/IP, NetBIOS и WINS
697
4.	Если появится диалоговое окно, в котором нужно будет выбрать программу для открытия файла этого типа, выберите Notepad или любой другой редактор простого текста. (Не выбирайте WordPad или Microsoft Word.) Учтите, что по умолчанию в файле HOSTS Windows 2000 активен (не закомментирован) только локальный хост или адрес обратной связи 127.0.0.0.
5.	Прочитав краткий заголовок файла HOSTS, закройте этот файл, не сохраняя изменений.
6.	Откройте образец файла LMHOSTS.SAM, если таковой присутствует, а если в этой папке его нет, откройте файл LMHOSTS.
7.	Прочтите введение на первой странице файла LMHOSTS, обратив внимание на дополнительные элементы, применяемые для включения специальных функций LMHOSTS для NetBIOS, такие как зарезервированное слово #PRE, предназначенное для загрузки имен NetBIOS в кэш имен NetBIOS при запуске системы.
8.	Просмотрев файл LMHOSTS или образец этого файла, закройте его, не сохраняя изменений.
9.	Закройте текстовый редактор, если этого не произошло автоматически.
Задание 12.3
Захват пакетов NetBT или NBF (NetBEUI)
и исследование их структуры
1.	Руководствуясь инструкциями задания 1.2 главы 1, запустите демо-версию программы EtherPeek for Windows.
2.	В меню Capture нажмите Start Capture.
3.	Откроется окно Capture Options (опции захвата). Нажмите кнопку ОК, чтобы принять установки по умолчанию. Появится окно Capture.
4.	Нажмите кнопку Start Capture в окне Capture. Не забывайте, что в демоверсии EtherPeek окно Capture активно лишь в течение 30 секунд. Если за это время трафик захватить не удастся, нужно будет либо открыть новое окно Capture, либо произвести перезапуск программы EtherPeek for Windows. Эта демо-версия позволяет открывать до пяти окон захвата за один прогон программы.
5.	Чтобы создать трафик, дважды щелкните на пиктограмме Му Network Places на рабочем столе, а затем дважды щелкните на любом сетевом принтере, в результате чего будет сгенерирован сеансовый трафик. (Печатать необязательно — сама попытка "просмотреть" принтер связана с отправкой множества пакетов.)
698
Глава 12
6.	Для возврата к программе EtherPeek нажмите <Alt>+<Tab>.
7.	Демо-версия программы автоматически прекратит захват через 30 секунд. Если процесс захвата все еще идет, нажмите кнопку Stop Capture, чтобы остановить его. В противном случае нажмите кнопку ОК в диалоговом окне уведомления о прекращении захвата.
8.	Перейдите на вкладку Protocols в нижней части окна Capture.
9.	Найдите протокол NetBIOS в иерархическом листинге протоколов под записью "IEEE 802.3".
10.	Воспользуйтесь знаками "плюс" и "минус" в прямоугольниках, находящихся слева, для развертывания или свертывания иерархического листинга; ваша конечная цель — выделить все семейство протоколов NetBIOS, не включая соседние протоколы.
11.	Щелкните NetBIOS правой кнопкой мыши, а затем выберите Select Related Packets.
12.	Откроется диалоговое окно с информацией о том, сколько отдельных пакетов включено в выборку. Нажмите Hide Unselected. Окно Capture незамедлительно сменит представление на Packets.
13.	Вы должны видеть лишь те пакеты, которые EtherPeek относит к семейству протоколов NetBIOS.
14.	Щелкните на любом отдельном пакете, чтобы снять выделение со всех остальных элементов списка.
15.	В представлении Packets дважды щелкните на любом пакете из семейства NetBIOS, чтобы открыть его в окне расшифровки. Более крупная область, находящаяся в верхней части окна, содержит полную расшифровку содержимого пакета, включая интерпретацию множества специальных команд NetBIOS (закодированных в секциях Flag пакетов), SMB или других протоколов из этого семейства. Расшифровка выполняется элемент за элементом, в порядке от верхней части пакета в начале (выведенной, соответственно, в верхней части области) до контрольной последовательности кадра в конце (в нижней части области). Небольшая область в нижней части окна содержит две версии данных пакета: шестнадцатеричное представление слева, и необработанная ASCII-интерпретация этих шестнадцатеричных значений — справа.
16.	Для просмотра других пакетов воспользуйтесь кнопками Decode Previous (стрелка влево) и Decode Next (стрелка вправо). Обратите внимание на степень детализации содержимого пакетов NetBIOS. Все протоколы, входящие в семейство NetBIOS, стараются отслеживать намного больше параметров, чем, например, протокол UDP. Чтобы перейти обратно к представлению Packets, закройте окно расшифровки пакета (нажмите кнопку Close в верхнем правом углу текущего окна).
TCP/IP, NetBIOS и WINS
699
17.	Щелкните правой кнопкой мыши на одном из пакетов NetBIOS в представлении Packets и выберите Protocol Info. В результате появится информационное диалоговое окно с информацией о протоколе, к которому относится выбранный пакет.
18.	Прочтите содержимое этого информационного диалогового окна. NetBIOS располагает исключительно большим количеством отдельных типов фреймов, каждый из которых относится к конкретной функции. С течением лет многие из них применялись для более новых функций. Другие сохраняются лишь в целях обратной совместимости. Диалоговое окно Protocol Info особенно полезно при анализе трафика NetBIOS. Прочитав всю информацию до конца, нажмите кнопку Close.
19.	Закончив изучение этого пакета, не закрывайте демо-версию программы EtherPeek for Windows и сразу переходите к следующему заданию.
Задание 12.4
В этом проекте подразумевается, что демо-версия программы EtherPeek for Windows в вашей системе уже открыта, и вы успели захватить какой-то объем сеансового трафика NetBT. При необходимости вы можете повторить шаги задания 12.3.
Использование EtherPeek
для просмотра всего сеансового трафика NetBT
1.	Если вы скрыли некоторые пакеты, откройте их, выбрав пункт Unhide All Packets в меню Edit.
2.	Откройте окно Filters (войдите во вкладку Filters).
3.	Нажмите кнопку Insert, чтобы открыть окно Edit Filter.
4.	Установите флажок Port filter. Тем самым вы сможете настроить фильтр таким образом, чтобы он искал пакеты, проходящие через определенный порт.
5.	Введите "139" в текстовом поле Port 1, т. к. именно этот порт по умолчанию используется сеансовым трафиком NetBT.
6.	При необходимости выберите TCP-UDP в поле Туре.
7.	Нажмите кнопку Port 1 to 2 и выберите Both directions, чтобы действие фильтра распространялось на пакеты, в которых указанный порт может определяться как источник или как пункт назначения.
8.	В текстовом поле Filter введите имя этого фильтра — NetBIOS Sessions.
9.	Нажмите кнопку ОК, чтобы завершить создание фильтра и добавить его во все списки.
10.	Перейдите на вкладку Packets и проверьте, все ли пакеты находятся в видимом состоянии (они не должны быть скрыты).
700
Глава 12
11.	Выберите пункт Select меню Edit, чтобы открыть диалоговое окно Select.
12.	При необходимости установите переключатель, находящийся в секции Selection Criteria, в положение Matches one or more filters.
13.	С помощью полос прокрутки в правой части окна найдите фильтр, который вы только что создали (он называется NetBIOS Sessions), и установите флажок рядом с его записью.
14.	Если это необходимо, нажмите Match в секции Select packets that, и Replace — в секции Current selection.
15.	Нажмите кнопку Select Packets, чтобы выбрать все пакеты, находящиеся в текущем окне Capture и направленные из порта или в порт 139 TCP или UDP.
16.	Откроется диалоговое окно Selection Results, в котором будет показано количество выделенных пакетов. Нажмите кнопку Hide Unselected. Имейте в виду: если в диалоговом окне Selection Results написано, что выделенные пакеты отсутствуют, это значит, что в активном (переднем) окне Capture не обнаружено видимых пакетов, содержащих ссылку на порт 139. Проверьте, действительно ли вы работаете с нужным окном Capture (если открыто несколько экземпляров этого окна), и все пакеты видимы. Если все правильно, повторите шаги проекта 12.3, направленные на захват пакетов, содержащих сеансовый трафик NetBT. Чтобы закрыть диалоговое окно Select, нажмите кнопку Close.
17.	В представлении Packets окна Capture дважды щелкните на первом пакете, чтобы открыть его в окне расшифровки пакетов.
18.	Обратите внимание, что в Ethernet-заголовке представлены МАС-адреса источника и назначения, а в IP-заголовке — соответствующие 1Р-адреса. Эта информация может быть полезной при просмотре сеансового трафика, но в данном случае вы можете свернуть эти два заголовка (с помощью знаков "плюс" и "минус" в прямоугольниках, находящихся слева от них), оставив прочие заголовки полностью развернутыми.
19.	TCP-заголовок начинается с указания TCP-портов источника и назначения. Здесь, естественно, обозначен порт 139, который программа EtherPeek характеризует как "netbios-ssn" (NetBIOS Session, сеанс NetBIOS). Вторым портом может быть любой из множества неиспользуемых портов. Это не слишком очевидно, т. к. анализатор протоколов EtherPeek (как и другие источники) связывает эти порты с именами, совершенно незнакомыми большинству людей: например — "iad2".
Многие порты в диапазоне выше 1023 раньше были свободными. Некоторые протоколы, и в том числе NetBIOS, применяют эти порты для временных соединений, таких как сеансы NetBIOS или TCP. На самом деле кое-какие из этих портов заняты. Как и многие другие анализаторы протоколов, EtherPeek выясняет информацию о присвоении портов из
TCP/IP, NetBIOS и WINS
701
списков, публикуемых агентством IANA (Агентство по выделению имен и уникальных параметров протоколов Internet)). К примеру, определенный порт когда-то мог быть присвоен группе, работающей над разработкой сложных протоколов маршрутизации. Сегодня этот порт может не использоваться в изначальных целях, но присвоение сохраняется. Информация о назначении портов, присутствующая в расшифровках пакетов EtherPeek, документах RFC и даже в самых свежих публикациях IANA, часто не имеет ничего общего с текущим положением вещей, и в вашей Windows-сети через такие порты может проходить совершенно другой трафик.
20.	Обратите внимание на секцию NetBIOS-заголовка. Он также идентифицирует содержимое как сеанс NetBIOS, но вполне вероятно, что это содержимое на самом деле выражается в форме транзакции или SMB-сообщения. По своему происхождению протокол SMB связан с NetBIOS. Несмотря на утверждения об обратном, эти два протокола тесно переплетены.
21.	Прокрутите окно и посмотрите в его нижней части на полезную нагрузку пакета, если она есть. Она может присутствовать в секциях Data (данные), особенно в последней из них.
22.	Обратите внимание, что в области расшифровки окна эти элементы данных обозначены как "Data: (<какое-то количество> bytes)".
23.	Выделите этот элемент данных. Взгляните на секции шестнадцатеричного и ASCII-представлений в нижней части окна расшифровки пакета. При необходимости воспользуйтесь прокруткой, чтобы просмотреть части каждого из этих дополнительных представлений — нужные данные должны быть выделены. В этой части пакета содержатся "данные". Выделения в обоих областях соответствуют.
24.	С помощью кнопок Decode Next (стрелка вправо) и Decode Previous (стрелка влево) в нижней части окна расшифровки просмотрите другие пакеты, обращая внимание на ASCII-версии в секциях данных полезных нагрузок.
25.	Как видите, большая часть расшифровки неотчетлива, а некоторые ключевые элементы отображаются в открытом тексте. Вы можете видеть имена ресурсов NetBIOS, например — имена пользователей и компьютеров, различных служб, совместно используемых дисков или принтеров. Эти клочки информации помогают понять, совместное использование каких ресурсов пытаются организовать протоколы NetBIOS и SMB, и как они это делают.
26.	Имейте в виду, что любой обыкновенный текстовый редактор с (распространенной) возможностью отображения двоичных файлов и их ASCII-эквивалентов позволяет вам ознакомиться с этой частью данных
702
Глава 12
пакета не хуже EtherPeek и всех остальных анализаторов пакетов. Это еще один повод озаботиться защитой локального трафика NetBIOS с помощью брандмауэра в вашей локальной сети, вместо того чтобы без разбора отсылать его через общедоступную сеть Internet. Сеансы, организованные через виртуальную частную сеть (Virtual Private Network, VPN), намного безопаснее, чем обычный просмотр файлов или доступ к ним посредством одного лишь NetBT.
27.	Закончив изучать эти пакеты, оставьте демо-версию программы EtherPeek for Windows открытой и сразу переходите к следующему заданию.
Задание 12.5
В этом задании подразумевается, что демо-версия программы EtherPeek for Windows уже открыта, и в течение разрешенных пяти минут была автоматически собрана глобальная статистика сети с включенными протоколами NetBT и NBF (это конфигурация по умолчанию клиентов Windows 2000 с задействованной службой WINS и стеком TCP/IP).
Применение EtherPeek
для просмотра диапазона типов пакетов NetBIOS
1.	Откройте окно Protocol Statistics, нажав Statistics в, строке меню, а затем нажав Protocols.
2.	Если в окне Capture идет захват трафика NetBIOS, вы можете взглянуть на представление Protocols этого окна (войдя во вкладку Protocols в нижней части окна Capture). Тем не менее, поскольку период использования окна Capture ограничен 30 секундами (или 250 пакетами), глобальная статистика должна содержать более подробную информацию.
3.	Обратите внимание на наличие двух наборов протоколов, выстроенных в иерархическом порядке под двумя заголовками: "IEEE 802.3" и "Ethernet Туре 2". Это альтернативные реализации Ethernet. Чтобы полностью развернуть эти иерархии (если это необходимо), по очереди выделите каждый из заголовков верхнего уровня и, удерживая нажатой клавишу <Ctrl>, щелкните правой кнопкой мыши.
4.	NetBIOS присутствует в двух разных местах, т. е. под обоими этими заголовками верхнего уровня. Под заголовком "IEEE 802.3" он записан как "NetBEUI/NetBIOS", а под заголовком "Ethernet Туре 2" с подзаголовком "TCP" (или "UDP") в рамках семейства протоколов IP — как "NetBIOS". Запись под заголовком "IEEE 802.3" — это то, Что на протяжении всей главы мы называли "NBF". Другую запись мы обозначали термином "NetBT".
Причина двойной иерархии в EtherPeek состоит в том, что этот анализатор протоколов считывает данные пакета в порядке от начала к концу и
TCP/IP, NetBIOS и WINS
703
обозначает протоколы на основании этих данных. Формат заголовка более ранней реализации Ethernet "Туре 2" несколько отличается от формата, принятого в новейшей версии Ethernet, — IEEE 802.3. Большинство реализаций Ethernet стека протоколов TCP/IP соответствуют
, стандарту Туре 2 Ethernet. Кроме того, пакеты Туре 2 Ethernet не поддерживают заголовок управления логическим соединением (LLC) IEEE 802.2, а пакеты 802.3 его поддерживают. Вспомните, что протокол NBF, собственный транспортный протокол NetBIOS, инкапсулирован непосредственно в заголовке управления логическим соединением 802.2.
5.	Обратите внимание на многообразие подтипов пакетов, соответствующих каждой из этих версий NetBIOS. И все они проявились всего за пять минут!
6.	Окно Protocol Statistics поможет вам вычислить, сколько пакетов NetBIOS обоих типов присутствует в вашем пятиминутном образце. Сверните обе иерархии протоколов NetBIOS до такой степени, чтобы видны оставались только их верхние уровни ("NetBEUI/NetBIOS" или "NetBIOS"). Статистика по всем подпротоколам появляется в заголовках верхнего уровня именно тогда, когда иерархии представлены в этом виде. (Когда иерархия развернута так, что отображаются все подпротоколы, значения Bytes (байты) и Packets (пакеты) для заголовков верхнего уровня выражают лишь те пакеты, которые не отнесены к одному из этих подпротоколов.)
7.	Нажав Statistics в строке меню, откройте окно Node Statistics, а затем нажмите Nodes, чтобы выяснить количество активных узлов; будьте осторожны — это окно считает за узел любой МАС-адрес, содержащийся в элементах сетевого трафика. Поэтому в числе прочего могут быть сосчитаны широковещательные адреса, наборы адресов групповых компьютеров, не говоря уже о брандмауэрах и маршрутизаторах.
8.	Произведите примерный расчет количества пакетов в секунду на каждом активном конечном узле NetBIOS в локальном сегменте сети.
9.	Умножьте результат на 100 активных узлов. Именно поэтому NetBIOS называют "болтливым" протоколом. Возможно, пяти минут недостаточно, чтобы показать все его возможности, но для NetBIOS характерна сильная внутренняя тенденция — "чем больше информации и чем чаще, тем лучше". Вообразите такой уровень активности в коммутируемом соединении глобальной сети. По этой причине сетевые администраторы предусмотрительно ограничивают (или полностью запрещают) выход трафика NetBIOS за пределы локального сегмента сети.
10.	Закройте демо-версию программы EtherPeek for Windows.
704
Гпава 12
Учебные задачи
1.	Предположим, что главный офис вашей компании находится в Денвере, а филиал — в Сан-Леандро, штат Калифорния. Почти год персонал филиала состоял всего из трех человек. Недавно в него поступило еще 20 человек, и столько же рабочих станций, которые теперь обслуживаются локальным WINS-сервером, а в Денвере находится вторичный WINS-сервер. Все пользователи — как в Денвере, так и в Сан-Леандро — находятся в одном домене. Сервер в Сан-Леандро является принимающим партнером (партнером выталкивания) по отношению к серверу в Денвере. Потребность в совместном использовании динамических ресурсов между этими двумя офисами невелика, так что вы установили высокий интервал выталкивания (30 минут). Два офиса обмениваются информацией по Internet-соединениям TCP/IP через их локальных поставщиков доступа в Internet. Пока вы ждете обновления до DSL, офис в Сан-Леандро действует на основе того же ISDN-канала, что использовался раньше, когда персонала было намного меньше. Просмотрев июньский счет ISDN, вы понимаете, что что-то не так — сумма получается запредельная. Вы ожидали, что платить придется больше, чем раньше, но такое впечатление, что канал ISDN действует почти 24 часа в сутки. В то же время между 20:00 и 6:00 в офисе редко кто бывает. Вы сверяетесь журналами регистрации и выясняете, что дело отнюдь не в трафике HTTP или FTP (по крайней мере, не в первую очередь). Что следует сделать теперь? Как вы думаете, в чем проблема? Как можно проверить ваши предположения?
2.	Предположим, что вы продали свою компанию со штатом в 60 человек корпорации Gigundo за кругленькую сумму. Вы уже собрались получить деньги, и тут приходят ваши новые партнеры и немного шокируют известием о продаже вашего доменного имени (за сумму с тремя нулями и неустановленное количество компакт-дисков AOL). Они хотят интегрировать вашу компанию в свою сеть, но сделать это с помощью ведомственных каналов Gigundo. В их сети есть только 14 поддоменов, соответствующих в некоторой степени устарелой и очень иерархичной внутренней организации. Сеть их предприятия состоит только из систем UNIX, кроме отдела продаж, в котором присутствуют, в основном, Windows-клиенты. Ваше предприятие — это смесь клиентов Windows NT 4.0, Windows 98 и Windows 2000 на основе DNS-серверов Windows 2000, настроенных на использование ваших WINS-серверов для разрешения имен NetBIOS. Философски заключив: "разве кто-нибудь заплатил бы нам больше?", вы стараетесь найти правильные слова, чтобы сказать им, что предложенный подход, мягко говоря, не лучший. А почему вы так думаете? Какой подход оптимальнее? Старого домена уже нет, но без серьезной интеграции с Gigundo не обойтись. Какие способы лучше всего под
TCP/IP, NetBIOS и WINS
705
ходят для слияния вашей компании с их компанией? Какие функциональные преимущества и опасности связаны с каждым из этих альтернативных способов?
3.	Допустим, что при переводе шести человек из отдела продаж вновь в технический отдел вы просто заново настроили их рабочие станции на применение DHCP и автоматическое добавление в базу WINS-сервера (работающего на той же физической машине, что и DHCP-сервер). Когда продавцы пожаловались на невозможность доступа к сетевым ресурсам, вы выполнили захват трафика, исходящего из их машин, и выяснили, что все эти машины некорректно настроены — как будто DHCP-сервер предоставил им неправильную конфигурационную информацию. Вы проверили DHCP-сервер и убедились, что там все нормально. И только после этого вы поняли, в чем, скорее всего, кроется проблема — продавцы перенесли свои машины из временных офисов, которые они занимали в течение последних трех месяцев. Вам пришлось идти к каждой машине в отдельности, чтобы разрешить проблему. В чем же она состояла? Как вы ее решили?
4.	Предположим, что у вашего знакомого есть небольшая дизайнерская компания, чья сеть состоит из рабочих станций Windows NT 4.0 и Windows 2000. Кроме того, в ней есть одна старая система Windows NT в роли файлового сервера, а также система Linux в роли брандмауэра на DSL-канале. До организации сети Windows NT/2000 в компании применялось то, что считалось сетевой схемой Windows по умолчанию — NetBIOS over NetBEUI. Теперь новый клиент хочет, чтобы сеть компании подсоединилась к его WINS-серверу, т. к. это позволит обеспечить возможность прямого совместного использования ресурсов. Учитывая вопросы безопасности, что вы посоветуете вашему знакомому? Почему? Какие у него (и у его клиента) есть альтернативы?
Глава 13
Протокол IP версии 6 (IPv6)
После прочтения этой главы и выполнения упражнений вы сможете:
□	узнать ограничения, присущие протоколу IPv4, и способы, с помощью которых протокол IPv6 их преодолевает;
□	ориентироваться в структуре и возможностях нового адресного пространства протокола IPv6 и понимать порядок его применения;
□	разобраться в режиме сосуществования протоколов IPv6 и IPv4 и понять, как можно одновременно использовать обе эти версии в ходе долгого переходного периода от IPv4 к IPv6;
□	спланировать эффективную схему внедрения протокола IPv6 в ваших сетях.
В этой главе представлена новая версия протокола IP, которую иногда называют новым поколением протоколов межсетевого взаимодействия (Internet Protocol next generation, IPng), но чаще — протоколом IP версии 6 (IPv6). Здесь описаны поводы к разработке нового протокола Internet и адресного пространства протокола IPv6, а также новые возможности IPv6, связанные с маршрутизацией, качеством обслуживания (Quality of Service, QoS), автоконфигурацией, мобильными пользователями и безопасностью. В заключительной части главы предлагаются возможные методы постепенного внедрения протокола IPv6.
Имейте в виду, что протокол IPv6 все еще находится в стадии разработки. Некоторые его основные структурные составляющие, такие как адресация и использование адресного пространства, уже можно признать устоявшимися, однако многие другие возможности, как то: поддержка безопасности, автоконфигурация, качество обслуживания (QoS) и поддержка мобильных пользователей, до сих пор являются дискуссионными. В главе использованы наиболее полные данные, имевшиеся в нашем распоряжении на момент ее написания, но учтены лишь те документы RFC, которые были опубликованы до мая 2001 года. Эта попытка рассмотрения протокола IPv6 представляет вам прекрасную возможность вникнуть в процесс создания RFC, особен
708
Глава 13
но если вы попытаетесь узнать текущее состояние упомянутых в этой главе документов RFC и не пожалеете времени на то, чтобы выяснить, какие документы, регламентирующие применение протокола IPv6, появились в самое последнее время.
Зачем нужно создавать новую версию протокола IP?
Протокол IPv4 оказался одним из самых успешных сетевых протоколов из всех, когда-либо созданных. Так как система организации IP-сетей с коммутацией пакетов надежна, относительно проста и масштабируема, она быстро превратилась в стандарт. Если посчитать количество соединенных устройств, получится, что только крупнейшие национальные телефонные сети и глобальная телефонная сеть в целом превышают по объемам сеть Internet. Так зачем же сменять то, что, несомненно, и так хорошо работает? Хороший вопрос!
Можно сказать, что протокол IPv4 стал жертвой собственного успеха. 32-разрядное адресное пространство протокола IPv4 обеспечивает возможность создания примерно четырех миллиардов уникальных IP-адресов. В период разработки протокола IPv4 этого хватало на то, чтобы предоставить по два адреса каждому жителю планеты.
Из-за изначального классового, или иерархического, способа распределения и структурирования IP-адресов полезное адресное пространство (usable address space) (количество хостов, которые фактически могли быть подсоединены к сети Internet) оказалось намного меньше теоретического максимума. Впрочем, без какой-либо разновидности иерархии маршрутизация была бы вообще невозможна. Для каждого нового соединения требовался бы поиск нужного адреса среди четырех миллиардов возможных адресов. При наличии иерархического пространства имен только относительно небольшая часть любого адреса имеет значение при принятии решения о маршрутизации, а такое решение необходимо на каждом конкретном транзите в пути от отправителя к получателю.
Этот недостаток IP-адресов был в некоторой степени исправлен внедрением системы бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR) и последующими изменениями в назначении адресов. Устранению этой проблемы также поспособствовала трансляция сетевых адресов (Network Address Translation, NAT) в сочетании с адресными блоками, выделенных для "частных" IP-адресов (которые не предназначались для маршрутизации в самой сети Internet) в документе RFC 1918. Еще одно решение было реализовано в протоколе DHCP (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста), который обеспечил совместное использование адресных блоков среди (потенциально большей)
Протокол IP версии 6 (IPv6)
709
группы хостов. Все эти нововведения внесли свой вклад в смягчение существовавшей проблемы, но их потенциал невечен.
Инженерное сообщество Internet пришло к пониманию этих и связанных с ними проблем в начале 1990-х годов; тогда же началась разработка возможных решений. Как результат объединения усилий, проведения многолетних экспериментов и напряженного обсуждения, появился протокол IPv6. Хотя недостаток адресного пространства всегда являлся основным стимулом подготовки перехода от протокола IPv4 к IPv6, в то же время учитывалось множество других проблем и возможностей. Протокол IPv6 по сравнению с IPv4 выражает значительные изменения в системах безопасности, автоконфигурации и качества обслуживания; кроме того, он повышает эффективность маршрутизации и координации мобильных пользователей. Как-никак, раз уж приходится пересматривать такую сложную и важную среду связи, как протокол IP, изменения должны быть всеобъемлющими.
В основном, в этой главе рассматриваются общие характеристики протокола IPv6 в трех основных областях: адресном пространстве, маршрутизации и новой структуре 1Ру6-пакетов. Кроме того, речь пойдет о новых или модернизированных функциях протокола IPv6, связанных с автоконфигурацией хостов, безопасностью, качеством обслуживания (QoS) и поддержкой мобильных пользователей. В заключение представлены некоторые способы постепенного внедрения протокола IPv6 в сетевую среду, до сих пор зависимую от доминирующей версии — протокола IPv4.
Адресное пространство протокола IPv6
Самым значительным недостатком протокола IPv4 является нехватка универсально действительных IP-адресов. Пользователям стационарных узлов в Северной Америке и (в меньшей степени) Западной Европе доступно множество "обходных путей", направленных на поддержку связности. Тем не менее, нехватка адресов весьма сильно ограничивает непрерывное развитие сети Internet в остальном мире, увеличение количества мобильных пользователей, а также распространение подсоединенных к сети Internet домашних и офисных локальных сетей. Кризис адресов буквально душит дальнейшее развитие сети Internet и множества технологий, которые могут реализовать перспективу всемирной связности.
Протокол IPv6 успешно разрешает эту проблему путем создания адресного пространства, превышающего аналогичное пространство протокола IPv4 более чем на 20 порядков. Маршрутизация в таком огромном пространстве невозможна без понятия иерархии. Иерархия адресного пространства протокола IPv6 характеризуется гибкостью и четкостью, предоставляя обширные возможности для будущего развития.
710
Глава 13
Формат адресов и их распределение
Длина 1Ру6-адресов составляет 128 бит. Такой адрес можно рассматривать как строку, которая уникально идентифицирует индивидуальный сетевой интерфейс в глобальной сети Internet. С другой стороны, эта 128-битная строка представляет собой адрес с сетевой и хостовой частями. То, какая часть адреса относится к той или иной части адреса, зависит от того, кто к нему обращается и где они находятся относительно хоста, которому этот адрес принадлежит. Если объект находится в той же подсети, что и хост, их адреса различаются лишь в последних своих частях, определение которых и позволяет уникально идентифицировать конкретный хост. Если оценивающий объект находится рядом с магистралью, а нужный адрес относится к хосту на границе Internet, то для отсылки пакета этому хосту нужна лишь небольшая начальная часть адреса.
Формат и нотация адресов
Собственно говоря, адреса обеих версий протокола IP являются двоичными числами, т. е. строками нулей и единиц, обозначающих, какие разряды (биты) включены, а какие — отключены. Длина 1Ру6-адресов составляет 128 бит, а 1Ру4-адресов — 32 бит. В записи адреса протокола IPv6 выражаются в шестнадцатеричной системе счисления (00— ГЕ), в отличие от адресов протокола IPv4, которые обычно фиксируются в десятичном представлении (0—255). Поскольку 1Ру6-адреса намного длиннее, чем 1Ру4-адреса, они по-разному разбиваются. Вместо 8-битных десятичных чисел, разделяемых точками, 1Ру6-адреса используют восемь 16-битных чисел, разделяемых двоеточиями (:). Обе строки, приведенные далее, представляют собой действительные сетевые 1Ру6-адреса.
FEDC:ВА45:1234:3245:Е54Е:А101:1234:ABCD
1018 : FD0C:0:9:90:900:10ВВ:А
Из-за своеобразного структурирования и распределения 1Ру6-адресов в них часто содержится множество нулей, но, как и в протоколе IPv4, отображение головных нулей не является обязательным. Протокол IPv6 позволяет применять специальную нотацию, суть которой заключается в "заполнении данной части адреса таким количеством 16-битных наборов нулей, чтобы общая длина адреса составила 128 бит". Она оптимальна в тех случаях, когда несколько смежных 16-битных секций адреса состоят из одних нулей. К примеру, два следующих адреса абсолютно одинаковы, но по-разному представлены.
1090:0000:0000:0000:0009:0900:210D:325F
1090::9:900:210D:325F
Смежная пара двоеточий (::) выражает количество соседних 16-битных групп нулей, необходимых для того, чтобы данный адрес принял нужную
Протокол IP версии 6 (IPv6)
711
128-битную форму. В каждом адресе такая нотация может использоваться лишь единожды; в противном случае будет невозможно определить, сколько имеется групп "•.0000:" и куда нужно их подставить!
Сетевая и хостовая части адресов
Для представления сетевого префикса 1Ру6-адреса может потребоваться использование типа нотации, знакомой вам по системе CIDR и применяемой в протоколе IPv4. После адреса можно указывать "/десятичное число", которое обозначает, сколько крайних слева смежных разрядов являются частью сетевого префикса. К примеру:
1090::9:900:210D:325F / 60
1018:FD0C:0:9:90:900:10ВВ:А / 24
Ниже обозначены только те части этих адресов, которые относятся к их подсетям.
1090:: / 60
1018:FD00 / 24
При представлении единичной 16-битной группы нельзя опускать нулевые байты в конце строки. Если в 16-битной группе меньше четырех (десятичных) цифр, предполагается, что недостающими цифрами являются головные нули. К примеру, нотация 1Ру6-адреса ":А:" всегда расширяется до ":000А:", но не до ":00А0" или ":А000:".
Идентификатор области действия
Групповые адреса в протоколе IPv6 используют 4-битный идентификатор области действия (scope identifier), который позволяет обозначить часть сети Internet, в которой данная группа действительна. Более подробно этот компонент рассмотрен далее в разд. "Групповые адреса" этой главы.
Идентификаторы интерфейсов
За одним важным исключением протокол IPv6 требует присвоения каждому сетевому интерфейсу собственного уникального идентификатора интерфейса (interface identifier). Таким образом, независимо от того, чем именно является узел (рабочей станцией, ноутбуком, мобильным телефоном, автомобилем или тостером), каждый отдельный интерфейс каждого устройства должен быть уникально идентифицирован. Лишь в ограниченных случаях, когда хост с множеством интерфейсов может выполнять динамическое выравнивание нагрузки по отношению ко всем этим интерфейсам, они могут пользоваться общим уникальным идентификатором.
Кроме того, протокол IPv6 требует соответствия идентификаторов интерфейсов формату IEEE EUI-64 (EUI-64 format). В Ethernet-сетях уникальный
712
Глава 13
1Ру6-идентификатор интерфейса создается на основе МАС-адреса данной сетевой интерфейсной платы. МАС-адрес платы Ethernet составляет 48 бит в длину, причем он изначально предназначен для глобальной уникальной идентификации. Первые 24 бита обозначают название производителя платы, а внутри этой секции может также указываться индивидуальная партия изделия. Следующие 24 бита определяются производителем с таким расчетом, чтобы каждое число было уникально в пределах всей его продукции. Все, что в этом случае нужно для создания уникального идентификатора интерфейса, — это его дополнительная набивка. В формате IEEE EUI-64 между двумя половинами МАС-адреса добавляются еще 16 бит (OxFFFE), и получается уникальный 64-битный номер.
Не все интерфейсы располагают собственными встроенными глобально уникальными идентификаторами. К примеру, последовательные соединения и концы IP-туннелей также должны быть уникально идентифицированы среди себе подобных. Идентификаторы таких интерфейсов могут быть получены путем случайной генерации чисел, определены вручную или установлены с помощью какого-либо другого метода.
В целях подготовки к внедрению новой системы, когда особую важность приобретут глобально уникальные идентификаторы (в отличие от локально уникальных), протокол IPv6 требует выполнения установки пятого и шестого бита первого октета идентификаторов интерфейсов формата EUI-64 так, как это показано в табл. 13.1.
Таблица 13.1. Глобальные/локальные и индивидуальные/групповые разряды идентификатора интерфейса в протоколе IPv6
Бит 5	Бит 6	Значение
0	0	Локально уникальный, индивидуальный
0	1	Локально уникальный, групповой
1	0	Глобально уникальный, индивидуальный
1	1	Глобально уникальный, групповой
Не случайно это позволяет администраторам создавать локально уникальные индивидуальные идентификаторы интерфейсов следующей формы:
; ;3
: :D4
Точные методы создания уникальных идентификаторов интерфейсов определены для каждого типа сетей в отдельности: Ethernet, с маркерным доступом, FDDI и т. д.
Протокол IP версии 6 (IPv6)
713
В апреле 2001 года компания Sony объявила, что впредь все ее продукты будут снабжаться "встроенными IP-адресами". Предположительно это означает, что Sony собирается встраивать в свои устройства некие серийные номера, которые впоследствии можно будет использовать для генерации уникальных идентификаторов интерфейсов для каждого из этих устройств. Учитывая 18 миллиардов возможных комбинаций, 64-битный идентификатор обеспечивает значительные возможности развития.
Что касается вопросов конфиденциальности и долгосрочной безопасности, документ RFC 3041 регламентирует методы регулярной смены уникальных идентификаторов интерфейсов, особенно когда они генерируются исходя из МАС-адресов интерфейсных плат. Предполагается, что этот подход не является обязательным, и его могут применять организации, обеспокоенные проблемами безопасности и желающие, чтобы их идентичности определялись безошибочно — вероятно, посредством анализа несанкционированного трафика.
Адреса протокола IPv6, содержащие IPv4-aflpeca
Чтобы облегчить внедрение протокола IPv6 и обеспечить возможность существования обоих версий протоколов IP, проблемная группа проектирования Internet (Internet Engineering Task Force, IETF) установила два типа 1Ру6-адресов, содержащих 1Ру4-адреса. Они называются 1Р\>4-совместимыми адресами (IPv4-conipatible address) и 1Р\>4-преобразованными адресами (IP-mapped address). Первые 80 бит обоих типов состоят только из нулей. Последние 32 бита каждого из них содержат 1Ру4-адрес, который можно представить способом, обычным для адресов протокола IPv4 (четыре десятичных числа, разделенные точками). Непосредственно предшествующие IPv4-адресу 16 бит устанавливаются по-разному, что позволяет проводить различие между этими двумя типами адресов. В 1Ру4-совместимом адресе протокола IPv6 эти 16 бит состоят только из нулей (0x0000), а в IPv4-преобразованном адресе протокола IPv6 — только из единиц (OxFFFF).
Узлы, туннелирующие IPv6-пакеты через 1Ру4-маршрутизаторы, используют 1Ру4-совместимые адреса. Они называются двухстековыми узлами и понимают обе версии протокола IP. 1Ру6-узлы, взаимодействующие с 1Ру4-узла-ми, которые не понимают протокол IPv6, используют 1Ру4-преобразованные адреса.
Предложение о собственных IPve-адресах в URL
В ныне существующем проекте группы IETF предлагается метод выражения IPv6-адресов в форме, совместимой с унифицированными указателями информационных ресурсов (URL) протокола HTTP. Так как символ двоеточия (:) большинством браузеров применяется для обозначения номеров портов из IPv4-aupecoB, представление собственных 1Ру6-адресов в их обычной но
714
Глава 13
тации привело бы к возникновению проблем. Предложение состоит в том, чтобы использовать еще одну пару зарезервированных символов, а именно — квадратные скобки ([ и ]) — для ограничения 1Ру6-адресов. Этот проект предполагает, что символы квадратных скобок должны быть зарезервированы в URL специально для представления адресов протокола IPv6.
Типы адресов
Протокол IPv6 допускает использование очень немногих типов адресов и налаживает эти типы таким образом, чтобы обеспечить максимальную пропускную способность для обычного трафика в сильно разросшейся сети Internet. В известном смысле, старая классовая структура 1Ру4-адресов разрабатывалась в расчете как на доступность человеческому пониманию, так и на практичность использования устройствами. Новые типы 1Ру6-адресов учитывают годы опыта маршрутизации в крупных иерархических доменах и рационализируют весь этот процесс. Адресное пространство протокола IPv6 оптимизировано для выполнения маршрутизации.
Специальные адреса
Некоторые единичные адреса зарезервированы для специального использования. Это так называемые неопределенный адрес (unspecified address) и адрес обратной связи. Неопределенный адрес состоит из одних нулей и в нормальной нотации обозначается двумя двоеточиями (::). По существу, это адрес, который адресом не является. Он не может выступать в качестве адреса назначения. Единственное поступившее предложение по использованию этих адресов предполагает выделение их для узлов, которые еще не знают собственных адресов, но должны отсылать сообщения при запуске своих машин. Такой узел мог бы, к примеру, отослать присоединенным к нему маршрутизаторам на локальном канале сообщение с просьбой объявить их адреса; таким образом, новый узел может "понять", где он находится.
Адрес обратной связи состоит из нулей, однако самый последний бит установлен в единицу. В нормальной нотации его можно представить в виде двойного двоеточия и единицы (::1). Адрес обратной связи — это исключительно диагностическое средство; для пакетов, отсылаемых в локальную сеть, его нельзя использовать в качестве адреса источника или назначения, и его маршрутизация также невозможна. Когда в отсылаемом пакете в качестве пункта назначения указывается адрес обратной связи, это означает, что 1Ру6-стек на отправляющем хосте направил это сообщение самому себе; в этом случае оно проходит по стеку и по нему же возвращается, даже не выходя в локальный канал. Это действие очень важно, т. к. позволяет убедиться в том, что IP-стек данного устройства корректно установлен и настроен. (Очевидно, что устройство, которое не может "разговаривать с собой", не способно к взаимодействию с другими устройствами.)
Протокол IP версии 6 (IPv6)
715
В протоколе IPv4 под адреса обратной связи была выделена целая сеть класса А — 127.Х.Х.Х, в результате чего из доступного адресного пула удалялись миллионы адресов. Это небольшой, но ясный пример, доказывающий, что разработчики протокола IPv6 руководствовались именно практическими соображениями.
Никакого широковещания
Другим следствием практического опыта является отказ протокола IPv6 от широковещательных адресов. Широковещание чрезвычайно неэкономно в смысле пропускной способности и маршрутизации. В протоколе IPv6 все функции, которые в протоколе IPv4 выполняло широковещание, передаются групповым адресам. Основное различие между этими двумя типами адресов состоит в том, что на групповые сообщения узлы должны подписываться. Кроме того, в протоколе IPv6 групповые сообщения легче поддаются управлению и маршрутизации, причем в значительной степени это является заслугой нового поля Scope (область действия) и других новых возможностей, связанных с маршрутизацией и адресацией (все эти детали рассмотрены далее).
Групповые адреса
В протоколе IPv6 групповые адреса применяются для отсылки идентичных сообщений множеству хостов. В локальной сети Ethernet хосты могут ожидать групповой трафик, на который они подписаны. В других типах сетей групповой трафик обрабатывается по-другому, причем иногда за него отвечает специальный выделенный сервер, передающий групповые сообщения каждому отдельному подписчику.
Суть группового вещания состоит в том, что оно базируется на подписке. Узлы должны объявлять о своем желании принимать групповой трафик, связанный с конкретным групповым адресом. Что касается группового трафика, исходящего не из локального канала, подписываться на него от имени подсоединенных узлов должны соединительные маршрутизаторы.
Формат групповых адресов изображен на рис. 13.1. Первый байт состоит только из единиц (OxFF), что позволяет идентифицировать групповой адрес. Второй байт разделяется на два поля. Поле Flags (флаги) длиной в четыре бита предшествует полю Scope (область действия) той же длины. Оставшиеся 112 бит идентифицируют конкретную многоабонентскую группу.
Поле Flags (флаги) рассматривается как набор отдельных 1-битных флагов. Значения первых трех (крайних слева) флагов еще не определены. Они зарезервированы на будущее и должны быть приравнены к нулям. Последний (крайний справа) флаг устанавливается в единицу, когда групповой адрес является временным или переходным. Если же группой адрес является хорошо известным, значение этого флага приравнивается к нулю.
716
Глава 13
8	4	4
11111111	FLAGS	SCOPE
112 bits
CROUP ID
Рис. 13.1. Формат группового IPv6-aflpeca
Очевидно, что целую сеть Internet можно было бы с легкостью "поставить на колени", не будь способа ограничения области переадресации группового трафика. Поле Scope (область действия) группового адреса ограничивает диапазон адресов, в пределах которых многоабонентская группа признается действительной. Возможные значения этого поля представлены в табл-. 13.2.
Таблица 13.2. Значения поля Scope для групповых !Ру6-адресов
Шестнадцатеричное представление	Десятичное представление	Назначение области действия
0	0	Зарезервировано
1	1	Область действия в пределах локального интерфейса
2	2	Область действия в пределах локального канала
3	3	В проекте зарезервировано для использования в пределах локальной подсети
4	4	В проекте предложено использовать в пределах полномочий локального администратора
5	5	Область действия в пределах локального узла
6	6	Свободно
7	7	Свободно
8	8	Область действия в пределах организации
9	9	Свободно
А	1°	Свободно
В	11	Свободно
С	12	Свободно
D	13	Свободно
Е	14	Глобальная область действия
F	15	Зарезервировано
Переходные или временные групповые адреса вводятся для выполнения какой-либо временной задачи, а затем ликвидируются. Аналогия — свободные
Протокол IP версии 6 (IPv6)
717
порты, применяемые протоколом TCP для временных сеансов. Идентификатор группы (Group ID) временного группового адреса не имеет никакого смысла вне пределов собственной области действия. Это означает, что две группы с одинаковыми идентификаторами, но разными областями действия абсолютно не связаны между собой, если флаг "Т" приравнен к единице. С другой стороны, хорошо известные идентификаторы групп (в которых бит "Т" приравнивается к нулю), присваиваются таким категориям, как все маршрутизаторы или все DHCP-серверы. В сочетании с полем Scope (область действия) это позволяет групповому адресу определить все маршрутизаторы локального канала или все DHCP-серверы в глобальной сети Internet.
Несмотря на то, что последние 112 бит групповых адресов относятся к идентификатору группы (поле Group ID), в адресах, определенных на сегодняшний день или запланированных на применение в будущем, первые 80 из них приравниваются к нулям. Оставшиеся (крайние справа) 32 бита адресного пространства должны содержать всю ненулевую часть идентификатора группы. Учитывая, что возможно присвоение более четырех миллиардов идентификаторов групп, этого должно быть достаточно для всех предсказуемых задач.
Специальный тип групповых адресов, называемых затребованными адресами узлов, обеспечивает поддержку обращения к соседним узлам (Neighbor Solicitation, NS). Структура таких адресов и метод их создания рассмотрены далее в этой главе.
Альтернативные адреса
В протоколе IPv6 представлен новый тип адресов — альтернативный адрес. Пакеты, направленные на такой адрес, приходят на ближайший экземпляр этого адреса. "Ближайший" адрес в данном случае рассматривается с позиции маршрутизатора и его представления о расстояниях в сети. Альтернативный адрес используется для обращения к функциям, широко распространенным во множестве пунктов сети Internet. В качестве примеров можно привести маршрутизаторы, DHCP-серверы, и подобные устройства. Вместо того чтобы применять групповой адрес для рассылки пакета всем NTP-серверам в пределах локального канала, узел может отослать пакет на альтернативный адрес всех NTP-серверов и быть уверенным в том, что он будет доставлен на ближайший NTP-сервер с этим альтернативным адресом. Формат альтернативного адреса аналогичен формату однонаправленного адреса, и отличить один от другого практически невозможно. Каждый сервер или узел, желающий принимать альтернативный трафик, должен быть настроен на прослушивание такого трафика, отсылаемого на конкретный адрес.
Документ RFC 2373 требует от всех подсетей поддержки альтернативных адресов маршрутизаторов этих подсетей. Аналогичным образом, все маршрутизаторы в данной подсети должны поддерживать альтернативный адрес
718
Глава 13
маршрутизатора подсети. По формату такой адрес представляет собой префикс подсети, за которым следуют только нули. Другими словами, префикс подсети может занимать столько байт или бит, сколько требуется для точной идентификации подсети, которую обслуживают маршрутизаторы. Их альтернативные адреса — это сетевой префикс, справа от которого забиваются нули; естественно, общая длина должна составлять 128 бит. Альтернативный адрес маршрутизатора подсети предназначается для использования, к примеру, мобильными пользователями, ищущими взаимодействия с любым маршрутизатором в их собственной сети.
В документе RFC 2526 содержится предложение о резервировании 128 высших значений идентификаторов интерфейсов в каждой подсети для их назначения альтернативным адресам этой подсети. Это означает, что 64-битные части идентификаторов интерфейсов этих адресов должны быть заполнены единицами, кроме глобального/локального бита, который должен быть нулем (если он локальный), и последних семи двоичных разрядов, которые обозначают альтернативный идентификатор. Единственное конкретное альтернативное назначение, предложенное в этом документе RFC, касается серверов собственных агентов мобильного IPv6 (Mobile IPv6), которым должен присваиваться альтернативный идентификатор из 126 (в десятичном представлении) или OxFE. Все остальные альтернативные идентификаторы объявляются зарезервированными.
Однонаправленные адреса
Как видно из его названия, однонаправленный адрес отсылается одному сетевому интерфейсу. Его можно рассматривать как базовый или обычный адрес в адресном пространстве протокола IPv6. Его формат соответствует тому, что был описан ранее: он состоит из 64-битного идентификатора интерфейса из самых младших разрядов и 64-битной сетевой части адреса из самььх старших разрядов. (Если п — это символ 16-битного числа в сетевой части, ад — символ 16-битного числа в хостовой части, то такой адрес IPv6 принимает форму n: n: n: n: h: h: h: h).
Группируемый глобальный однонаправленный адрес
Чтобы облегчить маршрутизацию и организацию адресов, в протоколе IPv6 создан особый подвид групповых адресов под названием группируемого глобального однонаправленного адреса (aggregatable global unicast address). В таких адресах крайняя левая 64-битная часть (сетевая часть) разбивается на явные поля, что позволяет оптимизировать маршрутизацию. Если говорить более конкретно, этот формат позволяет "группировать" маршруты к таким адресам, т. е. объединять их в пределах одной записи в таблице маршрутизации. Формат группируемого глобального однонаправленного адреса изображен на рис. 13.2.
Протокол IP версии 6 (IPv6)
719
3	13	8	24	16	64 bits
FP	TLA ID	RES	NLA ID	SLA ID	INTERFACE ID
Рис. 13.2. Формат группируемого глобального однонаправленного адреса
Поле FP (Format Prefix, префикс формата) — это 3-битный идентификатор, обозначающий, к какой части адресного пространства протокола IPv6 принадлежит данный адрес. На момент написания этих строк в полях FP всех группируемых адресов должно указываться значение 001 (в двоичном представлении).
Длина поля TLA ID (Top-level Aggregation ID, идентификатор группировки верхнего уровня) составляет 13 бит и допускает 213 маршрутов верхнего уровня, или примерно 8000 групп адресов высшего уровня.
Длина следующего поля, которое называется RES, составляет 8 бит; оно зарезервировано для использования в будущем.
Поле NLA ID (Next-level Aggregation ID, идентификатор группировки следующего уровня) занимает 24 бита. Оно позволяет объектам, контролирующим одну из группировок верхнего уровня, разделять свои адресные блоки на меньшие блоки желаемого размера. В роли таких объектов обычно выступают крупные поставщики услуг Internet или другие масштабные компании. Они имеют возможность совместного использования адресного пространства с другими объектами. К примеру, они могут зарезервировать только половину таких разрядов, позволяя более мелким поставщикам услуг распределять очень крупные блоки адресов. Впоследствии мелкие поставщики услуг могли бы еще сильнее подразделять эти блоки, если бы в поле NLA ID было бы достаточно места.
Поле SLA ID (Site-level Aggregation ID, идентификатор группировки узлового уровня) занимает 16 бит, позволяя создавать 65 535 адресов в виде простого адресного пространства. С другой стороны, пользователи могут организовать эту часть адреса иерархическим способом, чтобы создать 255 подсетей по 255 адресов в каждой. Как явствует из названия поля, предполагается, что адресный блок этого размера будет распределен между отдельными узлами.
Поле Interface ID (идентификатор интерфейса) — это тот самый идентификатор интерфейса в формате EUI-64, что рассматривался в одном из предыдущих разделов этой главы.
Адреса локального канала и локального узла
Еще одним доказательством того, что при разработке протокола IPv6 учитывался опыт протокола IPv4, является создание адресов локального канала и
720
Глава 13
локального узла. Аналогичные адресам Ю.х.х.х или 192.68.х.х в протоколе IPv4, эти частные адреса не обладают возможностью маршрутизации за пределами своих локальных сетей, но характеризуются той же 128-битной длиной и тем же форматом идентификатора интерфейса, что и все остальные однонаправленные адреса. Форматы обоих типов адресов изображены на рис. 13.3.
IPv6 Link-Local Address Format
10 bits	54 bits	64 bits
1111111010	0	INTERFACE ID
IPv6 Site-Local Address Format
10 bits	38 bits	16 bits	64 bits
1111111011	0	SUBNET ID	INTERFACE ID
Рис. 13.3. Форматы адресов локального 1Ру6-канала и локального узла
Первые (крайние слева) 10 бит адреса локального канала (link-local address) устанавливаются в положение 1111111010 (все единицы, кроме последних трех разрядов, которые приравниваются к 010 в двоичном представлении). Следующие 54 бита состоят только из нулей. Последний (крайний справа) 64-битный блок адреса локального канала представляет собой обычный идентификатор интерфейса. Когда маршрутизатор опознает в пакете префикс адреса локального канала, он знает, что его можно проигнорировать, поскольку этот пакет предназначен только для локального сегмента сети.
Первые (крайние слева) 10 бит адреса локального узла (site-local address) устанавливаются в положение ШПИОН (все единицы, кроме последних трех разрядов, которые приравниваются к ОН в двоичном представлении). Следующие 38 бит состоят исключительно из нулей, а дальнейшие 16 бит содержат идентификатор подсети, обозначающий, для какого "узла" данный адрес является локальным. Как и во всех остальных однонаправленных адресах, последний (крайний справа) 64-битный блок адреса локального узла содержит стандартный идентификатор интерфейса. Адреса локального узла предоставляют возможность внутреннего перенаправления пакетов в пределах конкретного узла, но при этом обеспечивают невидимость этих пакетов из глобальной сети Internet.
Для адресов локального канала и локального узла выделяется по 1/1024 части адресного пространства протокола IPv6 (в соответствии с документом RFC 2373), как показано в табл. 13.3.
Протокол IP версии 6 (IPv6)__________________________________________727
Таблица 13.3. Распределение адресного пространства протокола IPv6
Назначение	Префикс (двоичное представление)	Доля адресного пространства
Зарезервировано	0000 0000	1/256
Свободно	0000 0001	1/256
Зарезервировано для присвоения NSAP	0000 001	1/128
Зарезервировано для присвоения протоколу IPX (в проекте предложено освободить)	0000 010	1/128
Свободно	0000 011	1/128
Свободно	0000 1	1/32
Свободно	0001	1/16
Группируемые глобальные однонаправленные адреса	001	1/8
Свободно	010	1/8
Свободно	011	1/8
Свободно	100	1/8
Свободно	101	1/8
Свободно	110	1/8
Свободно	1110	1/16
Свободно	11110	1/32
Свободно	1111 10	1/64
Свободно	1111 110	1/128
Свободно	1111 11100	1/512
Адреса локальных каналов	1111 1110 10	1/1024
Адреса локальных узлов	1111 1110 11	1/1024
Групповые адреса	1111 1111	1/256
Распределение адресов
Адресное пространство, соответствующее 128-битной схеме нумерации, очень обширно — оно позволяет создать примерно 3,4 х 1038 уникальных значений. Даже при строгом соблюдении иерархической адресации, резервирования для специальных адресов и дополнительного резервирования, рассмотренного далее в этой главе, протокол IPv6 предварительно распреде-
24 Зак. 321
722
Глава 13
ляет только лишь 15% от общего числа доступных адресов. Таким образом, по крайней мере 2,89 х 1038 адресов можно использовать для выполнения других задач!
Специальные адреса, такие как адрес обратной связи, неопределенный адрес, а также IPv6-aupeca, содержащие 1Ру4-адреса, входят в показанную в табл. 13.3 группу "зарезервированных" адресов, начинающихся с префикса "0000 0000" (в двоичном представлении).
Распределение групповых адресов
Как показано в табл. 13.3, все групповые 1Ру6-адреса начинаются с префикса OxFF. Они составляют 1/256 часть всего доступного адресного пространства. Максимально возможное количество групповых адресов ограничивается требованием того, что идентификатор группы должен содержаться в пределах последних (крайних справа) 32 бит адреса. Несмотря на это, доступными остаются более четырех миллиардов хорошо известных групповых адресов, не говоря уже о намного большем количестве годных к употреблению переходных адресов этого типа.
Распределение однонаправленных и альтернативных адресов
Как видно из названия, маршруты к адресам, взятым из блоков группируемых глобальных однонаправленных адресов, могут быть легко сгруппированы. Для распределения 1Ру6-адресов было разработано довольно много схем. Схема, применяемая в настоящее время, предполагает назначение адресных блоков для "обменов", после чего осуществляется дальнейшее распределение. Эта схема обходит проблему стороной, вместо того, чтобы разрешать сомнения, связанные с высказанными ранее предложениями о назначении отдельных блоков "поставщиками" и на географической основе (т. е. на основе физического расположения хостов).
В документе RFC 2373 отмечается, что все адреса, начинающиеся с префиксов от 001 до 111 (кроме групповых адресов, которые начинаются с префикса 1111 1111 в двоичном представлении) должны содержать 64-битный идентификатор интерфейса в части самых младших разрядов (т. е. в крайней правой части). Весь этот раздел адресов, который до сих пор остается, в основном, свободным, очевидно, предназначается для обслуживания отдельных устройств.
Распределение NSAP
Как показано в табл. 13.3, 1/128 часть адресного пространства протокола IPv6 выделена для адресов, использующих адресацию типа NSAP (Network Service Access Point, точка доступа к сетевой службе). Такие сети (например, ATM, Х.25 и т. д.) обычно содержат двухточечные каналы между хостами.
Протокол IP версии 6 (IPv6)
723
Этот принцип в корне отличается от того, что является характерной чертой для протокола IP. По этой причине до сих пор неясно, будут ли такие сети преобразовывать 1Ру6-адреса в форму, соответствующую их собственным схемам адресации, производить обратные преобразования или же они воспользуются каким-то другим подходом, который позволит осуществить интеграцию с протоколом IP. В любом случае, для этих целей выделен крупный блок адресов.
Распределение IPX
В соответствии с документом RFC 2373, схеме сетевой адресации Novell IPX также досталась значительная часть адресов (табл. 13.3). В то время (июль 1998 года) проект описания адресов этого блока все еще находился в стадии рассмотрения. В новейшей версии продукта Novell NetWare, доступной на момент написания этих строк (NetWare 5), в качестве сетевого протокола по умолчанию выступает не IPX, а протокол IP. Несмотря на то, что формальный стандарт до сих пор не утвержден, в последних проектах содержится предложение отменить явное распределение IPX и возвратить этот блок адресов в категорию свободных.
Вопросы маршрутизации
Какими станут маршрутизаторы, работающие по протоколу IPv6? На самом деле они не сильно изменятся. Это может показаться удивительным, но нужно вспомнить, что протокол IPv6 разрабатывался, в основном, для того, чтобы разрешить проблемы маршрутизации, с которыми столкнулся протокол IPv4 в процессе стремительного развития сети Internet. Вопросы эффективной маршрутизации и пропускной способности учитывались с самого начала работ над новой версией протокола IP.
Структура группируемых глобальных однонаправленных адресов фактически встраивает преимущества маршрутизации CIDR в собственное адресное пространство протокола. Заголовок протокола IPv6, дополнительные заголовки, а также их сочетание в 1Ру6-пакете продуманы таким образом, чтобы обеспечить оптимальную производительность маршрутизатора.
Многие методы маршрутизации, знакомые по протоколу IPv4, такие как RIP, BGP-4 и OSPF, способствуют тому, что переход к протоколу IPv6 связывается с незначительными изменениями. Во многих отношениях наиболее важные модернизации этих протоколов — это подготовка к появлению намного более длинных 1Ру6-адресов.
Протокол IPv6 полностью пронизан идеями снижения рабочей нагрузки маршрутизаторов Internet. Опыт протокола IPv4 показал, что маршрутизация значительно выигрывает в ситуации, когда адресное пространство соответствует фактической топологии сети. Схемы распределения 1Ру6-адресов на
724
Глава 13
правлены на обеспечение как можно более серьезной группировки, которая при этом позволила бы как можно меньше "тиранить" пользователей. Учитывая сегодняшние дискуссии, представляется, что периодическая перенумерация сетей и будет являться той ценой, которую придется заплатить за эффективную маршрутизацию, особенно в огромном адресном пространстве, обеспечиваемом протоколом IPv6. Острота этого необходимого условия немного смягчается поддержкой автоконфигурации, реализованной в протоколе IPv6. Другая попытка сократить административные расходы — это способ, посредством которого узлы "обнаруживают" свои собственные среды; этой теме посвящен следующий раздел.
Обнаружение соседних узлов и извещения маршрутизатора
Протокол ND (Neighbor Discovery, протокол обнаружения соседних узлов), специфицированный в документе RFC 2461, предоставляет узлам способы выяснения многих данных, как то: на каком канале они находятся, каков префикс их подсети, где находятся рабочие маршрутизаторы этого канала, кто их соседи, какие из них находятся в активном состоянии и т. д.; во всех таких случаях этот протокол дает возможность связать адрес Канального уровня (например, МАС-адрес Ethernet) с 1Ру6-адресом. Кроме того, протокол ND предоставляет информацию о том, как узлам следует провести автоконфигурацию при запуске.
Для выполнения всех этих и сопутствующих задач протокол ND использует пять новых типов ICMP-сообщений, перечисленных далее.
□ RS (Router Solicitation, обращение к маршрутизаторам). Когда интерфейс становится активным, узел может отослать сообщение RS с просьбой о том, чтобы все маршрутизаторы, подсоединенные к локальному каналу, идентифицировали себя путем немедленной отправки извещений о своем существовании (Router Advertisement, RA), а не дожидались следующего запланированного извещения.
□ RA (Router Advertisement, извещение о существовании маршрутизатора). Периодически или по требованию маршрутизаторы отсылают сообщения, содержащие один или несколько их собственных адресов Канального уровня, сетевой префикс локальной подсети, максимальную единицу передачи (Maximum Transmission Unit, MTU) локального канала, предлагаемые ограничения по количеству транзитов и другие параметры, полезные для узлов локального канала. Кроме того, извещения о существовании маршрутизатора (RA) могут содержать маркированные параметры, обозначающие тип автоконфигурации, которым следует пользоваться узлам.
Протокол IP версии 6 (IPv6)
725
□	NS (Neighbor Solicitation, обращение к соседним узлам). Узел, может отослать обращение к соседям (NS), чтобы найти (или проверить) адрес Канального уровня локального узла, выяснить, доступен ли этот узел, и удостовериться в том, что его собственный адрес не используется другим узлом.
□	NA (Neighbor Advertisement, извещение о существовании соседнего узла). По требованию или в случае изменения своего адреса локального уровня узел отсылает извещение о существовании соседнего узла (NA), включая в него свой IPv6-aapec и адрес Канального уровня.
□	Redirect (переадресация). Когда маршрутизатор знает лучший первый транзит для конкретного адреса (лучший, чем он сам), он отсылает отправителю сообщение о переадресации (Redirect). В качестве типичного примера можно привести случай, когда узел пытается связаться с узлом, находящимся в том же сегменте, направляя пакет маршрутизатору. В сообщении Redirect этот маршрутизатор указывает, что пункт назначения существует в том же сегменте сети, что и отправитель. Кроме того, маршрутизатор может использовать сообщения о переадресации для выравнивания нагрузки трафика между несколькими интерфейсами.
На первый взгляд, протокол ND немного напоминает NetBIOS. Разница состоит в относительной простоте целей протокола ND и в наличии почти 15-летнего дополнительного опыта организации сетей, доступного разработчикам этого протокола. ND пользуется сообщениями в очень умеренной степени. Несмотря на то, что обращение к соседним узлам (Neighbor Solicitation, NS) направляется на специальный групповой адрес, извещение о существовании соседнего узла (Neighbor Advertisement, NA) в ответ отправляется прямо на однонаправленный адрес запрашивающего узла. Кроме того, в отличие от маршрутизаторов, узлы не извещают о своем существовании каждые несколько минут.
Протокол ND перенимает функции, которые в среде протокола IPv4 принадлежат протоколам ARP и Reverse ARP. Он также выполняет множество функций ICMP-сообщения Router Discovery (поиск маршрутизатора ICMP) и ICMP-сообщения Redirect (переадресация ICMP).
Протокол ND пользуется групповыми адресами, такими как адреса "всех маршрутизаторов" с областью действия внутри локального канала (FF02::2), адреса "всех узлов" с аналогичной областью действия (FF02:: 1), а также специальный затребованный адрес узла.
Затребованный адрес узла (solicited node address) — это групповой адрес с областью действия внутри локального канала, способствующий уменьшению количества многоабонентских групп, на которые узлы должны подписываться, чтобы другие узлы в их локальных каналах могли к ним обращаться. У одного узла может быть множество однонаправленных и альтернативных адресов. Старшие (находящиеся слева) разряды этих адресов могут отли
726
Глава 13
чаться. К примеру, у узла могут быть адреса, представленные несколькими поставщиками доступа (провайдерам). С тем, чтобы эффективно скрыть эти различия (которые в любом случае несущественны при обращении к соседним узлам), каждый узел должен вычислить и объединить затребованный адрес узла для каждого присвоенного ему однонаправленного и альтернативного узла. Затребованный адрес узла имеет формат FF02:0:0:0:0:l:FFxx.xxxx (где хх.хххх обозначает младшие [крайние справа] 24 бита однонаправленного или альтернативного адреса, связанного с данным интерфейсом).
Обнаружение максимальной единицы передачи маршрута и изменения в фрагментации
В среде протокола IPv4 маршрутизаторы могут фрагментировать пакеты, чтобы гарантировать, что ни один пакет, переданный по каналу, не будет больше, чем максимальная единица передачи (MTU), и максимальный размер пакета для данного канала не будет превышен. В протоколе IPv6 ситуация меняется. Отправители должны проверять максимальную единицу передачи маршрута (Path MTU, PMTU) между собой, а также между собой и пунктом назначения, до отсылки, и в соответствии с полученными данными формировать размер пакета. (Эти вопросы рассмотрены далее в разд. "Заголовок расширений фрагментации"этой главы.) Отправляющий хост осуществляет всю фрагментацию до отсылки пакета. Если маршрутизатор обнаруживает, что 1Ру6-пакет по размеру превышает значение MTU следующего транзита, он отвергает его. Если этот пакет был отослан с однонаправленного адреса, то маршрутизатор возвращает на него 1СМРу6-сообщение типа "слишком большой пакет". Предполагается, что это должно побудить отправителя повторить передачу, применив правильный размер фрагмента.
Учтите, что протокол IPv6 соблюдает новый минимум для MTU, равный 1280 байтам для канала Internet.
Каждый сегмент или канал сети характеризуется собственной максимальной единицей передачи (MTU). Это размер самого большого пакета, который может пройти по данному каналу. К примеру, для обычных сетей Ethernet значение MTU приравнивается к 1500 байтам. В среде протокола IPv4, если пакет размером в 2500 байт направляется через сегмент Ethernet, маршрутизатор должен его фрагментировать. Он разбивает этот пакет на столько фрагментов, сколько требуется для того, чтобы каждый из них (вместе с новым заголовком и информацией, необходимой для проведения корректной повторной сборки пакета) гарантированно соответствовал MTU следующего сегмента. Тот факт, что сеть Internet и ее предшественники обеспечивали поддержку великого множества типов сетей, способствовал тому, что фрагментация пакетов на границах этих сетей была жизненно необходимой операцией. Internet до сих пор состоит из сетей
Протокол IP версии 6 (IPv6)
727
многих типов, однако группа IETF, основываясь на опыте протокола IPv4, изменила порядок фрагментации. Теперь за обеспечение размера пакетов, соответствующего MTU выбранного пути, отвечает отправляющий хост. Цель этой реформы — снизить рабочую нагрузку маршрутизаторов, повысив общую пропускную способность.
Формат IPve-пакетов
Пакеты протокола IPv6 состоят из фиксированного 40-байтного заголовка постоянного формата, дополнительных заголовков расширений, а также полезной нагрузки (данных). Все эти элементы инкапсулированы в фрейме Канального уровня. Значение поля Ether Туре (Ether-тип) IPv6 — 0x86DD (рис. 13.4).
§	Flags:	0x00
Status:	0x00
0 Packet Length:72
0	TiDiestaicip:	12:30:15.981034	05/08/1997
В1 Г Ethernet Header
Destination: 08:00:20:76:93:D7	[0-5]
Source:	08:00:20:86:0D:IS [6-111
Prot ocoA Type :	[12-13]
S -T IP Version 6 Header - Internet Protocol Datagram
	Version:	6	[14 Mask OxFOJ
о	Priority:	0	[14 Mask OxOF] ttechdrdctez’lxed Traffic
0	Flow Label:	0x000000	[15-17]
0	Payload Length:	14	[18-19]
$	Neirt Header:	0x3A [20]
0	Hop Lindt:	10	[21]
a	Source Address:	FEBO:0000:0000:0000:0000:0000:0014:001A	[22
з	Destination address: FEBO:0000:0000:0001:0000:0800:2076:93D7	[38	
ICMPvG - Internet		Control Messages Protocol Version 6
	0	ICMP Type:	128	[54]	.Request
<s>	Code:	0	[55]
? -0	Checksum:	0xFE6B [S6-57]
г. 9	Identifier:	0x1400	[58-59]
0	Sequence Number	:	OxlAOO [60-611
	Packet Data: Data: (6 bytes)	[62-67]
$	Frame Check Sequence: 0xDC08677E	[68-71]	
.e^ J.bI ......i
Рис. 13.4. Структура 1Ру6-пакета
728
Глава 13
Базовый формат 1Ру6-заголовка
1Руб-заголовок разработан с расчетом на уменьшение времени обработки в пункте назначения и на промежуточных маршрутизаторах. Формат IPv6-заголовка отличается от структуры 1Ру4-пакета в следующих аспектах:
□	шесть полей 1Ру4-заголовка были устранены: Internet Header Length (длина Internet-заголовка), Type of Service (тип службы) и Precedence (предшествование), Identification (идентификация), Flags (флаги), Fragment Offset (смещение фрагмента) и Header Checksum (контрольная сумма заголовка);
□	три поля 1Ру4-заголовка были переименованы или видоизменены: Total Length (общая длина), Protocol (протокол) и Time to Live (TTL, время жизни);
□	были добавлены два новых поля: Class (класс) и Flow Label (метка потока).
Формат 1Руб-заголовка изображен на рис. 13.5.
DATA LINK HEADER  ETHER TYPE VALUE 0x86DD
0
16
31
VERSION
CLASS
FLOW LABEL
PAYLOAD LENGTH
NEXT HEADER
HOP LIMIT
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
Рис. 13.5. Формат !Р\/6-заголовка
Для 1Руб-заголовка не характерна переменная длина — она всегда составляет 40 байт. Опции определяются в заголовках расширений, расположенных после основного 1Руб-заголовка.
Протокол IP версии 6 (IPv6)729
Опции необходимы для расширения 64-битных рамок и, если необходимо, поддержки этой структуры с помощью набивки. В результате повышается скорость анализа заголовков расширений и пакета в целом. В сетях, которые могут работать на скоростях в 100 Мбит/с, 1 Гбит/с или быстрее, такие методики значительно увеличивают пропускную способность, поскольку они сильно облегчают кодирование логической схемы анализа в аппаратном или программно-аппаратном обеспечении.
Больше нет необходимости как в поле Internet Header Length (длина Internet-заголовка), так и в расчетах для установления границ между частями пакета. Новое поле Payload Length (длина полезной нагрузки) содержит данные о длине всей информации, следующей за 1Ру6-заголовком. При подсчете длины полезной нагрузки учитывается длина всех заголовков опций и расширений.
Теперь протокол IPv6 запрещает фрагментацию пакетов в пути. Если размер пакета слишком велик в сравнении с максимальной единицей передачи маршрута (PMTU) следующего транзита, то этот пакет просто отвергается. Исходный отправитель обязан проверить величину PMTU до пункта назначения и фрагментировать данные в соответствии с этой единицей передачи до отправки пакета. Заголовок фрагментации наследует все функции, которые выполнялись полями фрагментации в 1Ру4-заголовке.
Беглый просмотр 1Ру6-заголовка дает представление о модернизированном режиме работы этого заголовка Сетевого уровня.
Поле Version
В поле Version (версия) всего лишь указывается, что данный заголовок относится к протоколу IPv6; значение этого 4-битного поля — шесть.
Поле Class
Новое поле Class (класс) обеспечивает поддержку назначения приоритетов трафика. Структура этого 8-битного поля, исходного называвшегося Priority (приоритет), изображена на рис. 13.6.
D	I I PR —J	I		I I I Reserved III
D = чувствительность к задержке PR = предшествование Reserved = зарезервировано, устанавливается значение 0000
Рис. 13.6. Структура поля Class
730
Глава 13
Первый бит поля Class указывает на то, что трафик чувствителен к задержкам. Если он приравнен к единице, значит, трафик зависим от временных характеристик. К примеру, обмены интерактивными данными, равно как передачи аудио- и видеоинформации, требуют установления соединений с низкой задержкой. Таким образом, в пакетах, в которых содержатся полезные нагрузки этих типов, первый бит поля Class обычно приравнивается к единице.
Поле Precedence (предшествование) (сокращенно обозначается как PR) аналогично соответствующему полю 1Ру4-заголовка; оно позволяет приложению дифференцировать типы трафика исходя из их приоритетов. Соответственно, маршрутизаторы могут обращаться к битам предшествования для определения приоритетов трафика во время обработки и организации очередей.
Последние три бита поля Class в данный момент являются зарезервированными. За более подробным описанием значений этого поля обращайтесь к информации о рабочей группе diffserv (Differentiated Service, дифференцированные службы) по адресу http://www.ietf.org.
Поле Flow Label
Поток (flow) — это группа пакетов, которые по требованию источника должны особым образом обрабатываться промежуточными маршрутизаторами.
Спецификация протокола IPv6 умышленно темнит по поводу применения этих меток. На самом деле, они совершенно необязательны. Если поле Flow Label (метка потока) не используется, оно забивается 20 нулями.
Поле Payload Length
В 1Ру4-заголовках в поле Total Length (общая длина) указывалась длина полезной нагрузки, включая IP-заголовок и любые последующие данные, относящиеся к фрагментации. Чтобы определить, какой объем данных следовал за 1Ру4-заголовком, принимающее устройство должно было рассчитывать значение Internet Header Length (длина Internet-заголовка) IPv4-3aro-ловка и вычитать его из значения поля Total Length (общая длина).
В случае с протоколом IPv6 поле Payload Length (длина полезной нагрузки) содержит информацию об объеме данных, следующих за 1Ру6-заголовком (сам заголовок не в счет). Это — пример процесса оптимизации заголовка, в результате которого уменьшается объем вычислений, связанных с IP-заголовком. Длина поля Payload Length составляет 2 байта.
Поле Next Header
В 1Ру4-заголовке в поле Protocol (протокол) определялась структура последующего заголовка, такого как UDP (17) или TCP (6). В протоколе IPv6 поле Next Header (следующий заголовок), длина, которого составляет 1 байт, указывает последующий заголовок расширения, транспортный, или какой-
Протокол IP версии 6 (IPv6)731
либо другой протокол (табл. 13.4). Чтобы определить транспортный протокол, передаваемый в 1Ру6-пакете, узел должен проверить каждый из заголовков, пока очередь не дойдет до значения поля Next Header, которое и идентифицирует транспортный протокол. Чтобы ускорить этот процесс, заголовки опций и расширений должны быть расположены таким образом, чтобы поля Next Header были в них на первых местах.
Таблица 13.4. Значения поля Next Header
Значение поля Next Header	Тип заголовка	Значение поля Next Header	Тип заголовка
0	Зарезервирован (IPv4)	44	Заголовок фрагментации (IPv6)
0	Межтранзитные оп-ции(1Руб)	45	Протокол междоменной маршрутизации (IDRP)
1	ICMP (IPv4)	51	Заголовок аутентификации
2	IGMP (IPv4)	52	Зашифрованная полезная нагрузка безопасности
3	Межшлюзовый протокол	58	ICMPV6
4	IP в IP (инкапсуляция IPv4)	59	Отсутствие следующего заголовка (IPv6)
5	Поток (stream)	60	Заголовок опций назначений (IPv6)
6	TCP	80	ISO CLNP
17	UDP	88	IGRP
29	ISO TP4	89	ORPF
43	Заголовок маршрутизации (IPv6)	255	Зарезервирован
Многие из этих значений характерны для 1Ру4-поля Protocol и 1Ру6-поля Next Header.
В протоколе IPv6 любой заголовок расширения необходимо помещать между IP-заголовком и любыми заголовками протоколов высшего уровня. На данный момент спецификация протокола IPv6 обеспечивает поддержку следующих шести заголовков расширений:
□	межтранзитных опций (Hop-by-Hop Options);
□	маршрутизации (Routing);
□	фрагментации (Fragmentation);
732
Глава 13
□	аутентификации (Authentication);
□	зашифрованной полезной нагрузки безопасности (Encrypted Security Payload);
□	опции назначения (Destination Options).
Протокол IPv6 поддерживает сцепление заголовков после основного IPv6-заголовка. Более подробная информация о заголовках расширений содержится далее в разд. "Заголовки расширений" этой главы.
Поле Hop Limit
Это 1-байтное поле, которое в протоколе IPv4 называлось Time То Live (TTL, время жизни), в протоколе IPv6 переименовано в Hop Limit (лимит транзитов). Это название соответствует фактическому порядку его использования в обеих версиях протокола.
Поле Source Address
Поле Source Address (адрес источника) идентифицирует 16-байтный IP-адрес отправляющего хоста.
Поле Destination Address
Поле Destination Address (адрес назначения) идентифицирует 16-байтный IP-адрес принимающего хоста.
Заголовки расширений
За заголовком протокола IPv6 могут следовать заголовки протоколов UDP, TCP, другого протокола или один или несколько заголовков расширений. Определенные в настоящее время заголовки расширений "сцепляются" после основного П\6-заголовка с помощью поля Next Header (следующий заголовок) в этом заголовке и в самих заголовках расширений. К примеру, на рис. 13.7 изображена структура пакета, в котором после основного IPv6-заголовка присутствует несколько заголовков расширений.
В спецификации протокола IPv6 даются рекомендации относительно последовательности заголовков расширений. Она должна выглядеть следующим образом:
1.	IPv6.
2.	Hop-by-Hop Options (межтранзитные опции).
3.	Destination Options (опции назначения).
4.	Routing (маршрутизация).
5.	Fragment (фрагментация).
6.	Authentication (аутентификация).
Протокол IP версии 6 (IPv6)
733
7.	Encapsulated Security Payload (ESP, инкапсулированная полезная нагрузка безопасности).
8.	Destination Options (опции назначения).
9.	Заголовок высшего уровня (например, протоколов UDP, TCP или ICMP).
Заголовок канального уровня
Значение Enter-типа 0:8600
Заголовок IPv6
Следующий заголовок = 4 Заголовок расширения маршрутизации
Заголовок расширения маршрутизации
Следующий заголовок = 51 Заголовок расширений аутентификации
Заголовок расширений аутентификации
Следующий заголовок = 6
ТСР-заголовок
Заголовок протокола управления передачей
Порт назначения = 6 (команда FTP)
Команда FTP
Заголовок канального уровня
Рис. 13.7. Цепочки 1Ру6-заголовков в сети Ethernet
Заголовок Destination Options (опции назначения) — это единственный заголовок, который может присутствовать в нескольких местах. Он может быть расположен в одном из указанных положений, в обоих этих положениях или отсутствовать вообще. Его первый экземпляр в пакете используется на промежуточном пункте назначения. Когда он появляется после ESP-заголовка, его анализ возможен только в конечном пункте назначения. Далее мы рассмотрим каждый из возможных заголовков расширений, которые разграничиваются по спецификациям.
734
Глава 13
Заголовок расширений межтранзитных опций
Как показано на рис. 13.8, структура заголовка расширения межтранзитных опций (Hop-by-Hop Options) обеспечивает максимальную гибкость в смысле определения заголовка и выполняемых им функций. В этом заголовке могут присутствовать лишь два поля: Next Header (следующий заголовок) и Extended Header Length (длина расширенного заголовка). Поле Next Header ссылается на следующий заголовок с помощью одного из значений, представленных в табл. 13.4. Поле Extended Header Length определяет длину данного заголовка расширения межтранзитных опций, исключая минимальные восемь байт, которые обязательно должны присутствовать во всех заголовках расширений и опций. За исключением этого требования, заголовок не характеризуется фиксированной длиной.
PREVIOUS HEADER - NEXT HEADER VALUE = 0
.о.
15 16

NEXT HEADER
EXTENEDED HEADER LENGTH
HOP-BY-HOP INFORMATION
Рис. 13.8. Заголовок расширений межтранзитных опций
Заголовок расширения межтранзитных опций предназначен для передачи данных для маршрутизаторов, размещенных на протяжении длины всего пути. К примеру, если для поставки в объединенную сеть каких-либо инструкций по маршрутизации требуется групповая передача, эти инструкции можно поместить в заголовок расширений межтранзитных опций. Промежуточные маршрутизаторы на протяжении маршрута могут анализировать этот заголовок согласно его определению. Существуют два предложения относительно применения заголовка расширений межтранзитных опций: передача предупреждений маршрутизаторам, а также опции полезной нагрузки наиболее крупномасштабных сетей; более подробное описание этих вопросов приведено далее в разд. "Качество обслуживания (QoS) " этой главы.
Заголовок расширений маршрутизации
Заголовок расширений маршрутизации (Routing extension) протокола IPv6 обеспечивает поддержку строгой и свободной маршрутизации от источника.
Протокол IP версии 6 (IPv6)
735
Этот заголовок содержит поля, предназначенные для указания промежуточных адресов, через которые должна осуществляться передача 1Р\'6-пакста. Формат заголовка расширений маршрутизации изображен на рис. 13.9.
PREVIOUS HEADER - NEXT HEADER VALUE = 43
0...........................15	16.........................31
NEXT HEADER	EXTENDED HEADER LENGTH	ROUTING TYPE = 0	SEGMENTS LEFT
RESE 	j			......	. ..		RVED	
	1 ADDRESS [2]		
ADDRESS (21			
			
ADDRESS [nJ			
Рис. 13.9. Заголовок расширений маршрутизации
Первое поле этого заголовка Next Header (следующий заголовок) длиной в 1 байт определяет заголовок, следующий за заголовком расширений маршрутизации. В поле Extended Header Length (длина расширенного заголовка) определяется длина данного заголовка расширения маршрутизации, за исключением минимальных 8-ми байт, которые обязательно должны присутствовать во всех заголовках расширений и опций. За исключением этого требования, заголовок не характеризуется фиксированной длиной.
Несмотря на то, что заголовок расширений маршрутизации, по идее, должен быть полезен в самых различных ситуациях, к настоящему моменту определена лишь одна его опция — опция маршрутизации нулевого типа, которая представляет собой своеобразный бланк маршрутизации. Отправитель высчитывает путь через все маршрутизаторы, которые, как предполагается, будут обрабатывать данный пакет. Он указывает их адреса в виде упорядоченного списка в заголовке опций, помещая адрес маршрутизатора конечного пункта назначения в самый конец этого списка. Адрес первого маршрутизатора в пути указывается в поле Destination Address (адрес назначения) 1Ру6-заголовка. В обычных ситуациях промежуточные маршрутиза
736
Глава 13
торы пересылают пакет, не просматривая содержимое заголовков. Когда этот пакет прибывает в первый пункт назначения (первый маршрутизатор), тот выполняет поиск именно этого заголовка. Если все правильно, этот маршрутизатор помещает адрес следующего маршрутизатора по списку в поле Destination Address (адрес назначения), а свой адрес перемещает в конец списка. Этот процесс повторяется до того момента, пока пакет не прибывает в конечный пункт назначения. В подобном списке может быть указано до 255 адресов маршрутизаторов.
Заголовок расширений фрагментации
Как указывалось ранее в этой главе, протокол IPv6 не поддерживает фрагментацию на маршрутизаторах. Все пакеты обрабатываются ими так, как будто в них установлен неявный бит Do Not Fragment (запрет фрагментации). Процесс обнаружения максимальной единицы передачи маршрута (PMTU) предназначен для того, чтобы снабжать исходные станции информацией о максимальных размерах фрагментов, поддерживаемых в пределах выбранных путей.
Примечание
Процедуры обнаружения PMTU в протоколах IPv6 и IPv4 аналогичны. Дополнительная информация по этой теме содержится в главе 4.
Если передающее устройство испытывает необходимость в отсылке пакетов, превышающих значение PMTU, применяется заголовок расширений фрагментации (Fragment extension) протокола IPv6. Его формат изображен на рис. 13.10.
PREVIOUS HEADER - NEXT HEADER VALUE = 44
0 15 16	31
NEXT HEADER
RESERVED
FRAGMENT OFFSET
RES M
IDENTIFICATION
Рис. 13.10. Заголовок расширений фрагментации
Поля заголовка расширений фрагментации почти идентичны соответствующим 1Ру4-полям, за исключением порядка применения поля Flags (флаги). В протоколе IPv6 присутствует лишь один флаг — More Fragments (дальнейшие фрагменты). Значение этого поля приравнивается к единице во всех фраТментах, кроме последнего.
Протокол IP версии 6 (IPv6)
737
Заголовок расширений аутентификации
Заголовок расширений аутентификации (Authentication extension) предназначен для определения фактического происхождения пакета в случаях спуфинга адресов и краж соединений. Заголовок аутентификации также обеспечивает проверку целостности тех частей пакета, которые остаются неизменными в ходе передачи. (К примеру, такой подсчет не распространяется на заголовок маршрутизации.) В дополнение ко всему, заголовок аутентификации в меру своих возможностей защищает от атак воспроизведения. Если конфигурация конечных устройств позволяет это делать, то они могут отклонять пакеты без надлежащей аутентификации.
Формат заголовка расширений аутентификации изображен на рис. 13.11.
PREVIOUS HEADER - NEXT HEADER VALUE = 51
0 15 16 31
NEXT HEADER	PAYLOAD LENGTH	RESERVED i
	SECURITY PARAM 	 ... j	ETERS INDEX (SPI) .. __.. .. 						.1										 .
		SEQUENCE NUMBER FIELD 	 L. ... ....	
AUTHENTICATION DATA (VARIABLE)		
Рис. 13.11. Заголовок расширений аутентификации
Заголовок расширений аутентификации начинается 1-байтным полем Next Header (следующий заголовок), в котором указывается следующий заголовок в цепи.
1-байтное поле Payload Length (длина полезной нагрузки) определяет количество 4-байтных слов, следующих за полем Security Parameters Index (SPI, индекс параметров безопасности). Все биты этого зарезервированного поля должны быть приравнены к нулям.
Поле Security Parameters Index содержит значения, которые могут указывать на индекс или таблицу параметров безопасности (или ассоциацию безопасности — Security Association, SA) на стороне получателя. Значение индекса параметров безопасности всегда ссылается на подробности безопасности партнера.
Поле Sequence Number (порядковый номер) обеспечивает опознание получателями старых сетевых пакетов.
738
Глава 13
Содержимое поля Authentication Data (данные аутентификации) зависит от вычисления криптографической контрольной суммы данных полезной нагрузки, некоторых полей основного 1Ру6-заголовка и заголовков расширений и секретных данных, совместно используемых аутентифицированными устройствами.
Заголовок расширений инкапсулированной полезной нагрузки безопасности
Процесс аутентификации, регламентируемый заголовком расширений аутентификации (Authentication extension), не обеспечивает шифрования данных и их защиты от атак прослеживания. Данные все же находятся в их собственном формате передачи. Заголовок расширений Encapsulating Security Payload (ESP) (инкапсулированная полезная нагрузка) предназначен именно для шифрования данных. Он всегда должен быть последним в цепи IP-заголовков. Заголовок расширений инкапсулированной полезной нагрузки обозначает начало зашифрованных данных.
Формат заголовка расширений инкапсулированной полезной нагрузки изображен на рис. 13.12.
*—	UF	(ENCRYPTED		*— ENCRYPTED 	►
IP HEADER	OTHER IP HEADERS	ESP HEADER	ENCRYPTED DATA
-I--——-——-— ------h-------------+-
SECURITY ASSOCIATION IDENTIFIER (SPI)
OPAQUE TRANSFORM DATA (VARIABLE LENGTH)
4—---------------1-------------1-
Pnc. 13.12. Заголовок расширений инкапсулированной полезной нагрузки
Вслед за заголовком расширений ESP следует контрольная сумма аутентификации, призванная обеспечивать защиту от инициаторов атаки, которые могут повредить или усечь зашифрованные данные. Точный формат зашифрованных параметров зависит от того, какой алгоритм шифрования используется в том или ином случае.
Заголовок расширений опций назначения
Заголовок расширений опций назначения (Destination Options extension) предоставляет способ увеличения 1Ру6-заголовка в целях поддержки опций обработки и настроек пакетов. Этот заголовок предусматривает применение в будущем фирменных и стандартизированных сообщений. Значения типов
Протокол IP версии 6 (IPv6)739
опций должны регистрироваться в организации IANA и описываться в специальном документе RFC.
Заголовок расширений опций назначения — это единственный заголовок, который может присутствовать в нескольких позициях одного пакета. Он может располагаться сразу после заголовка расширений маршрутизации и/или в самом конце цепи заголовков перед данными протокола высшего уровня (т. е. после заголовков аутентификации и ESP). Когда он появляется в первой позиции, то используется на промежуточном пункте назначения. Единственное предложение по его применению в этой позиции предполагает его сочетание с заголовком маршрутизации. Если же он помещается после заголовка ESP, его просмотр может выполнять только конечный пункт назначения.
Как показано на рис. 13.13, формат заголовка расширений опций назначения не отличается от формата заголовка расширений межтранзитных опций (Hop-by-Hop Options extension).
PREVIOUS HEADER - NEXT HEADER VALUE = 60
15 16
NEXT HEADER
EXTENEDED HEADER LENGTH
OPTIONS
Рис. 13.13. Заголовок расширений опций назначения
Новые и модернизированные функции протокола IPv6
Протокол IPv6 располагает новыми и усовершенствованными функциями, которые обеспечивают поддержку автоконфигурации хостов, усиливают защиту, предоставляют несколько уровней обслуживания на выбор и удовлетворяют требования мобильных пользователей. В последующих разделах каждая из этих областей рассматривается по отдельности.
740
Глава 13
Автоконфигурация
Автоконфигурация позволяет хосту находить информацию, необходимую для настройки его собственных сетевйх IP-параметров посредством запрашивания других узлов. Раньше попытка реализации этих функций предпринималась при создании протокола ВООТР. Сегодня во многих сегментах сети Internet распространенным средством автоконфигурации является протокол DHCP. Сочетание трех обстоятельств делает автоконфигурацию крайне важной функцией в современной сети Internet. Во-первых, очевидно, что конфигурация является необходимым условием функционирования огромного количества хостов. Сетевым администраторам физически не хватило бы времени на ручную настройку каждого хоста в отдельности. Во-вторых, присутствует проблема скорости изменения и частоты перенумерации. Поводом к проведению перенумерации значительного количества сетевых хостов может послужить переход к другому поставщику услуг. Без выполнения перенумерации с целью адаптации к существующей топологии сети страдает эффективность маршрутизации. Чем совершеннее средства автоконфигурации, тем более упрощается задача проведения перенумерации сетевыми администраторами. Третье, и, вероятно, наиболее проблемное обстоятельство состоит в том, что поводом для автоконфигурации является мобильность пользователей. Среди мобильных узлов, которые могут перемещаться из одной части сети в другую, — не только ноутбуки, но также мобильные телефоны, карманные компьютеры и другие персональные устройства. Потенциальные преимущества системы, которая позволила бы этим устройствам безболезненно подсоединяться к сети Internet, где бы они ни находились, очевидны.
Существуют два основных подхода к автоконфигурации: методы на основе состояния, такие как служба DHCP, и методы, не зависящие от состояния. DHCP причисляется к разряду методов на основе состояния по той причине, что DHCP-сервер должен быть осведомлен о состоянии или статусе своего адресного пула, присутствии или отсутствии в сети допустимых клиентов и множестве других параметров. С другой стороны, автоконфигурация, не зависящая от состояния, просто предоставляет всю необходимую конфигурационную информацию всем желающим. В следующих разделах разъясняются преимущества и недостатки, которые присутствуют у обоих этих методов.
Автоконфигурация, не зависящая от состояния
Для сегментов и узлов, поддерживающих многоадресную передачу (групповые сообщения), документ RFC 2462 предлагает несколько способов обеспечения поддержки автоконфигурации, не зависящей от состояния присоединенных узлов. Протокол ND (Neighbor Discovery, обнаружение соседних узлов) дает возможность выполнять такую конфигурацию маршрути
Протокол IP версии 6 (IPv6)
741
заторов, которая позволила бы им предоставлять хостам, подключающимся к сетевому каналу, минимально необходимую информацию. Эта "информация" включает сетевой префикс сегмента и собственный адрес маршрутизатора; кроме того, в ней может указываться MTU сегмента и предпочтительное количество "максимальных транзитов" для различных маршрутов. С помощью маркированных адресов и посредством независимой от состояния автоконфигурации маршрутизатор может направлять узел на DHCP-сервер для выяснения всей остальной информации, необходимой для выполнения его собственной конфигурации.
Когда интерфейс выполняет инициализацию в сегменте 1Ру6-сети или канале (обычно это происходит при запуске узла), он в первую очередь старается рассчитать свой адрес локального канала. Таким образом, он высчитывает собственный идентификатор интерфейса формата EUI-64, а затем формирует групповой адрес локального канала, прибавляя полученный идентификатор интерфейса к хорошо известному сетевому префиксу локального канала.
Чтобы убедиться в том, что этот "экспериментальный" адрес действительно уникален в пределах локального канала, узел отсылает обращение к соседям (сообщения Neighbor Solicitation, NS — обращение к соседним узлам), указывая полученный адрес в качестве пункта назначения. Если узел получает ответ на этот запрос, он пересчитывает свой адрес локального канала. Эта операция должна быть проведена вручную на обоих интерфейсах с дублирующим адресом. Если же идентичных адресов не найдено, узел присваивает полученный адрес интерфейсу и рассматривает его как "предпочтительный", т. е. полностью функциональный, адрес.
Адреса выделяются на период "действительного времени жизни". Когда этот период подходит к концу, адрес становится недействительным. Недействительные адреса не могут выступать в качестве адресов источника или назначения. За какое-то время (зависящее от настроек) до истечения "действительности" адреса он переходит из разряда "предпочтительных" в разряд "нежелательных". Нежелательный адрес позволяет узлам функционировать до того момента, пока они не продлят выделение своих адресов. Нежелательные адреса применяются в нормальном режиме только для завершения сеансов, которые были установлены до признания этих адресов таковыми.
В целях предотвращения спуфинга, когда какое-либо извещение маршрутизатора (Router Advertisement, RA — извещение о существовании маршрутизатора) пытается установить действительное-время жизни на период менее двух часов, узлы устанавливают значение по умолчанию, равное двум часам. Единственное исключение из этого правила возможно лишь тогда, когда в извещениях маршрутизаторов применяются 1Ру6-заголовки аутентификации (Authentication). В таких случаях узлы обновляют действительное время жизни своих адресов в соответствии с указаниями.
742
Глава 13
При выполнении проверки на дублирование адресов узел может отослать обращение к маршрутизаторам (Router Solicitation, RS — обращение к маршрутизаторам), чтобы все присоединенные маршрутизаторы в ответ отослали свои извещения (Router Advertisement, RA — извещение о существовании маршрутизатора). 1Ру6-хосты "знают", что на такие обращения может поступить несколько ответов, и поэтому они готовы кэшировать и обновлять результаты исходя из ответов множества подсоединенных маршрутизаторов. Если в локальном канале маршрутизаторы отсутствуют, узел применяет метод автоконфигурации на основе состояния, каковым является, например, протокол DHCPv6 (Dynamic Host Configuration Protocol version 6, протокол динамической конфигурации хоста версии 6).
Автоконфигурация, не зависящая от состояния, может применяться как самостоятельно, так и в сочетании с методом автоконфигурации на основе состояния, таким как протокол DHCPv6. К примеру, маршрутизаторы в пределах локального канала могут быть настроены таким образом, чтобы они ссылались на ОНСРуб-серверы. Несмотря на то, что автоконфигурация, в первую очередь, относится к хостам, а уже потом — к маршрутизаторам, все интерфейсы канала, включая те, что находятся на подсоединенных маршрутизаторах, при инициализации должны, по крайней мере, выполнять проверку дублирования адресов.
Протокол DHCPv6
' Основные задачи и основные черты протокола DHCPv6 не сильно отличают этот протокол от его предшественника, DHCPv4. И тот, и другой являются методами конфигурации хостов на основе состояния. Оба зависят от выделенных серверов, на которых хранятся базы данных с информацией о хостах и их конфигурационных параметрах, включая IP-параметры. Хосты подсоединяются к DHCP-серверам как клиенты и загружают информацию, необходимую для настройки протокола IP, а возможно, и других протоколов, таких как Microsoft NetBT или NetBIOS.
Помимо очевидных расхождений в длине и формате самих адресов, в некоторых отношениях протокол DHCPv6 сильно отличается от более ранних версий. Возможно, самое значительное из этих различий состоит в том, что 1Ру6-узлы могут получать хотя бы локально функционирующий адрес без помощи протокола DHCP. В сущности, это значит, что все DHCPv6-клиенты являются полнофункциональными хостами, способными осуществлять активный поиск сервера с помощью групповых обращений. К примеру, ОНСРуб-клиенты могут определять, находятся ли их ОНСРуб-серверы в пределах локального канала. В дополнение к этому, для получения конфигурационной информации от сервера, находящегося вне локального канала, они могут использовать сервер ретрансляции в локальном сегменте.
Протокол IP версии 6 (IPv6)
743
Некоторые базовые возможности протокола DHCPv6 можно отнести и на счет независимой от состояния автоконфигурации в протоколе IPv6. Все адреса, полученные в результате автоконфигурации, применяются все по тому же принципу "двойного времени жизни" для возобновления выделения имен. Все 1Ру6-интерфейсы исходно поддерживают множество адресов. Чтобы получить возможность динамической перенумерации, 1Ру6-узлы, использующие автоконфигурацию любого типа, должны выполнять прослушивание на предмет обновлений своих адресов. Узлам, применяющим независимую от состояния автоконфигурацию, нужно прослушивать извещения маршрутизаторов. Что касается узлов, настраиваемых с помощью протокола DHCPv6, их UDP-порты должны ожидать поступления новых сообщений о реконфигурации.
Так как все 1Ру6-узлы должны поддерживать аутентификацию (с помощью 1Ру6-заголовка аутентификации — Authentication), настройки DHCPv6-серверов и маршрутизаторов позволяют отсылать их извещения в аутентифицированной форме. Это позволяет узлам повысить уровень доверия к достоверности таких сообщений.
Протокол DHCPv6 может выполнять динамическое обновление DNS-записей. Это — ключевой компонент обеспечения эффективной маршрутизации. Сети могут подвергаться перенумерации, но в данном случае она будет быстро находить свое отражение в службе DNS; таким образом, будет лишено оснований (или по крайней мере ослаблено) одно из самых сильных возражений против самой идеи перенумерации — угрозы длительных периодов нарушения трафика.
Протокол DHCPv6 использует специальные групповые адреса. Кроме того, прослеживаются некоторые изменения в структуре и содержимом DHCP-сообщений. Эти и другие подробности последнего проектного предложения по протоколу DHCPv6 можно узнать на сайте группы IETF (проблемной группы проектирования Internet) по адресу http://www.ietf.org.
Безопасность
Проблема безопасности включает значительное количество связанных аспектов. Этим термином может обозначаться способность к выявлению изменений, произошедших с соединением в определенный момент времени, или возможность проверки полномочий пользователя на обладание или раскрытие секретной информации и обеспечение ее целостности.
Как и любые защитные мероприятия, безопасность сильна настолько, насколько позволяет слабейшее звено во всей цепи, коим в большинстве систем защиты является человеческий фактор. Разработчики систем защиты не могут изменить людей, но они способны устранить возможности допущения ошибок. Таким образом, задача разработчиков состоит в том, чтобы гаран
744
Глава 13
тировать согласование всех компонентов их систем и обеспечить своеобразную автономность недостатков — недостатки в одной небольшой части системы не должны снижать эффективность этой системы в целом. Точность и доскональное соблюдение механизмов являются характерными чертами процесса разработки систем защиты.
Этим объясняется то обстоятельство, что группа IETF предложила не одно и не два средства обеспечения безопасности Internet, а целую архитектуру, включающую набор протоколов под названием IPSec (Internet Protocol Security, защита IP). Эта архитектура призвана выполнять две важнейшие задачи. Во-первых, она представляет собой интегрированную и сбалансированную систему, в рамках которой сторонние разработчики могут создавать, тестировать и распространять средства защиты трафика на IP-уровне. Во-вторых, она предоставляет базовые реализации группы таких средств, готовых к употреблению как в протоколе IPv4, так и в протоколе IPv6.
Принципиальное отличие протокола IPv4 от IPv6 состоит в том, что система защиты в форме IPSec теперь является обязательным компонентом протокола IPv6. Поддержка этой базовой системы существует не в виде дополнения, а является встроенной в архитектуру стека протоколов. Дополнительные или резервные методы обеспечения безопасности предполагаются и поощряются, однако каждая реализация протокола IPv6 должна поддерживать хотя бы минимальный стандартный набор IPSec-протоколов и процессов.
Элементы шифрования
В этом разделе представлены некоторые базовые понятия и терминология, относящиеся к безопасности, аутентификации, контролю ошибок и сжатию данных.
Компьютерная безопасность располагает тем преимуществом, что защищаемая информация, в основном, представлена в виде чисел. Она основывается на совокупностях математических действий, которые называются преобразованиями (transformations). Путем выполнения одного или нескольких преобразований начальных значений и последующей отправки результата проектировщики могут достичь многих целей.
К примеру, они имеют возможность сделать исходный документ (который называется открытым текстом (plain text)) нечитаемым. Этот метод называется шифрованием (encryption), и его задача — обеспечить секретность и конфиденциальность сообщений. Такой документ называется зашифрованным текстом (ciphertext). Стороне, которая имеет право на использование секретной информации, сообщаются способы выполнения преобразования зашифрованного текста в открытый. Этот обратный процесс называется дешифрованием (decryption). Исходный отправитель может использовать какую-то часть информации, не содержащуюся в исходном сообщении, чтобы выполнить шифрование. К примеру, он может добавить значение "13" к ка
Протокол IP версии 6 (IPv6)
745
ждому символу. Таким образом, алгоритм шифрования в этом случае можно представить как р + к = с, где р — это значение символа открытого текста, к — это произвольное значение (в нашем случае — 13), а с — это результирующий символ зашифрованного текста. В этом примере к обозначает ключ (key), значение которого, равно как и сам алгоритм шифрования, должно быть передано получателю, чтобы он смог дешифровать сообщение.
Преобразования могут выполнять и другие задачи. Если вычисление осуществляется с использованием содержимого пакета, а результат этого вычисления отсылается вместе с этим пакетом, то получатель, знающий способ проведения вычислений, может выполнить их по отношению к содержимому полученного пакета и сравнить результаты со значениями, полученными отправителем. Если в результате выявляется несоответствие, значит содержимое пакета подверглось изменениям в процессе передачи. Этот подход применяется при аутентификации и контроле ошибок.
Третий способ применения преобразований — сжатие. В процессе сжатия осуществляется попытка найти шаблоны, содержащиеся в открытом тексте, и выражает их, используя меньшее количество символов. При сжатии, как и при шифровании, должен использоваться некий стандартный алгоритм; в противном случае выполнение обратного процесса для восстановления исходного текста будет невозможно.
Теоретически идеальное сжатие и идеальное шифрование должны приводить к одним и тем же результатам. То есть результирующий зашифрованный текст должен казаться абсолютно случайным, не содержащим шаблонов, и сжиматься до такой степени, чтобы информация характеризовалась максимальной плотностью. Естественно, на практике вследствие различия целей различаются и эти алгоритмы. Но даже в этом случае, если по отношению к одной и той же информации применяется и сжатие, и шифрование, сжатие должно производиться в первую очередь. Дело в том, что после шифрования данных фактическая случайность зашифрованного текста не позволяет алгоритму сжатия обнаружить нужные шаблоны.
Архитектура безопасности
Спецификация системы IPSec определяет комплект средств защиты, а также порядок взаимодействия этих средств. В этом разделе содержится их краткое описание и рассматривается их сочетание, в результате которого формируется архитектура безопасности. В последующих разделах некоторые основные средства защиты представлены более подробно.
Система IPSec обеспечивает множество видов защиты на IP-уровне (и/или на высших уровнях). Более конкретно документ RFC 2401 определяет описанные далее задачи системы IPSec в области обеспечения безопасности.
□ Управление доступом (access control) — ограничение возможностей просмотра и использования конкретных ресурсов, включая применение канала
746
Глава 13
или компьютера, а также доступа к информации. При управлении доступом важнейшая роль принадлежит аутентификации. Система IPSec обеспечивает множество разновидностей аутентификации. Кроме того, стандарты устанавливают применение отдельных видов управления доступом по отношению к конкретным компонентам самой системы защиты.
□	Бессвязная целостность (connectionless integrity). Термин "бессвязная целостность" определяется по частям. "Целостность" означает неизменность сообщения. "Бессвязная" значит, что проверка целостности не распространяется на само соединение (скажем, не выявляются пакеты, прибывающие вне установленной последовательности). Собственно говоря, функция бессвязной целостности проверяет целостность каждого пакета в отдельности. Достижению этой цели способствуют возможности системы IPSec, связанные с аутентификацией.
□	Аутентификация происхождения данных (data origin authentication). Так называется возможность проверки достоверности источников получаемых данных. Достижению.этой цели также способствуют возможности IPSec, связанные с аутентификацией.
□	Защита от воспроизведения (protection against replays). Атаки типа воспроизведения (Replay attacks) предполагают захват легального трафика (например, последовательности пакетов регистрации пользователя) и его повторную отсылку с маскировкой под надежного партнера. Контрмеры против воспроизведения (защита от воспроизведения) подразумевают создание для каждого сообщения уникального и часто изменяемого маркера с тем, чтобы бывший в употреблении маркер, в якобы новом сообщении, мог служить индикатором воспроизведения и признавать его недействительным. Система IPSec обеспечивает целостность частичной последовательности.
□	Конфиденциальность (confidentiality) не позволяет неуполномоченным пользователям просматривать сообщения. Система безопасности IPSec обеспечивает конфиденциальность с помощью множества средств шифрования.
□	Конфиденциальность ограниченного потока трафика (limited traffic flow confidentiality). Путем поддержки различных типов туннелирования система IPSec получает возможность (правда, ограниченную) скрывать фактический путь между двумя партнерами по связи; эта методика называется конфиденциальностью ограниченного потока трафика. Таким образом, злоумышленник не может знать, кто, с кем и когда устанавливает связь.
Для достижения перечисленных задач, связанных с обеспечением безопасности, система IPSec применяет целый комплект приложений и протоколов защиты. Наиболее важными из них являются заголовки аутентификации (Authentication Header, АН) и инкапсулированной полезной нагрузки безопасности (Encapsulating Security Payload, ESP). Кроме того, множество про
Протокол IP версии 6 (IPv6)
747
токолов отвечают за генерацию и распространение ключей, а также за обмен другими данными защиты, необходимый для координации безопасных соединений между партнерами. Среди них стоит выделить протокол ПСЕ (Internet Key Exchange, протокол обмена ключами в сети Internet) и протокол ISAKMP (Internet Security Association and Key Management Protocol, протокол управления ключами и ассоциациями безопасности в сети Internet), а также инструменты, специфицированные в других проектах и документах RFC, включая те, которые относятся к области интерпретации (Domain of Interpretation, DOI) ISAKMP. Некоторые алгоритмы, такие как тройной стандарт шифрования данных (Triple-DES, 3DES), специфицируются в отдельных документах RFC или проектах. Способ сжатия, который, строго говоря, не является компонентом системы IPSec, должен быть совместим с шифрованием и аутентификацией. Стандарты IP-сжатия (IP Compression, IPComp) предложены в документе RFC 2393. Многие компоненты системы безопасности IPSec способны выполнять согласование методик сжатия.
Реализация и основные операции IPSec
Система безопасности IPSec реализуется на IP-уровне, либо на отдельном хосте, либо на выделенном компьютере, исполняющем роль защитного шлюза (security gateway). В случае реализации на хосте системы IPSec может быть составляющей IP-стека; с другой стороны, эта система может быть выполнена "под" существующим IP-стеком, действуя между предварительно установленным IP-уровнем и сетевыми драйверами локального канала. В этом случае такая система безопасности иногда называется BITS (bump-in-the-wire). Автономные шифровальные устройства, посредством которых хосты осуществляют передачу информации, и систему безопасности, содержащую такие устройства, иногда называют BITW (bump-in-the-wire).
Система IPSec должна анализировать каждый исходящий и входящий пакет, появляющийся в подведомственной ей системе. IPSec проверяет любой пакет посредством анализа IP-заголовка и заголовков высшего уровня; при этом она ищет определяемые пользователем "селекторы", для которых впоследствии устанавливаются соответствия записям базы данных политики безопасности (Security Policy Database, SPD), также определяемой пользователем. Обычно создаются отдельные базы SPD для входящего и исходящего IPSec-трафика на каждом интерфейсе. Система IPSec узнает, как следует .обрабатывать каждый пакет, именно из содержимого базы SPD. Чаще всего выбор невелик: пакет можно пропустить без изменений, определенным образом обработать его исходя из требований безопасности или отвергнуть его. Для установки селекторов в базах SPD допускается применение уникальных значений, групповых символов, а также областей значений.
Система IPSec пользуется несколькими режимами, соответствующими адресам назначения; они позволяют определить типы обработки конкретных пакетов. Они называются ассоциациями безопасности (Security Association,
748
Глава 13
SA). Ассоциация безопасности (SA) — это соединение, которое представляет службы обеспечения безопасности трафика, который передается через него. В системе IPSec для однозначной идентификации соединений безопасности используется комбинация параметров, состоящая из трех частей адреса назначения, индекса параметров безопасности (SPI) и протокола защиты (АН или ESP). SPI— это указатель или идентификатор, получаемый из типа протокола и связываемый с SA во время его создания. Кроме того, этот индекс может быть резервным идентификатором для SA. Следует отметить, что SA могут быть организованы в двух режимах: режиме туннеля и режиме трафика (более подробная информация о них — далее в разд. "Режим трафика и режим туннеля" этой главы).
Несколько ассоциаций безопасности (SA) можно сгруппировать в единой записи SPD, которая называется связкой ассоциаций безопасности (SA bundle). Среди прочих возможностей это позволяет пользователю определять, что сообщения, направленные в пункт назначения А, должны использовать протокол ESP (из одной ассоциации), а затем применить протокол АН (из другой ассоциации в такой связке). Каждая ассоциация безопасности (SA) может определять лишь один из этих протоколов. При необходимости применения нескольких протоколов SA должны быть связаны.
Обычно SA создаются тем объектом, который желает получать защищенные сообщения. При создании новой SA объект, ее формирующий, может присоединить свой индекс параметров безопасности (SPI) для содействия входящей обработке. (Это значение должно превышать 255.) Протоколы управления ключами (ISAKMP) применяются для обмена информацией об ассоциациях между предполагаемыми партнерами.
Индексирование SA осуществляется в базе данных ассоциации безопасности (Security Association Database, SAD). Записи базы SPD (со списками ассоциаций, связанных с данной политикой) указывают на ассоциации, на которых они ссылаются в этой базе. Когда исходящий пакет совпадает с селекторами, которые предполагают его обработку средствами системы безопасности IPSec, база SPD применяет ассоциации данной политики. Если селекторы указывают на необходимость обработки пакета, но соответствующих ассоциаций не существует, система IPSec пытается создать ассоциацию, а затем — занести ее в базу SAD.
Обработка входящего трафика имеет свои характерные особенности. Система IPSec исследует пакет и пытается найти соответствие входящему адресу назначения этого пакета, индексу SPI и протоколу IPSec (АН или ESP) среди ассоциаций, присутствующих в базе SAD. Если нужную ассоциацию найти не удается, система IPSec отвергает такой пакет. Многие заголовки входящих пакетов находятся в зашифрованном состоянии. Это означает, что ассоциация безопасности (SA), применяемая для входящей обработки, часто устанавливает некоторые параметры в положение OPAQUE (непрозрачность),
Протокол IP версии 6 (IPv6)749 поскольку такие заголовки не поддаются расшифровке до применения подходящей ассоциации, которая может присутствовать в той же связке. Система IPSec продолжает пробовать разные ассоциации вплоть до нахождения соответствия. Если же соответствия найти так и не удается, пакет отвергается. Система безопасности IPSec отслеживает ассоциации, успешно примененные к входящему пакету и может хранить такую последовательность в виде блока полезной управляющей информации. Кроме того, система IPSec пытается найти соответствие успешной последовательности ассоциаций с существующей политикой безопасности в базе SPD.
Режим трафика и режим туннеля
IPSec-ассоциации безопасности (SA) могут работать в одном из двух режимов: в режиме трафика (traffic mode) и режиме туннеля (tunnel mode). Режим трафика применяется только между двумя хостами. Когда защитный шлюз принимает пакеты, направленные к нему самому (т. е. те пакеты, которые не нуждаются в перенаправлении), он исполняет роль хоста и также может применять режим трафика. Режим туннеля должен использоваться тогда, когда при взаимодействии используется защитный шлюз — даже если он находится только на одном конце сообщения. Хосты могут действовать в режиме туннеля для туннелирования к другим хостам.
В режиме трафика протоколы защиты применяются к пакетам обычным способом. В случае протокола ESP это значит, что они применяются к полезной нагрузке пакета (PDU), а также ко всем заголовкам опций назначения, расположенным после ESP-заголовка. Протокол ESP не обрабатывает элементы пакета, которые находятся перед ESP-заголовком. Что касается протокола АН, выполняемая им нормальная обработка подразумевает применение аутентификации ко всему содержимому пакета после АН, а также к любым заголовкам, предшествующим АН, которые предположительно остаются неизменными в ходе передачи.
В режиме туннеля протокол защиты может быть применен ко всему пакету, который затем инкапсулируется в другом IP-пакете для выполнения туннелирования. Этот внешний пакет также может подвергаться дополнительной обработке.
Уже упоминалось, что ассоциации безопасности (SA) могут применяться последовательно в рамках связки SA (SA bundle). В режиме трафика применение более двух SA к любому исходящему пакету (одной для протокола ESP и одной для протокола АН) практически не имеет смысла. В то же время, в режиме туннеля применение нескольких ассоциаций может требоваться для отправки пакетов внутри пакетов, а также маршрутизации самых дальних внутренних пакетов в конечные пункты назначения через множество промежуточных транзитов. Целью применения таких методов может быть предотвращение анализа трафика или же передача пакета хосту, находящемуся за шлюзом с ассоциацией, отличной от конечного пункта назначения.
750
Глава 13
Ключи и согласование
Для выполнения служб управления ключами в системе IPSec могут применяться протоколы IKE или ISAKMP. Протокол ISAKMP располагает более обширным набором возможностей и предназначен специально для согласования ассоциаций и других параметров между потенциальными партнерами по связи. Система IPSec поддерживает применение других фирменных протоколов управления ключами, а также ручную конфигурацию ключей и всех остальных параметров.
Методы шифрования, используемые протоколами АН и ESP, могут согласовываться отдельно или настраиваться вручную.
Качество обслуживания (QoS)
За качество обслуживания (Quality of Service, Qos) в рамках организации IETF отвечает рабочая группа diffserv (дифференцированные службы). Дифференцирование служб и является основной задачей системы QoS. Идея довольно проста: необходимо обеспечить возможность выбора (и оплаты) уровня обслуживания, отличного от принятого по умолчанию. Среди возможных вариантов — гарантированная доставка, срочная доставка, временное выделение значительной пропускной способности, низкие задержки, минимальные издержки на доставку (возможно, ценой скорости доставки) и многие другие параметры, которые могут иметь первоочередное значение для конкретных пользователей в зависимости от определенного времени и места их нахождения. Одной из первых попыток поддержки более формального подхода к динамическому распределению ресурсов в сети Internet был протокол ЛУКД (Resource Reservation Protocol, протокол резервирования ресурсов).
Новейшие проекты рабочей группы diffserv предполагают два базовых подхода к системе QoS: транзитные режимы (per-hop behavior, РНВ) и доменные режимы (per-domain behavior, PDB). Транзитные режимы, в соответствии со своим названием, применимы на любом пути между маршрутизаторами, поддерживающими требуемый уровень обслуживания, и способны воспринимать сигнализирование пакетов с запросами на их использование. Доменные режимы доступны в пределах всех транзитов данного домена. Решения о предоставлении QoS принимаются на границах таких доменов. Трафик, проходящий через домен, обрабатывается при помощи конкретного уровня QoS. "Домены", переданные на рассмотрение режима PDB, могут быть не только IP-подсетями, но скорее группами маршрутизаторов, предлагающих определенный единый подход к системе QoS.
В протоколе IPv4 система QoS в той или иной форме реализовывалась в течение многих лет; тем не менее, широкого распространения она не получила. Тому было множество причин, не последней из которых был бурный рост потребностей в обслуживании Internet на старом уровне "по умолча
Протокол IP версии 6 (IPv6)   751
нию". Другими словами, дифференциация как социальная проблема связана скорее с изобилием, чем с недостатком. Пока связность и пропускная способность Internet не будут полностью обеспечены, повсеместное принятие дифференцированной системы QoS маловероятно.
Предупреждения маршрутизаторов и межтранзитные опции
Протокол IPv6 понимает и реагирует на текущие низкие потребности в дифференцированных уровнях системы QoS, но, тем не менее, располагает способами постепенного безболезненного принятия этой системы. Из IPv6-заголовка исключены все поля, имеющие отношение к системе QoS и присутствовавшие в 1Ру4-заголовке. Вместо этих полей протокол IPv6 обеспечивает возможность создания заголовков опций, таких как заголовок расширений межтранзитных опций (Hop-by-Hop Options extension), заголовок расширений маршрутизации (Routing extension), заголовок расширений опций назначения (Destination Options extension) и их использования в целях реализации существующих и будущих QoS-схем. Устраняя те поля основного 1Ру6-заголовка, которые в противном случае должны были анализироваться всеми маршрутизаторами, протокол IPv6 ускоряет обеспечение обслуживания "на уровне по умолчанию" в сети Internet. Создавая новые заголовки, предназначенные для всех или избранных транзитов на пути прохождения пакета в сети Internet, протокол IPv6 предоставляет средства, которые позволяют QoS-протоколам получить полный контроль над транзитными и доменными режимами.
Документ RFC 2711 содержит описание опции предупреждения маршрутизатора в заголовке расширений межтранзитных опций (Hop-by-Hop Options extension). Эта опция заставляет промежуточные маршрутизаторы более подробно изучать пакет в поисках важной информации. Если она отсутствует, маршрутизаторы предполагают, что любой пакет, не направленный непосредственно им, не содержит интересующей их информации и может быть перенаправлен в обычном режиме. 1Ру6-пакеты, содержащие инструкции протокола RSVP, должны также содержать опцию предупреждения маршрутизаторов в заголовке расширений межтранзитных опций (Нор-Ьу-Нор Options extension). Эта опция изображена на рис. 13.14.
ООО	00101	00000010	VALUE (2 octets)
Length -2
Рис. 13.14. Опция предупреждения маршрутизаторов в заголовке расширений межтранзитных опций
752
Глава 13
Первый байт этой опции занимает поле Option Туре (тип опции). Обратите внимание, что первые три бита этого поля нули. Первые два нуля означают следующее: "если ты не понимаешь эту опцию, пропусти ее и продолжай обработку остальной части заголовка". Последний из этих трех нулей означает: "данные этой опции не могут быть изменены в пути". Последующие пять бит поля Option Туре идентифицируют данную опцию как межтранзитную (Hop-by-Hop option).
Следующий байт опции занят полем Option Data Length (длина данных опции). "Полезная нагрузка" этой опции предупреждения маршрутизаторов составляет всего лишь два байта, так что это поле устанавливается в 2.
В документе RFC 2711 определено лишь три возможных значения опции предупреждения маршрутизаторов. Все остальные значения зарезервированы для назначения агентством IANA (Internet Assigned Numbers Authority, Агентство по выделению имен и уникальных параметров протоколов Internet). Возможные значения представлены в табл. 13.5.
Таблица 13.5. Значения опции предупреждения 1Ру6-маршрутизаторов
Значение Описание
0x0	Дейтаграмма содержит сообщение обнаружения	группового	прием-
ника (Multicast Listener Discovery)
0x1	Дейтаграмма содержит RSVP-сообщение
0x2	Дейтаграмма содержит сообщение активных цепей	(Active Networks)
ОхЗ-FFFF Зарезервированы для назначения агентством IANA
Суперграммы
В документе RFC 2675 предлагается еще одна специальная служба для IPv6-пакетов — сверхкрупный пакет под названием суперграммы (jumbograms). В стандартном заголовке 1Ру6-пакета содержится двухбайтное поле Payload Length (длина полезной нагрузки), позволяющее расширять размер пакетов до 64 Кбайт. В суперграммах применяется заголовок расширения межтранзитных опций, предоставляющий возможность добавления запасного поля Packet Length (длина пакета) длиной в 32 байта. Получается, что в пакете может передаваться единый блок данных объемом больше 64 Кбайт, а точнее говоря — до четырех миллионов байт. Применение такого пакета в обычном канале Internet представляется полной бессмыслицей. Тем не менее, на магистралях и в других сетевых каналах большей емкости передача меньшего количества пакетов большего объема является преимуществом. Суперграмма позволяет передавать крупные объемы информации по широким каналам без деформирования структуры IPv6.
Протокол IP верст 6 (IPv6) 753
Мобильные пользователи
В протоколе IPv6 необходима поддержка двух типов мобильности: обычной мобильности и того, что в некоторых проектах Internet именуется микромобильностью (micro-mobility). Обычно микромобильность связывается с Канальным уровнем (в иерархии ниже IP), на котором обеспечивается связность с локальным каналом посредством беспроводного соединения. В качестве примеров можно привести роуминг мобильных телефонов, когда они переходят от одной радиоячейки к другой, и сохранение идентичности ноутбуков во время их перемещения между точками доступа беспроводной локальной сети. Решения и стандарты поддержки устойчивой микромобильности до сих пор находятся в стадии разработки.
Другой вид мобильности имеет место в несколько более крупном масштабе, когда, к примеру, вам нужно войти в сеть в Копенгагене и вести дело с клиентом в Париже — так, как будто вы находитесь в собственной сети в Сингапуре, и вам не требуется отсылать все сообщения через полмира.
Есть некоторое сходство между подходами к поддержке мобильных пользователей, принятыми в протоколах IPv4 и IPv6. В этом нет ничего удивительного, т. к. многие методы, применяемые в протоколе Mobile IPv4, — это результат работы над той же проблемой в рамках протокола IPv6.
В протоколе IPv6 есть возможности, отсутствующие в IPv4, и протокол Mobile IPv6 пользуется ими. Тем не менее, стандарты Mobile IPv6 еще далеки от окончательного согласования. В этом разделе предлагается краткий обзор всех предложенных подходов. Как и в отношении других. аспектов протокола IPv6, самые последние разработки в этой области можно узнать, посетив сайт организации IETF.
Проблема мобильности
Равно как и в протоколе IPv4, мобильные пользователи протокола IPv6 должны действовать с помощью маршрутизатора, находящегося в их собственной сети и называемого собственным агентом (home agent, НА). В отличие от протокола Mobile IPv4, Mobile IPv6 не требует наличия внешнего агента (foreign agent, FA) в посещаемой сети. Вместо этого мобильный пользователь регистрирует свое текущее местоположение в адресе СОА (Care-of Address, адрес для передачи) посредством собственного агента. Агент НА берет на себя выполнение служебных действий в собственной сети; к примеру, он гарантирует, что перенумерация не уничтожит собственный адрес мобильного пользователя в его отсутствие, хранит и перенаправляет сообщения, направленные на его собственный адрес и т. д. Мобильный пользователь с адресом СОА может отправлять и получать сообщения напрямую, не пользуясь собственным агентом. Когда мобильный пользователь меняет внешнее местоположение, протокол Mobile IPv6 осуществляет пере-
25 Зак. 321
754
Глава 13
направление сообщений, отправленных на первый адрес СОА, на новый адрес СОА, таким образом предотвращая повторную трассировку и отсылку сообщения на собственный адрес пользователя.
Такое поверхностное описание протокола Mobile IP может создать впечатление простоты этого протокола. Пользователь перемещается, а агент НА делает всю служебную работу на собственном адресе. Эти два элемента сохраняют контакт, гарантируя неразрывность сообщений. Кроме служебных задач, выполняемых в собственной сети, протокол Mobile IPv6 решает две основные проблемы, связанные с маршрутизацией и идентичностью. Когда все узлы находятся в одном месте, на вопросы "кто?" и "где?" следует один и тот же ответ. Мобильность разделяет эти два понятия, позволяя одному' объекту (мобильному пользователю) существовать фактически в двух (или нескольких) местах в сети Internet в одно и то же, время. Протокол IPv6 позволяет создавать множество адресов для одного интерфейса, так что нахождение в двух местах (сетевых адресах) одновременно абсолютно нормально. Проблема заключается в определении того, какое из этих мест "действительное", т. е. куда следует отсылать сообщения, предназначенные для данного узла; кроме того, необходимо определить, является ли какой-либо из этих объектов "реальным", т. е. достоверным, мобильным пользователем.
Далее следует обсуждение вопросов маршрутизации в протоколе Mobile IPv6, т. е. определения фактического местоположения, в которое следует отправлять сообщения мобильному узлу. Для подтверждения достоверности мобильного пользователя в протоколе IPv6 используются заголовки аутентификации, хотя они и несовершенны. Выполнение аутентификации сообщений, отсылаемых мобильным пользователем (или для мобильного пользователя от его собственного агента), позволяет всем сторонам убедиться в том, что они действительно имеют дело с реальным мобильным пользователем, а он, в свою очередь, проверяет, что собственный агент — тот, за кого себя выдает. Причина, по которой сильная и надежная аутентификация так важна для протокола Mobile IPv6, кроется в том, что без нее обычные мобильные операции предоставляли бы прекрасную возможность выполнения злонамеренных действий. Они открыты для атак типа "человек посередине", в которых третья сторона вклинивается между двумя партнерами по связи и маскируется под обоих этих партнеров, подрывая их конфиденциальность и секретность. Кроме того, мобильные пользователи по определению являются переходными. Сейчас они есть, через минуту их уже нет. Это обстоятельство исключает некоторые возможные контрмеры.
К сожалению, механизмы обмена ключами в рамках строгой аутентификации довольно громоздки. Пока это не позволяет надеяться на то, что применение протокола Mobile IPv6 будет простым. До сих пор неясно, удастся ли найти компромисс между простотой использования и надежностью аутентификации протокола Mobile IPv6.
Протокол IP версии 6 (IPv6)
755
Связывание и маршрутизация в IPv6
Применение протокола Mobile IPv6 начинается с того момента, когда узел появляется во внешней сети (foreign network). Внешняя сеть характеризуется сетевым префиксом, отличным от собственного адреса пользователя. В стандарте не указывается, как мобильный узел должен устанавливать такое соединение — это отдельный вопрос. Протокол Mobile IPv6 лишь требует, чтобы у мобильного узла был адрес во внешней сети. Для формирования нового уникального адреса во внешней сети мобильный узел использует тот же идентификатор интерфейса, что и в собственной сети.
Применяя внешний адрес в качестве адреса источника, мобильный узел отсылает сообщение поиска адреса собственного 1СМРу6-агента (Home Agent Address Discovery); таким образом он пытается найти в собственной сети маршрутизатор, готовый и имеющий возможность действовать как его собственный агент. Маршрутизаторы объявляют о готовности выступить в такой роли, отсылая в своих ответных извещениях (Router Advertisement, RA — извещение о существовании маршрутизатора) установленные биты Н. Любой агент НА в собственной сети должен иметь возможность отвечать на эти 1СМРу6-сообщения; в таком ответе должен содержаться список всех агентов НА в его собственной сети.
Когда мобильный узел идентифицирует агента НА в своей собственной сети, он пытается сообщить ему свое местоположение и адрес СОА (Care-of Address, адрес для передачи). Мобильный узел отсылает Сообщение об обновлении связывания (binding update; он делает это с помощью заголовков маршрутизации и опций назначения) с тем, чтобы агент НА добавил новый адрес СОА в таблицу связывания (binding table). В этой таблице агента НА адрес СОА мобильного пользователя связывается с его собственным адресом (принцип тот же, что и в таблице маршрутизации); она позволяет изменять маршрут трафика, направленного на собственный адрес пользователя, перенаправляя его на новый адрес СОА.
При необходимости (а такая необходимость появляется во время всех исходных обновлений связывания) агент НА отсылает мобильному узлу подтверждение связывания (binding acknowledgement). Если обновление связывания прошло успешно, это подтверждение содержит время жизни связывания и период времени (в секундах), в течение которого данный агент НА готов выполнять функции собственного агента. Повторное обновление связывания должно быть выполнено до истечения времени жизни. До сих пор дискуссионным является вопрос о том, следует ли сделать максимальный период связывания бесконечным или же установить для него лимит длительностью в 30 дней.
756
Глава 13
Если обновление связывания отклоняется, подтверждение связывания может содержать указание причин этого действия: перегрузка агента НА, одна из нескольких возможных ошибок в запросе, включая неудачу проверки дублирования адресов, которую агент НА должен осуществить до обновления регистрационного связывания.
Если требуется проверка дублирования адресов, агент НА использует идентификатор интерфейса, содержащийся в части собственного адреса (Ноте Address portion) обновления.связывания, для формирования адресов локального канала и локального узла для этого интерфейса, и проверяет их уникальность в пределах локальной сети.
IPSec-агент АН должен охватывать как обновление связывания, так и соответствующее подтверждение, независимо от того, применяется ли шифрование (протокол ESP). Содержимое заголовка опций назначения (в котором указываются опции связывания) не должно изменяться в пути.
После установления связывания агент НА получает возможность перехватывать почту, отсылаемую на собственный адрес мобильного пользователя, и туннелировать ее (путем инкапсуляции) на первичный адрес СОА пользователя. Кроме того, пользователь может устанавливать обратный туннель к агенту НА.
Мобильный пользователь может напрямую взаимодействовать с другими узлами Internet, указывая в 1Ру6-заголовках адрес СОА в качестве адреса источника. Корреспонденты (узлы, с которыми взаимодействует мобильный пользователь) могут отправлять мобильному пользователю запросы связывания (binding request) с просьбой указать его текущий адрес СОА и собственный адрес. Образно говоря, они спрашивают: "где ты сейчас находишься и что ты из себя представляешь, находясь дома?" Таким образом, прерванные сообщения могут быть без проблем возобновлены, даже если мобильный узел меняет местонахождения.
Когда мобильный пользователь переходит от одного адреса СОА (скажем, СОА1) к другому (СОА2), он может попросить собственного агента на СОА1 перенаправлять почту на его новый первичный адрес СОА — СОА2. У мобильного пользователя может быть несколько адресов СОА одновременно, однако только один из них является первичным. Устанавливая небольшие значения времени жизни привязки к таким резервным адресам СОА, узлы могут спокойно перемещаться, не опасаясь появления потока возвращенных пакетов.
Конечная цель протокола Mobile IPv6 состоит в том, чтобы пользователи могли перемещаться по адресному пространству сети максимально "прозрачно" по отношению к протоколам верхнего уровня. На то, чтобы отработать все детали, потребуется значительное количество реализаций, но все же протокол Mobile IPv6 обещает стать одним из основных факторов, способствующих переходу к протоколу IPv6 — ведь миллионы владельцев сотовых телефонов и карманных компьютеров только этого и ждут!
Протокол IP версии 6 (IPv6)
757
Переход:
сосуществование протоколов IPv4 и IPv6
Вероятно, протоколы IPv6 и IPv4 будут вместе сосуществовать в течение многих лет, а может быть — и вечно (или на протяжении того времени, которое можно обозначить как "годы Internet"). Не будет никакого определенного "дня флага", т. е. момента, после которого заработает новый Internet и прекратит свое существование старый. Как и в случае внедрения многих других модернизированных технологий, эти две версии должны найти способ сосуществования в течение длительного переходного периода.
Разработчики протокола IPv6 предвидели эту ситуацию и создали набор методов, позволяющий IPv6 функционировать в среде, в которой доминирующей остается версия протокола IPv4. Они встроили в протокол IPv6 средства поддержки существующих систем IPv4. В следующих трех разделах рассматриваются основные вопросы, связанные с этими методами.
Двухстековый подход
Очевидный способ задействовать в сети Internet две версии протокола IP — заполнить эту сеть хостами и маршрутизаторами, которые будут их поддерживать. За незначительными исключениями, провода, радиоканалы и стекловолокно могут обеспечивать передачу любых протоколов. Сеть в целом сможет поддерживать две версии протокола IP в том случае, если все ее хосты и, что более важно, маршрутизаторы, позволят осуществить это.
С самого начала разработка протокола IPv6 получила широкую поддержку среди производителей. Они поддерживают ее и сегодня, планируя выпуск на рынок продукции, в которой будут реализованы различные компоненты 1Ру6-стека, в период с 2001 по 2005 годы. Для некоторых платформ хостов экспериментальные версии этого стека уже существуют, однако между ними нет единства в том, какие компоненты стека протоколов в них реализованы и как эти реализации выполнены.
Реализации двойного стека (dual stack) для отдельных пользователей или небольших офисов могут выполнить экспериментальную функцию, однако в ближайшем будущем их распространение будет ограничено степенью доступности двухстековых маршрутизаторов у поставщиков услуг Internet. Наиболее значительными двухстековыми системами будут сами маршрутизаторы. Такой маршрутизатор может обеспечить соединение между сетью Internet, базирующейся на протоколе IPv4, и офисом (или совокупностью клиентов поставщика услуг Internet), в котором переход к протоколу IPv6 уже состоялся. Эти правопреемники будут взаимодействовать друг с другом посредством туннелирования через "облако" IPv4.
758
Глава 13
Туннелирование через "облако" IPv4
Вероятно, переход к протоколу IPv6 в сети Internet будет происходить "от периферии к центру". То есть сначала протокол IPv6 будет востребован мелкими организациями, располагающими большей гибкостью и не опасающимися трудностей, связанных с первооткрывательством. С точки зрения группировки маршрутов и использования пропускной способности, эти организации находятся на периферии, а сети большой емкости и магистрали бЬопе — в центре. Как же эти "островки", использующие протокол IPv6, смогут ужиться в бесконечном "океане" 1Ру4-маршрутизаторов и хостов и взаимодействовать с ними? С помощью туннелей.
При отсылке пакета в отдаленную 1Ру6-сеть через промежуточные IPv4-маршрутизаторы этот 1Ру6-пакет формируется в нормальном режиме и отсылается маршрутизатору, способному инкапсулировать его в 1Ру4-пакет. Маршрутизаторы на обоих концах туннелей должны быть двухстековыми, т. е. работающими как с протоколом IPv4, так и с протоколом IPv6. Когда промежуточный 1Ру4-пакет достигает удаленного двухстекового 1Ру6-маршру-тизатора, этот маршрутизатор уничтожает внешний 1Ру4-пакет и отправляет внутренний пакет в его локальную 1Ру6-сеть. Есть несколько разновидностей этой схемы, которые позволяют реализовывать различные сценарии и обеспечивать соответствие конкретным возможностям устройств. 1Ру4-совместимые 1Ру6-адреса были разработаны именно в расчете на такие ситуации, когда 1Ру6-маршрутизаторы должны понимать протокол IPv4.
В настоящее время тестируется еще одна, альтернативная схема. Для lPv4-узлов и сетей с общедоступными 1Ру4-адресами она предлагает формировать достоверные 1Ру6-адреса посредством добавления 32 бит 1Ру4-адресов к сетевому префиксу 2002/16. В результате должен появиться адрес следующей формы: 2002:1Ру4-адрес:8ЬА:идентификатор_интерфейса; он должен составлять 48 бит в длину, адрес группового уровня будет составлять 16 бит и сочетание префикса 2002/16 с 32 битами 1Ру4-адреса составит первые 48 бит нового адреса.
В долгосрочной перспективе эта схема грозит перенести многие проблемы 1Ру4-маршрутизации на 1Ру6-маршрутизаторы. Тем не менее, в течение некоторого времени, когда 1Ру6-адреса будут оставаться очень немногочисленными, она может обеспечить связность между сильно рассредоточенными 1Ру6-сетями без использования настраиваемых туннелей.
Собственная среда IPv6
До того момента, как протокол IPv6 станет обыденным явлением, мы вряд ли полностью осознаем, насколько очевидная перегруженность сети Internet определяется сегодняшними проблемами маршрутизации и дефицитом 1Ру4-адресов. В течение следующих трех лет переход от одной версии про-
Протокол IP версии 6 (IPv6)  759 токола IP к другой станет более интенсивным, но для этого необходимо, признание высокой производительности, доступности и удобства протокола IPv6.
Скорость перехода к IPv6
Адресный кризис протокола IPv4 не исчез, но никуда не денутся и те адреса, которые уже существуют. За переход к протоколу IPv6 выступают, в основном, те, кого не затронула "лихорадка" Internet 1990-х годов (т. е. развивающиеся страны, в особенности восточноазиатские). Этот переход ознаменует поддержку новых классов технологий, о которых не задумывались первые разработчики сети Internet.
Для этих новых технологий, таких как мобильные телефоны, карманные компьютеры и тому подобные, появление протокола IPv6 важно по двум причинам. Во-первых, им нужно адресное пространство; в частности, для достижения эффективности коммуникационных технологий требуется большое количество подсоединенных пользователей. Чтобы убедиться в правильности этого утверждения, достаточно сравнить полезность обладания телефоном в Нью-Йорке в 2001 году и в Додж-сити (Канзас) в 1902 году. Зачастую чем больше пользователей, тем полезнее технология. Во-вторых, для коммуникационных технологий крайне важны усовершенствованные функции, присутствующие в стеке протоколов IPv6.
В 2001 году протокол IPv6 все еще являлся экспериментальным. Начиная с 2003 года, начался процесс его широкого распространения. На некоторых узлах протокол IPv6 появился еще раньше, и вы можете опробовать его. Для всех нас грядущий переход к протоколу IPv6 обещает быть полезным опытом!
Выводы по главе
□	Принятие новой версии протокола IP, т. е. IPv6, необходимо для разрешения кризиса, связанного с нехваткой IP-адресов. Новый протокол IPv6 сможет обеспечить в 1027 раз больше адресов, чем протокол IPv4.
. □ Разрешение адресного кризиса — это лишь предпосылка к разрешению других проблем, присущих сети Internet, и реализации множества выдающихся возможностей этой сети — как для новых устройств, так и для новых пользователей.
□	В протоколе IPv6 учтен опыт протокола IPv4, позволивший рационализировать структуру заголовков, усовершенствовать распределение и группировку адресов и повысить уровень маршрутизации. Таким образом, несмотря на то, что адресное пространство протокола IPv6 намного больше, чем в IPv4, эксперты уверены, что новая версия сможет обеспечить быст-
760
Глава 13
родействие маршрутизации, превышающее возможности существующей 1Ру4-среды (что повысит воспринимаемую производительность).
□	Длина 1Ру6-адресов составляет 128 бит; каждое имя включает 48-битный идентификатор интерфейса, который в большинстве случаев гарантирует уникальность имен в мировом масштабе.
□	В протоколе IPv6 реализован протокол ND (Neighbor Discovery, обнаружение соседних узлов), обеспечивающий автоконфигурацию, не зависящую от состояния, и поддерживающий мобильных пользователей.
□	Протокол IPv6 значительно упрощает процесс перенумерации сетей. Когда схемы перенумерации соответствуют фактическим топологиям сетей, повышается эффективность маршрутизации.
□	Протокол IPv6 располагает мощной встроенной архитектурой безопасности, модульные компоненты которой обязательно включаются в базовые реализации этого протокола.
□	Протокол IPv6 модернизирует большинство основных протоколов, связанных с протоколом IP, включая сам IP и TCP. В то же время протокол IPv6 полностью совместим с протоколом IPv4, и в течение многих лет эти версии будут вместе сосуществовать.
□	Переход к протоколу IPv6 стимулируется перспективой получения глобальных маршрутизируемых адресов (нечастных или NAT-адресов) и потребностью в новых возможностях.
□	Если сеть Internet не способна взаимодействовать с мобильными пользователями, то они найдут другие способы установления и поддержки связности. Они делают ставку на протокол IPv6.
Основные термины
— в 1Ру6-адресах пара двоеточий обозначает несколько смежных 16-битных групп, состоящих только из нулей. В любом адресе эта нотация может применяться лишь единожды.
BITS (Bump-In-The-Stack) — метод реализации IPSec и других средств обеспечения защиты, при котором они действуют "между" сетевым стеком протоколов (таким, как IP) и драйверами Канального уровня.
BITW (Bump-In-The-Wire) — метод реализации IPSec и других средств обеспечения защиты, при котором они действуют на автономном процессоре в надежной сети, которая находится перед общедоступной сетью. Зачастую представляет собой встроенное устройство, буквально подсоединенное к хосту с одной стороны и к локальному каналу с другой.
Протокол IP версии 6 (IPv6)
761
СОА (Care-of Address, адрес для передачи) — в протоколе Mobile IP так называется удаленный или внешний адрес, через который достигается мобильный узел.
DHCPv6 (Dynamic Host Configuration Protocol version 6, протокол динамической конфигурации хоста версии 6) — новая версия DHCP для IPv6. DHCPv6 определяет поведение серверов и клиентов при выделении конфигурационных параметров и других настроек клиентов на основе состояния.
diffserv (Differentiated Services, дифференцированные службы) — название рабочей группы IETF, занимающейся исследованиями в этой области.
Encapsulating Security Payload (ESP) (инкапсулированная полезная нагрузка безопасности) — заголовок пакета IPv6 и/или протокол защиты, применяющего этот заголовок расширений. В системе IPSec ESP выполняет шифрование.
1Ру4-преобразованный адрес (IP-mapped address) — адрес, применяемый узлами IPv6, для которых необходимо взаимодействие с узлами IPv4, не поддерживающими IPv6.
ИМ-совместимый адрес (IPv4-compatible address) — адрес, применяемый узлами, для которых необходимо выполнить туннелирование пакетов IPv6 через маршрутизаторы IPv4. Такие узлы являются двухстековыми, т. к. они поддерживают и IPv4, и IPv6.
NA (Neighbor Advertisement, извещение о существовании соседнего узла) — по требованию или при изменении своего адреса Канального уровня узел отсылает такое извещение, указывая в нем свой 1Ру6-адрес и адрес Канального уровня.
ND (Neighbor Discovery, протокол обнаружения соседних узлов) — протокол IPv6, позволяющий узлам и маршрутизаторам локального канала извещать друг друга о текущих изменениях своего состояния или связности.
NS (Neighbor Solicitation, обращение к соседним узлам) — узел может отослать такое обращение с целью узнать (или проверить) адрес Канального уровня локального узла, удостовериться в доступности этого узла или проверить уникальность собственного адреса.
NSAP (Network Service Access Point, точка доступа к сетевой службе) — в таких сетях (например, ATM, Х.25 и др.) обычно создаются двухточечные каналы между хостами. Этот принцип кардинально отличается от принятого в протоколе IP.
RA (Router Advertisement, извещение о существовании маршрутизатора) — сообщение или извещение, отправляемые маршрутизатором (периодически или по требованию) и содержащие его адрес Канального уровня, сетевой префикс локальной подсети, MTU локального канала, предлагаемые лимиты транзитов и другие параметры, имеющие значение для
762
Глава 13
узлов локального канала. Извещения RA также могут содержать маркированные параметры, определяющие тип автоконфигурации, которым должны пользоваться новые узлы.
RS (Router Solicitation, обращение к маршрутизаторам) — запрос, направленный маршрутизаторам локального канала, с требованием идентифицировать себя посредством немедленной отсылки извещений, не дожидаясь запланированного времени их отправки.
RSVP (Resource Reservation Protocol, протокол резервирования ресурсов) — протокол, упорядочивающий и формализирующий порядок защиты конкретных уровней обслуживания потоков трафика в сети Internet.
Адрес локального канала (link-local address) — в адресе такого типа первые 10 (крайние слева) бит устанавливаются в положение 1111111010 (все единицы, кроме последних трех цифр, которые приравниваются к 010 в двоичном представлении). Следующие 54 бита занимают только нули. Последние (крайние справа) 64 бита адреса локального канала применяются для представления обычного идентификатора интерфейса. Когда маршрутизатор обнаруживает в пакете префикс адреса локального канала, он пропускает этот пакет, т. к. он направлен в локальный сегмент сети.
Адрес локального узла (site-local address) — в адресе такого типа первые 10 (крайние слева) бит устанавливаются в положение 1111111011 (все единицы, кроме последних трех цифр, которые приравниваются к ОН в двоичном представлении). Следующие 38 бит занимают только нули. Следующие 16 бит содержат идентификатор подсети, определяющий "узел", по отношению к которому данный адрес является локальным. Как и в других адресах однонаправленного типа, последние (крайние справа) 64 бита применяются для представления обычного идентификатора интерфейса. Адреса локального узла обеспечивают внутреннее перенаправление пакетов на узел, не допуская их выход в глобальный сегмент сети Internet.
Ассоциация безопасности (Security Association, SA) — соединение, которое представляет службы обеспечения безопасности трафика, который передается через него. В IPSec для однозначной идентификации соединений безопасности используется состоящая из трех частей комбинация параметров: адреса назначения, индекса параметров безопасности (SPI) и протокола защиты (например, Authentication или ESP). SA определяет набор процессов или преобразований, необходимых для применения к трафику, направленному в названный пункт назначения.
Аутентификация происхождения данных (data origin authentication) — в IPSec и подобных системах защиты так называется возможность контроля источника принимаемой информации или проверки наличия у этого источника надежного маркера.
Протокол IP версии 6 (IPv6)
763
База данных ассоциаций безопасности (Security Associations Database, SAD) — в IPSec так называется воображаемое или абстрактное хранилище ассоциаций безопасности, обеспечивающее соответствие их отдельных характеристик общему описанию абстрактной ассоциации.
База данных политики безопасности (Security Policy Database, SPD) — в IPSec так называется соответствие селекторов безопасности (критериев отбора) политикам безопасности или наборам процедур, которые применяются в определенной ситуации.
Бессвязная целостность (connectionless integrity) — в IPSec и подобных режимах защиты так называется способность обеспечения целостности вне самого соединения.
Внешний агент (foreign agent, FA) — объект в схеме Mobile IPv4, отсутствующий в протоколе IPv6.
Внешняя сеть (foreign network) — сеть, префикс которой отличается от префикса собственной сети мобильного пользователя.
Группируемый глобальный однонаправленный адрес (aggregatable global unicast address) — структура таких 1Ру6-адресов предполагает разделение левых 64 бит адреса на явные поля, оптимизирующие маршрутизацию. В частности, это позволяет "группировать" пути к этим адресам, т. е. сочетать их в единой записи таблицы маршрутизации.
Двойной стек (dual stack) — две различные реализации одного протокола, например — IPv4 и IPv6. При переходе от протокола IPv4 к IPv6 несколько маршрутизаторов и хостов должны работать в двухстековом режиме, обеспечивая возможность взаимодействия в сетях обоих типов.
Дешифрование (decryption) — процесс "разблокирования" зашифрованных данных, т. е. их представления в читаемом виде.
Доменный режим (per-doniain behavior, PDB) — в дифференцированной службе так называется класс дескрипторов доступных уровней обслуживания, или способ описания объектов, предлагающих эти службы — в данном случае, "домен". В пределах такого домена обеспечивается указанный уровень обслуживания, меняющийся на границе домена. Доменные режимы доступны во всех транзитах данного домена.
Запрос на связывание (binding request) — в протоколе Mobile IP так называется сообщение, отсылаемое (обычно корреспондентом) мобильному пользователю с запросом о предоставлении данных о его текущем удаленном адресе СОА и собственном адресе.
Затребованный адрес узла (solicited node address) — групповой адрес с областью действия внутри локального канала, способствующий уменьшению количества многоабонентских групп, на которые узлы должны подписываться, чтобы обеспечить другим узлам локального канала возможность обращения к себе. Затребованный адрес узла принимает форму
764
Глава 13
FF02:0:0:0:0:l:FFxx.xxxx, где "хх.ххх" — это младшие (крайние справа) 24 бита однонаправленного или альтернативного адреса, связанного с данным интерфейсом.
Зашифрованный текст (ciphertext) — результат шифрования открытого текста.
Защита от воспроизведения (protection against replays) — способность проводить различие между "живым" трафиком из надежного источника и копиями такого трафика, замаскированными под достоверные сообщения. Защита от воспроизведения обычно базируется на нумерации и проверке последовательностей пакетов.
Защитный шлюз (security gateway) — в IPSec так называется маршрутизатор, применяющий защищенные соединения и обеспечивающий защищенную и аутентифицированную маршрутизацию другого трафика IPSec.
Идентификатор интерфейса (interface identifier) — в схеме 1Ру6-адресации младшие разряды однонаправленных и альтернативных адресов зарезервированы для размещения битовой строки, уникально идентифицирующей конкретный интерфейс — либо глобально, либо (как минимум) локально.
Идентификатор области действия (scope identifier) — в протоколе IPv6 так называется 4-битное поле, ограничивающее действительный диапазон группового адреса. В групповых адресах протокола IPv6 определяются не все значения, но среди определяемых — области действия в пределах локального узла и локального канала. Групповые адреса недействительны за пределами определенной области действия, и их перенаправление за границы этой области невозможно.
Ключ (key) — в криптографии так называется секретный блок данных, применяемый .при шифровании или кодировании информации. Ключи применяются вместе с преобразованием.
Конфиденциальность (confidentiality) — способность ограничивать доступ к ресурсу всех пользователей, кроме полномочных. Обычным методом обеспечения конфиденциальности является шифрование, с помощью которого данные визуализируются таким образом, что они становятся непригодными без нужных ключей и алгоритма.
Конфиденциальность ограниченного потока трафика (limited traffic flow confidentiality) — в IPSec так называется „способность предотвращать анализ трафика посредством сокрытия пути, скорости, источника, назначения и объема трафика между корреспондентами.
Микромобильность (micro-mobility) — обычно связывается с Канальным уровнем (в иерархии ниже уровня IP). Обеспечивает связность с локальным каналом посредством беспроводного соединения. В качестве примеров можно привести автоматическое переключение мобильных телефо
Протокол IP версии 6 (IPv6)
765
нов, когда они переходят от одной базовой станции к другой, и сохранение идентичности ноутбуков во время их перемещения между точками доступа беспроводной локальной сети.
Неопределенный адрес (unspecified address) — в протоколе IPv6 неопределенным адресом являются все нули, которые в обычной нотации выражаются символом По существу, этот адрес адресом и не является. Он не может выступать в качестве адреса назначения.
Новое поколение протоколов межсетевого взаимодействия (Internet Protocol next generation, IPng) — старое название новейшей версии IP. Чаще она называется IPv6.
Обновление связывания (binding update) — в протоколе Mobile IP так называется сообщение, отсылаемое мобильным пользователем либо собственному агенту, либо другому узлу, который хранит кэш связывания для мобильных пользователей с запросом на изменение связывания. Существует несколько разновидностей этого сообщения.
Открытый текст (plain text) — данные, которые должны быть зашифрованы, но в данный момент находятся в исходной (читаемой и годной к употреблению) форме.
Подтверждение связывания (binding acknowledgement) — отклик, отсылаемый в ответ на обновление связывания. В некоторых случаях является необязательным.
Полезное адресное пространство (usable address space) — количество хостов, которые в действительности могут быть подключены к сети Internet.
Поток (flow) — набор пакетов, которые, согласно требованиям источника, должны специальным образом обрабатываться промежуточными маршрутизаторами.
Преобразования (transformations) — в криптографии так называется набор математических действий.
Режим трафика (traffic mode) — в комплексе протоколов IPSec так называется метод применения ассоциаций безопасности (AS) к трафику, направляемому от одного хоста к другому. Шифрование и аутентификация могут применяться к каждому пакету, причем ESP шифрует только полезную нагрузку протокола высшего уровня, а АН аутентифицирует ту же часть и все заголовки, не изменяемые в пути.
Режим туннеля (tunnel mode) — в комплексе протоколов IPSec так называется метод применения ассоциаций безопасности (AS) к трафику (возможно, в расширенной вложенной последовательности), инкапсулированному и туннелированному на как минимум один защитный шлюз или от такого шлюза.
766
Гпава 13
Связка ассоциаций безопасности (SA bundle) — упорядоченный набор ассоциаций безопасности, который должен применяться в соответствии с конкретной политикой безопасности.
Собственный агент (home agent, НА) — в протоколе Mobile IP так называется маршрутизатор в собственной сети мобильного пользователя, готовый и имеющий возможность хранить и перенаправлять сообщения от имени мобильного агента, пока тот перемещается в пространстве.
Суперграммы (jumbograms) — пакеты передачи очень большого размера (до 4 Гбайт) с помощью протокола IPv6. Должны применяться только в специальных условиях, например — на крупных магистралях.
Таблица связывания (binding table) — таблица связывания собственного агента определяет соответствие удаленного адреса (СОА) и собственного адреса мобильного пользователя и позволяет собственному агенту осуществлять изменение маршрута трафика, направленного на собственный адрес пользователя, и перенаправлять его на новый удаленный адрес (СОА).
Транзитный режим (per-hop behavior, РНВ) — в дифференцированной службе так называется класс дескрипторов доступных уровней обслуживания. Один из способов описания объектов, предлагающих такие дифференцированные службы — в данном случае, отдельные маршрутизаторы, или путь, проложенный через такие маршрутизаторы. ,
Управление доступом (access control) — в комплексе протоколов IPSec и любой другой системе защиты так называется способность к предотвращению несанкционированного использования ресурсов. Обеспечивает возможность недопущения вторжения в зарезервированные пространства, реальные или теоретические.
Формат Ё1Л-64 — стандарт IEEE, позволяющий применять "зашитые" МАС-адреса сетевых интерфейсных плат (NIC) для создания уникальных 48-битных идентификаторов интерфейсов.
Шифрование (encryption) — процесс представления данных в нечитаемом виде и обеспечения возможности выполнения обратной операции с помощью специального секретного ключа.
Контрольные вопросы
1.	Какие из нижеперечисленных новых или усовершенствованных функций входят в протокол IPv6? (Выберите все подходящие ответы.)
а)	расширенное адресное пространство IP;
б)	улучшенные характеристики маршрутизации;
в)	усовершенствованные опции качества обслуживания (Quality of Service, QoS);
Протокол IP версии 6 (IPv6)
767
г)	модернизированные средства поддержки мобильных пользователей;
д)	встроенные средства и функции обеспечения защиты.
2.	Какова длина 1Ру6-адреса (в битах)?
а)	32;
б)	64;
в)	128;
г)	256.
3.	Как нужно правильно интерпретировать символ в 1Ру6-адресе?
а)	он замещает столько нулей, сколько необходимо для формирования полного адреса;
б)	он замещает 8 нулей;
в)	он замещает 16 нулей;
г)	он замечает 32 нуля.
4.	Специальный символ может несколько раз появляться в пределах одного 1Ру6-адреса. Да или нет?
а)	да;
б)	нет.
5.	Какая система счисления применяется для выражения 1Ру6-адресов в письменной форме?
а)	двоичная;
б)	десятичная;
в)	шестнадцатеричная;
г)	ни одна из перечисленных.
6.	Что означает нотация "косая черта — десятичное число" (например, 1090:9:900:210D:100:100:227:325F/ 60) после 1Ру6-адреса?
а)	число бит в сетевой части адреса;
б)	число бит в части маски подсети адреса;
в)	число бит в хостовой части адреса;
г)	число бит в идентификаторе области действия группового адреса.
7.	Как можно преобразовать 48-битный МАС-адрес Ethernet в формат IEEE EUI-64?
а)	заполнить начало строки битами 0x0000 в шестнадцатеричном представлении;
б)	заполнить конец строки битами 0x0000 в шестнадцатеричном представлении;
768
Глава 13
в)	отделить идентификатор производителя (первые 24 бита) от порядкового номера сетевой интерфейсной платы (последние 24 бита) битами Oxfffe в шестнадцатеричном представлении;
г)	отделить идентификатор производителя (первые 24 бита) от порядкового номера сетевой интерфейсной платы (последние 24 бита) битами Oxffff в шестнадцатеричном представлении.
8.	В каждом типе сети (например, в Ethernet, с маркерным доступом, FDDI, SONET и т. д.), есть собственные методы создания уникальных идентификаторов 1Ру6-интерфейсов. Да или нет?
а)	да;
б)	нет.
9.	В каком типе 1Ру6-адреса может содержаться 1Ру4-адрес? (Выберите все походящие ответы.)
а)	1Ру4-супермножество;
б)	1Ру4-контейнер;
в)	1Ру4-совместимый адрес;
б)	1Ру4-преобразованный адрес.
10.	Оба типа 1Руб-адресов, содержащих 1Ру4-адреса, предназначены для того, чтобы: (а) обеспечивать одноранговым 1Ру6-узлам возможность туннелирования 1Ру6-трафика по каналам IPv4 и (б) допускать взаимодействие 1Ру6-узлов с узлами, поддерживающими только протокол IPv4 (а следовательно, не поддерживающими адреса и протоколы IPv6). Да или нет?
а)	да;
б)	нет.
И. Какой из следующих специальных адресов IPv6 не может применяться в качестве адреса назначения? .
а)	групповой адрес;
б)	альтернативный адрес;
в)	::1 (адрес обратной связи);
г)	:: (адрес, состоящий только из нулей).
12.	Какие методики в протоколе IPv6 заменяют широковещание? (Выберите все подходящие ответы.)
а)	групповая доставка;
б)	альтернативная доставка;
в)	однонаправленная доставка;
г)	ни одна из перечисленных.
Протокол IP версии 6 (IPv6)
769
13.	Какая информация содержится во втором байте группового адреса?
а)	сначала поле Scope (область действия), затем — поле Flags (флаги);
б)	сначала поле Flags (флаги), затем — поле Scope (область действия);
в)	интерфейс, узел, организация и настройки глобальной области действия;
г)	переходный или хорошо известный адрес.
14.	Устройство какого типа определяет "ближайший" экземпляр альтернативного адреса?
а)	клиент;
б)	альтернативный сервер;
в)	локальный маршрутизатор;
г)	крайний или пограничный маршрутизатор.
15.	Какой единый альтернативный адрес должен поддерживаться во всех подсетях?
а)	адрес DHCP;
б)	адрес NFS;
в)	адрес NTP;
г)	адрес маршрутизатора подсети.
16.	Сколько уровней группировки поддерживают однонаправленные IPv6-адреса?
а)	один;
б)	два;
в)	три;
г)	четыре.
17.	Какие два типа 1Ру6-адресов соответствуют частным 1Ру4-адресам, специфицированным в документе RFC 1918?
а)	адрес локальной подсети;
б)	адрес локального канала;
в)	адрес локального интерфейса;
г)	адрес локального узла.
18.	К какой категории 1Ру6-адресов относятся специальные адреса (например, адреса обратной связи и адреса, содержащие 1Ру4-адреса)?
а)	зарезервированные с префиксом 0:0;
б)	свободные с префиксом 0:1;
в)	группируемые глобальные однонаправленные адреса;
770
Глава 13
г)	однонаправленные адреса локальных каналов;
д)	групповые адреса.
19.	Сети какого типа обслуживаются блоком 1Ру6-адресов под названием NSAP (Network Service Access Point, точка доступа к сетевой службе)?
а)	обычные локальные сети;
б)	мобильные радиосети;
в)	сети, применяющие адреса NSAP, такие как ATM и Х.25;
г)	сети IPX.
20.	Как называется 1Руб-протокол, специфицированный в документе RFC 2461 и обеспечивающий механизмы определения узлами своих адресов связи, префиксов подсетей, функционирующих маршрутизаторов и т. п.?
a)	RIP (Routing Information Protocol, протокол маршрутной информации);
б)	BGP (Border Gateway Protocol, пограничный межсетевой протокол);
в)	АСР (Autoconfiguration Protocol, протокол автоконфигурации);
г)	ND (Neighbor Discovery, протокол обнаружения соседних узлов).
21.	Какие ICMP-сообщения использует протокол, специфицированный в документе RFC 2461? (Выберите все подходящие ответы.)
a)	Router Solicitation (обращение к маршрутизаторам);
б)	Interface Advertisement (извещение о существовании интерфейса);
в)	Neighbor Solicitation (обращение к соседним узлам);
г)	Echo Request (Эхо-запрос);
д)	Neighbor Advertisement (извещение о существовании соседнего узла).
22.	Протокол IPv6 не позволяет маршрутизаторам фрагментировать пакеты; фрагментацию в соответствии с PMTU должны выполнять отправители. Да или нет?
а)	да;
б)	нет.
23.	Заголовок 1Ру6-пакета всегда составляет 24 байта в длину. Да или нет?
а)	да;
б)	нет.
24.	Какое из следующих утверждений наилучшим образом характеризует назначение заголовка расширений межтранзитных опций (Hop-by-Hop extension) протокола IPv6?
а)	он содержит адрес назначения следующего маршрутизатора на пути пакета;
Протокол IP версии 6 (IPv6)
771
б)	он определяет данные заголовка аутентификации;
в)	он определяет протокол высшего уровня в полезной нагрузке;
г)	он содержит информацию, предназначенную для маршрутизаторов, находящихся в пути; к примеру, в нем может находиться предупреждение маршрутизаторам о полезной нагрузке масштаба суперграммы (jumbogram).
25.	Какое из следующих утверждений наилучшим образом характеризует назначение заголовка расширений маршрутизации IPv6?
а)	он содержит адреса промежуточных маршрутизаторов, через которые должен пройти данный 1Ру6-пакет;
б)	он определяет присутствие или отсутствие маршрутизации от источника IPv6;
в)	он содержит средства управления строгой маршрутизацией IPv6-na-кетов;
г)	он определяет конечный адрес назначения пакета.
26.	Какие возможности должен поддерживать заголовок расширений аутентификации (Authentication extension) протокола IPv6? (Выберите все подходящие ответы.)
а)	он содержит информацию о шифровании полезной нагрузки пакета;
б)	выполняя проверку идентичности, он предотвращает спуфинг и кражу соединений;
в)	он может выполнять службы шифрования или сжатия, но только по отдельности;
г)	он обеспечивает ограниченную защиту от атак воспроизведения;
д)	он обеспечивает проверку целостности тех частей пакета, который не изменяются в процессе передачи.
27.	Протокол ND (Neighbor Discovery, обнаружение соседних узлов) в IPv6 поддерживает независимую от состояния автоконфигурацию подсоединенных узлов. Да или нет?
а)	да;
б)	нет.
28.	Что происходит в ходе процесса 1Ру6-автоконфигурации? (Выберите все подходящие ответы.)
а)	узел проверяет свой исчисленный адрес локального канала с помощью обращения к соседним узлам, чтобы убедить в уникальности этого адреса;
б)	узел выполняет обращение к присоединенным маршрутизаторам для получения от них извещений;
772
Глава 13
в)	узел пытается вычислить адрес локального канала, подставляя перед своим идентификатором интерфейса EUI-64 хорошо известный префикс локального канала;
г)	после идентификации DHCP-сервера он всегда предоставляет всю информацию, необходимую для завершения процесса автоконфигурации;
д)	все вышеперечисленное.
29.	Какие из следующих утверждений описывают эффективные усовершенствования DHCPv6. или связанные с этой службой усовершенствования, являющиеся компонентами базовой среды IPv6? (Выберите все подходящие ответы.)
а)	1Ру6-интерфейсы поддерживают множество адресов в DHCPv6;
б)	1Ру6-узлы должны выполнять ожидание обновлений адресов для поддержки автоматической перенумерации;
в)	1Ру6-узлы могут получать локально функционирующие адреса, вообще не обращаясь к DHCP;
г)	ОНСРуб-серверы и маршрутизаторы могут настраиваться на отсылку аутентифицированных извещений;
д)	DHCPv6 может выполнять динамическое обновление DNS-записей.
30.	Какие методы представляют собой эффективные реализации спецификации безопасности IPSec? (Выберите все подходящие ответы.)
а)	на выделенном компьютере, который называется защитным шлюзом;
б)	в качестве компонента IP-стека на хосте;
в)	в качестве опции конфигурации протокола IP;
г)	в качестве дополнительного уровня между предварительно установленным IP-уровнем и сетевыми драйверами локального канала (эта реализация известна под названием "bump-in-the-stack", или BITS);
д)	на автономном криптографическом устройстве (эта реализация известна под названием "bump-in-the-wire", или BITW).
Практические задания
Для выполнения этих, проектов вы должны располагать доступом к сети Internet и установленной демо-версией программы EtlierPeek for Windows (она находится на сопровождающем книгу компакт-диске). Кроме того, для выполнения заданий вам необходимо установить на жесткий диск файлы трассировки. Если вы этого еще не сделали, то выполните установку, воспользовавшись примечанием из задания 3.3 главы 3.
Протокол IP версии 6 (IPv6)
773
Задание 13.1
Выявление источников обновления продуктов протокола IPv6
1.	Запустите браузер Internet Explorer (выберите Пуск (Start) > Программы (Programs) > Internet Explorer).
2.	В текстовом окне Адрес (Address) введите http://www.ipv6.org, а затем нажмите клавишу <Enter>, чтобы перейти на сайт протокола IPv6.
3.	Просмотрите содержимое сайта и найдите информацию об установке и конфигурации протокола IPv6 в разных операционных системах.
4.	Составьте перечень сайтов, на которых содержится информация о переводе на протокол IPv6 оборудования в вашей аудитории.
5.	В текстовом окне Адрес (Address) введите http://www.visc.vt.edu/ipv6/, а затем нажмите клавишу <Enter>.
6.	Просмотрите содержимое этого сайта и найдите информацию о переходе на протокол IPv6.
Оба этих сайта являются прекрасными источниками информации о протоколе IPv6.
Задание 13.2
Исследование 1Ру6-сообщений
1.	Запустите демо-версию программы EtherPeek for Windows.
2.	Выберите File > Open.
3.	Откройте каталог Course Technology\18654-2\Chl3 на вашем жестком диске.
4.	Выберите файл трассировки ipv6dump.pkt. Нажмите кнопку Открыть (Open). В результате появится окно сводки пакета.
5.	Щелкните на столбцах в окне и перетащите их границы для увеличения их размера; это нужно сделать для того, чтобы адреса 1Ру6-источника и назначения стали полностью видимы.
6.	Прокрутите список до пакета № 28 (Packet #28) и двойным щелчком откройте его. В появившемся окне расшифровки будет показана структура этого 1Ру6-пакета.
7.	Ответьте на следующие вопросы об этом пакете.
а)	Каково назначение этого пакета?
б)	Какой лимит транзитов в нем установлен?
в)	Сравните адреса источника/назначения Etliernet-заголовка с адресами источника/назначения 1Ру6-заголовка. Как они соотносятся?
774-
Глава 13
8.	Нажмите кнопку Decode Next (стрелка вправо), чтобы просмотреть пакет № 29 (Packet #29). Каково назначение этого пакета?
9.	Закройте окна расшифровки и сводки пакета и сразу переходите к следующему проекту.
Задание 13.3
Создание 1Ру6-фильтра
1.	Выберите View > Filters в демо-версии программы EtherPeek, чтобы открыть окно Filters. Нажмите кнопку Insert. Появится окно Edit Filter.
2.	Введите имя "IPv6" в текстовом поле Filter.
3.	Установите флажок Protocol filter.
4.	Нажмите кнопку Protocol.
5.	Нажмите знак "плюс" в прямоугольнике рядом с типом фреймов, применяемым в вашей сети.
6.	Выделите запись IPv6 и нажмите кнопку ОК.
7.	Нажмите кнопку ОК, чтобы закрыть окно Edit' Filter, а затем — кнопку Close в правом верхнем углу, чтобы закрыть окно Filter.
8.	Как вы думаете, на каком критерии основывается этот фильтр?
9.	Чтобы протестировать фильтр, откройте файл ipv6dump.pkt (в каталоге Course Technology\18654-2\Chl3 на вашем жестком диске).
10.	Выберите Edit > Select.
11.	В области выбора критерия Selection прокрутите список вниз, найдите и установите флажок рядом с фильтром IPv6.
12.	Нажмите кнопку Select Packets. Появится диалоговое окно Selection Results, сообщающее о том, что выбрано 242 пакета.
13.	В диалоговом окне Selection Results нажмите кнопку Hide Unselected. Нажмите кнопку Close в окне Select. Теперь в окне сводки пакета должны быть показаны 242 пакета, выделенных из 250 пакетов, содержащихся в файле трассировки.
14.	Закройте демо-версию программы EtherPeek for Windows.
Учебные задачи
1.	Из-за того, что маршрутизаторы, вне всякого сомнения, должны будут поддерживать обе версии IP (особенно вдали от границ сети, где повсеместный переход к протоколу IPv6 более вероятен), таким машинам придется обеспечивать поддержку протоколов IPv4 и IPv6 одновременно.
Протокол IP версии 6 (IPv6)
775
Объясните, какие виды соединений могут предоставлять двухстековые маршрутизаторы, и почему такие соединения необходимы. Как вам кажется: будут ли накладные расходы при работе в двухстековом режиме увеличивать или снижать нагрузку на обработку протоколов, которая должна производиться на устройствах этого типа?
2.	Обдумайте преимущества и недостатки формирования ЛРуб-адресов непосредственно из 1Ру4-адресов, когда 32 бита 1Ру4-адреса прибавляются к сетевому префиксу 2002/16 вместе с идентификатором интерфейса и адресом узлового 1Руб-уровня, и результирующий 1Руб-адрес принимает форму 2002:адрес1Ру4:81А:идентификатор_интерфейса/16. Здесь идентификатор интерфейса составляет 48 бит, что нормально для МАС-адресов протокола IPv4, а адрес узлового уровня — 16 бит, что типично для протокола IPv6. Что это значит с точки зрения простоты реализации? А с точки зрения режима 1Ру6-маршрутизации?
3.	Проанализируйте следующие методы реализации системы безопасности IPSec в существующей сети.
•	Установка защитного шлюза между маршрутизатором и отдельным внешним интерфейсом, направленным в Internet.
•	Установка протоколов IPSec как компонента IP-стеков на каждом сетевом хосте.
•	Применение методики BITS для расположения IPSec между 1Р-стеком и драйверами канального уровня на каждом сетевом хосте.
•	Использование методики BITW для применения IPSec ко всему трафику, исходящему через отдельный внешний интерфейс в сеть Internet.
Ответьте'на следующие вопросы о каждом из этих подходов.
а)	На скольких машинах необходимо выполнить программные изменения, чтобы применить данный метод?
б)	Где можно ожидать потенциальных сбоев производительности?
в)	Может ли этот метод обеспечить абсолютную безопасность сообщений на всем пути от отправляющего хоста к хосту назначения?
г)	Какие виды ограничений, налагаемых базой данных политики, пользователи, скорее всего, заметят после установки системы безопасности IPSec?
Приложение 1
Важные документы RFC
В этом приложении перечисляются все документы RFC, упомянутые в данной книге. Они опубликованы на приведенных далее Web-сайтах; кроме того, они содержатся в наборе Network Analysis Survival Kit (WildPackets, Inc.). Комплект Network Analysis Survival Kit (NASK), разработанный Скоттом Ходейлом (Scott Haugdahl), является базой данных документов RFC и важнейших документов рабочей группы IETF с возможностью поиска. Кроме того, он содержит множество редких документов, таких как наиболее полный листинг OUI (Organizationally Unique Indentifier, организационноуникальный идентификатор) и подробности операций NetBIOS. Более подробная информация есть на сайте http://www.wildpackets.com.
□	http://www.cis.ohio-state.edu/hypertext/information/rfc.html;
□	http://www.ietf.org.
Номер документа RFC	Название	Глава книги
768	User Datagram Protocol (UDP, протокол передачи дейтаграмм пользователя)	5
791	Internet Protocol (протокол IP)	3
792	Internet Control Message Protocol (ICMP, протокол управляющих сообщений в сети Internet)	4
793	Transmission Control Protocol (TCP, протокол управления передачей)	5
812	NICNAME/WHOIS	6
821	Simple Mail Transfer Protocol (SMTP, простой протокол электронной почты)	6
826	An Ethernet Address Resolution Protocol (EARP, протокол разрешения адресов в сетях Ethernet)	3, 10
854	Telnet Protocol Specification (спецификация протокола Telnet)	6
778
Приложение 1
(продолжение)		
Номер документа RFC	Название	Глава книги
855	Telnet Option Specifications (спецификации опций Telnet)	6
857	Telnet Echo Option (эхо-опция Telnet)	6
862	Echo Protocol (эхо-протокол)	6
864	Character Generator Protocol (CGP, протокол генерации символов)	6
865	Quote of the Day Protocol (протокол цитаты дня)	6
882	Domain Names — Concepts and Facilities (доменные имена — принципы и устройство)	7
883	Domain Names — Implementation and Specification (доменные имена — реализация и спецификация)	7
894	A Standard for the Transmission of IP Datagrams over Ethernet Networks (стандарт передачи IP-дейтаграмм в сетях Ethernet)	3
896	Congestion Control in IP/TCP Internetworks (контроль перегрузок в объединенных сетях IP/TCP)	5
903	A Reverse Address Resolution Protocol (RARP, протокол определения адреса по местоположению)	3
904	Exterior Gateway Protocol Formal Specification (формальная спецификация внешнего шлюзового протокола)	10
950	Internet Standard Subnetting Procedure (стандартная процедура организации подсети в Internet)	4
959	File Transfer Protocol (FTP) (протокол передачи файлов)	6
1001	Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Concepts and Methods (стандарт протоколов для службы NetBIOS на основе передачи TCP/UDP: принципы и методы)	6, 12
1002	Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Detailed Specifications (стандарт протоколов для службы NetBIOS на основе передачи TCP/UDP: подробные спецификации)	6, 12
1035	Domain Names— Implementation and Specification (доменные имена — реализация и спецификация)	7
1042	A Standard for the Transmission of IP Datagrams over IEEE 802 Networks (стандарт передачи IP-дейтаграмм в сетях IEEE 802)	3
1055	A Nonstandard for Transmission of IP Datagrams over Serial Lines: SLIP (нестандартный метод передачи IP-дейтаграмм no линиям последовательной передачи: SLIP)	1,3
Важные документы RFC
779
(продолжение)		
Номер документа RFC	Название	Глава книги
1058	Routing Information Protocol (RIP, протокол маршрутной информации)	10
1122	Requirements for Internet Hosts — Communication Layers (требования к хостам Internet — уровни сообщений)	5
1144	Compressing TCP/IP Headers for Low-Speed Serial Links (сжатие заголовков TCP/IP для низкоскоростных каналов последовательной передачи)	3
1163	A Border Gateway Protocol (BGP) (пограничный межсетевой протокол)	3
1191	Path MTU Discovery (определение максимальной единицы передачи маршрута)	4
1213	Management Information Base for Network Management of TCP/IPbased Internets: MIB-II (база управляющей информации для сетевого управления интерсетей на основе TCP/IP: MIB-II)	11
1256	ICMP Router Discovery Messages (ICMP-сообщения поиска маршрутизатора)	4, 10
1050	RPC: Remote Procedure Call Protocol Specification (RPC: спецификация протокола удаленного вызова процедуры (RPCP))	6
1288	The Finger User Information Protocol (протокол пользовательской информации Finger)	6
1305	Network Time Protocol (Version 3) Specification, Implementation and Analysis (спецификация, реализация и анализ синхронизирующего сетевого протокола версии 3 (NTPv3))	4
1332	The РРР Internet Protocol Control Protocol (IPCP) (протокол управления протоколом Internet PPP (IPCP))	3
1349	Type of Service in the Internet Protocol Suite (тип службы в стеке протоколов Internet)	3
1350	The TFTP Protocol (Revision 2) (протокол TFTP (2-я редакция))	6
1356	Multiprotocol Interconnect on X.25 and ISDN in the Packet Mode (многопротокольное межсоединение в Х.25 и ISDN в пакетном режиме)	3
1393	Traceroute using an IP Option (отслеживание маршрута с помощью опции IP)	4
1442	Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2) (структура управляющей информации в версии 2 простого протокола сетевого управления (SNMPv2))	6
780
Приложение 1
(продолжение)		
Номер документа RFC	Название	Глава книги
1443	Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2) (текстовые соглашения в версии 2 простого протокола сетевого управления (SNMPv2))	6
1444	Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2) (формулировка соответствий в версии 2 простого протокола сетевого управления (SNMPv2))	6
1445	Administrative Model for Version 2 of the Simple Network Management Protocol (SNMPv2) (модель управления в версии 2 простого протокола сетевого управления (SNMPv2))	6
1446	Security Protocols for Version 2 of the Simple Network Management Protocol (SNMPv2) (протоколы защиты в версии 2 простого протокола сетевого управления (SNMPv2))	6
1447	Party MIB for Version 2 of the Simple Network Management Protocol (SNMPv2) (базы управляющей информации, участвующие в версии.2 простого протокола сетевого управления (SNMPv2))	6
1448	Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2) (операции протоколов в версии 2 простого протокола сетевого управления (SNMPv2))	6
1449	Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2) (транспортные соответствия в версии 2 простого протокола сетевого управления (SNMPv2))	6
1450	Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2) (база управляющей информации в версии 2 простого протокола сетевого управления (SNMPv2))	6
1513	Token Ring Extensions to the Remote Network Monitoring MIB (расширения Token Ring для баз управляющей информации удаленного сетевого мониторинга)	11
1519	Classless Inter-Domain Routing (CIDR): An Address Assignment and Aggregation Strategy (бесклассовая междоменная маршрутизация (CIDR): распределение адресов и стратегия группирования)	2
1534	Interoperation Between DHCP and ВООТР (взаимодействие между DHCP и ВООТР)	8
1626	Default IP MTU for Use Over ATM AAL5 (максимальная единица передачи IP по умолчанию для применения в ATM AAL5)	3
1661	The Point-to-Point Protocol (PPP) (протокол двухточечного соединения (РРР))	1, з
Важные документы RFC
781
(продолжение)		
Номер документа RFC	Название	Глава книги
1662	РРР in HDLC-like Framing (РРР в кадрировании по подобию высокоуровневого протокола управления каналом)	3
1757	Remote Network Monitoring Management Information Base (база управляющей информации удаленного сетевого мониторинга)	11
1759	Printer MIB (база управляющей информации принтеров)	11
1771	A Border Gateway Protocol 4 (BGP-4) (пограничный межсетевой протокол 4 (BGP-4))	10
1812	Requirements for IP Version 4 Routers (требования к маршрутизаторам IPv4)	4
1869	SMTP Service Extensions (расширения служб SMTP)	6
1877	PPP Internet Protocol Control Protocol Extensions for Name Server Addresses (расширения протокола управления протоколом Internet РРР для адресов серверов имен)	3
1878	Variable Length Subnet Table for Ipv4 (таблица подсетей переменной длины в IPv4)	2
1903	Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2) (текстовые соглашения в версии 2 простого протокола сетевого управления (SNMPv2))	6
1904	Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2) (формулировка соответствий в версии 2 простого протокола сетевого управления (SNMPv2))	6
1905	Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2) (операции протоколов в версии 2 простого протокола сетевого управления (SNMPv2))	6
1906	Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2) (транспортные соответствия в версии 2 простого протокола сетевого управления (SNMPv2))	6
1907	Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2) (база управляющей информации в версии 2 простого протокола сетевого управления (SNMPv2))	6
1908	Coexistence between Version 1 and Version 2 of the Internetstandard Network Management Framework (совместимость между версиями 1 и 2 архитектуры сетевого управления стандарта Internet)	6
1909	An Administrative Infrastructure for SNMPv2 (административная инфраструктура SNMPv2)	6
782
Приложение 1
(продолжение)
Номер документа RFC	Название	Глава книги
1910	User-based Security Model for SNMPv2 (модель механизма защиты SNMPv2, определяемая пользователем)	6
1918	Address Allocation for Private Internets (распределение адресов в частных интерсетях)	2, 9, 10, 13
1928	SOCKS Protocol Version 5 (протокол SOCKS версии 5)	9
1945	Hypertext Transfer Protocol — HTTP/1.0 (протокол передачи гипертекста — HTTP/1.0)	6
2002	IP Mobility Support (поддержка IP-мобильности)	10
2003	IP Encapsulation within IP (IP-инкапсуляция в IP)	10
2004	Minimal Encapsulation within IP (минимальная инкапсуляция в IP)	10
2005	Applicability Statement for IP Mobility Support (формулировка применимости поддержки IP-мобильности)	10
2006	The Definitions of Managed Objects for IP Mobility Support using SMIv2 (описания управляемых объектов поддержки IP-мобильности с помощью SMIv2)	10
2018	TCP Selective Acknowledgement Options (опции выборочных подтверждений TCP)	5
2021	Remote Network Monitoring Management Information Base Version 2 Using SMIv2 (база управляющей информации удаленного сетевого мониторинга версии 2 с использованием SMIv2)	11
2026	The Internet Standards Process — Revision 3 (процесс стандартизации Internet — 3-я редакция)	1
2131	Dynamic Host Configuration Protocol (DHCP, протокол динамической конфигурации хоста)	8
2136	Dynamic Updates in the Domain Name System (DNS UPDATE) (динамические обновления в службе доменных имен (DNS UPDATE))	7
2141	URN Syntax (синтаксис URN)	6
2241	DHCP Options for Novell Directory Services (опции DHCP для служб каталогов Novell)	8
2246	The TLS Protocol Version 1.0 (протокол TLS версии 1.0)	9
2317	Classless IN-ADDR.ARPA Delegation (бесклассовое делегирование IN-ADDR.ARPA)	7
Важные документы RFC
783
(окончание)		
Номер документа RFC	Название	Глава книги
2328	OSPF Version 2 (первоочередное открытие кратчайших маршрутов версии 2)	10
2427	Multiprotocol Interconnect over Frame Relay (многопротокольное межсоединение посредством ретрансляции кадров)	3
2453	RIP Version 2 (RIPv2, протокол маршрутной информации версии 2)	10
2465	Management Information Base for IP Version 6: Textual Conventions and General Group (база управляющей информации в IPv6: текстовые соглашения и основная группа)	11
2474	Definition of Differentiated Service Field (DS Field) in the IPv4 and IPv6 Headers (определение поля дифференцированных служб (DS) в заголовках IPv4 и Ipv6	3
2515	Definitions of Managed Objects for ATM Management (описания управляемых объектов для управления ATM)	11
2581	TCP Congestion Control (контроль перегрузок TCP)	5
2700	Internet Official Protocol Standards (официальные стандарты протоколов в сети Internet)	1
Приложение 2
Основные IP-ресурсы сети Internet
Все Web-адреса, приведенные в этом приложении в других частях книги, также перечислены на странице "Guide to TCP/IP” (Руководство по TCP/IP) по адресу http://www.lanw.com/books/gd2tcpip.html. Все ссылки регулярно проверяются и обновляются.
Общий обзор IP и Internet
Брент Байкала (Brent Baccala), редактор, "Connected: An Internet Encyclopedia" (Соединение установлено: энциклопедия. Internet), http://www.freesoft.org/ CIE/index.htm. Это детальный справочник по сети Internet с всесторонним обзором TCP/IP, включая полный текст всех документов RFC.
Радж Джайн (Raj Jain), "Computer Networking and Internet Protocols: A Coprehensive Introduction" (Организация компьютерных сетей и протоколы Internet: полный вводный курс), http://www.cis.ohio-state.edu/~jain/bnr/ index.html. Прекрасное, глубокое освещение основ TCP/IP, множества протоколов и служб, в том числе высокоскоростных опций, не рассматриваемых в нашей книге.
Гари Си Кесслер (Gary С. Kessler), "An Overview of TCP/IP Protocols and the Internet" (Общий обзор протоколов TCP/IP и сети Internet), http://www.hill.com/ library/publications/tcpip.shtml. Известный обзор развития, истории и базовой структуры TCP/IP.
История IP и Internet
"History of the Internet: Internet Histories” (История сети Internet: хроники), http://www.isoc.org/intemet/history/. Сборник сюжетов из истории Internet, включая развитие TCP/IP, составленный организацией ISOC (Internet Society, общество Internet). Первая статья на этой странице, "A Brief History
Основные IP-ресурсы сети Internet ,785
of the Internet" (Краткая история сети Internet), содержит изложение истории Internet словами тех, кто делал эту историю; после этого следует рассказ Винта Серта (Vint Cert) на ту же тему — и то, и другое стоит прочитать!
Основные подборки ссылок на сайты, посвященные Internet и организации сетей
"Connected: An Internet Encyclopedia of Surf Sites" (Соединение установлено: энциклопедия Internet — рекомендуемые сайты) — http://www.freesoft.org/CIE/Project/surfsite.htm.
Публикации документов RFC
□	Список основных сайтов, посвященных документам RFC — http://dir.yahoo.com/Computers_and_Internet/Standards/RFCs/.
□	Архив документов RFC штата Огайо —
http://www.cis.ohio-state.edu/Services/rfc/index.htmI.
□	Указатель документов RFC, составленный Глимпсом (Glimpse) — http://www.pasteur.fr/infosci/RFC/.
□	Архивы документов RFC в сети Internet — http://www.faqs.org/rfcs/.
IP-адресация,
организация подсетей и суперсетей
Чак Симериа (Chuck Semeria), "Understanding IP Addressing: Everything You Ever Wanted To Know" (Введение в IP-адресацию: все, что вы хотели бы знать), http://www.3com.com/soIutions/en_US/501302.htmI. Одна из наиболее полных и удобочитаемых работ, посвященных всем аспектам IP-адресации (65 страниц).
Джо Рудич (Joe Rudich), журнал "Windows NT Systems", июнь 1999: "Practical Subnet Design" (Практические приемы конструирования подсетей), http://www.ntsystems.com/db_area/archive/1999/9906/306fel.shtml. Краткое, но очень удачное рассмотрение организации IP-подсетей во всех подробностях.
Двоичная арифметика
"Binary Arithmetics" (Двоичная арифметика) с сайта "Connected: An Internet Encyclopedia" (Соединение установлено: энциклопедия Internet), http://www.freesoft.org/CIE/Topics/19.htm. Обильно иллюстрированная вер-
26 Зак. 321
786
Приложение 2
сия той же информации, представленной в тексте; рекомендуется людям с хорошим зрительным восприятием.
Рэнделл Хайд (Randall Hyde), "The Art of Assembly Language Programming", Chapter 1: "Data Representation" (Искусство программирования на языке ассемблера, глава 1, "Представление данных", http://webster.cs.ucr.edu/ Pageasm/ArtofAssembly/CHOl/CHOl-l.html. Лучшее из всех пособий по двоичной системе счисления и арифметике.
Гай Си Йост (Guy С. Yost), "Establishing an Internet Presence: Part II — Obtaining an IP Address" (Организация присутствия в Internet: часть II — "Получение IP-адреса"), http://www.naspa.com/PDF/96/T9604013.pdf. Прекрасное описание всех аспектов получения IP-адреса, включая вопросы цены и собственности.
Общая информация о протоколе IP
Каталог протоколов: http://www.protocols.com/pbook/toc.htm.
Protocols.com — это замечательный источник информации обо всех типах сетевых протоколов, включая все примечательные компоненты стека протоколов TCP/IP. Сразу получить информацию о стеке TCP/IP можно по адресу http://www.protocols.com/pbook/tcpip.htm. Вне всяких сомнений, этот сайт стоит того, чтобы занести его в ваш список Закладок (Bookmarks) или Избранного (Favorites).
Информация о службе DNS
Каталог ресурсов службы DNS: http://www.dns.net/dnsrd/.
На этом самом значительном Web-сайте из всех, посвященных службе DNS, содержатся ссылки решительно на все, что относится к этой теме.
Информация о DHCP
Ресурсы DHCP: http://www.nts.com/library/tldhcp.html.
Компании Efficient Networks удалось составить прекрасную подборку ресурсов по DHCP, включая официальные документы, учебные пособия, "горячие списки", часто задаваемые вопросы и т. п. Собственный документ этой компании под названием "DHCP Overview" (Обзор DHCP) прекрасно дополняет этот текст. Кроме того, если вы хотите поподробнее ознакомиться со стандартом DHCP и его развитием, обязательно посетите сайт "Resources for DHCP" (Ресурсы DHCP) по адресу http://www.dhcp.org.
Основные IP-ресурсы сети Internet
787
Безопасность
□	Часто задаваемые вопросы по теме компьютерной безопасности: http://www.faqs.org/faqs/computer-security/.
Один из основных источников информации, связанной с разнообразными способами защиты компьютеров; в этом списке представлены все вопросы по IP-защите.
□	Ссылки по теме безопасности в операционных системах Windows: http://www.lanw.com/trainmg/interop/securityurls.htm.
Эд Титтел и Джеймс Майкл Стюарт проводят занятия по этой теме не менее трех раз в год; они поддерживают обширный список ресурсов, посвященных безопасности в Windows, многие из которых затрагивают вопросы IP-защиты.
□	SecurityFocus: http://www.securityfocus.com/.
Один из наиболее многосторонних сайтов, посвященных защите компьютеров и сетей.
□	Институт SANS (System, Administration, Networking and Security Institute, Институт систем, администрирования, сетевых технологий и безопасности): http://www.sans.org.
Одна из лучших организаций, занимающихся обучением и сертификацией специалистов по безопасности; особое значение уделяет TCP/IP.
□	SearchSecurity.com: http://searchsecurity.techtarget.com.
Великолепный сайт, посвященный компьютерной защите в целом, и сетевой безопасности в частности, на котором представлены прекрасные материалы по вопросам IP-защиты и сопутствующим технологиям.
□	SecurityPortal.com: http://www.securityportal.com/.
Еще один крупный сайт на тему компьютерной и сетевой защиты, замечательно освещающий проблемы IP-защиты, соответствующих протоколов и технологий.
1Р-маршрутизация
□	Kentrox Pacesetter:
http://www.kentrox.com/support/tn/pacesetter/iproute.htm.
Несмотря на то, что здесь речь идет о маршрутизаторе модели Kentrox Pacesetter, дискуссия носит довольно общий характер, поэтому с ней стоит ознакомиться.
788
Приложение 2
□	TechEncycIopedia:
http://www.techweb.com/encyclopedia/defmeterm?term=routing.
Посетив сайт CMP TechWeb TechEncycIopedia и проведя поиск по термину "routing" (маршрутизация), вы получите огромный список ссылок на полезные ресурсы.
□	TechFest: http://www.techfest.com/networking/prot.htm.
На сайте TechFest протоколы рассматриваются вообще, но там есть замечательный раздел, посвященный маршрутизации — с ним стоит ознакомиться.
Протокол SNMP
О Ресурсы протокола SNMP: http://www.pmoyer.org/web/snmp.html.
Потрясающая, довольно необычная подборка ресурсов по протоколу SNMP.
□	Ресурсы протокола SNMP на CobraNet:
http://www.peakaudio.com/CobraNet/DeveIoper/SNMP_Resources.html.
SimpIeWeb — это известный источник новостей и информации о стандартах протокола SNMP. Предназначенная для потенциальных разработчиков баз управляющей информации, эта подборка ресурсов носит более общий характер.
□	Ресурсы протокола SNMP:
http://members.tripod.lycos.nl/engelander/SNMP.html.
Европейский сайт с учебными пособиями, ссылками, стандартами и прочей информацией о протоколе SNMP.
□	SNMPWorld.com: http://silver.he.net/~rrg/SNMP_NEWS.htm.
Название этого сайта говорит само за себя — здесь есть множество ссылок на ресурсы, посвященные протоколу SNMP.
NetBIOS over TCP/IP
□	Globetrotting.com: http://www.globetrotting.com/tcp/tcpip_msnetworking.htm.
Полезное, хотя несколько хаотичное пособие, посвященное взаимодействию NetBIOS и TCP/IP в среде Windows.
□	Поиск в MSDN: http://search.microsoft.com/us/dev/default.asp.
Лишь один раз воспользовавшись поисковой, системой MSDN, указав в качестве ключа словосочетание "NetBIOS over TCP/IP", вы сможете найти немало полезных ресурсов.
Основные IP-ресурсы сети Internet
789
□	Chaminade.org:
http://www.chaminade.Org/MIS/TutoriaIs/TCPIP.htm#NetBIOS.
Это часть неплохого пособия по Windows TCP/IP, содержащего прекрасный обзор NBT, WINS и сопутствующих тем.
Протокол IPv6
□	Nokia: http://www-nrc.nokia.com/ipv6/ipv6/.
Компания Nokia, финский телекоммуникационный гигант, предлагает хорошее иллюстрированное пособие по протоколу IPv6. Стоит посмотреть.
□	Форум IPv6: http://www.ipv6forum.com/.
Форум IPv6 — это промышленная группа, продвигающая разработку и внедрение протокола IPv6. На ее начальной странице указывается множество ссылок на статьи, Web-сайты и прочие ресурсы, обозначенные в виде позиций меню IPv6 Resources.
□	RIPE: http://www.viagenie.qc.ca/en/ipv6/tutorial-ipv6-ripe33/html-800x600/.
RIPE расшифровывается как Reseaux Internet Protocol Europeans, или European Internet Protocol Research group (Европейская группа исследований протокола Internet). Эта организация опубликовала пособие по протоколу IPv6 в мае 1999 года, но она до сих пор способна предоставить дополнительную информацию.
П Радж Джайн (Raj Jain), "IP Next Generation" (Новое поколение протоколов сетевого взаимодействия), http://www.cis.ohio-state.edu/~jain/bnr/fl8_ip6.htm.
Вездесущий Радж Джайн опубликовал полную презентацию протокола IPv6, представленную в 1998 году. Она уже не нова, но все еще заслуживает внимания.
П About.com:
http://compnetworking.about.com/compute/compnetworking/cs/ipv6/.
На сайте About.com есть несколько статей, пособий и обзоров по протоколу IPv6.
Группы новостей TCP/IP
□	comp.protocols.tcp-ip.domains;
□	comp.protocols.tcp-ip.ibmpc;
□	comp.protocols.tcp-ip.
Приложение 3
IP-утилиты командной строки
В этом приложении перечислены утилиты командной строки Windows 2000, которые можно использовать для получения конфигурационной информации TCP/IP и тестирования IP-связности. Здесь приводятся командные параметры и способы их применения для следующих утилит:
□	ARP;	□ PING;
□	IPCONFIG;
□	NETSTAT;
□	PATHPING;
□	ROUTE;
□ TRACERT.
ARP
Утилита ARP считывает локальные ARP-таблицы (таблицы соответствия адресов канального уровня IP-адресам) и управляет ими.
Синтаксис:
агр —s ip_address datalink_address [inter face_address]
arp -d ip_address [interface_address]
arp -a [ip_address]
arp -N [interface__address]
Параметр	Описание
-а или -g	Отображает текущие записи в ARP-кэше. Если ip_address определен, появляются IP-адреса Канального уровня данного компьютера. Если протокол ARP применяется несколькими сетевыми интерфейсами, появляются записи для каждой ARP-таблицы
ip__ address	Определяет Internet-адрес
-N interface_address	Отображает ARP-записи для сетевого интерфейса, определяемого с помощью interface_address
IP-утилиты командной строки
791
	(окончание)
Параметр	Описание
-d	Удаляет хост, определяемый с помощью interface_address
-s	Добавляет хост и связывает его Internet-адрес ip^address с адресом Канального уровня datalink_address. Физический адрес задается в виде шести шестнадцатеричных байтов, разделяемых дефисами. Запись является постоянной
da talink_address	Определяет физический адрес
interface_address	Если присутствует, определяет Internet-адрес интерфейса, чья таблица трансляции адресов должна быть изменена. Если отсутствует, используется первый пригодный интерфейс
IPCONFIG
Утилита IPCONFIG отображает и изменяет информацию, относящуюся к конфигурации IP-адресов.
Синтаксис:
ipconfig /? | /all | /release [adapter] | /renew [adapter] | /flushdns | /registerdns
I /showclassid adapter
| /setclassid adapter [classidtoset]
Параметр	Описание
adapter	Применяется для обозначения полного имени адаптера, или соответствия шаблону, где символ обозначает любой символ, а "?" — один символ
/?	Отображает справочное сообщение
/all	Отображает всю конфигурационную информацию
/release	Использует DHCP для освобождения IP-адреса указанного адаптера
/renew	Использует DHCP для обновления IP-адреса указанного адаптера
/flushdns	Вычищает DNS-кэш
792
Приложение 3
(окончание)
Параметр	Описание
/registerdns	Использует DHCP для обновления всех выделений DHCP и повторной регистрации имен службы DNS
/displaydns /showclassid	Отображает содержимое DNS-кэша Отображает все идентификаторы класса DHCP, разрешенные для данного адаптера
/setclassid	Изменяет идентификатор класса DHCP
По умолчанию эта команда отображает только IP-адрес, маску подсети и шлюз по умолчанию любого адаптера, связанного с TCP/IP.
NETSTAT
Эта утилита отображает статистику протокола и подробную информацию о текущих сетевых соединениях TCP/IP.
Синтаксис:
netstat [-а] [-е] [—п]	[—s] [-р protocol] [-г] [interval_seconds]
Параметр	Описание
-а	Перечисляет все текущие соединения и открытые ожидающие порты локальной системы
-е	Отображает статистику Канального уровня (может применяться с параметром -s)
- п	Отображает адреса и номера портов в числовой форме
р protocol	Отображает соединения указанного протокола. Таким протоколом может быть UDP или TCP. В случае применения с параметром -s можно определять протокол IP
-г	Отображает таблицу маршрутизации (то же делает команда route)
— S	Отображает статистическую информацию, сгруппированную по протоколам, такими как IP, UDP и TCP (по умолчанию; вместе с параметром -р может применяться для указания подмножества по умолчанию)
in terval__seconds	Осуществляет повторные отображения статистики на регулярной основе, исходя из значения interval_seconds. Чтобы прервать отображение статистики, нажмите сочетание клавиш <Ctrl>+<C>. При отсутствии этого параметра статистическая информация появляется лишь единожды
IP-утилиты командной строки
793
PATHPING
Эта утилита применяется для тестирования задержки маршрутизаторов и канала по пути к хосту. PATHPING применяется в сочетании с утилитами TRACERT и PING, чтобы сначала определить путь к указанному хосту, а затем проверить период кругового обращения до этого хоста, таким образом определить потерю пакетов применительно к пункту назначения и каждому маршрутизатору на этом пути. PATHPING использует эхо-пакеты протокола ICMP.
Синтаксис:
pathping [-n] [~h maximum_hops] [-g host_list] [-p period]
[~q number_of_queries] [-w timeout] [-t] [-r] target~name
Параметр	Описание
—n	Определяет адреса, которые необходимо разрешить в имена хостов
-h maximum_hops	Определяет необходимое максимальное количество транзитов до пункта назначения
-g host_list	Определяет маршрут через заданные узлы, применяемый в пути; определяется с помощью host_list
-p period	Определяет период ожидания в миллисекундах между отправкой PING-сообщений
-q number_of_queries —w timeout	Определяет количество запросов за один транзит Определяет лимит времени в миллисекундах для каждого ответа
PING
Утилита PING выполняет тестирование возможности сквозного соединения с другими устройствами и вычисляет период кругового обращения между устройствами источника и назначения. Для тестирования связности утилита PING использует ICMP-пакеты эхо-запросов и эхо-ответов.
Необычно интенсивное применение этой утилиты может служить признаком атаки типа "отказ от обслуживания" (Denial of Service, DoS).
Синтаксис:
ping [—t] [-a] [-n count] [-1 size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list | [-k host-list]] [-w timeout] destination-list
794
Приложение 3
Параметр	Описание
-t	Отправляет PING-запрос указанному хосту вплоть до прерывания (отправку можно прервать, нажав сочетание клавиш <Ctrl>+<C>)
-a	Разрешает адреса в имена хостов
-n count	Обозначает количество эхо-запросов, которое необходимо отправить
-1 size	Отправляет данные определенного размера. Если этот размер превышает возможности локальной сети, отправитель генерирует фрагментированные пакеты непосредственно в сеть
-f	Устанавливает в пакете флаг Don't Fragment (запрещение фрагментации)
-i TTL	Устанавливает в пакете значение Time to Live (TTL, время жизни)
-v TOS	Устанавливает в пакете тип службы
-r count	Обозначает, что PING-процесс должен зарегистрировать указанное количество транзитов маршрута
-s count	Обозначает, что PING-процесс должен сохранять временные метки на протяжении указанного количества транзитов
-j host_list	Обозначает, что PING-процесс должен следовать по маршруту через заданные с помощью host_list узлы
-k host_list	Обозначает, что PING-процесс должен выполнять строгую маршрутизацию от источника через заданные с помощью host_list узлы
-w timeout	Обозначает время ожидания каждого ответа в миллисекундах
ROUTE
Утилита ROUTE считывает и управляет таблицами IP-маршрутизации на локальном устройстве и опознает установку шлюза по умолчанию.
Синтаксис:
route [-f] [-р] [command] [destination] [MASK network_mask] [gateway] [METRIC metric] [IF interface]
IP-утилиты командной строки
795
Параметр	Описание
-f	Очищает таблицы маршрутизации от всех записей шлюзов. При использовании в сочетании с одной из' перечисленных ниже команд таблицы очищаются до исполнения этой команды
-p	В сочетании с командой ADO создается постоянный маршрут, сохраняющийся после выключения и запуска системы (не поддерживается в Windows 95)
command	Определяет одну из четырех команд: PRINT — распечатка/просмотр маршрута ADD — добавление маршрута DELETE — удаление маршрута CHANGE — изменение существующего маршрута
destination	Определяет хост, на который будет отправлена команда
MASK	Если это зарезервированное слово присутствует, следующий параметр интерпретируется как networkjmask, который определяет значение маски подсети, связанной с записью маршрута. Если оно отсутствует, применяется значение по умолчанию 255.255.255.255
gateway	Определяет шлюз
interface	Определяет номер интерфейса для маршрута
METRIC	Вычисляет расходы, или показатели, для пункта назначения
TRACERT
Утилита TRACERT отслеживает маршрутизаторы в пути и определяет период кругового обращения от источника до маршрутизаторов в пути, а также от источника до хоста назначения.
Синтаксис:
tracert [-d] [-h maximum_hops] [-j host_list] [-w timeout] target_name
Параметр	Описание
-d	Указывает системе не разрешать адреса в имена хостов
-h maximum_hops	Определяет необходимое максимальное количество транзитов до цели
796
Приложение 3
(окончание)
Параметр	Описание
-j host^list	Маршрут через заданные узлы в соответствии со списком хостов
-w timeout
Период ожидания ответов в миллисекундах
Примечание
Советуем использовать более мощную утилиту отслеживания маршрутов, такую как NeoTrace Pro от компании NeoWorx. NeoTrace Pro — это современная утилита трассировки маршрутов с возможностями разрешения имен и тестирования путей. После установки вашего исходного положения утилита NeoTrace Pro отобразит путь к устройству назначения на карте глобального масштаба. Приобрести полную версию NeoTrace Pro можно на сайте http://www.neoworx.com.
Приложение 4
Параметры реестра
Windows 2000
Это приложение представляет собой подборку всех параметров реестра Windows 2000, приведенных в таблицах в разных частях этой книги.
Таблица П4.1. Параметр реестра ArpUseEtherSNAP
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
Чтобы разрешить применение формата фреймов Ethernet 802.2 SNAP для трафика IP и ARJP в сети Ethernet, необходимо приравнять параметр реестра ArpUseEtherSNAP к единице. Более подробная информация содержится в главе 3.
Таблица П4.2. Параметр реестра ArpCacheLife
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	O-OxFFFFFFFF
Значение по умолчанию	120
Присутствует ли по умолчанию	Нет
798
Приложение 4
С помощью параметра реестра ArpCacheLife вы можете изменить принятое по умолчанию значение параметра времени жизни записей в ARP-кэше. За более подробной информацией обращайтесь к главе 3.
Таблица П4.3. Параметр реестра DefaultTTL
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	1-255
Значение по умолчанию	128
Присутствует ли по умолчанию	Нет
На хосте, применяющем параметр реестра DefaultTTL, можно определить время жизни по умолчанию. Более подробная информация содержится в главе 3.
Таблица П4.4. Параметр реестра DefaultTOS
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\.
	Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-255
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
На хосте, применяющем параметр реестра DefaultTOS, можно определить время жизни по умолчанию. Эта запись реестра задается в десятичном представлении для всего поля TOS (Type of Service, тип службы). Более подробная информация — в главе 3.
Таблица П4.5. Параметр реестра EnablePMTUDiscovery
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe t\Services\Tcpip\Parameters
Параметры реестра Windows 2000
799
Таблица П4.5 (окончание)
Информация реестра	Подробности
Тип данных	REG_DWORD
Разрешенный диапазон	0 или 1
Значение по умолчанию	1
Присутствует ли по умолчанию	Нет
Вы можете запретить определение максимальной единицы передачи маршрута, присвоив ноль параметру реестра EnablePMTUDiscovery. За подробностями обращайтесь к главе 4.
Таблица П4.6. Параметр реестра EnablePMTUBHDetect
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
Чтобы разрешить хосту Windows 2000 определять маршрутизаторы типа "черная дыра", установите параметр реестра EnablePMTUBHDetect в единицу. Дополнительная информация содержится в главе 4.
Таблица П4.7. Параметр реестра PerformRouterDiscovery
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-1
Значение по умолчанию	1
Присутствует ли по умолчанию	Да
800 Приложение 4
Установка параметра реестра PerformRouterDiscovery в ноль приводит к отключению процесса поиска маршрутизаторов (Router Discovery) ICMP. Более подробно об этом — в главе 4.
Таблица П4.8. Параметр реестра SolicitationAddressBCast
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-1
Значение по умолчанию	0
Присутствует ли по умолчанию	Нет
Установив параметр реестра SolicitationAddressBCast в единицу, вы разрешаете хосту Windows 2000 применять широковещание в IP-подсети для обращения к маршрутизаторам (Router Solicitation) ICMP. Более подробная информация содержится в главе 4.
	Таблица П4.9. Параметр реестра MaxUserPort
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	5000-65534
Значение по умолчанию	5000
Присутствует ли по умолчанию	Нет
Вы можете увеличить максимальный номер пользовательского порта, добавив параметр реестра MaxUserPort. Подробности — в главе 5.
Таблица П4.10. Параметр реестра TcpMaxConnectRetransmissions
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REGJDWORD
Параметры реестра Windows 2000
801
Таблица П4.10 (окончание)	
Информация реестра	Подробности
Разрешенный диапазон	0-255
Значение по умолчанию	2
Присутствует ли по умолчанию	Нет
Параметр реестра TcpMaxConnectRetransmissions определяет количество повторных попыток синхронизации (SYN) при установлении ТСР-соединения. Более подробная информация содержится в главе 5.
Таблица П4.11. Параметры реестра TcpNumConnections
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	O-OxFFFFFE
Значение по умолчанию	OxFFFFFE (16777214)соединений
Присутствует ли по умолчанию	Нет
Параметр реестра TcpNumConnections определяет максимальное количество одновременных TCP-соединений. Подробности — в главе 5.
Таблица П4.12. Параметр реестра KeepAliveTime
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	.0—OxFFFFFFFF
Значение по умолчанию	0x6DDD00 (7200000) миллисекунд
Присутствует ли по умолчанию	Нет
Параметр реестра KeepAliveTime определяет время ожидания перед отсылкой первого пакета поддержки соединений (keep-alive) TCP. Более подробная информация содержится в главе 5.
802
Приложение 4
	Таблица П4.13. Параметр реестра KeepAlivelnterval
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон Значение по умолчанию	O-OxFFFFFFFF 0хЗЕ8 (1000) (миллисекунд)
Присутствует ли по умолчанию	Нет
Параметр реестра KeepAlivelnterval устанавливает задержку между повторными передачами поддержки соединения, если подтверждений получено не было. За подробностями обращайтесь к главе 5.
Таблица П4.14. Параметр реестра TcpTimeWaitDelay
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	30-300
Значение по умолчанию Присутствует ли по умолчанию	OxFO (240) Нет
Изменяя параметр реестра TcpTimedWaitDelay, вы можете контролировать задержку TimeWait. Более подробная информация содержится в главе 5.
Таблица П4.15. Параметр реестра TcpMaxDataRetransmissions
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	O-OxFFFFFFFF
Значение по умолчанию	5
Присутствует ли по умолчанию	Нет
Параметры реестра Windows 2000
803
Максимальное количество повторных передач устанавливается с помощью параметра реестра TcpMaxDataRetransmissions. Более подробно эта тема рассматривается в главе 5.
Таблица П4.16. Параметр реестра TcpInitiaIRTT
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0—OxFFFF (секунд)
Значение по умолчанию	3 (секунды)
Присутствует ли по умолчанию	Нет
Параметр реестра TcpInitiaIRTT определяет исходный лимит времени на повторную передачу (Retransmission Timeout, RTO). Все подробности — в главе 5.
Таблица П4.17. Параметр реестра GlobalMaxTcpWindowSize
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных	REG_DWORD
Разрешенный диапазон	0-0X3FFFFFFF (байт)
Значение по умолчанию	0x4000(16384 байт)
Присутствует ли по умолчанию	Нет
Максимальный размер окна приема можно установить с помощью параметра реестра GlobalMaxTcpWindowSize. За более подробной информацией обращайтесь к главе 5.
Таблица П4.18. Параметр реестра TcpWindowSize
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Зегуюез\Тср1р\Рагате1ег5\1п1ег1асе\имя_интерфейса
Тип данных	REG_DWORD
Разрешенный диапазон	0-0x3FFFFFFF (байт)
804
Приложение 4
Таблица П4.18 (окончание)
Информация реестра	Подробности
Значение по умолчанию	OxFFFF (17520 для Ethernet, 65 535 байт для других сетей, или GlobalMaxTcpWindowSize; другие исключения указаны в файле regentry.chm)
Присутствует ли по умолчанию	Нет
С помощью параметра реестра TcpWindowSize можно определить максимальный размер окна приема конкретного интерфейса. Если этот параметр присутствует, он подменяет значение параметра GlobalMaxTcpWindowSize для интерфейса, на котором он установлен. Более подробную информацию вы сможете найти в главе 5.
Таблица П4.19. Параметр реестра TcpUseRFC1122UrgentPointer
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Тип данных Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	REG_DWORD 0-1 0 Нет
Если это необходимо, Windows 2000 может интерпретировать поле Urgent Pointer (указатель срочности) в соответствии с документом RFC 1122. Более подробная информация содержится в главе 5.
	Таблица П4.20. Параметр реестра EnableProxy
Информация реестра	Подробности
Местоположение	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\NetBT\Parameters
Тип данных Разрешенный диапазон Значение по умолчанию Присутствует ли по умолчанию	REG_DWORD 0-1 0 Нет
Чтобы позволить любой рабочей станции или серверу Windows NT или Windows 2000 исполнять роль WINS-агента, необходимо установить параметр реестра EnableProxy в единицу. Более подробная информация содержится в главе 12.
Приложение 5

Содержимое компакт-диска
На сопровождающем компакт-диске записаны файлы трассировки, ссылки на которые содержатся в разных главах этой книги. В каталоге List содержится список Web-сайтов продавцов анализаторов протоколов, а в каталоге NetScan — файл readnie.txt с требованиями к системе для установки программы NetScanTools. Кроме того, на нем находятся утилиты, рекомендованные авторами для выполнения анализа TCP/IP.
Инструментарий
На компакт-диске есть следующие инструментальные средства:
О демо-версия EtherPeek for Windows (WildPackets, Inc.);
□	PacketScrubber (WildPackets, Inc.);
□	ProConvert (WildPackets, Inc.).
В последующих разделах содержатся описания этих программ.
Демо-версия EtherPeek for Windows
Программа EtherPeek, разработанная в компании WildPackets, Inc., — это анализатор пакетов, применяемый при выполнении заданий в этой книге. EtherPeek для операционных систем Windows осуществляет анализ сетевых тенденций, обеспечивает аварийными сигналами и предупреждениями, а также визуальное представление сетевого трафика и выполняет функции захвата, и отображения пакетов. Последнюю версию демо-версии программы можно загрузить с сайта http://www.wildpackets.com/products/demos.
PacketScrubber
PacketScrubber применяется для преобразования конфиденциальной информации в файлах трассировки в общедоступную информацию в соответствии с установками. Такие операции можно производить как с IP-адресами, указанными в пакетах, так и с другой содержащейся в них информацией, напри-
806
Приложение 5
мер — с данными об адресах службы DNS. Полную версию Packetscrubber можно приобрести на сайте http://www.wildpackets/products/packetscrubber/.
ProConvert
ProConvert применяется для преобразования форматов файлов трассировки. Если вы пользуетесь каким-либо другим анализатором пакетов, попробуйте преобразовать файлы трассировки из формата EtherPeek (.pkt) в формат вашего анализатора и сравните расшифровки. Полную версию ProConvert можно приобрести на сайте http://www.wildpackets/com/products/proconvert/.
Файлы трассировки
На сопровождающем компакт-диске есть множество файлов трассировки, применяемых в примерах и при выполнении заданий, содержащихся в этой книге. Эти файлы находятся в формате EtherPeek (.pkt). Для их просмотра в другом анализаторе пакетов воспользуйтесь программой ProConvert, чтобы преобразовать файлы трассировки в нужный формат.
В табл. П5.1 перечислены все файлы трассировки, присутствующие на сопровождающем компакт-диске.
Таблица П5.1. Файлы трассировки, находящиеся на компакт-диске
Наименование	Описание
arp. pkt	Содержит три типа пакетов ARP: стандартный ARP-запрос, стандартный ARP-ответ и тест на дублирование ARP
arpscan.pkt	Демонстрирует процесс зондирования рекогносцировки на основе протокола ARP. Этот ARP-поиск, возможно, сгенерирован программой — ARP-запросы не формируются вручную
DHCPboot.pkt	Демонстрирует базовую последовательность загрузки DHCP, включая поиск (DHCP Discovery), предложение (DHCP Offer), запрос (DHCP Request) и подтверждение (DHCP Acknowledgement). Обратите внимание, что ARP применяется для тестирования двух адресов перед выделением одного из них, а DHCP-клиент использует протокол ARP для тестирования присвоенного адреса до его фактического применения
DHCPIat.pkt	Содержит несколько последовательностей повторного соединения DHCP. Обратите внимание, что для тестирования адресов применяются эхо-пакеты протокола ICMP
dns-moviefone.pkt	Демонстрирует TCP-соединение с HTTP-сервером (movietone). Процесс начинается с отсылки стандартного DNS-запроса на IP-адрес moviefone.com
Содержимое компакт-диска
807
	Таблица П5.1 (окончание)
Наименование	Описание
fragments.pkt	Демонстрирует соединение между двумя устройствами в сетях Ethernet с применением фрагментации. Начало такого соединения знаменует PING-пакет с завышенным размером. Он разбивается на несколько меньших пакетов, которые могут быть переданы по сети Ethernet
ftp. pkt	Демонстрирует соединение с FTP-сервером и базовый набор команд, необходимый для входа на сервер с помощью действительного пароля и просмотра содержимого каталогов
icmplab.pkt	Демонстрирует простой запрос на сообщение через номер порта 111 удаленного вызова процедуры с устройством, которое не поддерживает эту службу. Ответ представлен в форме ICMP-пакета Destination Unreachable (пункт назначения недостижим)
ipv6dump.pkt ospfl .pkt	Содержит IPvS-трафик Демонстрирует несколько приветственных пакетов протокола OSPF (OSPF Hello), отправленных с отмеченного маршрутизатора. Активизация столбца Timestamp в окне сводки расшифровки пакета EtherPeek позволяет увидеть 10-секундный интервал между приветственными ICMP-пакетами
ping.pkt	Демонстрирует простые PING-запрос и PING-ответ. С помощью шестнадцатеричного представления пакета вы сможете просмотреть данные, которыми наполнен пакет
portscan.pkt probleml.pkt Transfer, pkt	Содержит процесс зондирования рекогносцировки TCP Иллюстрирует проблему связи, описанную в главе 3 Демонстрирует последовательность соединений FTP, при которой файл передается от одного хоста другому. Проследив за последовательностями пакетов, вы сможете определить просматриваемый каталог и предаваемый файл
Приложение 6
Номера портов TCP/UDP
Авторитетным источником информации об адресах портов TCP/UDP является агентство IANA (Internet Assigned Numbers Authority, Агентство по выделению имен и уникальных параметров протоколов Internet), которое теперь входит в организацию ICANN (Internet Corporation for Assigned Names and Numbers, Организация по присвоению имен и номеров в сети Internet). Web-сайты этих организаций находятся по следующим адресам:
□	http://www.iana.org; □ http://www.icann.org.
На момент написания этих строк последнее обновление сводного перечня адресов портов датировалось 14 июня 2001 года, причем такие обновления проводятся регулярно. Этот перечень опубликован по адресу http://www.iana.org/ assignments/port-numbers. Если вы часто посещаете сайты, посвященные безопасности, которые мы рекомендовали в приложении 2, имейте в виду, что обычно на них публикуются обновления систем защиты, создаваемые как ответ на новые эксплойты и слабые места портов протоколов UDP и TCP. Для того чтобы добавить в перечень новую информацию, агентству IANA может потребоваться до 60 дней, так что знайте, что данные, опубликованные на вышеприведенном сайте, не всегда полностью современны. Тем не менее, разумное сочетание анализа последних событий и применения сводного перечня номеров портов организации IANA помогут вам понять, какие порты TCP и UDP соответствуют определенным службам, а какие являются потенциальными источниками эксплойтов и слабых мест.
Помните, что, закрыв все ненужные порты и протоколы и удалив ненужные службы, вы сможете обеспечить намного более серьезную защиту ваших сетей, чем в том случае, если эти потенциальные точки атаки останутся доступными для посторонних людей. С другой стороны, не забывайте, что динамические порты необходимы для обеспечения регулярных соединений по протоколам TCP и UDP между клиентами и серверами. Разумное сочетание таких необходимых средств доступа, с одной стороны, и брандмауэра, прокси-сервера или фильтрующего маршрутизатора (лучше всего, если подобная служба сможет определять ситуации, при которых адреса портов используются со злым умыслом), с другой стороны, способно предотвратить нежелательные воздействия.
Приложение 7
Опции протокола DHCP
Ознакомиться с кратким описанием протокола DHCP, а также получить доступ к документу RFC 1531 можно, посетив Web-страницу по адресу http://www.protocols.eom/pbook/tcpipl.htm#DHCP. Наиболее полные данные об опциях протокола DHCP содержатся в документе RFC 1531 (существует множество его публикаций, одна из которых находится по адресу http://www.cis.ohio-state.edu/cgi-bm/rfc/rfcl531.html). Мы рекомендуем обратить особое внимание на следующие элементы этого документа:
□	рис. 1, на котором изображен формат и схема DHCP-сообщения, а также описание поля Options (и соответствующих подполей) на с. 9—12 этого документа;
□	табл. 3, в которой приведены основные поля и опции протокола DHCP (с. 25 документа).
Полное собрание "DHCP Options and ВООТР Vendor Extensions" (Опций DHCP и расширений ВООТР от производителей) содержится в документе RFC 1533 (одна из публикаций — http://www.cis.ohio-state.edu/cgi-bin/rfc/ rfcl533.html). Как и в случае с документом RFC 1531, мы рекомендуем обратить особое внимание на раздел 9 документа RFC 1533, в котором подробно рассматриваются расширения протокола DHCP (с. 23—27).
Глоссарий
В 1Ру6-адресах пара двоеточий обозначает несколько смежных 16-битных групп, состоящих только из нулей. В любом адресе эта нотация может применяться лишь единожды.
4.2BSD
BSD (Berkeley Software Distridution) — версия операционной системы UNIX, выполненная в Калифорнийском университете; в ней был впервые реализован стек TCP/IP.
бЬопе
Экспериментальная магистраль в рамках стандарта IPv6. Совокупность маршрутизаторов, хостов и сетевых соединений через множество сред, применяемая для тестирования будущих стандартов нового поколения протоколов межсетевого взаимодействия (IPng).
А
ABR (Area Border Router, маршрутизатор границ областей)
Маршрутизатор, предназначенный для соединения отдельных областей.
Accounting Management (Управление сетевым учетом)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; управление сетевым учетом выполняет функции подсчета использования сети и служб с целью контроля или регламентации отдельных пользователей или их групп.
Acknowledgement (Подтверждение)
Оповещение об успешном получении данных. В пакетах подтверждения ставится флаг АСК.
API (Application Programming Interface, программный интерфейс приложения)
Совокупность программного кода, инструментальных средств и протоколов, применяемых при разработке программных приложений, согласующихся и совместимых с данной операционной системой.
812
Гпоссарий
AppleTalk
Собственный стек протоколов для компьютеров Apple Macintosh.
Archie
Архивный протокол на основе TCP/IP, работающий с базами данных и анонимными каталогами FTP в сети Internet, в которых пользователи могут производить поиск по именам файлов и сопутствующим заголовкам.
ARP (Address Resolution Protocol, протокол разрешения адресов)
Этот протокол Сетевого уровня преобразует числовые IP-адреса в соответствующие МАС-адреса; это необходимо для передачи фреймов от одной машины к другой в пределах одного сегмента кабеля или подсети.
ARPA (Advanced Research Projects Agency, Управление перспективных исследовательских программ)
Агентство в рамках Министерства обороны США, которое финансировало передовые исследования в области компьютерных технологий.
ARPANET
Экспериментальная сеть, разработка которой финансировалась Управлением перспективных исследовательских программ США (ARPA); предназначалась для проверки возможности реализации надежной йежплат-форменной магистральной объединенной сети; явилась предтечей сегодняшней сети Internet.
ARP-кэш
Временная таблица в памяти, содержащая последние записи ARP. В системах Windows 2000 записи удаляются из ARP-кэша через две минуты после помещения в него.
AS (Autonomous System, автономная система)
Группа маршрутизаторов, находящихся в компетенции одной административной структуры.
ASBR (Autonomous System Border Router, маршрутизатор границ автономных систем)
Маршрутизатор, который соединяет независимую область маршрутизации (AS) с другой такой областью или с сетью Internet.
ASCII (American Standard Code for Information Interchange, Американский стандартный код обмена информацией)
Наиболее распространенный метод кодирования символов (данных, введенных с клавиатуры) в совокупность 8-битных цифровых шаблонов для ввода, хранения и отображения на компьютере.
Гпоссарий 813
ASIC (Application Specific Integrated Circuit, специализированная интегральная схема)
Специальная разновидность интегральной схемы. ASIC обеспечивает способ реализации определенной программной логики непосредственно в микросхеме, в результате чего эта логика при Ьбработке данных выполняется настолько быстро, насколько это возможно. Именно ASIC предоставляют высокоскоростным и высокообъемным маршрутизаторам возможность выполнения сложных функций опознавания и управления адресами, которые соответствуют объемам данных и потребностям в быстрой обработке.
ASN.l (Abstract Syntax Notation One, абстрактная синтаксическая нотация версии 1)
Язык описания типа и идентификатора объекта.
ATM (Asynchronous Transfer Mode, асинхронный режим передачи)
Всережимная магистральная широкополосная сетевая технология, в своих последних версиях обеспечивающая огромную пропускную способность. ATM основывается на учреждении виртуальных каналов между одноранговыми партнерами по передаче и пользуется протоколами высокого уровня (к примеру, TCP) для обеспечения надежной связи. ATM сегментирует весь трафик в 48-байтные последовательности с 5-байтными заголовками, формируя 53-байтный фрейм ATM, который называют ячейкой. Своеобразный способ применения единиц передачи фиксированной длины позволяет ATM развивать чрезвычайно высокие скорости передачи с максимальной эффективностью.
AUP (Acceptable Use Policy, правила пользования сетью)
Официальный документ, выражающий политику, которая определяет виды сетевой деятельности или использования систем, допустимые для всего сообщества пользователей.
В
Back Orifice
Троянский конь с возможностью удаленного управления, разработанный группой "Культ мертвой коровы" ("Cult of the Dead Cow", CDC).
BCP (Best Current Practice, рекомендуемая современная практика)
Специальная разновидность документов RFC, описывающая оптимальные способы проектирования, реализации и эксплуатации сетей на основе TCP/IP.
BDR (Backup Designated Router, резервный назначенный маршрутизатор)
Маршрутизатор со вторым по значению приоритетом в широковещательном сегменте сети на основе состояния канала. Маршрутизатор BDR по
814
Гпоссарий
зволяет произвести быстрое восстановление обслуживания в случае выхода из строя первичного отмеченного маршрутизатора. См. также Назначенный маршрутизатор.
BGP (Border Gateway Protocol, пограничный межсетевой протокол)
Широко распространенный протокол маршрутизации, который подсоединяется к общим магистралям сети Internet (к примеру, к поставщикам доступа в Internet) или другим маршрутным доменам сети Internet, в которых ответственность за управление трафиком разделена между множеством сторон. Протокол BGP, заменивший внешний шлюзовой протокол (Exterior Gateway Protocol, EGP), описывается в документе RFC 1163.
BIND (Berkley Internet Name Domain, служба доменных имен в сети Internet) BIND на сегодняшний день является наиболее распространенной в сети Internet реализацией программного обеспечения DNS-сервера. Исходно была частью операционной системы BSD UNIX 4.3, но сегодня существуют реализации BIND почти для всех платформ, включая Windows NT и Windows 2000.
BITS (Bump-In-The-Stack)
Метод реализации IPSec и других средств обеспечения защиты, при котором они действуют "между" сетевым стеком протоколов (таким, как IP) и драйверами Канального уровня.
BITW (Bump-In-The-Wire)
Метод реализации IPSec и других средств обеспечения защиты, при котором они действуют на автономном процессоре в надежной сети, которая находится перед общедоступной сетью. Зачастую представляет собой встроенное устройство, буквально подсоединенное к хосту с одной стороны, и к локальному каналу с другой.
ВООТР (Bootstrap Protocol, протокол загрузки)
Протокол 3-го или Межсетевого уровня модели TCP/IP, обеспечивающий бездисковым рабочим станциям возможность получения сетевого доступа и образа операционной системы во время загрузки.
broad packet (широковещательный пакет)
Тип сетевой передачи, предназначенной для получения всеми устройствами в данной сети. Широковещательным адресом сети Ethernet является OxFF-FF-FF-FF-FF-FF.
broadcast (широковещание)
Специальный тип сетевых передач (и адресов), которые должны считываться всеми адресатами в пределах локального сегмента кабеля; способ достижения всех адресов в любой отдельно взятой сети.
Глоссарий	815
brodcast address (широковещательный адрес)
Адрес сети или подсети, состоящий из одних единиц; позволяет отправить одну и ту же информацию всем интерфейсам данной сети.
brodcast bit (широковещательный бит)
Одиночный бит в начале поля Flags (флаги) DHCP-пакета, обозначающий возможность или невозможность получения клиентом однонаправленных пакетов до завершения четырехпакетного процесса запуска DHCP.
С
CERN (Centre European Researche Nucleaire, Европейский центр по ядерным исследованиям)
Работая в этой организации, Тим Бернерс-Ли в 1989—91 годах разработал протоколы и службы, определившие развитие Всемирной паутины.
Chargen (Character Generator, генератор символов)
Базовая служба TCP/IP, использующая порт 19 протоколов TCP и UDP. В ответ на любое сообщение с запросом сервер Chargen генерирует произвольный поток символов; это делается для тестирования возможности обработки запросов.
checkpoint (контрольная точка)
Точка во времени, в которой все состояние системы и ее информация фиксируются и сохраняются, так что при любом последующем повреждении системы или неудаче в соединении будет возможно восстановление в этой контрольной точке без дальнейшей потери данных или информации.
checksum (контрольная сумма)
Специальное математическое значение, представляющее содержимое сообщения с предельной точностью, так что любое изменение этого содержимого повлечет за собой изменение контрольной суммы; она вычисляется до и после передачи данных, а затем два результата сравниваются; если они согласуются, передача данных признается безошибочной.
CIDR (Classless Inter-Domain Routing, бесклассовая междоменная маршрутизация)
Разновидность маскирования подсетей, при которой упраздняется четкая дифференциация между сетевой и хостовой частью адреса по границам октета; вместо этого используется префиксная нотация /п, где п обозначает количество разрядов в сетевой части данного адреса.
816
Гпоссарий
CIFS (Common Internet File System, Общий протокол доступа к файлам Internet)
Предложенный компанией Microsoft метод доступа к файлам в Internet, базирующийся на применении NetBIOS и других собственных протоколов и программных интерфейсов приложений операционных систем Microsoft. Фактически применяется метод SMB, работающий с помощью NetBIOS.
circuit switching (коммутация каналов)
Метод связи, при котором временное или постоянное соединение между отправителем и получателем (называемое каналом) создается в рамках систем коммутации носителя связи. Так как временные каналы постоянно появляются и исчезают, каналы все время коммутируются — отсюда и термин.
CIX (Commercial Internet eXchange, биржа коммерческого информационного обмена)
Ранний консорциум коммерческих пользователей Internet, работа которого способствовала началу электронной коммерции и обмена деловой информацией в этой сети.
Client Identifier (идентификатор клиента)
Идентификационный номер, применяемый DHCP-сервером для отслеживания клиента, его IP-адресов, периода выделения и других параметров. Обычно в качестве значения идентификатора клиента применяется его аппаратный адрес.
CLSM (Constant-length subnet masking, маскирование подсетей постоянной длины)
Схема организации подсетей IP, при которой все подсети используют одну и ту же маску, которая, таким образом, разделяет фрагментированное адресное пространство на определенное количество равновеликих подсетей.
CNAME (Canonical Name record, запись канонического имени)
Запись ресурса DNS, применяемая для определения псевдонимов баз данных; в первую очередь это делается для того, чтобы облегчить и ускорить редактирование и управление файлами зон DNS.
СОА (Care-of Address, адрес для передачи)
В протоколе Mobile IP так называется удаленный или внешний адрес, через который достигается мобильный узел.
Configuration Management (конфигурационное управление)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; осуществляет документирование и регулирование сетевых и системных конфигурационных данных.
Гпоссарий
817
connectionless (без установления соединения)
Тип сетевого протокола, не пытающийся побудить отправителя и получателя обмениваться информацией об их доступности и способности взаимодействовать друг с другом; этот метод также называется "доставкой без обязательств".
connectionless integrity (бессвязная целостность)
В IPSec и подобных режимах защиты так называется способность обеспечения целостности вне самого соединения.
connectionless protocol (протокол без установления соединения)
Протокол, который отправляет дейтаграммы без установления, управления и прочей обработки соединения между отправителем и получателем; транспортным протоколом без установления соединения является протокол UDP.
connection-oriented (на основе соединений)
Тип сетевого протокола, базирующийся на явных сообщениях и согласованиях между отправителем и получателем, направленных на координацию передачи данных между ними.
core services (базовые системные службы)
Первичные и ключевые службы, применяемые в сетях TCP/IP. Такими службами считаются FTP, DNS и DHCP. Им присваиваются хорошо известные номера портов в диапазоне между 0 и 1023.
CRC (Cyclical Redundancy Check, контроль при помощи циклического избыточного кода)
Специальное 16- или 32-битное уравнение, применяемое к содержимому пакета. Результат вычисления CRC помещается в поле Frame Check Sequence (контрольная последовательность кадра) в конце фрейма. Сетевая интерфейсная плата выполняет управление по отношению ко всем исходящим и входящим пакетам.
C-SLIP (Compressed Serial Line Interface Protocol, сокращенный протокол интерфейса линии последовательной передачи)
Специальная разновидность SLIP, в которой при передаче-данных по каналу не указываются адреса источника и назначения. (Этой информацией одноранговые партнеры по передаче обмениваются при установлении канала, и поэтому ее не нужно передавать с каждым фреймом; пропуск этих данных увеличивает эффективность соединений.)
CSMA/CD (Carrier Sense Multiple Access with Collision Detection, множественный доступ с контролем несущей и обнаружением конфликтов)
Официальное название метода разрешения конфликтов, применяемого в Ethernet; смысл CSMA состоит в том, чтобы "прослушать перед попыткой
27 Зак. 321
818
Гпоссарий
отправить" (убедиться в том, что более позднее сообщение не накладывается на более раннее) и "прослушивать во время отправки" (гарантировать отсутствие конфликтов между сообщениями, отправленными примерно в одно время).
D
daemon (демон)
Компьютерный процесс, предназначенный для "прослушивания" попыток соединения с одной или несколькими определенными сетевыми службами, и передачи всех действительных попыток временным соединениям, также известным под названием сокетных попыток. Термин "демон" заимствован из известной физической концепции Кларка Максвелла.
datagram (дейтаграмма)
Базовый модуль данных протокола на уровне доступа к сети TCP/IP. Применяемая протоколами без установления соединения на Транспортном уровне, дейтаграмма просто добавляет заголовок к модулю данных протокола, предоставленному любым протоколом или службой без установления соединения Прикладного уровня, например, UDP; именно поэтому протокол UDP часто называют службой дейтаграмм.
Daytime
Базовая служба TCP/IP, которая в ответ на любой запрос отсылает дату и время по данным хоста, обрабатывающего этот входящий запрос.
DDoS (Distributed Denial of Service, распределенный отказ от обслуживания) Атака, выполняемая организованной группой, в которой скомпрометированный хост выступает как обработчик, вербующий посредников для непосредственного осуществления атаки.
DHCP (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста)
Сетевая служба и протокол Прикладного уровня TCP/IP, обеспечивающий выделение и доставку адресов TCP/IP и сопутствующей конфигурационной информации клиентам, для которых в противном случае было бы необходимо статическое назначение такой информации. По этой причине применение DHCP очень удобно как для пользователей, так и для администраторов сети.
DHCPv6 (Dynamic Host Configuration Protocol version 6, протокол динамической конфигурации хоста версии 6)
Новая версия DHCP для IPv6. DHCPv6 определяет поведение серверов и клиентов при выделении конфигурационных параметров и других настроек клиентов на основе состояния.
Гпоссарий
819
DHCP-запрос (DHCP request)
Сообщение DHCP, направленное клиентом серверу с запросом определенной службы; такие сообщения отсылаются после того, как клиент получает IP-адрес и возможность взаимодействовать с DHCP-сервером посредством однонаправленных, а не широковещательных пакетов.
DHCP-клиент (DHCP client)
Программный компонент клиента TCP/IP, обычно реализуемый как часть программного обеспечения стека протоколов; издает запросы адресов, запросы на продление выделения, отсылает DHCP-серверу другие DHCP-сообщения.
DHCP-опции (DHCP options)
Конфигурационная информация и данные о параметрах, определяющие предмет поиска DHCP-клиента. Две специальные опции — 0: Pad (набивка) и 255: End (окончание) — являются вспомогательными. Опция Pad гарантирует завершение всех полей DHCP на приемлемой границе, a End обозначает отсутствие в пакете последующих опций.
DHCP-ответ (DHCP reply)
Сообщение DHCP, содержащее ответ сервера на запрос клиента.
DHCP-поиск (DHCP Discovery)
Четырехпакетный процесс, предназначенный для получения IP-адреса, периода выделения и конфигурационных параметров. В этом процессе участвуют пакеты Discover (поиск), Offer (предложение), Request (запрос) и Acknowledgement (подтверждение).
DHCP-ретранслятор (DHCP relay agent)
Специальный программный компонент, предназначенный для распознавания и перенаправления пакетов DHCP Discovery (DHCP-поиска) известным DHCP-серверам. Когда в каком-либо сегменте кабеля или широковещательном домене отсутствует DHCP-сервер, но есть DHCP-клиенты, испытывающие потребность в управлении адресами и получении конфигурационных данных, в этом сегменте или широковещательном домене необходимо установить DHCP-ретранслятор (или позволить маршрутизаторам перенаправлять пакеты ВООТР сегментам, в которых есть DHCP-серверы).
DHCP-сервер (DHCP server)
Программный компонент, работающий на сетевом сервере, ответственный за управление адресными пулами (областями действия) TCP/IP и взаимодействие с клиентами для предоставления по их требованию IP-адресов и сопутствующих конфигурационных данных TCP/IP.
820
Гпоссарий
diffserv (Differentiated Services, дифференцированные службы)
Название рабочей группы IETF, занимающейся исследованиями в этой области.
DISA (Defense Information Systems Agency, агентство по оборонным информационным системам)
Агентство в рамках Министерства обороны США, в 1983 году принявшее от ARPA управление сетью Internet.
Discard
Базовая служба TCP/IP, без предупреждения отвергающая весь входящий трафик; обычно применяется для проверки способности инициатора запроса отправлять исходящие сообщения.
DLL (Dynamic Link Library, динамически подключаемая библиотека)
Блок исполнимого кода (или данных), применяемый другими приложениями Windows для выполнения конкретной функции или набора функций.
DMZ (demilitarized zone, демилитаризованная зона)
Промежуточная сеть, расположенная между границей внутренних сетей организации и одной или несколькими внешними сетями, такими как Internet. DMZ обычно отделяется от внешних сетей с помощью фильтрующего маршрутизатора, а от внешних сетей — с помощью фильтрующего маршрутизатора и брандмауэра.
DNS (Domain Name System, служба доменных имен)
Протокол и служба Прикладного уровня TCP/IP, управляющая распределенной по всей сети Internet базой данных символических доменных имен и числовых IP-адресов; в результате ее действия каждый пользователь может запросить ресурс по имени, и это имя будет преобразовано в соответствующий числовой 1Р-адрес.
DoS (Denial of Service, отказ от обслуживания)
Атака, в результате которой система становится неспособной к исполнению служб, т. к. она занимается обработкой запросов атаки. К примеру, повторяющиеся двухсторонние процессы квитирования могут быть вызваны атакой TCP SYN.
DR (designated router, назначенный маршрутизатор)
Маршрутизатор с высочайшим приоритетом в сегменте сети состояния канала. Маршрутизатор DR объявляет состояние канала всем остальным маршрутизаторам в сети.
DSL (Digital Subscriber Line, цифровая абонентская линия)
Общее имя семейства постоянно функционирующих цифровых линий, обычно предоставляемых местными телефонными компаниями или
Гпоссарий
821
станциями и служащих для подсоединения домашних или офисных сетей к носителям связи (в основном, в целях подключения к сети Internet). Расстояние между помещениями пользователей DSL до пограничного оборудования, соединяющего линию DNS к каналу передачи, не должно превышать 17 500 футов (5334 м).
Е
Е1
Стандартная европейская служба цифровой связи с возможностью организации 30 каналов для передачи данных или речевых сигналов со скоростью передачи в 64 Кбит/с, и двух каналов управления, работающих на той же скорости; таким образом, общая пропускная способность равняется 2,048 Мбит/с. Стандарт Е1 широко распространен за пределами Северной Америки, где он заменяет стандарт ТЕ
ЕЗ
Стандартная европейская служба цифровой связи с возможностью организации 16 каналов Е1 с общей пропускной способностью в 34,368 Мбит/с. Стандарт ЕЗ широко распространен за пределами Северной Америки, где он заменяет стандарт ТЗ.
EBCDIC (Extended Binary Coded Decimal Interchange Code, расширенный двоично-десятичный код обмена информацией)
8-битный набор символов, разработанный в компании IBM в эпоху перфокарт. Сегодня EBCDIC еще применяется для доступа к некоторым универсальным вычислительным машинам IBM., однако наиболее распространенным является набор символов ASCII.
Echo
Протокол тестирования соединения на базе протоколов UDP или TCP. При эхо-сообщениях в эхо-сокет направляются пакеты, на которые поступают эхо-ответы. Такой эхо-процесс является альтернативой эхо-процессу протокола ICMP.
EGP (Exterior Gateway Protocol, внешний шлюзовой протокол)
Исходно предназначенный для применения в сети Internet, в настоящее время протокол EGP заменен более современным и эффективным пограничным межсетевым протоколом (Border Gateway Protocol, BGP).
EPROM (Erasable Programmable Read-Only Memory, стираемая программируемая постоянная память)
Стираемая разновидность постоянной компьютерной памяти, в которую можно не только записать запрограммированную определенную базовую информацию (например, параметры загрузки системы или операционной
822
Гпоссарий
системы), но, при необходимости, стереть и перезаписать ее. Запись и перезапись EPROM возможна только в том случае, если микросхема уже подсоединена к материнской или интерфейсной плате.
ESP (Encapsulating Security Payload, инкапсулированная полезная нагрузка безопасности)
Заголовок пакета IPv6 и/или протокол защиты, применяющий этот заголовок расширений. В системе IPSec ESP выполняет шифрование.
Ethernet II, тип фреймов
Неофициальный стандарт типа фреймов для сообщений TCP/IP.
Ethernet
Протокол сетевого доступа на основе контроля несущей, параллельного доступа и обнаружения конфликтов.
EUI-64, формат
Стандарт IEEE, позволяющий применять "зашитые” МАС-адреса сетевых интерфейсных плат (NIC) для создания уникальных 48-битных идентификаторов интерфейсов.
F
FA (Foreign Agent, внешний агент)
Объект в схеме Mobile IPv4, отсутствующий в IPv6.
Fault Management (контроль неисправностей)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; отвечает за обнаружение и регистрацию сетевых и системных проблем и при возможности исправляет их.
Frame Check Sequence (FCS, контрольная последовательность кадра)
Разновидность разрядной проверки целостности, применяемая в концевиках (завершителях) дейтаграмм протокола РРР; алгоритм FCS определяется в документе RFC 1661. Поле Frame Check Sequence (FCS) содержит значение CRC. Все фреймы в сетях Ethernet и сетях с маркерным (эстафетным) доступом содержат поле Frame Check Sequence (FCS).
Finger
Сокращение от Finger User Information Protocol (протокол пользовательской информации Finger). Предоставляет информацию об отдельных пользователях или хостах в сети Internet; когда-то был популярной службой, но в настоящее время его трафик редко выпускается за пределы локальных сетей из-за частых проникновений, выполнявшихся с помощью этого протокола.
Глоссарий	823
FQDN (Fully Qualified Domain Name, полностью определенное доменное имя)
Специальное доменное имя, заканчивающееся точкой, которая обозначает корень иерархии доменных имен. Применение FQDN необходимо в записях ресурсов DNS типов А (запись адреса) и PTR (запись указателя).
Fraghient Offset (смещение фрагмента)
Поле, определяющее позицию фрагмента при повторной сборке набора данных.
frame (фрейм)
Базовый модуль данных протокола на Канальном уровне эталонной модели ISO/OSI.
Frame Relay (ретрансляция кадров)
Технология глобальной сети, обеспечивающая скорость передачи до 1,544 Мбит/с. При ретрансляции ошибки передачи не исправляются; испорченные фреймы просто отвергаются.
FTP (File Transfer Protocol, протокол передачи файлов)
Служба и протокол Прикладного уровня TCP/IP, обеспечивающие сетевую передачу файлов между клиентом и сервером.
G
GMT (Greenwich Mean Time, Гринвичское (всемирное) время)
Среднее солнечное время по Гринвичскому меридиану, применяемое в качестве стандартного времени по всему миру. В местечке Гринвич (Англия) восток встречается с западом на Гринвичском меридиане (0° долготы). Также называется всеобщим временем (Universal Time, UT).
Gopher
Протокол и служба Прикладного уровня TCP/IP, обеспечивающие доступ к различным типам индексированного текста и другим типам данных в сети, предшествующая Всемирной паутине и представляющая ее содержимое в виде иерархически структурированного перечня файлов.
HDLC (High-Level Data Link Control, высокоуровневый протокол управления каналом)
Протокол синхронной передачи данных.
Hello process (приветственный процесс)
Процесс, применяемый маршрутизаторами состояния канала для обнаружения соседних маршрутизаторов.
824
Глоссарий
HINFO (host information record, запись хостовой информации)
Запись ресурса DNS, в которой содержится информация об определенном хосте, который обозначается его доменным именем.
HOSTS
Специальный текстовый файл с перечнем известных доменных имен и соответствующих им IP-адресов, представляющий собой статический метод разрешения доменных имен. До создания DNS файлы HOSTS были единственным средством разрешения имен в сети ARPANET — предшественнице Internet.
HTTP (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов) Протокол и служба Прикладного уровня TCP/IP, обеспечивающие доступ к Internet.
I
IAB (Internet Architecture Board, Координационный совет сети Internet)
Организация в рамках Общества Internet (ISOC), координирующая деятельность организаций IETF и IRTF и принимающая окончательные решения об утверждении стандартов Internet.
IANA (Internet Assigned Numbers Authority, Агентство по выделению имен и уникальных параметров протоколов Internet)
Подразделение Общества Internet (ISOC), ранее ответственное за регистрацию доменных имен и распределение общедоступных IP-адресов. Теперь эта функция выполняется агентством ICANN.
ICANN (Internet Corporation for Assigned Names and Numbers, Организация по присвоению имен и номеров в сети Internet)
Организация в рамках Общества Internet (ISOC), ответственная за надлежащее распределение всех доменных имен и числовых IP-адресов в глобальной сети Internet; координирует регистрацию доменных имен в сотрудничестве с частными компаниями — так называемыми "регистраторами имен", а при управлении назначением числовых IP-адресов взаимодействует с поставщиками услуг Internet.
ICMP (Internet Control Message Protocol, протокол управляющих сообщений в сети Internet)
Протокол Сетевого уровня модели TCP/IP, предназначенный для обмена информацией о режимах сетевого трафика, перегрузке и достижимости отдельных сетевых адресов, т. е. для выполнения технологических функций в сети Internet. Утилиты PING и TRACEROUTE используют протокол ICMP.
Гпоссарий
825
ICMP-запрос маршрутизатора (ICMP Router Solicitation)
Процесс, выполняемый хостом для получения информации о локальных маршрутизаторах. ICMP-сообщения Router Solicitation (обращение к маршрутизаторам) отсылаются на групповой адрес всех маршрутизаторов 224.0.0.2.
ICMP-пакет Destination Unreachable (пакет "Пункт назначения недостижим") Пакет протокола ICMP, указывающий на неудачу попытки достижения пункта назначения вследствие проблемы, которая может быть связана с параметрами, фрагментацией или еще чем-либо.
ICMP-пакет Echo Request (эхо-запрос протокола ICMP)
Пакет, отсылаемый устройству для проверки возможности соединения с ним. Если принимающее устройство функционирует и имеет возможность ответить, оно должно отправить обратно данные, содержащиеся в части данных исходного пакета эхо-запроса.
ICMP-поиск маршрутизатора (ICMP Router Discovery)
Процесс, в ходе которого хосты отправляют ICMP-сообщения Router Solicitation (обращение к маршрутизаторам) на групповой адрес всех маршрутизаторов (224.0.0.2). Локальные маршрутизаторы могут отправить хосту ответ в виде ICMP-сообщения Router Advertisement (извещение о существовании маршрутизатора). Это извещение содержит адрес маршрутизатора и значение времени жизни информации этого маршрутизатора.
ICMP-процесс Эхо (ICMP Echo process)
Процесс протокола ICMP, посредством которого хост отсылает эхо-пакет другому хосту в объединенной сети. Если хост назначения активен, он отправляет ответное эхо-сообщение с данными, содержащимися в первом эхо-пакете протокола ICMP.
ICMP-сообщение запроса (ICMP query message)
ICMP-сообщения, содержащие запросы на конфигурацию или другую информацию. Примерами таких сообщений являются ICMP-пакеты Echo (эхо), Router Solicitation (обращение к маршрутизаторам) и Address Mask Request (запрос маски адреса).
IDS (Intrusion Detection System, система обнаружения вторжений)
Специализированная программная система, инспектирующая текущие модели сетевого трафика в поисках признаков предстоящей или действующей атаки. Большинство систем обнаружения вторжений не только прерывают попытки вторжения, но и пытаются установить идентичность инициатора (или инициаторов) атаки. Что самое замечательное, такие системы работают в автоматическом режиме, и при противостоянии большинству атак не требуют непосредственного человеческого вмешательства.
826
Гпоссарий
IEEE (Institute for Electrical and Electronic Engineers, институт инженеров по электротехнике и электронике)
Международная организация, устанавливающая стандарты для любого электротехнического и электронного оборудования, включая сетевые интерфейсы и коммуникационные технологии.
IEEE 802.2
Проект, выполненный Институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE) в 1980 году, охватывающий Физический и Канальный уровни сетевых технологий вообще (802.1 и 802.2), а также отдельных технологий, таких как Ethernet (802.3), Token Ring (802.5), и др.
IEEE 802.3
Определенный институтом IEEE стандарт контроля несущей, метода параллельного доступа с обнаружением конфликтов.
IEEE 802.5
Определенный институтом IEEE стандарт метода управления доступом к среде с передачей маркера.
IETF (Internet Engineering Task Force, проблемная группа проектирования Internet)
Организация в рамках Общества Internet (ISOC), ответственная за все ныне действующие стандарты Internet, протоколы и службы; кроме того, управляет разработкой и обслуживанием документов RFC.
IGMP (Internet Group Management Protocol, межсетевой протокол управления группами)
Протокол, обеспечивающий формирование многоабонентских групп. С помощью протокола IGMP хосты присоединяются к таким группам и покидают их. Маршрутизаторы следят за принадлежностью к группам протокола IGMP и перенаправляют многоадресные (групповые) сообщения только по тем каналам, в которых присутствуют действующие члены данной многоабонентской группы.
IGP (Interior Gateway Protocol, внутренние шлюзовые протоколы)
Протоколы маршрутизации, применяемые в пределах автономных систем.
IMAP (Internet Message Access Protocol, протокол доступа к сообщениям в сети Internet)
Протокол обмена сообщениями на основе TCP/IP, позволяющий пользователям содержать частные хранилища сообщений на почтовом сервере, получать доступ к своим сообщениям электронной почты и управлять ими с любой рабочей станции.
Гпоссарий 827
Internet-стандарт (Internet Standard)
Документ RFC, определяющий правила, структуру и режим работы конкретного протокола или службы.
InterNIC (Internet Network Information Center, информационный центр сети Internet)
Квазигосударственное агентство, ранее ответственное за присвоение имен и номеров в сети Internet (теперь этим занимается ICANN).
IP (Internet Protocol, протокол Internet)
Основной протокол Сетевого уровня стека TCP/IP; ответственен за маршрутизацию и доставку большей части реальных данных в сетях на основе TCP/IP. См. также Ipv4 (протокол Internet версии 4).
IPCONFIG
Утилита командной строки, применяемая для определения адреса Канального уровня и IP-адреса локального хоста.
IPCP (Internet Protocol Control Protocol, протокол управления протоколом Internet)
Специальный протокол управления сетью TCP/IP, устанавливающий и управляющий IP-каналами на Сетевом уровне.
IPng (Internet Protocol next generation, новое поколение протоколов межсетевого взаимодействия)
Старое название новейшей версии IP. Чаще она называется IPv6.
IPSec или IP Sec (IP Security, IP-защита)
Спецификация безопасности, обеспечивающая поддержку различных форм шифрования и аутентификации, распределения ключей и сопутствующих функций. Факультативный компонент IPv4, и обязательный — в IPv6.
IPv4 (Internet Protocol version 4, протокол Internet версии 4)
Текущая версия протокола IP, на сегодняшний день очень широко распространенная. (Новая версия, IPv6, в настоящее время находится в стадии разработки; ее спецификация завершена лишь частично, а распространение пока незначительно.)
1Ру4-преобразованный адрес (IP-mapped address)
Адрес, применяемый узлами IPv6, для которых необходимо взаимодействие с узлами IPv4, не поддерживающими IPv6.
1Ру4-совместимый адрес (IPv4-compatible address)
Адрес, применяемый узлами, для которых необходимо выполнить туннелирование пакетов IPv6 через маршрутизаторы IPv4. Такие узлы являются двухстековыми, т. к. они поддерживают и IPv4, и IPv6.
828
Гпоссарий
IPv6 (Internet Protocol version 6, протокол Internet версии 6)
Правопреемник IPv4. В настоящее время IPv6 специфицирован, но пока не полностью введен в действие.
IPX/SPX (Internetwork Packet eXchange/Sequenced Packet eXchange, межсете-вой/последовательный пакетный обмен)
Набор протоколов, связанный с ранними реализациями сетевой операционной системы Novell NetWare; в большинстве современных сетей стек TCP/IP вытеснил IPX/SPX.
IP-защита (IP Security, IPSec)
Спецификация безопасности, обеспечивающая поддержку различных форм шифрования и аутентификации, распределения ключей и сопутствующих функций. Факультативный компонент IPv4, и обязательный — в IPv6.
IP-перенумерация (IP renumdering)
Процесс замены одного набора числовых IP-адресов на другой набор таких адресов из-за смены поставщика услуг или перераспределения адресов.
IP-спуфинг (IP spoofing)
Методика, посредством которой программист создает IP-пакет, в котором полномочия доменного имени отличаются от IP-адреса, указанного в заголовке пакета. IP-спуфинг часто используется при незаконных попытках проникновения; кроме того, он применяется при попытках злоумышленников выдать себя за полномочных пользователей или фальсифицировать происхождение пакетов. См. также Спуфинг.
IP-шлюз (IP gateway)
В терминологии TCP/IP так называется маршрутизатор, обеспечивающий доступ к ресурсам за пределами локального сетевого адреса подсети. (Шлюзом по умолчанию называется клиентская конфигурационная запись TCP/IP, определяющая маршрутизатор, который клиент должен использовать для отправки данных за пределы локальной подсети.)
IRTF (Internet Research Task Force, проблемная группа по исследованию сети Internet)
Подразделение Общества Internet (ISOC), занимающееся перспективными исследованиями и разработками; непосредственное управление и координирование работой этой группы осуществляется организацией IAB.
ISDN (Integrated Services Digital Network, цифровая сеть связи с комплексными услугами)
Старая технология коммутируемых цифровых каналов, разработанная в 1980-х годах в расчете на использование стандартных телефонных линий.
Гпоссарий
829
ISDN базового уровня (BRI) обеспечивает два канала передачи данных и речевой информации со скоростью в 64 Кбит/с, а также канал свя-зи/управления для абонентов, действующий на скорости 16 Кбит/с; таким образом, общая пропускная способность равна 144 Кбит/с. Основной уровень ISDN — это более мощная версия, обеспечивающая двадцать три канала передачи данных и речевой информации со скоростью в 64 Кбит/с, а также один канал связи/управления, работающий с той же скоростью; следовательно, общая пропускная способность составляет 1,544 Мбит/с (т. е. она равна пропускной способности Т1). Основной уровень предназначен для бизнеса и носителей связи. Поскольку стоимость сети ISDN примерно равна стоимости более быстрых технологий, таких как кабельные модемы и DSL, ее применение в бизнесе быстро сокращается.
ISO (International Standards Organization, Международная организация по стандартизации)
Ассоциация организаций по стандартизации с центром в Женеве (Швейцария). Устанавливает стандарты в области информационных и коммуникационных технологий, сетевого оборудования и протоколов.
ISO/OSI (International Standards Organization Open Systems Interconnection, модель взаимодействия открытых систем Международной организации по стандартизации)
См. ISO и OSI
ISOC (Internet Society, Общество Internet)
Вышестоящая организация, в ведении которой находятся все остальные структуры, определяющие функционирование сети Internet; ориентированная на пользователя и общедоступная, она требует участия конечных пользователей в определении будущих политики и направления развития сети Internet.
ISP (Internet Service Provider, поставщик доступа в сеть Internet)
Компания, чьей основной специализацией является предоставление доступа в Internet частным лицам и организациям. В настоящее время именно поставщики доступа в Internet в основном осуществляют выделение общедоступных IP-адресов.
ISTF (Internet Societal Task Force, проблемная группа по общественному значению сети Internet)
Подразделение Общества Internet (ISOC), занимающееся оценкой социального воздействия доступа в Internet; делает все возможное для того, чтобы наименее обеспеченные слои населения смогли как можно быстрее получить доступ к этой сети.
830
Гпоссарий
L
LAN (Local Area Network, локальная сеть)
Отдельный сегмент сетевого кабеля, подсеть или логическое сетевое сообщество, представляющее собой совокупность машин, имеющих возможность относительно прямого взаимодействия друг с другом (с помощью МАС-адресов).
LCP (Link Control Protocol, протокол управления каналом связи)
Специальный протокол согласования соединений, применяющий протокол РРР для установления двухточечных каналов между одноранговыми партнерами для проведения текущих соединений.
Legion
Сканер совместного использования файлов NetBIOS с возможностями грубой парольной атаки, который должен входить в инструментарий атаки любого IP-администратора Windows.
link-state (состояние канала)
Специальный тип протокола маршрутизации, использующий и обменивающийся информацией только о ближайших соседях; оценивает издержки канала исходя из времени передачи, не учитывая число транзитов и расстояния маршрутизации.
LLC (Logical Link Control, управление логическим соединением)
Спецификация Канального уровня для идентификации протоколов в соответствии со стандартом IEEE 802.2. Уровень управления логическим соединением расположен над уровнем управления доступом к среде.
LMHOSTS
Файл в формате открытого текста, содержащий данные об именах NetBIOS и связанных с ними IP-адресах. Аналогичен файлу HOSTS, но содержит информацию, уникальную для NetBIOS.
loopback (петля)
Адрес, указывающий на отправителя. В IPv4 домен класса А 127.0.0.0 (или 127.0.0.1 для конкретного машинного адреса) зарезервирован для выполнения возвратных петель. В протоколе IPv6 существует единственный возвратный адрес, обозначаемый как "::1" (все нули, кроме последнего разряда, в котором ставится единица). Пропуская трафик через стек TCP/IP в обоих направлениях, возвратный адрес используется для тестирования программного обеспечения TCP/IP.
LSA (Link-State Advertisement, объявление состояния канала)
Пакет, содержащий информацию о маршрутизаторе, его соседях и сети, к которой он подсоединен.
Гпоссарий
831
М
МАС-адрес (адрес управления доступом к среде)
Специальный тип сетевого адреса, управляемый подуровнем Канального уровня, в обычной ситуации заранее устанавливаемый для всех интерфейсов для их уникальной идентификации в любом сегменте сетевого кабеля (или виртуальном факсе). Организация ICANN контролирует присвоение производителями идентификаторов, обеспечивая уникальность таких адресов. Когда IP-фреймы передаются от одного интерфейса другому, адреса МАС-уровня отправителя и получателя применяются для воздействия на передачу.
МАС-уровень (Media Access Control layer, MAC layer)
Подуровень Канального уровня. Является частью определения управления доступом к среде, в котором действуют методы сетевого доступа, такие как Ethernet и Token Ring.
MDB (management database, база данных управления)
Совокупность данных об отдельно взятом управляемом устройстве, собираемые агентом управления с целью доставки объекту управления. Так же называется упорядоченная совокупность данных из управляемых устройств, хранящаяся в системе управления сетью и описывающая состояние и условия функционирования сети.
Message Туре (тип сообщения)
Обязательная опция, обозначающая назначение пакета DHCP. Существует восемь типов сообщений: Discover (поиск), Offer (предложение), Request (запрос), Decline (отказ), Acknowledge (подтверждение), Negative Acknowledgement (NAK, отсутствие подтверждения приема), Release (освобождение) и Inform (уведомление).
MIB (Management Information Base, база управляющей информации)
База данных объектов или параметров устройств, поддающихся управлению.
Microsoft DNS (MS DNS)
Выполненная в компании Microsoft реализация стандарта DNS, содержащая расширения, которые позволяют серверам MS DNS запрашивать службу WINS для разрешения имен NetBIOS. Для обратного поиска в домене in.addr.arpa сервера MS DNS могут использовать WINS-R, возвращая имена NetBIOS, связанные с данным IP-адресом.
Mobile IP
Протокол мобильной связи с сетью Internet.
832
Гпоссарий
MSS (Maximum Segment Size, максимальный размер сегмента)
Максимальное количество данных, которое может уместиться в пакете протокола TCP после его заголовка. В течение процесса квитирования одноранговые TCP-узлы обмениваются этой информацией.
MTU (Maximum Transmission Unit, максимальная единица передачи)
Максимальный единичный блок данных, который может быть перемещен через конкретную сетевую среду (к примеру, размер такого блока в сети Ethernet составляет 1518 байт).
multicast address (групповой адрес)
Один из группы адресов, зарезервированный для отсылки одного сообщения множеству интерфейсов или узлов. Члены групп по интересам подписываются на групповые адреса, чтобы получать обновления маршрутов, потоковые данные (видео-, аудио-, телеконференции) и другую информацию. В протоколе IPv4 для широковещания зарезервирована группа адресов класса D. В протоколе IPv6 все групповые адреса начинаются с OxFF. Контролирует эти адреса организация по присвоению имен и номеров в сети Internet (ICANN) при поддержке агентства по выделению имен и уникальных параметров протоколов Internet (IANA).
MX (mail exchange record, почтовая запись)
Запись ресурса DNS, применяемая для идентификации доменного имени почтового сервера, управляющего каким-либо конкретным доменом или субдоменом или маршрутизирующего почтовый трафик от одного почтового сервера к другому, пока почта находится в процессе передачи от отправителя к получателю.
N
NA (Neighbor Advertisement, извещение о существовании соседнего узла)
По требованию или при изменении своего адреса Канального уровня узел отсылает такое извещение, указывая в нем свой IPv6-aapec и адрес Канального уровня.
NAT (Network Address Translation, преобразование сетевых адресов)
Специальное сетевое программное обеспечение, управляющее сетевыми соединениями от имени множества клиентов во внутренней сети и заменяющее исходные адреса во всем исходящем трафике на адрес внешнего сетевого интерфейса. Программное обеспечение NAT также заведует пересылкой ответов на исходящий трафик исходным отправителям. Часто применяется для обеспечения клиентам, пользующимся частными IP-адресами, доступа к сети Internet.
Гпоссарий
833
NBF (NetBIOS Frame, фреймовый протокол NetBIOS)
Преемник NetBEUI в качестве собственного транспортного протокола NetBIOS в Windows 2000.
NCP (Network Control Protocol, протокол управления сетью)
Любой протокол из семейства протоколов Сетевого уровня TCP/IP, применяемый для установления и управления каналами протоколов на Сетевом уровне (уровень Internet модели TCP/IP).
NCSA (National Center for Supercomputing Applications, национальный центр по применению суперкомпьютеров)
Отделение Университета Иллинойса в Campaign-Urbana, в котором осуществляются исследования суперкомпьютеров; именно там в 1994 году был разработан первый графический Web-браузер Mosaic.
ND (Neighbor Discovery, протокол обнаружения соседних узлов)
Протокол IPv6, позволяющий узлам и маршрутизаторам локального канала извещать друг друга о текущих изменениях своего состояния или связности.
NDIS (Network Driver Interface Specification, спецификация интерфейса сетевых адаптеров)
Программные блоки (следующие данной спецификации), обеспечивающие процессам Транспортного уровня возможность нормального взаимодействия с сетевыми интерфейсными платами, несмотря на различия в схемах этих плат и реализациях их драйверов.
NetBEUI (NetBIOS Enhanced User Interface, расширенный пользовательский интерфейс сетевой базовой системы ввода/вывода)
Реализация протоколов и служб NetBIOS, предпринятая компаниями IBM, ЗСот и Microsoft в 1980-х годах и до сих пор применяемая для базовой организации сетей в операционных системах Microsoft, IBM и др.
NetBIOS (Network Basic Input/Output System, сетевая базовая система ввода/ вывода)
Высокоуровневый набор сетевых протоколов и служб, разработанный корпорацией Sytek для IBM в середине 1980-х годов и до сих пор широко используемый в сетевых операционных системах IBM, Microsoft и др.
NetBIOS over TCP/IP (NetBT или NBT)
Набор сообщений запроса/ответа, сформированный для взаимодействия транспортных и сетевых протоколов TCP/IP с программным интерфейсом приложения (API) Прикладного уровня под названием сетевой базовой системы ввода/вывода (Network Basic Input/Output System, NetBIOS), разработанным компанией Sytek для корпорации IBM в 1980-х годах.
834
Гпоссарий
NBT необходим для того, чтобы старые версии Windows (вплоть до Windows 2000) могли поддерживать базовые службы и системы обмена сообщениями Microsoft в сетях TCP/IP.
NFS (Network File System, сетевая файловая система)
Файловая система TCP/IP, распределенная по сети, позволяющая пользователям группировать файлы и каталоги на компьютерах, объединенных в сеть, таким образом, чтобы они рассматривались как расширения локальных файловых систем.
NIC (Network Interface Card, сетевая интерфейсная карта)
Аппаратное устройство, позволяющее компьютеру подсоединяться к локальной сети и работать в ней.
NLRI (Network Layer Reachability Information, информация о достижимости Сетевого уровня)
Информация о доступных сетях, а также о маршрутизаторах, посредством которых эти сети могут быть достигнуты. Такую информацию собирают, координируют и распространяют между маршрутизаторами и другими устройствами протоколы маршрутизации.
шпар
Имеющий дурную репутацию сканер портов. Первоначально существовавший в средах UNIX или Linux, nmap должен входить в инструментарий атаки любого IP-администратора.
NMS (Network Management System, система управления сетью)
Программные или аппаратные средства, внутри которых функционируют объекты управления, и в которых можно устанавливать, настраивать, координировать и регулировать функции сетевого управления.
NS (name server record, запись сервера имен)
Запись ресурса DNS, идентифицирующая серверы имен, которые являются ответственными за конкретный домен или субдомен. Часто используется как механизм делегирования полномочий на субдомены DNS, находящиеся на более низком уровне иерархии доменных имен.
NS (Neighbor Solicitation, обращение к соседним узлам)
Узел может отослать такое обращение с целью узнать (или проверить) адрес Канального уровня локального узла, удостовериться в доступности этого узла или проверить уникальность собственного адреса.
NSAP (Network Service Access Point, точка доступа к сетевой службе)
В таких сетях (например, ATM, Х.25 и др.) обычно создаются двухточечные каналы между хостами. Этот принцип кардинально отличается от принятого в протоколе IP.
Гпоссарий
835
NSF (National Science Foundation, национальный научный фонд США) Государственное агентство, осуществляющее контроль и поддержку научных исследований и разработок, финансируемых правительством. См. также NSFNET.
NSFNET (National Science Foundation Network, сеть национального научного фонда США)
Общедоступная сеть, разработанная в национальном научном фонде США в 1980-х годах для поддержки магистральной сети Internet.
NSLOOKUP
Широко распространенная утилита, работающая из командной строки, и обеспечивающая возможности DNS-поиска и отчета о его результатах. Приставка "NS" в названии этой утилиты расшифровывается как "сервер имен" (name server), поэтому совершенно справедливо утверждение о том, что это универсальное средство поиска на серверах имен.
NTP (Network Time Protocol, синхронизирующий сетевой протокол)
Протокол временной синхронизации, спецификация которого содержится в документе RFC 1305. Протокол NTP обеспечивает механизмы синхронизации и координации временного распределения в крупной разнотипной сети Internet, действующей на различных скоростях.
О
ODR (On-Demand Routing, маршрутизация по требованию)
Функция с низкими накладными расходами, обеспечивающая IP-маршрутизацию узлов в сети, имеющей топологию "звезда". Каждый маршрутизатор поддерживает и обновляет в своей таблице маршрутизации записи только для тех хостов, чьи данные проходят через него; таким образом экономится пропускная способность и потребность в памяти.
OID (object identifier, идентификатор объекта)
Последовательность неотрицательных целочисленных значений, применяемая для обращения к отдельно взятому объекту в базе управляющей информации.
OSI (Open System Interconnection, взаимодействие открытых систем)
Название межсетевой инициативы по разработке открытых стандартов, предпринятой в 1980-х годах преимущественно в Европе и изначально предназначавшейся для замещения TCP/IP. Технические и политические проблемы помешали осуществлению этой ожидаемой акции, однако эталонная модель ISO/OSI является результатом именно этой работы.
836
Гпоссарий
OSPF (Open Shortest Patli First, протокол первоочередного открытия кратчайших маршрутов)
Сложный протокол маршрутизации 3-го или Межсетевого уровня модели TCP/IP, применяющий информацию о состоянии канала для конструирования маршрутных топологических схем для локальных объединенных сетей и обеспечивающий возможности по выравниванию нагрузки.
OUI (Organizationally Unique Identifier, организационно-уникальный идентификатор)
Уникальный идентификатор, присваиваемый организациями IANA или ICANN, занимающий первые три байта МАС-адреса сетевой интерфейсной платы и идентифицирующий ее производителя.
Р
PATHPING
Утилита Windows 2000, предназначенная для тестирования задержки маршрутизатора и пути, а также возможности соединения.
PCT (Private Communication Technology, технология конфиденциальной связи) Протокол Прикладного уровня на основе IP, документированный в RFC 2246. Применяется для создания безопасного канала, исключающего возможность прослушки клиент-серверных или сервер-клиентских сообщений в сети Internet.
PDB (Per-Domain Behavior, доменный режим)
В дифференцированной службе так называется класс дескрипторов доступных уровней обслуживания или способ описания объектов, предлагающих эти службы — в данном случае, "домен". В пределах такого домена обеспечивается указанный уровень обслуживания, меняющийся на границе домена. Доменные режимы доступны во всех транзитах данного домена.
PDU (Protocol Data Unit, модуль данных протокола)
На любом уровне сетевой модели модуль данных представляет собой пакет данных на текущем уровне, включающий заголовок и полезную нагрузку, а в некоторых случаях и концевик.
Performance Management (Контроль производительности)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI. Контроль производительности отвечает за измерение и текущий контроль уровней трафика, использования и других статистических параметров поведения сети и системы.
Гпоссарий
837
РНВ (Per-Нор Behavior, транзитный режим)
В дифференцированной службе так называется класс дескрипторов доступных уровней обслуживания. Один из способов описания объектов, предлагающих такие дифференцированные службы — в данном случае, отдельные маршрутизаторы, или путь, проложенный через такие маршрутизаторы.
PING (Packet Internetwork Groper, отправитель пакетов Internet)
Протокол межсетевого уровня TCP/IP, использующийся для определения доступности удаленного хоста и измерения периода кругового обращения сообщений при отсылке данных от отправителя получателю.
PING-развертка (PING sweep)
Операция на основе эхо-запроса протокола ICMP, применяемая для выявления активных устройств в сети. Термин "развертка" относится к процессу тестирования целого диапазона IP-адресов для активных устройств.
PMTU (Path Maximum Transmission Unit, максимальная единица передачи маршрута)
Единица передачи, поддерживаемая на всем протяжении пути; общий знаменатель единиц передачи маршрута. Определяется с помощью процесса определения максимальной единицы передачи маршрута.
point-to-point (двухточечное соединение)
Тип соединения Канального уровня, при котором канал устанавливается и функционирует лишь между двумя сторонами (отправителем и получателем).
Poison reverse (Негативный отклик)
Дословный перевод "отравленный обратный путь". Процесс, призванный сделать маршрутизатор нежелательным для определенного пути. Один из методов предотвращения маршрутных циклов.
POP3 (Post Office Protocol version 3, почтовый протокол версии 3)
Протокол Прикладного уровня модели TCP/IP, поддерживающий загрузку входящих сообщений электронной почты с почтового сервера на почтовый клиент пользователя. При использовании POP3 клиенты обычно организуют сообщения на собственных компьютерах.
РРР (Point-to-Point Protocol, протокол двухточечного соединения)
Протокол 2-го или Сетевого интерфейсного уровня модели TCP/IP, который позволяет клиенту и серверу устанавливать канал связи, в котором могут помещаться несколько протоколов более высокого уровня, включая IP, AppleTalk, SNA, IPX/SPX, NetBEUI и т. д.; в настоящее время это наиболее широко используемый протокол для последовательного канала, обеспечивающий соединения с сетью Internet.
838
Гпоссарий
РРТР (Point-to-Point Tunneling Protocol, двухточечный туннельный протокол) Протокол 2-го или Сетевого интерфейсного уровня модели TCP/IP, позволяющий клиенту и серверу устанавливать безопасный, зашифрованный канал связи, который может вмещать любой тип трафика протокола РРР.
PROM (Programmable Read-Only Memory, программируемое постоянное запоминающее устройство)
Неперезаписываемая разновидность машинной памяти, применяемая для создания долговременного хранилища определенной базовой информации (например, загрузочных параметров операционной системы). Запись на PROM производится с помощью специальных методов записи данных, таких как ультрафиолетовое излучение, до установки чипов на материнскую или интерфейсную плату.
Q
QoS (Quality of Service, качество обслуживания)
Специальный уровень гарантии работы служб, связанный с протоколами Прикладного уровня, при котором временные требования для данных (например, голоса или видео) предполагают специальные нормы контроля задержки при доставке видимых или слышимых потоков данных.
QOD (Quote of the Day)
Базовая служба TCP/IP, доставляющая короткий поток текста (обычно содержащего шутку или эпиграмму) в ответ на запрос.
R
RA (Router Advertisement, извещение о существовании маршрутизатора)
Сообщение, или извещение, отправляемое маршрутизатором (периодически или по требованию) и содержащие его адрес Канального уровня, сетевой префикс локальной подсети, MTU локального канала, предлагаемые лимиты транзитов и другие параметры, имеющие значение для узлов локального канала. Извещения RA также могут содержать маркированные параметры, определяющие тип. автоконфигурации, которым должны пользоваться новые узлы.
RARP (Reverse Address Resolution Protocol, протокол определения адреса по местоположению)
Протокол 2-го уровня или уровня доступа к сети модели TCP/IP, преобразующий числовые IP-адреса в адреса МАС-уровня (для того чтобы подтвердить соответствие реальной личности отправителя заявленной). Этот протокол заменен другим — DHCP.
Гпоссарий
839
гехес
Сокращение от remote execution (удаленное исполнение). Одна из удаленных утилит (r-utils) BSD UNIX, позволяющая удаленным пользователям выполнять отдельные команды на удаленном хосте.
RFC (Requests for Comments, запросы на комментарии)
Документы стандартов организации IETF, определяющие или описывающие лучшие методы и способы эксплуатации, предоставляющие информацию о сети Internet, специфицирующие протоколы или службы.
RIP (Routing Information Protocol, протокол маршрутной информации)
Простой векторный сетевой протокол TCP/IP, применяемый для определения единственного пути между отправителем и получателем в локальной объединенной сети.
RMON (Remote Monitoring, удаленный мониторинг)
Протокол Прикладного уровня модели TCP/IP, предназначенный для поддержки удаленного мониторинга и управления сетевыми устройствами, такими как концентраторы, серверы и маршрутизаторы.
RPC (Remote Procedure Call, удаленный вызов процедуры)
Программный интерфейс, разработанный в компании Sun Microsystems, позже стандартизированный документом RFC, позволяющий процедуре, выполняемой внутри процесса на одном хосте, применять транспортные или сетевые протоколы TCP/IP для запуска другой процедуры внутри другого процесса (на локальном или удаленном хосте) и сообщения с ней. Создание удаленного вызова процедуры было обусловлено стремлением облегчить разработку новых сетевых приложений, и этот интерфейс до сих пор имеет значительное распространение.
грг
Сокращение от remote print (удаленная печать). Одна из удаленных утилит (r-utils) BSD UNIX, позволяющая пользователям сети распечатывать файлы на удаленном хосте.
RR (Resource Record, запись ресурса)
Один из нескольких предопределенных типов записей в базе данных или файле зоны DNS.
RS (Router Solicitation, обращение к маршрутизаторам)
Запрос, направленный маршрутизаторам локального канала, с требованием идентифицировать себя посредством немедленной отсылки извещений, не дожидаясь запланированного времени их отправки.
rsh
Сокращение от remote shell (удаленная оболочка). Одна из удаленных утилит (r-utils) BSD UNIX, позволяющая пользователям. сети запускать сеанс регистрации и производить с ним операции на удаленном хосте.
840
Гпоссарий
RSVP (Resource Reservation Protocol, протокол резервирования ресурсов)
Протокол, упорядочивающий и формализирующий порядок защиты конкретных уровней обслуживания потоков трафика в сети Internet.
RTO (retransmission timeout, лимит времени на повторную передачу)
Временное значение, определяющее, когда хост TCP должен осуществить повторную передачу пакета после его потери. Значение RTO экспоненциально увеличивается после явной потери соединения.
r-utils
Сокращение от remote utilities (удаленные утилиты). Совокупность программ, первоначально вошедших в поставку операционной системы BSD UNIX v4.2 и предоставлявших пользователям удаленный доступ и службы регистрации. Именно поэтому они представляют собой излюбленный объект атак.
S
SA (Security Association, ассоциация безопасности)
Соединение, которое представляет службы обеспечения безопасности трафика, который передается через него. В IPSec для однозначной идентификации соединений безопасности используется состоящая из трех частей комбинация параметров: адреса назначения, индекса параметров безопасности (SPI) и протокола защиты (например, Authentication или ESP). SA определяет набор процессов или преобразований, необходимых для применения к трафику, направленному в названный пункт назначения.
SA bundle (связка ассоциаций безопасности)
Упорядоченный набор ассоциаций безопасности, который должен применяться в соответствии с конкретной политикой безопасности.
SAD (Security Associations Database, база данных ассоциаций безопасности)
В IPSec так называется воображаемое или абстрактное хранилище ассоциаций безопасности, обеспечивающее соответствие их отдельных характеристик общему описанию абстрактной ассоциации.
Samba
Комплект приложений с открытым исходным текстом, предоставляющий возможность совместного использования файлов и принтеров с помощью SMB/CIFS (посредством NetBT) в различных операционных системах, в том числе в Linux и UNIX.
SAP (Service Access Point, точка доступа к службе)
Поле идентификации протокола в заголовке 802.2 LLC, следующее непосредственно за МАС-заголовком.
Глоссарий
841
SDLC (Synchronous Data Link Control, протокол синхронного управления передачей данных)
Протокол синхронного соединения.
Security Management (управление защитой)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI. Управление защитой контролирует доступ к се-. тевым ресурсам, стремясь избежать отказов от обслуживания, нежелательных обращений и вторжений и ограничивая доступ к этим ресурсам исключительно на основе аутентификации и авторизации.
SLIP (Serial Line Internet Protocol, межсетевой протокол для последовательного канала)
Протокол для последовательного канала (только для IP), до сих пор применяемый для доступа к некоторым системам UNIX. Некогда SLIP был основным последовательным протоколом для двухточечного соединения по модему или другому устройству с пользовательского компьютера или из локальной сети к другой локальной сети, провайдеру доступа или другому пользовательскому компьютеру. Протокол SLIP поддерживает только протоколы TCP/IP и осуществляет лишь основные службы по разграничению. Именно поэтому в настоящее время он нечасто используется для подсоединения к сети Internet.
SMB (Server Message Block, блок серверных сообщений)
Название клиент-серверного протокола совместного использования файлов, разработанного ЗСот, IBM и Microsoft, и применяемых им сообщений. Протокол SMB функционирует на Прикладном уровне посредством NBT в среде Windows 2000 или NetBEUI в среде, содержащей другие операционные системы Windows. Кроме того, может работать на основе протоколов IPX/SPX.
SMI (Structure of Management Information, структура информации для управления сетью)
Определенная структура объектов, содержащихся в базе управляющей информации. Это древовидная структура, по своей организации во многом напоминающая иерархию файлов и каталогов на жестком диске.
SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты)
Протокол Прикладного уровня модели TCP/IP, управляющий передачей сообщений электронной почты от клиента к серверу, а также маршрутизацией сообщений от исходного сервера к серверу назначения.
Smurf-атака
Атака на основе протокола ICMP, при которой инициатор отсылает PING-пакет на широковещательный адрес, записывая в поле источника IP-адрес жертвы.
842
Глоссарий
SNA (Systems Network Architecture, системная сетевая архитектура)
Название набора протоколов, разработанного в компании IBM для применения в ее собственных сетевых средах для универсальных вычислительных машин и мини-компьютеров.
SNAP (Sub-Network Access Protocol, протокол доступа к подсети)
Разновидность уровня управления логическим соединением 802.2, применяющая числа типа Ethernet для идентификации следующего протокола.
SNMP (Simple Network Management Protocol, простой протокол сетевого управления)
Протокол Прикладного уровня модели TCP/IP, обеспечивающий базовую регистрацию сетевых устройств и управление ими.
SNMP-агент
Программный компонент, расположенный в управляемом объекте и связывающийся с SNMP-менеджерами посредством SNMP-команд. Программное обеспечение SNMP-агента обслуживает базу управляющей информации.
SNMP-менеджер
Программное обеспечение, отправляющее SNMP-команды SNMP-агенту.
SNMP-перехват
Способ, при помощи которого агент SNMP, функционирующий на удаленном устройстве или хосте, может подать аварийный сигнал (указывает, что произошла некая ошибка или другое неблагоприятное событие) или предупреждение (указывает, что выполнено некое пороговое значение) удаленному агенту управления для дальнейшей обработки со стороны последнего.
SOA (Start Of Authority, запись начала полномочий)
Запись ресурса службы DNS, присутствие которой обязательно в каждом файле зоны DNS. Идентифицирует сервер (серверы), являющийся ответственным за домен или субдомен, к которому относятся файла зоны или база данных.
SOCKS
Стандартизированный организацией IETF протокол, определяющий работу посреднических механизмов, контролирующих трафик между сетями.
SONET (Synchronous Optical Network, синхронная оптическая сеть)
Семейство оптоволоконных цифровых служб передачи со скоростью передачи данных от 51,84 Мбит/с до 13,27 Гбит/с. SONET разрабатывалась для того, чтобы обеспечить гибкость, необходимую для одновременной передачи различных типов цифровых сигналов, включая речь, видео, мультимедиа и данные, а также для того, чтобы дать возможность взаи
Гпоссарий	843
модействия оборудования разных производителей. SONET предусматривает инфраструктуру для высокоскоростных служб ATM, поддерживающих магистраль Internet, а также магистрали наиболее масштабных носителей связи (например, WorldCom и AT&T).
SPD (Security Policy Database, база данных политики безопасности)
В IPSec так называется соответствие селекторов безопасности (критериев отбора) политикам безопасности, или наборам процедур, которые применяются в определенной ситуации.
SPI (Security Parameters Index, индекс параметров безопасности)
В IPSec так называется значение, которое, наряду с протоколом защиты и адресом назначения, уникально определяет ассоциацию безопасности.
Split Horizon (Разделение горизонта)
Метод, призванный устранить проблему отсчета до бесконечности. Правило разделенного горизонта гласит, что информацию нельзя отсылать тому устройству, от которого она была получена.
SSL (Secure Sockets Layer, протокол защищенных сокетов)
Стандартный программный интерфейс, который зашифровывает исходящие данные перед их передачей на Транспортный уровень и расшифровывает входящие данные перед их передачей на Прикладной уровень. Протокол SSL предоставляет удобный способ повысить безопасность сетевых сообщений.
Stelnet (Secure Telnet)
Специальная реализация Telnet, применяющая протокол защищенных сокетов (SSL) или интерфейс безопасной оболочки (SSH) для шифрования исходящего и расшифровывания входящего трафика; таким образом гарантируется, что на пути от отправителя к получателю данные не будут перехвачены.
SWS (Silly Window Syndrome, синдром "глупого" окна)
Проблема, возникающая при организации окон TCP и обуславливаемая тем, что приложение удаляет из буфера приема TCP лишь небольшие объемы данных; в результате узел TCP объявляет очень незначительный размер окна. Чтобы разрешить эту проблему, хосты TCP ждут, пока размер окна не достигнет значения максимального размера сегмента (MSS).
TCP (Transmission Control Protocol, протокол управления передачей)
Надежный протокол на основе соединений, действующий на Транспортном уровне обоих моделей (TCP/IP и ISO/OSI) и дающий стеку протоколов TCP/IP первую часть его имени.
844
Гпоссарий
TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол Internet)
Название стека стандартных протоколов и служб, применяемых в сети Internet, состоящее из имен его двух важнейших составляющих: TCP и IP.
TDI (Transport Driver Interface, интерфейс транспортного драйвера)
Спецификация Microsoft, регламентирующая написание верхних уровней всех сетевых транспортных протоколов. Редиректор и сервер Windows обходят NetBIOS и пользуются непосредственно TDI, таким образом избегая ограничений, связанных с NetBIOS.
Telnet
Протокол и служба Прикладного уровня модели TCP/IP, позволяющая клиенту одного сетевого хоста взаимодействовать с другим сетевым хостом таким образом, как будто один компьютер является терминалом, присоединенным к другому.
TFTP (Trivial File Transfer Protocol, простейший протокол передачи данных)
Базовая служба Прикладного уровня TCP/IP, поддерживающая упрощенную передачу файлов от локального хоста на удаленный хост (особенно в случае, когда локальный пользователь зарегистрирован на удаленном хосте).
TLS (Transport Layer Security protocol, протокол безопасности Транспортного уровня)
Специальный протокол Транспортного уровня, работающий с протоколом TCP таким образом, чтобы клиент-серверные приложения могли взаимодействовать без риска прослушки, внедрения и фальсификации сообщений.
Token Ring (маркерное кольцо)
Протокол управления доступом к среде (МАС-протокол) сети с маркерным (эстафетным) доступом. Спецификации IEEE 802.5 определяют управление доступом к среде и функциональные процессы в сетях с маркерным (эстафетным) доступом.
Token Ring 802.2 LLC, тип фрейма
Фрейм сети с маркерным (эстафетным) доступом, включающий уровень управления логическим соединением 802.2 LLC, который, в свою очередь, включает поле идентификации протокола SAP (Service Access Point, точка доступа к службе).
Token Ring SNAP, тип фрейма
Фрейм сети с маркерным (эстафетным) доступом, включающий заголовок SNAP, который является разновидностью заголовка 802.2 LLC.
Глоссарий
845
В этом фрейме значение поля Ether Туре применяется для идентификации протокола.
Type of Service (TOS, тип службы)
Поле (1 байт), содержащееся в заголовке дейтаграммы и служащее для определения типа пути прохождения пакета по сети. Среди возможностей TOS — обеспечение максимальной пропускной способности, минимальной задержки и наибольшей надежности.
TRACEROUTE
См. TRACERT.
TRACERT
 Название Windows-версии утилиты TRACEROUTE, применяющей множество команд PING для установления идентичности и периодов кругового обращения для всех хостов между отправителем и получателем.
TTL (Time to Live, время жизни)
Обозначение расстояния, которое может пройти пакет. Теоретически выражаемое в секундах, значение TTL реализуется в других единицах — количестве транзитов, которые может совершить пакет прежде,- чем будет отвергнут маршрутизатором.
U
UDP (User Datagram Protocol, протокол передачи дейтаграмм пользователя)
Оптимальный транспортный протокол стека TCP/IP без установления соединения; является альтернативой протоколу TCP.
URI (Uniform Resource Identifier, универсальный идентификатор ресурса)
Общий термин для всех типов имен и адресов, ссылающихся на объекты в сети Internet. Одним из видов URI является унифицированный адреса-тор ресурса (Uniform Resource Locator, URL).
URL (Uniform Resource Locator, унифицированный адресатор ресурса)
В терминологии сети Internet так называется адрес, определяющий протокол (http://), местоположение (доменное имя), каталог (/имя-каталога/) и имя файла (example.html); предназначен для направления запроса Web-браузеру на доступ к ресурсу.
URN (Uniform Resource Name, унифицированное имя ресурса)
Универсальный идентификатор ресурса (URI) с обязательством постоянного существования и доступности. Спецификация URI содержится в документе RFC 2141.
846
Гпоссарий
UT (Universal Time, Всемирное время)
См. Среднее время по Гринвичу (GMT)', другие названия — всемирное координированное время (Universal Coordinating Time, UCT) и зулусское время (Zulu Time)
V
VLSM (Variable-Length Subnet Masking, маскирование подсети маской переменной длины)
Схема организации подсети для IP-адресов, делающая возможным определение для сетевого префикса контейнеров разных размеров. Наибольшая подсеть определяет максимальный размер контейнера, и каждый отдельный контейнер в данном адресном пространстве может быть подразделен на еще более мелкие подконтейнеры (иногда называемые под-подсетями).
VoIP (Voice over IP, передача голоса по протоколу IP)
Сетевой метод, игнорирующий традиционную общедоступную коммутационную телефонную систему и применяющий IP (к примеру, Internet или intranet) для поддержки передачи речевых сигналов.
VPN (Virtual Private Network, виртуальная частная сеть)
Сетевое соединение (содержащее один или несколько объединенных в пакет протоколов) между определенными отправителем и получателем, при котором отсылаемая информация часто шифруется. VPN использует общедоступные сети (каковой является Internet) для доставки защищенной частной информации от отправителя к получателю.
W
WACK (Wait Acknowledgement, подтверждение для ожидания)
Ответный пакет, отсылаемый WINS-серверами клиентам для подтверждения приема запроса без предоставления имени или отказа в нем и содержащий просьбу подождать. В результате удается избежать излишнего простоя связи с перегруженным WINS-сервером.
WAIS (Wide Area Information Server, глобальный информационный сервер)
Протокол и служба Прикладного уровня модели TCP/IP, предназначенные для предоставления поискового доступа к документам различного формата, включая текстовые документы, документы текстовых процессоров, базы данных и др.
WAN (Wide Area Network, глобальная сеть)
Нелокальная сеть, иногда называемая территориальной компьютерной сетью, служащая для соединения территориально удаленных компьютеров
Гпоссарий 847
и предоставления своих сервисов большому количеству конечных абонентов, размещенных по большой территории — в пределах области, региона, страны, континента или всего земного шара.
WAN protocol
Тип протокола Канального уровня, предназначенный для передачи данных на большие расстояния, обычно обеспечивающий носителям возможность измерять уровень использования и предъявлять счет пользователям. Примерами могут послужить аналоговые телефонные линии, ISDN, Т-каналы, ретрансляция кадров или асинхронный режим передачи (ATM) между парами участников связи.
Whois
Клиентская утилита, предназначенная для доступа к базе данных, расположенной на удаленном сервере и содержащей регистрационные записи доменных имен и IP-адресов. Поскольку многие доменные имена не зарегистрированы в базах данных, по которым проводит поиск Whois, эта утилита не очень удобна.
WINIPCFG
Утилита Windows, предназначенная для идентификации адреса Канального уровня и IP-адреса локального хоста.
WinNuke-атака
Атака, основывающаяся на нелогичной структуре пакета NetBIOS, бит Urgent (срочно) в котором установлен в положение "1".
WINS (Windows Internet Name Service, служба имен Internet для Windows)
Серверная служба Windows NT Server и Windows 2000 Server, обеспечивающая разрешение имен NetBIOS и адресов практически тем же способом, которым DNS-сервер выполняет эти задачи относительно имен хостов IP.
WKS (Well-Known Services record, запись хорошо известных служб)
Запись ресурса DNS, описывающая хорошо известные IP-службы, присутствующие на хосте (например, Telnet, FTP и др.). Сегодня записи WKS намного менее доступны для посторонних, чем они когда-то были, т. к. в них содержится информация о хостах, которые потенциально могут стать жертвами атаки.
X
Х.25
Стандартный набор протоколов, специфицированный в 1970-х годах Международным союзом телекоммуникаций (International Telecommunications
848
Гпоссарий
Union, ITU) и предназначенный для пересылки дейтаграмм по общедоступным сетям передачи данных с коммутацией пакетов с использованием узкополосных медных телефонных линий с высоким уровнем помех. До сих пор распространен за пределами Северной Америки, где получение других видов двухточечных каналов WAN может быть проблематично.
А
Аварийный сигнал (alarm)
Извещение о событиях или ошибках в сети. В контексте IP-защиты аварийный сигнал может оповещать об осуществлении попытки атаки.
Автоконфигурация (autoconfiguration)
Процесс автоматического назначения конфигурации без вмешательства человека. В случае с IPv6, как указано в главе 13, клиенты могут проводить автоконфигурацию своих IP-адресов с помощью или без помощи протокола DHCP.
Автоматическая реконфигурация (auto-reconfiguration)
Процесс автоматического изменения конфигурации устройства. К примеру, когда хост PMTU получает ICMP-пакет Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (пункт назначения недостижим: необходима фрагментация, но она запрещена), этот хост может выполнить реконфигурацию исходящего размера максимальной единицы передачи (MTU), чтобы привести ее в соответствие с размером, допустимым в сдерживающем канале.
Автоматическое восстановление (auto-recovery)
Процесс автоматического восстановления от неисправности. К примеру, процесс выявления черных дыр позволяет хосту провести автоматическое восстановление от неудачи в установлении связи, причиной которой стал маршрутизатор, который не перенаправляет пакеты и не отсылает сообщения с указаниями об ошибках.
Автоматическое выделение адресов (automatic address lease)
Тип выделения адресов протокола DHCP, при котором DHCP-сервер может выполнять постоянное назначение адреса в пределах своего адресного пула; обычно применяется при назначении адресов серверам, маршрутизаторам и другим устройствам, для которых необходимы стабильные IP-адреса.
Автономная система (Autonomous System, AS)
Группа маршрутизаторов, находящихся в компетенции одной административной структуры.
Гпоссарий	849
Агент (посредник) (agent)
1. В общем смысле агентом называется программный компонент, который выполняет службы по поручению другого процесса или пользователя. В случае с Mobile IP агент представляет собой специальное программное обеспечение маршрутизатора, которое осуществляет туннелирование из удаленной подсети в собственную подсеть пользователя с целью установления соединений для определенного статического IP-адреса.
2. Устройство, непосредственно атакующее жертву при распределенном отказе от обслуживания (Distributed Denial of Service, DDoS).
Агент ARP (proxy ARP)
Процесс ответа на ARP-запросы, исходящие от IP-хостов в другой сети. Подобная конфигурация сети эффективно скрывает от отдельных IP-хостов разделение сети на фрагменты.
Агент управления (management agent)
Программный компонент на управляемом устройстве, собирающий управляющую информацию в локальную базу данных управления, имеющий возможность отвечать на запросы объекта управления на эти данные или направлять этому объекту предупреждения по поводу определенных событий или превышения порогов.
Адрес Канального уровня (Data Link address)
Адрес локальной машины на основе ее аппаратного адреса. Таюке называется МАС-адресом.
Адрес локального канала (link-local address)
В адресе такого типа первые 10 (крайние слева) битов устанавливаются в положение 1111111010 (все единицы, кроме последних трех цифр, которые приравниваются к 010 в двоичном представлении). Следующие 54 бита занимают только нули. Последние (крайние справа) 64 бита адреса локального канала применяются для представления обычного идентификатора интерфейса. Когда маршрутизатор обнаруживает в пакете префикс адреса локального канала, он пропускает этот пакет, т. к. он направлен в локальный сегмент сети.
Адрес локального узла (site-local address)
В адресе такого типа первые 10 (крайние слева) битов устанавливаются в положение 1111111011 (все единицы, кроме последних трех цифр, которые приравниваются к 011 в двоичном представлении). Следующие 38 бит занимают только нули. Следующие 16 бит содержат идентификатор подсети, определяющий "узел", по отношению к которому данный адрес является локальным. Как и в других адресах однонаправленного типа, последние (крайние справа) 64 бита применяются для представле-
28 Зак. 321
850
Гпоссарий
ния обычного идентификатора интерфейса. Адреса локального узла обеспечивают внутреннее перенаправление пакетов на узел, не допуская их выход в глобальный сегмент сети Internet.
Адрес порта (port address)
См. Номер порта.
Адрес сокета (socket address) 
Числовой адрес TCP/IP, связывающий числовой IP-адрес сетевого хоста (первые четыре байта) с адресом порта определенного процесса или службы на этом хосте (последние два байта) для уникальной идентификации этого процесса в масштабах всей сети Internet.
Адресация (addressing)
Метод присвоения уникального символического имени или числового идентификатора отдельному сетевому интерфейсу в сегменте сети; в результате адресации каждый такой интерфейс становится уникально идентифицируемым и адресуемым.
Адресная запись (address record, А)
Запись ресурса DNS, связывающая доменное имя с IP-адресом.
Адресная книга (address book)
База данных адресов электронной почты. Локальные адресные книги часто используются при атаках червей и мобильного кода.
Адресный пул (address pool)
Смежный диапазон числовых IP-адресов, определяемый начальным и конечным IP-адресами и управляемый DHCP-сервером.
Алгоритм Дейкстры (Dijkstra algorithm)
Алгоритм вычисления оптимального маршрута в сети на основе состояния канала.
Алгоритм затяжного запуска (Slow Start algorithm)
Метод отсылки данных экспоненциально увеличивающимися порциями, обычно — начиная со значения максимального размера сегмента (MSS), помноженного на два. Алгоритм затяжного запуска применяется для определения максимального размера окна сети.
Алгоритм Нейгла (Nagle algorithm)
Метод, в соответствии с которым после отсылки небольших пакетов, не получивших подтверждения, дальнейшие пакеты не отправляются. Алгоритм Нейгла применим в сетях, поддерживающих многочисленные малые пакеты для обеспечения работы интерактивных приложений (например, в Telnet).
Гпоссарий
851
Алгоритм предотвращения перегрузок (Congestion Avoidance algorithm)
Заданный метод, не допускающий перегрузку сети. Этот механизм осуществляет медленное и постепенное увеличение размера окна сообщений.
Альтернативный адрес (anycast address)
Новый тип адресов, реализованный в протоколе IPv6; альтернативным называется обычный адрес, который может присваиваться несколькими хостам или интерфейсам. Пакеты, направленные на альтернативный адрес, доставляются ближайшему (в показателях расстояния маршрутизации) к отправителю обладателю этого адреса. В протоколе IPv4 альтернативные адреса отсутствуют.
Анализ протоколов (protocol analysis)
Процесс захвата пакетов из сети с целью сбора статистики передач, выявления тенденций и исследования последовательностей сообщений.
Аналоговые телефонные линии
Традиционные речевые телефонные линии можно применять для обеспечения работы стандартных телефонных модемов (устройств модуля-ции/демодуляции), которые преобразуют цифровые данные в аналоговые сигналы для передачи по таким линиям, а затем проводят повторное (обратное) преобразование аналоговых сигналов в цифровые данные на приникающем конце двухточечного соединения.
Анонимный доступ (anonymous access)
Тип доступа к IP-службам, при котором пользователи не обязаны предоставлять явную информацию об учетной записи и пароле; помимо прочего, анонимный доступ применяется при обращениях к Web-службам и FTP.
Аппаратный адрес
Адрес сетевой интерфейсной платы. Обычно используется в качестве адреса Канального уровня.
Ассоциация безопасности (Security Association, SA)
Соединение, которое представляет службы обеспечения безопасности трафика, который передается через него. В IPSec для однозначной идентификации соединений безопасности используется состоящая из трех частей комбинация параметров: адреса назначения, индекса параметров безопасности (SPI) и протокола защиты (например, Authentication или ESP). SA определяет набор процессов или преобразований, необходимых для применения к трафику, направленному в названный пункт назначения.
Атака (attack)
Попытка проникновения в систему или сеть, подрыва системы ее защиты или блокировка доступа в нее.
852
Гпоссарий
Атака IP-службы (IP service attack)
Атака системы, эксплуатирующая известные характеристики и слабые места одной или нескольких определенных IP-служб, или в своих противозаконных целях использующая хорошо известные адреса портов, связанные с этими службами.
Атака типа "человек посередине"
Разновидность атаки системы или сети, в ходе которой атакующая система позиционирует себя между сетью назначения и следующим нормальным каналом в обычной цепи маршрутизации этой сети.
Аутентификация происхождения данных (data origin authentication)
В IPSec и подобных системах защиты так называется возможность контроля источника принимаемой информации или проверки наличия у этого источника надежного маркера.
Б
База данных ассоциаций безопасности (Security Associations Database, SAD)
В IPSec так называется воображаемое или абстрактное хранилище ассоциаций безопасности, обеспечивающее соответствие их отдельных характеристик общему описанию абстрактной ассоциации.
База данных политики безопасности (Security Policy Database, SPD)
В IPSec так называется соответствие селекторов безопасности (критериев отбора) политикам безопасности или наборам процедур, которые применяются в определенной ситуации.
База данных смежности (adjacencies database)
База данных локального сегмента сети и присоединенных к нему маршрутизаторов. Отмеченные маршрутизаторы совместно используют базы данных смежности в сетях состояния канала.
База данных управления (management database, MDB)
Совокупность данных об отдельно взятом управляемом устройстве, собираемые агентом управления с целью доставки объекту управления. Также называется упорядоченная совокупность данных из управляемых устройств, хранящаяся в системе управления сетью и описывающая состояние и условия функционирования сети.
База управляющей информации (Management Information Base, MIB)
База данных объектов или параметров устройств, поддающихся управлению.
Гпоссарий
853
Базовые системные службы (core services)
Первичные и ключевые службы, применяемые в сетях TCP/IP. Такими службами считаются FTP, DNS и DHCP. Им присваиваются хорошо известные номера портов в диапазоне между 0 и 1023.
Бастионный хост (bastion host)
Специально укрепленный компьютер, предназначенный для охраны границы между внутренней и внешней сетью; именно на нем обычно действуют функции брандмауэров, прокси-серверов, систем обнаружения вторжений и пограничных маршрутизаторов.
Бездисковая рабочая станция (diskless workstation)
Рабочая станция, не располагающая жестким или гибким диском, с которого можно было бы загрузиться или считать информацию о конфигурации хоста.
Безопасное сквозное соединение (cecure end-to-end connection)
Сетевое соединение, при котором исходные отправляющий и принимающий IP-адреса неизменны, а связь между отправителем и получателем сохраняется все время, пока соединение остается активным.
Бесклассовая междоменная маршрутизация (Classless Inter-Domain Routing, CIDR)
Разновидность маскирования подсетей, при которой упраздняется четкая дифференциация между сетевой и хостовой частью адреса по границам октета; вместо этого используется префиксная нотация /п, где п обозначает количество разрядов в сетевой части данного адреса.
Бесконечность (infinity)
В маршрутизации так называется максимальное количество транзитов, через которые может пройти пакет до того, как он будет отвержен. В IP-пакете для определения оставшегося времени жизни пакета применяется поле Time То Live (TTL, время жизни).
"Беспорядочный" режим (promiscuous mode)
Режим функционирования сетевой интерфейсной карты и ее драйвера, предназначенный для захвата широковещательных и многоадресных пакетов, пакетов, отсылаемых другим устройствам, а также пакетов, содержащих ошибки.
Бессвязная целостность (connectionless integrity)
В IPSec и подобных режимах защиты так называется способность обеспечения целостности вне самого соединения.
Брандмауэр (firewall)
Сетевое пограничное устройство, размещаемое между общедоступной и частной сторонами сети; обеспечивает множество служб фильтрации и
854
Гпоссарий
проверки, гарантируя наличие только санкционированного входящего и исходящего трафика (термин позаимствован от обозначения устройства, предназначенного специально для блокировки распространения огня в домах и автомобилях).
Буфер слежения (trace buffer)
Область в памяти или на жестком диске, выделенная для хранения пакетов, захваченных из сети анализатором протоколов.
Буферная область TCP
Область организации очередей, в которой удерживаются входящие и исходящие пакеты протокола TCP. Если в таком пакете установлен флаг PUSH, он не может удерживаться в исходящей или входящей буферной области.
В
Ведущий сервер (master server)
См. Первичный DNS-cepeep.
Вектор дистанции (distance vector)
Исходная точка или местоположение, по отношению к которым выполняется измерение расстояния до другой сети.
Взломщик (cracker)
Человек, пытающийся проникнуть в систему, выдавая себя за полномочного пользователя или применяя другие методы преодоления защиты, которые далеко не всегда требуют серьезных системных знаний.
Виртуальное соединение (virtual connection)
Логическое соединение между двумя одноранговыми узлами TCP. Виртуальное соединение требует возможности сквозного сообщения.
Вирус (virus)
Код, распространяющийся по компьютеру с целью модификации или уничтожения файлов.
Внеполосное управление (out-of-band management)
Схема управления, в которой для обмена управляющей информацией протокола SNMP применяется путь, отличный от информационного. По этой причине данные внеполосного управления могут доходить до управляющего устройства даже в тех ситуациях, когда первичный информационный путь становится недоступным.
Внешний агент (foreign agent, FA)
Объект в схеме Mobile IPv4, отсутствующий в протоколе IPv6.
Гпоссарий
855
Внешние шлюзовые протоколы (Exterior Gateway Protocols, EGPs)
Исходно предназначенные для применения в сети Internet. К ним относятся в частности протоколы EGP и BGP.
Внешняя запись маршрута (external route entry)
Запись маршрута, полученная из другой области.
Внешняя сеть (foreign network)
Сеть, префикс которой отличается от префикса собственной сети мобильного пользователя.
Внутренние шлюзовые протоколы (Interior Gateway Protocol, IGP)
Протоколы маршрутизации, применяемые в пределах автономных систем.
Внутренняя запись маршрута (internal route entry)
Запись маршрута, полученная из той же области, в которой находится данное вычислительное устройство.
Внутридоменные протоколы маршрутизации (intra-domain routing protocols)
Протоколы маршрутизации, обеспечивающие обмен маршрутной информацией между отдельными автономными системами.
Внутриполосное управление (in-band management)
Схема управления, в которой в качестве основного пути передачи управляющих данных применяется информационный путь. Основная проблема, связанная с внутриполосным управлением, состоит в том, что данные не могут достичь управляющего устройства в то время, когда информационный путь не функционирует.
Временная синхронизация (time synchronization)
Процесс получения одинакового времени на разных хостах. Обеспечивается синхронизирующим сетевым протоколом (Network Time Protocol, NTP).
Временный порт (temporary port)
Порт, применяемый во время работы соединения. Номера портов, присваиваемые временным портам, также называются динамическими (или эфемерными) номерами портов.
Время жизни (Time to Live, TTL)
Обозначение расстояния, которое может пройти пакет. Теоретически выражаемое в секундах, значение TTL реализуется в других единицах — количестве транзитов, которые может совершить пакет прежде, чем будет отвергнут маршрутизатором.
Время истечения периода выделения (lease expiration time)
Окончание периода выделения. Если к этому времени DHCP-клиент не осуществил продление или повторное присвоение своего адреса, он должен освободить этот адрес и провести повторную инициализацию.
856
Гпоссарий
Всемирное время (Universal Time, UT)
См. Среднее время по Гринвичу (GMT)', другие названия — всемирное координированное время (Universal Coordinating Time, UCT) и зулусское время (Zulu Time).
Вторичный DNS-сервер
DNS-сервер, содержащий копию базы данных домена или субдомена, а также копии соответствующих файлов зоны. Все эти объекты он должен синхронизировать с данными, содержащимися на первичном сервере, отвечающем за данный домен или субдомен.
Вторичный ведущий сервер (secondary master server)
См. Вторичный DNS-cepeep.
Входящая фильтрация (ingress filtering)
Процесс наложения ограничений на трафик, входящий в сеть.
Выборочное подтверждение (Selective Acknowledgement, SACK)
Этот метод определяет способы идентификации узлом TCP отдельных успешно полученных сегментов. Эта возможность специфицируется в документе RFC 2018.
Выпадающие пакеты (out-of-order packets)
Пакеты, прибывающие в порядке, отличном от определяемого порядковыми номерами. Когда хост TCP получает выпадающие пакеты, он отсылает резервные подтверждения, указывая, что пакеты прибыли в неправильном порядке.
Выравнивание нагрузки (load balancing)
Метод распределения нагрузки, связанной с выполнением запросов на службы, подразумевающий направление отдельных запросов нескольким машинам, причем количество запросов на каждой машине должно быть примерно одинаковым (настолько, настолько это возможно).
Выталкивание (pull)
Метод репликации серверных данных, при котором их передачу инициирует получатель, тем самым "выталкивая" данные из их исходного источника.
Г
Генератор символов (Character Generator, Chargen)
Базовая служба TCP/IP, использующая порт 19 протоколов TCP и UDP. В ответ на любое сообщение с запросом сервер Chargen генерирует произвольный поток символов; это делается для тестирования возможности обработки запросов.
Гпоссарий
857
Гетерогенная среда (heterogeneous environment)
Сетевая среда, состоящая из разнородного оборудования, часто от разных производителей.
Гипермедиа (hypermedia)
Компьютерное представление данных различного типа, в котором автоматически поддерживаются смысловые связи между выделенными понятиями, объектами или разделами. Расширение понятия гипертекста, обеспечивает возможность связывать графические, видео- и звуковые элементы, равно как и текст.
Главный маршрутизатор (master router)
В маршрутизации на основе состояния канала так называется маршрутизатор, распространяющий свое представление базы состояния канала среди подчиненных маршрутизаторов.
Грубая атака (brute force attack)
Атака, обычно состоящая из множества запросов на обслуживание. Цель атаки этого типа состоит в перегрузке ресурсов жертвы, включая центральный процессов, доступ к дискам и другие локальные ресурсы.
Грубая парольная атака (brute force password attack)
Систематическая попытка угадать все возможные строки паролей в целях вторжения в систему. В ходе такой атаки пробуются буквально все потенциальные сочетания символов, которые могут представлять собой действительный пароль. Подобные атаки зачастую занимают много времени и обычно могут быть выявлены и предотвращены системами обнаружения вторжений (IDS).
Группируемый глобальный однонаправленный адрес (aggregatable global unicast address).
Структура таких 1Ру6-адресов предполагает разделение левых 64 бит адреса на явные поля, оптимизирующие маршрутизацию. В частности, это позволяет "группировать" пути к этим адресам, т. е. сочетать их в единой записи таблицы маршрутизации.
Групповое имя (community name)
Слово, применяемое в качестве пароля доступа к информации только для чтения (мониторинга), чтения и записи (управления) или предупреждения (ловушек). Также называется строкой.
Групповой адрес (multicast address)
Один из группы адресов, зарезервированной для отсылки одного сообщения множеству интерфейсов или узлов. Члены групп по интересам подписываются на групповые адреса, чтобы получать обновления маршрутов, потоковые данные (видео-, аудио-, телеконференции) и другую
858
Гпоссарий
информацию. В протоколе IPv4 для широковещания зарезервирована группа адресов класса D. В протоколе IPv6 все групповые адреса начинаются с OxFF. Контролирует эти адреса организация по присвоению имен и номеров в сети Internet (ICANN) при поддержке Агентства по выделению имен и уникальных параметров протоколов Internet (IANA).
д
Двойной стек (dual stack)
Две различные реализации одного протокола, например — IPv4 и IPv6. При переходе от протокола IPv4 к IPv6 несколько маршрутизаторов и хостов должны работать в двухстековом режиме, обеспечивая возможность взаимодействия в сетях обоих типов.
Двунаправленный (bidirectional)
Проходящий в двух направлениях. Двунаправленный трафик передается туда и обратно. В случае с сообщениями HTTP данные отсылаются сервером клиенту, а запросы — клиентом серверу.
Двухсторонний процесс квитирования (two-way handshake)
Двухпакетное квитирование, завершенное не полностью. Этот процесс свидетельствует об атаке TCP SYN.
Двухточечная передача (point-to-point transmission)
Вид сетевой передачи, при которой пары устройств устанавливают канал связи для обмена данными друг с другом; это наиболее распространенный тип соединения, применяемый при сообщениях с поставщиками доступа к Internet.
Двухточечное соединение (point-to-point)
Тип соединения Канального уровня, при котором канал устанавливается и функционирует лишь между двумя сторонами (отправителем и получателем).
Действительные данные (valid data)
Данные, следующие за заголовками, но не содержащие набивки (т. е. заполнения блока данных незначащей информацией) и другой посторонней информации.
Дейтаграмма (datagram)
Базовый модуль данных протокола на уровне доступа к сети TCP/IP. Применяемая протоколами без установления соединения на Транспортном уровне, дейтаграмма просто добавляет заголовок к модулю данных протокола, предоставленному любым протоколом или службой без установления соединения Прикладного уровня, например, протокол UDP; именно поэтому протокол UDP часто называют службой дейтаграмм.
Гпоссарий
859
Декодирование (дешифрование) (decoding)
Процесс интерпретации полей и содержимого пакета, и представления их в читаемом формате.
Делегирование полномочий (delegation of authority)
Принцип, в соответствии с которым один сервер имен поручает другому серверу имен обрабатывать некоторые или все файлы зон домена или субдоменов, находящихся в его компетенции. Запись сервера имен DNS (NS) обеспечивает механизм указания, с помощью которого серверы имен и осуществляют делегирование полномочий.
Демилитаризованная зона (demilitarized zone, DMZ)
Промежуточная сеть, расположенная между границей внутренних сетей организации и одной или несколькими внешними сетями, такими как Internet. DMZ обычно отделяется от внешних сетей с помощью фильтрующего маршрутизатора, а от внешних сетей — с помощью фильтрующего маршрутизатора и брандмауэра.
Демон (daemon)
Компьютерный процесс, предназначенный для "прослушивания" попыток соединения с одной или несколькими определенными сетевыми службами и передачи всех действительных попыток временным соединениям, также известным под названием сокетных попыток. Термин "демон" заимствован из известной физической концепции Кларка Максвелла.
Демультиплексирование (demultiplexing)
Процесс разделения единого потока входящих пакетов и направления его компонентов различным активным процессам TCP/IP на основе сокетных адресов в заголовках TCP или UDP.
Дерево объектов (object tree)
Древоподобная структура, описывающая и организующая управляемые объекты в базе управляющей информации.
Дешифрование (decryption)
Процесс "разблокирования" зашифрованных данных, т. е. их представления в читаемом виде.
Диаметр сети (network diameter)
Количество транзитов, которое может обеспечить протокол маршрутизации; сетевой диаметр протокола маршрутной информации (RIP) равен 15 транзитам; большинство других протоколов маршрутизации (таких как OSPF и BGP) характеризуются неограниченным сетевым диаметром.
860
Гпоссарий
Динамически назначаемый адрес порта (dynamically assigned port address)
Временный номер порта протоколов TCP или UDP, выделяемый для того, чтобы клиент и сервер могли обмениваться данными во время активного соединения. Также называется динамическим номером порта.
Динамически подключаемая библиотека (dynamic link library, DLL)
Блок исполнимого кода (или данных), применяемый другими приложениями Windows для выполнения конкретной функции или набора функций.
Динамический номер порта (dynamic port number)
Временный номер порта, применяемый лишь для одного процесса связи. Эти номера портов очищаются через четыре минуты после закрытия соединения.
Динамическое выделение адресов (dynamic address lease)
Разновидность выделения адресов службой протокола DHCP, при которой каждое назначение адреса выполняется на определенный период, поэтому выделение адреса необходимо продлевать до истечения этого периода; в противном случае выделяется новый адрес. Динамически адреса выделяются клиентским машинам, для которых стабильность IP-адресов непринципиальна.
Дистанционно-векторный протокол маршрутизации (distance vector routing protocol)
Протокол маршрутизации, использующий информацию о расстояниях между сетями и пренебрегающий данными о времени передачи трафика из сети источника в сеть назначения. Дистанционно-векторным протоколом маршрутизации является RIP.
Дифференцированные службы (Differentiated Services, diffserv)
Название рабочей группы IETF, занимающейся исследованиями в этой области.
Домен (domain)
1. В сети Internet доменом называется любая совокупность иерархически организованных групп хостов, IP-адреса которых обычно (но необязательно) являются смежными. В качестве примеров можно привести международные домены .сот и .net, а также местные домены ,fr (Франция) и .uk (Великобритания).
2. В Windows NT и Windows 2000 доменом называется определяемая пользователем группа, в которую может входить множество компьютеров и рабочих групп.
Доменное имя (domain name)
Символическое имя сетевого ресурса TCP/IP; служба доменных имен (Domain Name System, DNS) преобразует такие имена в числовые IP-
Гпоссарий
861
адреса, обеспечивая корректную адресацию исходящего трафика. Управление доменными именами осуществляется несколькими частными и государственными организациями по всему миру.
Доменный режим (per-domain behavior, PDB)
В дифференцированной службе так называется класс дескрипторов доступных уровней обслуживания или способ описания объектов, предлагающих эти службы — в данном случае, "домен". В пределах такого домена обеспечивается указанный уровень обслуживания, меняющийся на границе домена. Доменные режимы доступны во всех транзитах данного домена.
Доставка "без обязательств" (best-effort delivery)
Простой сетевой транспортный механизм, при котором доставку модулей данных протокола (PDU) от отправителя к получателю обеспечивают устройства Сетевого, Канального и Физического уровней, причем дополнительных средств обеспечения выносливости и надежности не предусматривается; доставка без обязательств применяется протоколом UDP.
Достижимость (reachability)
Возможность нахождения хотя бы одного пути передачи между парой хостов с тем, чтобы они могли обмениваться дейтаграммами по объединенной сети.
Доступность (available)
Качество, подразумевающее быстрое реагирование на пользовательские запросы на службы. DNS поддерживает использование множества серверов имен и кэширование, что позволяет повысить доступность данных базы; тщательная конфигурация DNS-клиентов дает им возможность равномерно распределять запросы, таким образом выравнивая нагрузку на обработку. По сути, это делает службу DNS доступной для всех пользователей.
Доступные маршруты (available routes)
Известные функциональные маршруты в объединенной сети. Доступные маршруты необязательно являются оптимальными. В IP-сетях маршрутизаторы периодически объявляют доступными маршруты.
Драйвер Канального уровня (Data Link driver)
Программное обеспечение, позволяющее сетевой интерфейсной плате взаимодействовать с локальной операционной системой. Перед передачей фрейма сетевой интерфейсной плате драйвер Канального уровня помещает этот фрейм (за исключением CRC) поверх IP-дейтаграммы и обеспечивает необходимую длину пакетов. Что касается входящих фрей
862
Гпоссарий
мов, драйвер Канального уровня анализирует поле идентификации протокола и передает пакет соответствующему стеку протоколов.
Древовидная структура (tree structure)
Тип структуры данных, примером которого может послужить листинг содержимого жесткого диска. В этой структуре контейнер в целом служит в качестве корня, а подконтейнеры могут содержать либо другие подконтейнеры более низкого уровня, либо экземпляры любых объектов, существующих в пределах контейнера. Иерархия доменных имен представляет собой инвертированную древовидную структуру, т. к. на схемах корень обычно изображается вверху.
Дублированный IP-адрес (duplicate IP address)
IP-адрес, который уже присвоен другому IP-хосту. При загрузке 1Р-хосты должны производить проверку дублирования адресов, обеспечивая уникальность собственного IP-адреса. Если этот адрес уже используется, IP-стек локального хоста не инициализируется.
Дублирующие пакеты подтверждения (duplicate ACKs)
Набор идентичных пакетов подтверждения (АСК-пакетов), отсылаемых отправителю TCP с указанием получения выпадающих пакетов. По получении дублирующих (резервных) пакетов подтверждений отправитель осуществляет повторную передачу данных, не дожидаясь истечения таймера повторной передачи.
Дыра (hole)
Слабое место в системе защиты системы или программы, делающее недействительным или игнорирующее настройки и ограничения безопасности этой системы или программы.
Ж
Жертва (victim)
Объект атаки. Интересно, что при исполнении мобильного кода и червей жертвы сами становятся инициаторами атаки, позволяя нераспознанному и неискорененному коду инфицировать другие компьютеры.
Журнал регистрации (log)
Файловая запись системной активности и событий, относящихся к определенной программной системе (например, к серверу или брандмауэру). "Посмертное" исследование журналов регистрации иногда бывает необходимо для определения подписей атаки и степени компрометации системы после успешного выполнения этой атаки.
Гпоссарий 863
3
Завершитель пакета (packet trailer)
См. Концевик.
Заголовок (header)
Часть модуля данных протокола, предшествующая его фактическому содержанию; обычно идентифицирует отправителя, получателя и применяемые протоколы; кроме того, содержит другую информацию, необходимую для организации контекста отправителя и получателя.
Заголовок пакета (packet header)
См. Заголовок.
Задержка TIME WAIT (Time Wait delay, задержка ожидания перед повторным использованием параметров)
Период времени после закрытия соединения, в течение которого хост TCP не должен испцльзовать его параметры.
Заимствование прав пользователя (user impersonation)
Методика атаки системы или сети, при которой неуполномоченный пользователь для получения доступа предоставляет действительные полномочия, по праву принадлежащие другому, зарегистрированному пользователю; получив доступ, он пользуется всеми правами и полномочиями зарегистрированного пользователя. (Именно поэтому заимствование прав и полномочий администратора является конечной целью любой атаки этого типа.)
Замкнутая объединенная сеть (looped internetwork)
Субоптимальное состояние в объединенной сети, в результате которого пакет проходит по сетевому сегменту более одного раза. Протоколы маршрутизации пытаются предотвращать такие циклы, но когда они все-таки случаются, маршрутизаторы перенаправляют пакет до того момента, пока его время жизни не придет к нулю.
Запись канонического имени (canonical name record, CNAME)
Запись ресурса DNS, применяемая для определения псевдонимов баз данных; в первую очередь это делается для того, чтобы облегчить и ускорить редактирование и управление файлами зон DNS.
Запись маршрута сети (network route entry)
Запись в таблице маршрутизации, содержащая указание на маршрутизатор следующего транзита для определенной сети.
Запись маршрута хоста (host route entry)
Запись в таблице маршрутизации, содержащая все четыре байта пункта назначения. В записи маршрута к сети содержатся лишь сетевые разряды адреса назначения.
864
Гпоссарий
Запись начала полномочий (Start Of Authority, SOA)
Запись ресурса службы DNS, присутствие которой обязательно в каждом файле зоны DNS. Идентифицирует сервер (серверы), являющийся ответственным за домен или субдомен, к которому относятся файла зоны или база данных.
Запись ресурса (resource record, RR)
Один из нескольких предопределенных типов записей в базе данных или файле зоны DNS.
Запись сервера имен (name server record, NS)
Запись ресурса DNS, идентифицирующая серверы имен, которые являются ответственными за конкретный домен или субдомен. Часто используется как механизм делегирования полномочий на субдомены DNS, находящиеся на более низком уровне иерархии доменных имен.
Запись указателя (pointer record, PTR)
Запись ресурса DNS, применяемая для привязки числовых IP-адресов к доменным именам при выполнении операций обратного поиска.
Запись хорошо известных служб (Well-Known Services record, WKS)
Запись ресурса DNS, описывающая хорошо известные IP-службы, присутствующие на хосте (например, Telnet, FTP и др.). Сегодня записи WKS намного менее доступны для посторонних, чем были когда-то, т. к; в них содержится информация о хостах, которые потенциально могут стать жертвами атаки.
Запись хостовой информации (host information record, HINFO)
Запись ресурса DNS, в которой содержится информация об определенном хосте, который обозначается его доменным именем.
Заполнитель (pad)
Байты, помещаемые в конец поля Ethernet Data для обеспечения соответствия требованиям минимальной длины этого поля — 46 байт. Эти байты не имеют никакого значения и отвергаются входящим канальным формирователем во время обработки пакета.
Запрос адреса (address request)
Запрос службы DNS для получения IP-адреса, соответствующего данному доменному имени.
Запрос имени (name query)
Обратный DNS-запрос, направленный на получение доменного имени исходя из соответствующего числового 1Р-адреса.
Запрос на связывание (binding request)
В протоколе Mobile IP так называется сообщение, отсылаемое (обычно корреспондентом) мобильному пользователю с запросом о предоставлении данных о его текущем удаленном адресе СОА и собственном адресе.
Гпоссарий
865
Зарегистрированные номера портов (registered port number)
См. Зарегистрированный порт
Зарегистрированный порт (registered port)
Номер порта протоколов TCP или UDP в диапазоне от 1024 до 65 535, связываемый с определенным протоколом или службой Прикладного уровня. Агентство по выделению имен и уникальных параметров протоколов Internet (IANA) размещает список зарегистрированных номеров портов на своем сайте по адресу http://www.iana.org.
"Затемнение" расширения файла (file extension obfuscation)
Процесс сокрытия расширения файла путем помещения фальшивого расширения перед фактическим. К примеру, в сообщениях электронной почты ILOVEYOU содержалось вложение под названием "LOVE-LETTER-FOR-YOU.TXT.vbs". В системах, настройки которых позволяют скрывать расширение, этот файл кажется текстовым и признается безопасным.
Затребованный адрес узла (solicited node address)
Групповой адрес с областью действия внутри локального канала, способствующий уменьшению количества многоабонентских групп, на которые узлы должны подписываться, чтобы обеспечить другим узлам локального канала возможность обращения к себе. Затребованный адрес узла принимает форму FF02:0:0:0:0:l:FFxx.xxxx, где "хх.ххх" — это младшие (крайние справа) 24 бита однонаправленного или альтернативного адреса, связанного с данным интерфейсом.
Зашифрованный текст (ciphertext)
Результат шифрования открытого текста.
Защита от воспроизведения (protection against replays)
Способность проводить различие между "живым" трафиком из надежного источника и копиями такого трафика, замаскированными под достоверные сообщения. Защита от воспроизведения обычно базируется на нумерации и проверке последовательностей пакетов.
Защитный шлюз (security gateway)
В IPSec так называется маршрутизатор, применяющий защищенные соединения и обеспечивающий защищенную и аутентифицированную маршрутизацию другого трафика IPSec.
Звездообразная топология (physical star design)
Физическая топология сети типа "звезда" подобна кольцевой сети с маркерным доступом, но отличается от нее тем, что все устройства с помощью кабеля подсоединяются к центральному устройству, такому как коммутатор (switch) или концентратор (hub). Тем не менее, в логическом
866
Гпоссарий
отношении такая сеть с маркерным управлением — это действительно кольцо, действующее на основе канала передачи пакетов.
Злонамеренный код (malicious code)
Программа, написанная с целью повреждения или нарушения операций на хосте.
Значение времени жизни (lifetime value)
Период времени, в течение которого пакет может оставаться в сети. По истечении времени жизни маршрутизаторы отвергают пакеты.
Значение смещения данных (data offset value)
Число, обозначающее количество бит или байт в пределах поля или полезной нагрузки, в которой начинается интересующая информация; выполняет роль "указателя начала" определенных элементов данных в пакетах.
Зона (zone)
Часть иерархии доменных имен, соответствующая сегменту базы данных, который управляется одним или несколькими серверами имен.
И
Идентификатор интерфейса (interface identifier)
В схеме IPv6-адресации младшие разряды однонаправленных и альтернативных адресов зарезервированы для размещения битовой строки, уникально идентифицирующей конкретный интерфейс — либо глобально, либо (как минимум) локально.
Идентификатор клиента (Client Identifier)
Идентификационный номер, применяемый DHCP-сервером для отслеживания клиента, его IP-адресов, периода выделения и других параметров. Обычно в качестве значения идентификатора клиента применяется его аппаратный адрес.
Идентификатор области действия (scope identifier)
В протоколе IPv6 так называется 4-битное поле, ограничивающее действительный диапазон группового адреса. В групповых адресах протокола IPv6 определяются не все значения, но среди определяемых — области действия в пределах локального узла и локального канала. Групповые адреса недействительны за пределами определенной области действия, и их перенаправление за границы этой области невозможно.
Идентификатор объекта (object identifier, О ID)
Последовательность неотрицательных целочисленных значений, применяемая для обращения к отдельно взятому объекту в базе управляющей информации.
Гпоссарий
867
Идентификация протокола (protocol identification, PID)
Служба дейтаграмм, применение которой необходимо в таких случаях, когда отдельно взятый протокол переносит несколько других протоколов во время одного соединения (так может делать протокол РРР на Канальном уровне). Идентификация протоколов позволяет различать отдельные полезные нагрузки дейтаграмм на основании содержащихся в них типов протоколов.
Иерархия доменных имен (domain name hierarchy)
Глобальное пространство доменных имен, управляемое в сети Internet службой DNS. В это пространство входят все зарегистрированные и активные (т. е. действительные и годные к употреблению) доменные имена.
Индекс параметров безопасности (Security Parameters Index, SPI)
В IPSec так называется значение, которое, наряду с протоколом защиты и адресом назначения, уникально определяет ассоциацию безопасности.
Инициатор атаки (attacker)
Фактический источник последовательности атаки. В ходе атаки DDoS искусные инициаторы могут скрываться за обработчиками и посредниками.
Инкапсулированная полезная нагрузка безопасности (Encapsulating Security Payload, ESP)
Заголовок 1Ру6-пакета и/или протокол защиты, применяющий этот заголовок расширений. В системе IPSec ESP выполняет шифрование.
Инкапсуляция (encapsulation)
Вложение данных протоколов более высокого уровня между заголовком и (необязательным) концевиком текущего уровня в целях идентификации отправителя и получателя, а если это возможно, и для включения информации о проверке целостности данных.
Инкапсуляция данных (data encapsulation)
Методика, посредством которой данные протокола более высокого уровня помещаются в полезную нагрузку более низкого протокольного блока и маркируются заголовком (а возможно, и концевиком), чтобы такой модуль данных протокола можно было благополучно передать от отправителя к получателю. На Канальном уровне выполняется необходимое установление границ, адресация, разрядная проверка целостности и идентификация протоколов в заголовке и концевике.
Инструменты атаки (attack tools)
Любой набор программных средств, который может быть использован злоумышленником для осуществления попытки атаки на систему или
868
Гпоссарий
сеть. Сетевым и системным администраторам следует самим обзаводиться такими средствами и обеспечивать их неработоспособность при попытках вторжения неуполномоченных пользователей в неконтролируемых ситуациях.
Интуитивный (наглядный) интерфейс (intuitive interface)
Интерфейс, все элементы которого самоочевидны; для пользования таким интерфейсом не требуется специальных знаний.
Информационный/контролирующий формат
Формат на основе соединений, применяемый пакетами управления логическим соединением.
Информация о достижимости Сетевого уровня (Network Layer Reachability Information, NLRI)
Информация о доступных сетях, а также о маршрутизаторах, посредством которых эти сети могут быть достигнуты. Такую информацию собирают, координируют и распространяют между маршрутизаторами и другими устройствами протоколы маршрутизации.
Исторический стандарт (Historic Standard)
Документ RFC, замененный более новой и современной версией.
Исходный номер порта
Адрес порта для отправителя модуля данных протокола TCP или UDP.
Исходящая фильтрация (egress filtering)
Процесс наложения ограничений на трафик, выходящий из сети.
Итеративный запрос (iterative query)
DNS-запрос, направленный одному конкретному DNS-серверу и ограничивающийся любым ответом, будь то точный ответ, сообщение об ошибке, "нулевой" ответ (без предоставления информации), или ссылка на другой сервер имен.
К
Кабельный модем (cable modem)
Устройство связи, предназначенное для отправки и получения сетевых сигналов (в основном для доступа в Internet) через два канала данных в широкополосной сети кабельного телевидения. Несмотря на то, что кабельные телевизионные линии обеспечивают пропускную способность до 27 Мбит/с, чаще всего пользователи кабельных модемов работают на скорости 1,5 Мбит/с (это скорость передачи данных локального провайдера).
Гпоссарий	869
Канал передачи "логическое кольцо" (logical ring transmission path)
Канал передачи, применяемый в сетях с маркерным (эстафетным) доступом, где пакеты передаются обратно в кольцо и переходят от одной станции кольца к другой в логическом и последовательном порядке.
Канальный уровень (Data Link layer)
2-й уровень сетевой эталонной модели ISO/OSI; Канальный уровень обеспечивает надежную передачу данных через Физический уровень на отправляющем конце, и проверяет надежность по прибытии данных на принимающем конце.
Качество обслуживания (Quality of Service, QoS)
Специальный уровень гарантии работы служб, связанный с протоколами Прикладного уровня, при котором временные требования для данных (например, голоса или видео) предполагают специальные нормы контроля задержки при доставке видимых или слышимых потоков данных.
Клиент/сервер (client/server)
Тип взаимоотношения между двумя хостами, при котором один запрашивает службы (клиент), а другой отвечает на эти запросы (сервер); эти роли редко изменяются, а иногда — не изменяются вообще.
Ключ (key)
В криптографии так называется секретный блок данных, применяемый при шифровании или кодировании информации. Ключи применяются вместе с преобразованием.
Командное соединение (command connection)
Соединение, по которому передаются только команды и ответы на них. Сами данные по такому соединению не передаются.
Коммутатор Сетевого уровня (layer-3 switch)
Специальное сетевое устройство, сочетающее функции управления сетью, концентратора и маршрутизатора. Позволяет создавать и управлять множеством виртуальных подсетей в пределах одного устройства, обеспечивая чрезвычайно высокую пропускную способность при отдельных соединениях между парами устройств, подсоединенных к нему.
Коммутация каналов (circuit switching)
Метод связи, при котором временное или постоянное соединения между отправителем и получателем (называемое каналом) создаются в рамках систем коммутации носителя связи. Так как временные каналы постоянно появляются и исчезают, каналы все время коммутируются — отсюда и термин.
870
Глоссарий
Компьютерная экспертиза (computer forensics)
Процесс исследования "следов", оставленных инициатором атаки. Среди областей, представляющих интерес, — временные файлы (удаленные файлы, оставшиеся в Корзине или в обратимом состоянии) и локальная системная память.
Контроль действий персонала (personnel security)
Подход к обеспечению безопасности, предполагающий информирование пользователей о требованиях защиты, обучение их надлежащему применению политик безопасности, процедур и установленных порядков.
Контроль неисправностей (Fault Management)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; отвечает за обнаружение и регистрацию сетевых и системных проблем, и при возможности исправляет их.
Контроль перегрузок (congestion control)
Механизм TCP, также присутствующий в других протоколах, позволяющий сетевым хостам обмениваться информацией об их способности обрабатывать трафик некоей интенсивности; в результате отправители сокращают или увеличивают частоту и размер текущих сообщений.
Контроль производительности (Performance Management)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI. Контроль производительности отвечает за измерение и текущий контроль уровней трафика, использования и других статистических параметров поведения сети и системы.
Контрольная сумма (checksum)
Специальное математическое значение, представляющее содержимое сообщения с предельной точностью, так что любое изменение этого содержимого повлечет за собой изменение контрольной суммы; она вычисляется до и после передачи данных, а затем два результата сравниваются; если они согласуются, передача данных признается безошибочной.
Контрольная точка (checkpoint)
Точка во времени, в которой все состояние системы и ее информация фиксируются и сохраняются, так что при любом последующем повреждении системы или неудаче в соединении будет возможно восстановление в этой контрольной точке без дальнейшей потери данных или информации.
Конфигурационное управление (Configuration Management)
Одна из задач управления, выполняемая на одоименном уровне модели сетевого управления OSI; осуществляет документирование и регулирование сетевых и системных конфигурационных данных.
Гпоссарий
871
Конфиденциальность (confidentiality)
Способность ограничивать доступ к ресурсу всех пользователей, кроме полномочных. Обычным методом обеспечения конфиденциальности является шифрование, с помощью которого данные визуализируются таким образом, что они становятся непригодными без нужных ключей и алгоритма.
Конфиденциальность ограниченного потока трафика (limited traffic flow confidentiality)
В IPSec так называется способность предотвращать анализ трафика посредством сокрытия пути, скорости, источника, назначения и объема трафика между корреспондентами.
Конфликтный фрагмент Ethernet
Дефектный сетевой трафик, представляющий собой бессвязную смесь сигналов, образованный в результате наложения двух пакетов, передаваемых примерно в одно время.
Концевик (trailer)
Необязательная завершающая часть модуля данных протокола (PDU), обычно содержащая информацию о результатах проверки целостности данных в предшествующей части этого модуля.
Концентрация (группирование) маршрутов (route aggregation)
Разновидность анализа IP-адресов, позволяющая маршрутизаторам демонстрировать общую заинтересованность определенным сетевым префиксом, представляющим "общую часть" ряда сетевых IP-адресов. В результате уменьшается общее число позиций в отдельных таблицах маршрутизации.
Корень (root)
Высший уровень иерархии доменных имен; в обозначении полностью определенных имен доменов корень обозначается точкой на конце. Корневые DNS-серверы связывают вместе все разнообразные компоненты иерархии доменных имен и обеспечивают разрешение имен, если другими средствами оно неосуществимо.
"коротышки" (runts)
См. Маломерные пакеты.
Кэширование (caching)
Хранение локальных копий удаленной информации после ее первоначального получения; в результате доступ к ней осуществляется намного быстрее. Данные DNS кэшируются как распознавателями, так и серверами, что позволяет снизить частоту издания удаленных запросов на разрешение.
872
Гпоссарий
Кэширующий сервер (caching server)
DNS-сервер, хранящий действительные пары имен и адресов, поиск которых уже производился, наряду с выявленными недействительными адресами и именами. Кэшировать данные может любой DNS-сервер: первичный, вторичный и специальный кэширующий.
Лимит времени на повторную передачу (retransmission timeout, RTO)
Временное значение, определяющее, когда хост TCP должен осуществить повторную передачу пакета после его потери. Значение RTO экспоненциально увеличивается после явной потери соединения.
Логическое соединение (logical connection)
Виртуальное соединение между хостами, иногда называемое каналом. Для установления логического соединения между равноправными узлами TCP используется процесс квитирования.
Локальная сеть (local area network, LAN)
Отдельный сегмент сетевого кабеля, подсеть или логическое сетевое сообщество, представляющее собой совокупность машин, имеющих возможность относительно прямого взаимодействия друг с другом (с помощью МАС-адресов).
Локальный процесс (local process)
Процесс или поток выполняемых задач, исполняемый на локальном хосте (не предполагающий удаленного исполнения или режима работы).
М
Магистральная область (backbone area)
Обязательная область, к которой все остальные маршрутизаторы должны быть подсоединены либо напрямую, либо посредством туннеля.
Максимальная единица передачи маршрута (Path Maximum Transmission Unit, PMTU)
Единица передачи, поддерживаемая на всем протяжении пути; общий знаменатель единиц передачи маршрута. Определяется с помощью процесса поиска максимальной единицы передачи маршрута.
Максимальный размер сегмента (Maximum Segment Size, MSS)
Максимальное количество данных, которое может уместиться в пакете протокола TCP после его заголовка. В течение процесса квитирования одноранговые TCP-узлы обмениваются этой информацией.
Гпоссарий
873
Маломерные пакеты (undersized packets)
Пакеты, размер которых меньше, чем требуется; обычно указывают на потенциальные проблемы с аппаратной частью или драйверами.
Маркер (token)
Специальная последовательность полей, указывающая на то, что устройство сети с маркерным (эстафетным) доступом имеет право на передачу фрейма данных в сетевую среду.
Маршрут хоста (host route)
Запись в таблице маршрутизации с 32-битной маской подсети, предназначенная для достижения определенного сетевого хоста.
Маршрутизатор границ автономных систем (Autonomous System Border Router, ASBR)
Маршрутизатор, который соединяет независимую область маршрутизации (AS) с другой такой областью или с сетью Internet.
Маршрутизатор границ областей (Area Border Router, ABR)
Маршрутизатор, предназначенный для соединения отдельных областей.
Маршрутизатор следующего транзита (next-hop router)
Локальный маршрутизатор, применяемый для маршрутизации пакета в следующую сеть в соответствии с указанным путем.
Маршрутизатор типа "черная дыра" (black hole router)
Маршрутизатор, который по какой-то причине не может пересылать пакеты (например, из-за неподдерживаемого размера PMTU) и не оповещает источник о неудаче сообщения. Для обнаружения "черных дыр" и восстановления после ошибок сообщений, произошедших по их вине, IP-хостам обычно нужны дополнительные возможности.
Маршрутизация (routing)
Процесс, посредством которого пакет доставляется от отправителя получателю по известным путям (маршрутам) от отправляющей сети к принимающей сети.
Маршрутизация внутри автономных систем (intra-autonomous system routing)
В терминологии протокола BGP так называется способность выполнять маршрутизацию в пределах автономной системы.
Маршрутизация между автономными системами (inter-autonomous system routing
В протоколе BGP обозначает способность маршрутизации между разными автономными системами.
874
Гпоссарий
Маршрутизация по требованию (On-Demand Routing, ODR)
Функция с низкими накладными расходами, обеспечивающая IP-маршрутизацию узлов в сети, имеющей топологию "звезда". Каждый маршрутизатор поддерживает и обновляет в своей таблице маршрутизации записи только для тех хостов, чьи данные проходят через него; таким образом экономится пропускная способность и потребность в памяти.
Маршрутные циклы (routing loops)
Конфигурация сети, позволяющая пакетам циркулировать по ней. В дистанционно-векторных сетях для разрешения маршрутных циклов используются методы разделения горизонта и негативный отклик (poison reverse). Сети, использующие протокол OSPF, автоматически разрешают циклы путем определения оптимальных путей через объединенную сеть.
Маска подсети (subnet mask)
Специальная битовая комбинация, маскирующая сетевую часть IP-адресов единицами.
Маскирование подсетей маской постоянной длины (Constant-length subnet masking, CLSM)
Схема организации подсетей IP, при которой все подсети используют одну и ту же маску, которая, таким образом, разделяет фрагментированное адресное пространство на определенное количество равновеликих подсетей.
Маскирование подсети маской переменной длины (Variable-Length Subnet Masking, VLSM)
Схема организации подсети для IP-адресов, делающая возможным определение для сетевого префикса контейнеров разных размеров. Наибольшая подсеть определяет максимальный размер контейнера, и каждый отдельный контейнер в данном адресном пространстве может быть подразделен на еще более мелкие подконтейнеры (иногда называемые под-подсетями).
Междоменные протоколы маршрутизации (inter-domain routing protocols)
Протоколы маршрутизации, применяемые для обмена информацией между автономными системами.
Межсерверный трафик (server-to-server traffic)
Трафик между серверами, предоставляющими одну и ту же службу; обычно применяется для репликации и синхронизации копий данных между несколькими серверами. Что касается важнейших служб вроде DNS, этот трафик помогает обеспечить устойчивость и доступность данных.
Метрика (metrics)
Измерения, основанные на расстоянии (числе транзитов), времени (секундах) или других значениях.
Гпоссарий
875
Механизм обнаружения ошибок (error-detection mechanism)
Метод обнаружения поврежденных пакетов. Таким механизмом является процесс контроля при помощи циклического избыточного кода (CRC). Другим методом обнаружения ошибок является вычисление контрольной суммы IP-заголовка.
Механизм определения превышения лимита времени (timeout mechanism)
Метод определения момента времени, на котором следует прекратить повторную передачу данных через пакеты. Этот механизм состоит из счетчика попыток и максимального количества таковых.
Механизм повторной передачи (ретрансляции) (retry mechanism)
Метод обнаружения проблем соединения и повторной отправки данных по сети.
Микромобильность (micro-mobility)
Обычно связывается с Канальным уровнем (в иерархии ниже уровня IP). Обеспечивает связность с локальным каналом посредством беспроводного соединения. В качестве примеров можно привести автоматическое переключение мобильных телефонов, когда они переходят от одной базовой станции к другой, и сохранение идентичности ноутбуков во время их перемещения между точками доступа беспроводной локальной сети.
Миллисекунда (millisecond)
Одна тысячная секунды.
Многоадресный пакет (multicast packet)
Пакет, отправленный группе устройств, например — группе маршрутизаторов.
Многоканальный (multi-homed)
Содержащий множество сетевых интерфейсов, которые можно подсоединить к различным подсетям.
Множественные пути (multiple paths)
Несколько путей к одному пункту назначения. Множественные пути обычно характерны для ячеистых и топологически сложных сетей, таких как Internet. Они обеспечивают отказоустойчивость и повышают использование пропускной способности.
Мобильный код (mobile code)
Также называемый червем, мобильный ход переходит от машины к машине без вмешательства пользователя. Сообщения электронной почты ILOVEYOU содержали мобильный код, который с помощью локальной адресной книги рассылал самого себя всем перечисленным в ней адресатам.
876
Гпоссарий
Модуль данных протокола (Protocol Data Unit, PDU)
На любом уровне сетевой модели модуль данных представляет собой пакет данных на текущем уровне, включающий заголовок и полезную нагрузку, а в некоторых случаях и концевик.
Мультиплексирование (multiplexing)
Процесс, посредством которого множество отдельных потоков данных процессов Прикладного уровня объединяются для их передачи с помощью определенного транспортного протокола TCP/IP посредством протокола 1Р.
Мэйнфрейм (mainframe)
Универсальная ЭВМ большой мощности, обычно используемая одновременно многими пользователями, работающими на терминалах, подключенных к ней.
Набор протоколов (protocol suite)
Именованное семейство сетевых протоколов, каковыми являются TCP/IP, IPX/SPX и NetBEUI; каждое такое семейство позволяет компьютерам осуществлять передачи по сети.
Надежность сквозной передачи (end-to-end reliability)
Характеристика служб на основе соединения, гарантирующая успешное получение данных пунктом назначения.
Назначенный маршрутизатор (designated router, DR)
Маршрутизатор с высочайшим приоритетом в сегменте сети состояния канала. DR объявляет состояние канала всем остальным маршрутизаторам в сети.
Негативный отклик (Poison reverse)
Процесс, призванный сделать маршрутизатор нежелательным для определенного пути. Один из методов предотвращения маршрутных циклов.
Незапрашиваемый (unsolicited or unrequested)
Пришедший не в результате запроса. Незапрашиваемыми обычно являются извещения, посылаемые периодически. К примеру, 1СМР-сооб-щения Router Advertisement (извещение о существовании маршрутизатора) обычно приходят раз в 7—10 минут.
Незашифрованный пароль (plain text password)
Пароль, передаваемый по кабелю в виде открытого текста в формате ASCII.
Гпоссарий
877
Ненумерованный формат (unnumbered format)
Формат пакета 802.2 LLC без установления соединения.
Неопределенный адрес (unspecified address)
В протоколе IPv6 неопределенным адресом являются все нули, которые в обычной нотации выражаются символом По существу, этот адрес адресом и не является. Он не может выступать в качестве адреса назначения.
Неответственный отклик (non-authoritative response)
Информация, содержащая имя, адрес или запись ресурса, пришедшая с DNS-сервера, который не является ответственным за запрашиваемую зону DNS (подобные отклики исходят из кэшей таких серверов).
Неофициальный стандарт
Стандарт, принятый большинством пользователей, но не принятый управляющей организацией, такой как IEEE.
Неполный набор фрагментов (incomplete fragment set)
Фрагментационная атака, при которой жертве направляется огромное количество фрагментов, но не передается конечный фрагмент этого набора. Жертва пытается кэшировать полученные фрагменты с целью выполнения повторной сборки пакета по получении полного набора фрагментов.
Нерекурсивный запрос (non-recursive queries)
См. Итеративный запрос.
Новое поколение протоколов межсетевого взаимодействия (Internet Protocol next generation, I Png)
Старое название новейшей версии IP. Чаще она называется IPv6.
Номер порта (port number)
16-битное число, идентифицирующее либо хорошо известную прикладную службу, либо динамически назначаемый номер порта для временного обмена данными между отправителем и получателем посредством протоколов TCP или UDP.
Номер порта источника (source port number)
Адрес порта для отправителя модуля данных протоколов TCP и UDP.
Номер порта назначения (destination port number)
Адрес порта для входящего сообщения TCP/IP, идентифицирующего целевое приложение или процесс службы.
Номер протокола (protocol number)
8-битный числовой идентификатор, связанный с определенным протоколом TCP/IP.
878
Глоссарий
О
Области (areas)
Группы смежных сетей. Области применяются при маршрутизации на основе состояния канала; они обеспечивают резюмирование таблиц маршрутизации в крупных сетях.
Область (scope)
В компании Microsoft областью называют группу адресов, каждый из которых может быть присвоен клиенту DHCP-сервером. Другие производители обозначают это понятие терминами "адресный пул" или "диапазон адресов".
Область адресов (address scope)
См. Область.
Область действия адреса
См. Область.
Обновление связывания (binding update)
В протоколе Mobile IP так называется сообщение, отсылаемое мобильным пользователем либо собственному агенту, либо другому узлу, который хранит кэш связывания для мобильных пользователей, с запросом на изменение связывания. Существует несколько разновидностей этого сообщения.'
Обработчик (handler)
Система, управляющая DDoS-атакой. Обработчик является скомпрометированным хостом, на котором инициатор атаки разместил код DDoS. Обработчики занимаются вербовкой посредников, а те, в свою очередь, непосредственно атакуют жертву.
Обратная совместимость (backwards compatibility)
Возможность, позволяющая устройству, процессу или протоколу взаимодействовать с более ранними версиями программного или аппаратного обеспечения, которое не поддерживает все новейшие или сложные функции. К примеру, хост PMTU может автоматически постепенно сокращать применяемый размер MTU до того момента, пока не будет определен поддерживаемый размер PMTU.
Обратное посредничество (reverse proxying)
Методика, посредством которой прокси-сервер представляет внутренний сетевой ресурс (к примеру, Web-, FTP- или почтовый сервер) таким образом, как будто он размещается на этом прокси-сервере; в результате внешние клиенты получают доступ к внутренним сетевым ресурсам, не имея возможности узнать структуру IP-адресов внутренней сети.
Гпоссарий
879
Обратный DNS-запрос (inverse DNS query)
DNS-запрос, требующий преобразования IP-адреса в соответствующее ему доменное имя. Обратные запросы часто используются для дополнительной проверки личности пользователей, чтобы гарантировать соответствие представляемых ими доменных имен IP-адресам, указываемым в заголовках отсылаемых ими пакетов. См. также IP-спуфинг и спуфинг.
Обратный DNS-поиск (reverse DNS lookup)
См. Обратный DNS-запрос.
Общедоступный IP-адрес (public IP address)
Любой адрес TCP/IP, выделенный организациями IANA, ICANN или поставщиком доступа к сети Internet для эксклюзивного использования определенной организацией.
Объект (object)
Элемент, который может находиться под управлением SNMP-агента.
Объект управления (management entity)
Программный процесс, опрашивающий управляемые устройства на предмет управляющей информации и собирающий ее; может отвечать на предупреждения, исходящие из управляемых им устройств.
Объявленное окно (advertised window)
Количество данных, которое, по утверждению получателя, может быть обработано в его буферном пространстве протокола TCP. Фактический размер окна определяется исходя из нижнего значения количества байт, которое может быть обработано сетью и объявленным окном. Объявленное окно, равное нулю, обозначает, что получатель не располагает свободным пространством в буфере протокола TCP. Чтобы избежать синдрома "глупого" окна, отправитель не должен отправлять данные, пока получатель не объявит размер окна, по меньше мере равный максимальному размеру сегмента (MSS).
Ограничивающий канал (restricting link)
Канал, не поддерживающий передачу пакета текущего формата и конфигурации. Для идентификации ограничивающих каналов применяется процесс определения максимальной единицы передачи маршрута; в результате его действия хост получает возможность повторно отослать пакет, использовав при этом допустимое значение единицы передачи.
Однонаправленный пакет (unicast packet)
Пакет, направленный лишь одному сетевому устройству.
Одноранговые службы (peer-to-peer services)
Службы Прикладного уровня, в которых роли клиента и сервера не являются четко определенными. Таким образом, хост, выступающий в роли
880
клиента в ходе одного потока запроса/ответа, потенциально может играть роль сервера по отношению ко второму хосту во время осуществления другого потока.
Одноранговые уровни (peer layer)
Аналогичные по положению в протокольных стеках уровни в системах отправителя и получателя; принимающий уровень обычно выполняет операции, противоположные проделанным на отправляющем уровне (именно это делает такие уровни одноранговыми).
Октет (octet)
Обозначение 8-битного числа в терминологии TCP/IP; числовые адреса протокола IPv4 состоят из четырех октетов.
Определение максимальной единицы передачи маршрута (MTU)
Процесс, помогающий выяснить, какая максимальная единица передачи поддерживается на протяжении всего маршрута. В ходе процесса применяется протокол ICMP.
Определение пути (path discovery)
Процесс сбора информации о возможных путях перемещения данных по сети.
Оптимальный маршрут (optimal route)
Наилучший из возможных маршрутов. Обычно протоколы маршрутизации применяются для обмена метрической информацией о маршрутах и определения лучшего маршрута. Оптимальный маршрут может быть самым быстрым, самым надежным, самым безопасным или лучшим по какому-либо иному критерию. Если тип службы (TOS) не указывается, оптимальным признается либо самый короткий (на основе числа транзитов) маршрут, либо маршрут, характеризующийся наилучшей пропускной способностью.
Оптимистическая модель защиты (optimistic security model)
Первоначальная основа безопасности TCP/IP. Эта модель признает нормальным ограниченное применение (или полное неприменение) защиты в нормальных сетевых сообщениях. (Именно этим объясняется то обстоятельство, что службы Telnet и FTP преспокойно передают по сетям информацию об учетных записях и паролях в виде открытого текста.)
Организация окон (windowing)
Процесс подтверждения множества пакетов с помощью единственного сообщения о подтверждении.
Организация подсетей (subnetting)
Применение разрядов, захваченных из хостовой части IP-адреса, для расширения и подразделения адресного пространства сетевой части диапазона IP-адресов.
Гпоссарий 881
Организация суперсетей (supernetting)
Методика захвата разрядов из сетевой части IP-адреса и их передачи хостовой части; в результате создается более обширное адресное пространство для ведущих адресов.
Освобождение адреса (release address)
Процесс отключения IP-адреса посредством формальной отправки DHCP-серверу пакета DHCP-освобождения (тип сообщения 0x07). Если клиент отключается, не отправив пакет освобождения, DHCP-сервер оставляет выделение в силе вплоть до момента его истечения.
Отвержение без уведомления (silent discard)
Процесс отвержения пакета без уведомления об этом других устройств. Например, маршрутизатор типа "черная дыра" не объявляет об отвержении пакета, который он не может перенаправить.
Ответственный отклик (authoritative response)
Ответ на запрос, поступивший от сервера имен, который является ответственным за зону, в которой расположено запрошенное имя или адрес.
Ответственный сервер (authoritative server)
DNS-сервер, являющийся ответственным за одну или несколько определенных зон в базе данных DNS.
Отказное кэширование (negative caching)
Методика хранения сообщений об ошибках в локальном кэше. В результате применения этой методики обеспечивается возможность более оперативных ответов на запросы, для которых ранее возвращались сообщения об ошибках. Скорость таких ответов существенно выше, чем в ситуации отсылки запроса на другой сервер имен DNS.
Отказ от обслуживания (Denial of Service, DoS)
Атака, в результате которой система становится неспособной к исполнению служб, т. к. она занимается обработкой запросов атаки. К примеру, повторяющиеся двухсторонние процессы квитирования могут быть вызваны атакой TCP SYN.
Открытый текст (plain text)
Данные, которые должны быть зашифрованы, но в данный момент находятся в исходной (читаемой и годной к употреблению) форме.
Отмененный стандарт (Retired Standard)
Документ RFC, имевший силу стандарта, но утративший актуальность и замененный более новым.
29 Зак. 321
882
Гпоссарий
Отслеживание порядковых номеров (sequence number tracking)
Процесс отслеживания порядкового номера, отсылаемого узлом TCP, и отправки значения подтверждения с указанием следующего ожидаемого порядкового номера.
Отсчет до бесконечности (counting to infinity)
Проблема сетевой маршрутизации, случающаяся по причине появления маршрутного цикла. Пакеты циркулируют по сети до того момента, пока время их жизни не истечет.
Отчет (report)
Документ, сгенерированный системой или службой, содержащий описание интенсивности трафика и его характеристик относительно данной службы или системы. Обычно применяется для формулировки обычного использования или активности, но может содержать описание зарегистрированных событий или условий, которые могут повлиять на безопасность.
Очереди маршрутизатора (router queues)
Система буферизации маршрутизатора, необходимая для хранения пакетов в условиях его переполнения.
Пакет (packet)
Характерный термин для модулей данных протокола практически любого уровня сетевой модели; наиболее корректно его использование применительно к модулям данных 3-го или Межсетевого уровня модели TCP/IP.
Пакет завышенного размера (oversized packets)
Пакет, превышающий значение максимальной единицы передачи (MTU) для данной сети; обычно является признаком неисправностей в сетевой интерфейсной карте или ее драйверах.
Пакеты "Пункт назначения недостижим" (Destination Unreachable packets)
Пакеты протокола ICMP, указывающие на неудачу попытки достижения пункта назначения вследствие проблемы, которая может быть связана с параметрами, фрагментацией или еще чем-либо.
Параметр командной строки (command-line parameter)
Опции, добавляемые к команде, выполняемой в командной строке (не в оконной среде). К примеру, в команде агр а параметр -а дополняет команду агр.
Параметр реестра (Registry setting)
Конфигурация, управляющая действием устройств на платформах Windows. Функционирование Windows 2000 в среде TCP/IP регулируется множеством подобных настроек.
Гпоссарий
883
Первичный DNS-сервер
Сервер имен, ответственный за конкретный домен или субдомен и обеспечивающий сохранность соответствующего сегмента базы данных DNS (а также связанных с ним файлов зоны).
Первичный ведущий сервер (primary master server)
См. Первичный DNS-cepeep.
Переадресация (redirect)
Указание на другой путь. С помощью протокола ICMP маршрутизатор может переадресовывать хост на другой, более оптимальный путь.
Перегрузка (congestion)
Состояние "закупорки" сети или получателя. Когда сеть перегружена, отправители теряют возможность отправки дальнейших пакетов TCP. Чтобы избежать перегрузки, получатель объявляет размер окна, равный нулю.
Перераспределение (redistributing)
Метод, посредством которого информация, собранная и организованная одним протоколом маршрутизации, обменивается на аналогичную (но обычно неидентичную) информацию, организованную другим протоколом маршрутизации.
Период выделения (lease time)
Промежуток времени, в течение которого действительно присвоение IP-адреса DHCP-клиенту.
Период кругового обращения (round-trip time)
Период времени, необходимый для передачи пакета от одного хоста к другому и обратно. Включает время передачи из первого пункта во второй, время обработки в пункте назначения и время возвращения к исходному пункту.
Периодическое обновление (periodic update)
В общем, означает обновление значений данных, происходящее через определенный интервал времени. Что касается протоколов маршрутизации, большинство дистанционно-векторных протоколов проводят периодические обновления для обеспечения соответствия таблицы маршрутизации новейшим данным.
Пессимистическая модель защиты (pessimistic security model)
Модель механизма защиты системы или сети, предполагающая необходимость постоянных мер безопасности, направленных на запрещение доступа к ресурсам для всех пользователей по умолчанию, и разрешение такого доступа от случая к случаю, притом лишь по необходимости.
884
Гпоссарий
Повторитель (repeater)
Устройство, повторяющее биты вне зависимости от их значения и без интерпретации. Концентратор повторяет биты, полученные одним портом из всех остальных портов. Станция сети с маркерным доступом повторяет биты, полученные входящей принимающей парой от передающей пары.
Повторная инициализация (reinitialize)
Процесс запуска стандартного процесса DHCP-поиска заново после неудачного завершения процессов продления и повторного присвоения. В стадии повторной инициализации DHCP-клиент не имеет IP-адреса, указывая в качестве исходного адреса значение "0.0.0.0".
Повторная сборка пакета (reassembly)
Процесс, применяемый на Транспортном уровне, посредством которого сообщения, разделенные на множество блоков для передачи по сети, заново собираются воедино в нужном порядке для доставки приложению на принимающем конце. Поле Fragment Offset (смещения фрагментов) используется для идентификации последовательности фрагментов при сборке.
Повторные передачи (retries)
Количество повторных отправок данных узлом TCP, не получившим подтверждения их доставки.
Пограничный маршрутизатор (border router)
Сетевое устройство, охраняющее границу между внутренней и внешней сетями, управляющее входящим трафиком, которому разрешен вход во внутренние сети, и исходящим трафиком, который может выходить за границы внутренних сетей.
Подпись атаки (attack signature)
Характерная для определенной атаки модель связи. Подписью может быть номер порта, применяемый в ходе атаки, или строка символов, встраиваемая в часть данных пакета.
Подсогласование (subnegotiation)
Вторичный процесс согласования, предусматривающий обмен информацией о параметрах. Telnet использует подсогласование в ситуациях, когда стандартный набор и система опций DO, DON'T, WILL, WON'T недостаточны.
Подтверждение (acknowledgement)
Оповещение об успешном получении данных. В пакетах подтверждения ставится флаг АСК.
Гпоссарий
885
Подтверждение связывания (binding acknowledgement)
Отклик, отсылаемый в ответ на обновление связывания. В некоторых случаях является необязательным.
Подчиненные (subordinates)
Сегменты ("ветви") древовидной структуры базы управляющей информации. Подчиненный маршрутизатор (slave router)
В сетях, использующих протокол OSPF, этот тип маршрутизатора принимает от главного маршрутизатора и подтверждает сводные пакеты базы данных состояния канала.
Подчиненный сервер (slave server)
См. Вторичный DNS-cepeep.
Поле идентификации протокола (protocol identification field)
Поле, содержащееся в большинстве заголовков и предназначенное для отождествления следующего протокола. В заголовках Ethernet в такой роли выступает поле Туре; в заголовках протокола IP — поле Protocol.
Полезная нагрузка (payload)
Часть модуля данных протокола, содержащая информацию, предназначенную для получения приложением или протоколом более высокого уровня (в зависимости от положения модуля данных в стеке).
Полезное адресное пространство (usable address space)
Количество хостов, которые в действительности могут быть подключены к сети Internet.
Политика безопасности (security policy)
Документ, содержащий точное изложение требований организации относительно установленных порядков, правил и процедур безопасности, определяющий все ценные данные, нуждающиеся в защите, и планирующий процессы восстановления активности и чрезвычайного восстановления в случаях потери данных или компрометации системы.
Полностью определенное доменное имя (Fully Qualified Domain Name, FQDN)
Специальное доменное имя, заканчивающееся точкой, которая обозначает корень иерархии доменных имен. Применение FQDN необходимо в записях ресурсов DNS типов А (запись адреса) и PTR (запись указателя).
Положительный отклик (positive response)
Позитивное подтверждение получения данных. TCP-заголовки с установленным флагом АСК указывают, что поле Acknowledgment Number (подтверждение) действительно, и определяют следующий ожидаемый от другого узла TCP порядковый номер.
886
Гпоссарий
Полуоткрытые соединения (half-open connections)
ТСР-соединения, не завершенные конечным подтверждением. Такие соединения могут свидетельствовать об SYN-атаке TCP.
Порог события (event threshold)
Заданная точка, в которой генерируется сообщение SNMP TRAP (ловушка). Порог события может обозначать как возникновение проблемы, так и неаварийное событие.
Последовательность обрыва (teardown sequence)
Процесс закрытия ТСР-соединения.
Посредник (agent)
Устройство, которое непосредственно осуществляет атаку жертвы в ходе распределенного отказа от обслуживания.
Посредник управления (menagement proxy)
Специальный компонент программы сетевого управления, делающий возможным управление систем управления сетью на нижнем уровне единой системой высшего уровня. В основном, посредник выполняет требования отчетности и опросов, предъявляемые системами высшего уровня, путем преобразования форматов сообщений и данных, применяемых в системах нижнего и высшего уровней, и наоборот.
Потерянный сегмент (lost segment)
Часть данных TCP, не прибывшая в пункт назначения. После обнаружения потерянного сегмента отправитель TCP должен наполовину уменьшить окно перегрузки. Считается, что явление потерянных сегментов обусловливается перегрузкой сети.
Поток (flow)
Набор пакетов, которые, согласно требованиям источника, должны специальным образом обрабатываться промежуточными маршрутизаторами.
Поток байтов (byte stream)
Непрерывный поток данных, в которых нет никаких границ.
Почтовая запись (mail exchange record, MX)
Запись ресурса DNS, применяемая для идентификации доменного имени почтового сервера, управляющего каким-либо конкретным доменом или субдоменом или маршрутизирующего почтовый трафик от одного почтового сервера к другому, пока почта находится в процессе передачи от отправителя к получателю.
Преамбула (preamble)
Заглавная последовательность значений, предшествующая содержимому всех пакетов Ethernet. Помещаемая в начало фрейма отправляющей сете
Гпоссарий
887
вой интерфейсной платой и удаляемая принимающей платой, преамбула используется как средство синхронизации, позволяющее принимающим IP-хостам должным образом распознать и интерпретировать разряды как нули или единицы.
Предварительный фильтр (pre-filter)
Тип фильтра данных, применяемый к необработанному входящему потоку в анализаторе протоколов, выбирающий только пакеты, соответствующие критериям захвата и сохранения; этот фильтр называется предварительным именно потому, что применяется еще до захвата данных.
Предложенный стандарт (Proposed Standard)
Промежуточный уровень для документов RFC перед их превращением в полноценные стандарты; для того, чтобы стать предложенным стандартом, проект стандарта должен пройти начальный пересмотр; кроме того, необходима демонстрация по крайней мере двух реализаций на его основе, успешно взаимодействующих между собой.
Предпочтительный адрес (preferred address)
Адрес, который DHCP-клиент помнит с момента предыдущего сетевого сеанса. Большинство DHCP-клиентов хранят список последних использованных IP-адресов, отдавая предпочтение последнему из них. Это обстоятельство придает системе сетевой адресации статическое обличие, однако нет гарантии, что клиент сможет при каждой загрузке получать один и тот же адрес. В протоколе IPv6 термин "предпочтительный адрес" обозначает один-единственный адрес среди множества других адресов, которые могут быть присвоены определенному интерфейсу; применение этого адреса протоколами высокого уровня неограниченно.
Предупреждение (alert)
Автоматическое оповещение, выполняемое программой (в контексте IP-защиты такой программой может быть маршрутизатор, брандмауэр, прокси-сервер или система обнаружения вторжений) и обозначающее необычную ошибку или состояние, превышенный порог мониторинга или выполняемый триггер.
Преобразования (transformations)
В криптографии так называется набор математических действий.
Приветственный (Hello) процесс (Hello process)
Процесс, применяемый маршрутизаторами состояния канала для обнаружения соседних маршрутизаторов.
Прикладной процесс
Системный процесс, представляющий определенный тип сетевого приложения или службы.
888
Гпоссарий
Прикладной уровень
Самый верхний уровень эталонной сетевой модели ISO/OSI (и модели TCP/IP), на котором располагается интерфейс между стеком протоколов и самими приложениями.
Приоритет (precedence)
Определение старшинства IP-пакета. В условиях, когда очередь переполнена, маршрутизаторы могут обрабатывать пакеты с высоким уровнем приоритета раньше, чем пакеты с низким уровнем приоритета.
Приоритет маршрута (route priority)
Приоритет, указанный в поле Type of Service (TOS) заголовка дейтаграммы, определяющий порядок маршрутизации пакетов в сети. Чтобы принять подходящее решение о перенаправлении пакета на основании значения поля Type of Service (TOS), содержащегося в IP-заголовке, маршрутизатор должен поддерживать и отслеживать множество сетевых типов.
Приоритет пакета (packet priority)
Приоритет, указываемый в поле Type of Service (TOS) заголовка дейтаграммы, определяет порядок, в котором должны обрабатываться пакеты, находящиеся в очереди маршрутизатора.
Присвоение пакетов (packet snooping)
См. Утечка пакетов.
Проба порта (port probe)
Процесс рекогносцировки, помогающий установить, какие процессы на хосте активны. Обычно пробы портов представляют собой сценарии, последовательно отсылающие запросы и получающие всю информацию об активных портах.
Проба хоста (host probe)
Процесс рекогносцировки, определяющий активные хосты в 1Р-сети. Обычно для выполнения проб хостов применяется PING-процесс.
Программа считывания шестнадцатеричных данных (hex reader)
Программный пакет, позволяющий пользователям открывать исполнимые файлы для просмотра кода в шестнадцатеричном формате; при этом собственно исполнения файлов не происходит.
Программируемое постоянное запоминающее устройство (Programmable Read-Only Memory, PROM)
Неперезаписываемая разновидность машинной памяти, применяемая для создания долговременного хранилища определенной базовой информации (например, загрузочных параметров операционной системы). Запись
Гпоссарий
889
в PROM (иначе "прошивка") производится с помощью специальных методов записи данных до установки чипов на материнскую или интерфейсную плату.
Программная защита (software security)
Подход к обеспечению безопасности, предполагающий текущий контроль и поддержку систем и программного обеспечения в целях предотвращения максимального количества потенциальных источников атак. С этой точки зрения программная защита — это повседневная работа; ее нельзя провести, а потом забыть.
Программный интерфейс приложения (Application Programming Interface, API) Совокупность программного кода, инструментальных средств и протоколов, применяемых при разработке программных приложений, согласующихся и совместимых с данной операционной системой.
Проект стандарта (Draft Standard)
Стандарт RFC, прошедший стадию проектирования и утвержденный; чтобы такой документ стал стандартом Internet, необходимо показать, что на его базе две эталонные реализации могут работать совместно.
Прозрачность (transparency)
Важная характеристика любой системы или службы, позиционируемой между конечными пользователями, с одной стороны, и запрашиваемыми ими службами или ресурсами, с другой стороны. Чем больше прозрачность, тем меньше пользователи замечают посредника, и чем она меньше, тем более заметен этот посредник. Идеальным вариантом является абсолютная прозрачность, когда пользователи вообще не замечают работу посредника.
Прокси-сервер (proxy server)
Специальный тип сетевой пограничной службы, помещаемой между внешними и внутренними сетевыми адресами. От имени внутренних клиентов прокси-сервер устанавливает соединение с внешними ресурсами и выполняет имитацию адресов. Для внешних клиентов из общедоступной сети Internet прокси-сервер представляет внутренние ресурсы таким образом, как будто они размещаются на нем самом.
Проникновение (break-in)
Попытка злоумышленника выдать себя за полномочного пользователя системы или каким-либо другим образом добиться возможности входа в систему или сеть и получить незаконный доступ к содержащимся в ней ресурсам и информации.
Пропускная способность (bandwidth)
Измерение объема информации, который может проходить по сети. К примеру, сеть Ethernet характеризуется пропускной способностью в 10 Мбит/с.
890
Гпоссарий
Проталкивание (push)
Метод репликации серверных данных, при котором их передачу инициирует отправитель, тем самым "проталкивая" их получателю.
Проталкивание/выталкивание (push-pull)
Метод репликации данных, в соответствии с которым при изменении данных, хранящихся на сервере, он инициирует их передачу, однако получатели также регулярно инициируют передачу данных, чтобы поддерживать текущую совместимость баз данных.
Протокол (protocol)
Точный набор стандартов, управляющий передачами между компьютерами в сети. Многие протоколы действуют на одном или нескольких уровнях эталонной модели OSI.
Протокол без установления соединения (connectionless protocol)
Протокол, который отправляет дейтаграммы без установления, управления и прочей обработки соединения между отправителем и получателем; транспортным протоколом без установления соединения является UDP.
Протокол маршрутизации (routing protocol)	,
Протокол 3-го уровня, позволяющий маршрутизаторам обмениваться информацией о достижимых сетях, маршрутах, по которым их можно достичь, и связанных с ними издержках.
Протокол маршрутизации на основе состояния канала (link-state routing protocols)
Протокол маршрутизации, работающий на основе общего образа состояния канала топологии сети. Маршрутизаторы состояния канала могут определять оптимальный путь исходя из пропускной способности, задержки и других свойств пути, связанных с одним или несколькими доступными каналами. Протоколом состояния канала является OSPF.
Протокол управления сетью (network management protocol)
Любой из нескольких протоколов и служб Прикладного уровня, используемых для передачи сообщений сетевого управления, включая команды, опросы (запросы и ответы) и предупреждения. В сетях TCP/IP стандартным и наиболее распространенным протоколом этого типа является SNMP.
Процесс квитирования (handshake process)
Процесс установки виртуального соединения между одноранговыми партнерами TCP. Процесс квитирования состоит из трех пакетов, которые применяются для определения исходного порядкового уровня для каждого партнера. Кроме того, в ходе этого процесса одноранговые узлы TCP обмениваются размерами окон на прием и значениями максимальных размеров сегментов (MSS).
Гпоссарий
891
Процесс обнаружения (discovery process)
Процесс определения функционирующих в сети компьютеров или процессов.
Процесс освобождения адреса (release process address) См. Освобождение адреса.
Процесс повторного присвоения (rebinding process)
Процесс обращения к любому DHCP-серверу, осуществляемый посредством широковещания для продления выделения адреса.
Процесс повторной передачи фрагмента
Процесс повторной передачи исходного нефрагментированного пакета из-за ошибки передачи или потери фрагмента.
Процесс поддержки соединения (keep-alive process)
Процедура поддержки бездействующего соединения. ТСР-соединения поддерживаются при помощи специальных TCP-пакетов, если конфигурация это разрешает. Если процесс поддержки соединения выполняется на Прикладном уровне, то на уровне TCP он не требуется.
Процесс продления (renewal process)
Процесс пролонгации IP-адреса для его дальнейшего применения клиентом. По умолчанию DHCP-клиент запускает этот процесс по прошествии половины периода выделения.
Процесс разрешения имен (name resolution process)
Процесс получения IP-адреса на основе символического имени. Процессом разрешения имен является DNS.
Процесс разрешения маршрутов (route resolution process)
Процесс, выполняемый на хосте для определения того, является ли пункт назначения локальным или удаленным, и (в последнем случае) — какой маршрутизатор следующего транзита нужно использовать.
Процесс рекогносцировки (reconnaissance process)
Процесс выяснения различных характеристик сети или хоста. Обычно рекогносцировка предшествует сетевым атакам.
Процесс ретрансляции (relay agent process)
Процесс или поток выполняемых задач, исполняемый на локальном хосте (им может быть рабочая станция Windows, сервер или маршрутизатор) и заключающийся в перенаправлении широковещательных DHCP-сообщений удаленному DHCP-серверу в качестве однонаправленных пакетов от имени клиента, находящегося вне широковещательного домена протокола DHCP.
892
Гпоссарий
Псевдозаголовок (pseudo-header)
Ложная заголовочная структура, применяемая для подсчета контрольной суммы. Контрольные суммы протоколов UDP и TCP вычисляются на основе значений псевдозаголовков.
Путь (path)
Маршрут, по которому пакет может пройти через объединенную сеть.
Р
Рабочая группа (workgroup)
В Windows так называется группа одноранговых узлов, способных к совместному использованию файлов в сети. Рабочая группа является менее интегрированным образованием, чем домен и предполагает менее интенсивный централизованный мониторинг и управление.
Разграничение (delimitation)
Применение специальных маркирующих битовых строк или символов, называемых разделителями, для отделения полезной нагрузки от заголовка и концевика (завершителя).
Раздвижное окно (sliding window)
Набор данных, отсылаемый в соответствии со скользящей временной шкалой. После подтверждения отосланных данных окно отодвигается, передавая узлу протокола TCP следующий набор данных.
Разделение горизонта (split horizon)
Метод, призванный устранить проблему отсчета до бесконечности. Правило разделенного горизонта гласит, что информацию нельзя отсылать тому устройству, от которого она была получена.
Разделитель (delimiter)
Специальная битовая строка или символ, маркирующий границу в пределах модуля данных протоколов, которая может располагаться в начале или в конце этого модуля, между заголовком и полезной нагрузкой, или между полезной нагрузкой и концевиком (завершителем).
Разделяй и властвуй (divide and conquer)
Конструктивное решение, предполагающее разбиение комплексной и трудной проблемы на несколько менее крупных и менее сложных, но взаимосвязанных проблем, каждую из которых можно решить более или менее независимо от других.
Различие пропускных способностей (throughput difference)
Сравнение пропускных способностей двух путей. Пропускная способность измеряется в килобитах в секунду (Кбит/с) или мегабитах в секунду (Мбит/с).
Гпоссарий
893
Разрешение доменных имен (domain name resolution)
Процесс, в ходе которого служба DNS преобразует доменное имя в соответствующий числовой 1Р-адрес.
Разрешение имен (name resolution)
См. Разрешение доменных имен.
Разрешенный размер данных
Объем данных, передача которого по каналу возможна; максимальная единица передачи (MTU).
Разрядная проверка целостности (bit-level integrity check)
Специальная математическая операция, выполняемая в отношении полезной нагрузки пакета (дейтаграммы Канального уровня) перед передачей этой дейтаграммы; значение, полученное в результате этой операции, может храниться в коцевике (завершителе) дейтаграммы. Вычисление повторяется на принимающем конце, и его результат сравнивается с переданным значением; если два значения равны друг другу, прием признается безошибочным; если же они разнятся, дейтаграмма обычно отвергается без предупреждения (т. е. сообщение об ошибке не отсылается).
Распознаватель (resolver)
См. Распознаватель имен.
Распознаватель имен (name resolver)
Программный компонент, работающий на стороне клиента, обычно входящий в состав стека TCP/IP и ответственный за издание DNS-запросов для приложений, а также передачу любых ответов, приходящих этим приложениям.
Распределенное управленческое решение (distributed management solution)
Схема управления, в которой управляющая информация об устройствах распространяется по сети. В этой схеме может действовать несколько управляющих устройств.
Распределенный отказ от обслуживания (Distributed Denial of Service, DDoS)
Атака, выполняемая организованной группой, в которой скомпрометированный хост выступает как обработчик, вербующий посредников для непосредственного осуществления атаки.
Расширение файла (file extension)
Окончание имени файла, обозначающее тип файла. Вирусы часто содержатся в файлах, имеющих расширения ехе, сот и vbs.
Расширенный сетевой префикс (extended network prefix)
Часть IP-адреса, выражающая сумму сетевой части адреса и количества разрядов, применяемых для организации подсети этого сетевого адреса.
894
Глоссарий
Адрес класса В с 3-битной схемой подсети доджей иметь расширенный сетевой префикс /19 — 16 бит на сетевую часть по умолчанию и 3 бита на часть подсети адреса, которому соответствует маска подсети 255.255.224.0.
Расшифровка (decode)
Интерпретированное значение модуля данных протокола (или поля в рамках этого модуля), полученное анализатором протоколов или подобным пакетом программ.
Режим нулевого окна (zero-window state)
Ситуация, при которой узел TCP объявляет размер окна, приравнивая его к нулю. Хост TCP не может продолжать отправку такому узлу.
Режим трафика (traffic mode)
В комплексе протоколов IPSec так называется метод применения ассоциаций безопасности (AS) к трафику, направляемому от одного хоста к другому. Шифрование и аутентификация могут применяться к каждому пакету, причем ESP шифрует только полезную нагрузку протокола высшего уровня, а АН аутентифицирует ту же часть и все заголовки, не изменяемые в пути.
Режим туннеля (tunnel mode)
В комплексе протоколов IPSec так называется метод применения ассоциаций безопасности (AS) к трафику (возможно, в расширенной вложенной последовательности), инкапсулированному и туннелированному на, как минимум, один защитный шлюз или от такого шлюза.
Резервный назначенный маршрутизатор (Backup Designated Router, BDR)
Маршрутизатор co вторым по значению приоритетом в широковещательном сегменте сети на основе состояния канала. Маршрутизатор BDR позволяет произвести быстрое восстановление обслуживания в случае выхода из строя первичного отмеченного маршрутизатора. См. также Назначенный маршрутизатор.
Рекурсивный запрос (recursive query)
Тип DNS-запроса, действующий до получения определенного ответа, который может представлять собой преобразование имени в адрес, содержимое запрошенной записи (записей) ресурса или сообщение об ошибке. Клиенты издают рекурсивные запросы своим назначенным серверам имен, а те, в свою очередь, издают итеративные запросы, направляя их другим серверам имен, делая это вплоть до разрешения исходного рекурсивного запроса.
Репликация (replication)
Методика управляемого копирования данных из одного хранилища в другое, предназначенная для повышения надежности данных (если один
Гпоссарий	*	895
сервер выйдет из строя, другие серверы с копиями данных будут продолжать функционировать) и их доступности (если несколько серверов могут обрабатывать одни и те же данные, то вычислительная нагрузка может быть распределена (выровнена) между всеми этими серверами, в результате чего сократится время отклика на запросы пользователей).
Ретрансляция кадров (Frame Relay)
Технология глобальной сети, обеспечивающая скорость передачи до 1,544 Мбит/с. При ретрансляции ошибки передачи не исправляются; испорченные фреймы просто отвергаются.
Ручное выделение адресов (manual address lease)
Тип выделения адресов службой протокола DHCP, при котором администратор берет на себя всю ответственность за управление присвоением адресов и использует протокол DHCP только для сохранения данных, относящихся к этой деятельности, и конфигурационных данных TCP/IP.
С
Связка ассоциаций безопасности (SA bundle)
Упорядоченный набор ассоциаций безопасности, который должен применяться в соответствии с конкретной политикой безопасности.
Сеанс (session)
Временный, но продолжающийся обмен сообщениями по сети между отправителем и получателем; кроме того, так называется уровень эталонной модели ISO/OSI, контролирующий такие обмены.
Сеансовый уровень (Session layer)
5-й уровень эталонной модели ISO/OSI, отвечающий за установку, поддержку и прекращение текущих обменов сообщениями между парами хостов в сети.
Сегмент (segment)
Название модуля данных для протокола TCP в среде TCP/IP.
Сегмент базы данных (database segment)
См. Сегмент базы данных DNS.
Сегмент базы данных DNS (DNS database segment)
Отдельное автономное подмножество данных из иерархии имен и адресов DNS. Сегмент базы данных DNS обычно соответствует зоне такой базы данных, и хранится в коллекции взаимосвязанных файлов зон. См. также Зона и файл зоны.
896
Глоссарий
Сегмент данных (data segment)
Базовый модуль данных протокола TCP на Транспортном уровне. См. также Сегмент.
Сегмент кабеля (cable segment)
Любая отдельная совокупность сетевых сред и подсоединенных устройств, которые умещаются в пределах одной части кабеля, одного сетевого устройства, такого как концентратор, или виртуального эквивалента, такого как среда эмуляции локальной сети на коммутаторе.
Сегментация (segmentation)
Процесс, посредством которого протокол TCP разбивает большое сообщение, превышающее по размеру максимальную единицу передачи текущей сетевой среды, на нумерованную последовательность блоков, размер которых меньше или равен максимальной единице.
Сетевая интерфейсная карта (Network Interface Card, NIC)
Аппаратное устройство, позволяющее компьютеру подсоединяться к локальной сети и работать в ней.
Сетевая перегрузка (network congestion)
Состояние, происходящее тогда, когда время доставки пакетов (также называемое сетевой задержкой) превышает нормальный уровень. Перегрузка может происходить в результате нескольких причин, включая проблемы с сетевыми каналами, перегрузку хостов или маршрутизаторов или необычно высокий уровень использования сети. Характеристикой сетевой перегрузки является потеря пакетов.
Сетевая часть (network portion)
Разряды или октеты, расположенные в левой части числового IP-адреса и идентифицирующие его сетевую и подсетевую части. Значение, присваиваемое числу префикса, определяет количество разрядов в сетевой части любого IP-адреса. (К примеру, 10:0.0.0/8 указывает на то, что первые восемь разрядов адреса относятся к сетевой части общедоступного IP-адреса класса А.)
Сетевая эталонная модель ISO/OSI
Официальное название семиуровневой сетевой эталонной модели, предназначенной для характеристики функционирования сетей.
Сетевая эталонная модель
См. Сетевая эталонная модель ISO/OSI.
Сетевое планирование (network analysis)
То же, что анализ протоколов, но этот термин наводит меньше ужаса.
Гпоссарий	897
Сетевой адрес (network address)
Часть IP-адреса, содержащая сетевой префикс этого адреса; расширенный сетевой префикс также включает все разряды подсети. Все разряды, относящиеся к расширенному сетевому префиксу, отображаются в виде единиц в соответствующей маске подсети данной сети.
Сетевой зонд (network probe)
Отдельно взятое автономное устройство, осуществляющее мониторинг и управление удаленными сегментами сети.
Сетевой префикс (network prefix)
Часть IP-адреса, соответствующая сетевой части адреса; к примеру, сетевой префикс для адреса класса В — /16 (это значит, что первые 16 разрядов представляют собой сетевую часть адреса, а соответствующая маска подсети по умолчанию — 255.255.0.0).
Сетевой уровень (Network layer)
Сетевой уровень соответствует 3-му уровню сетевой эталонной модели ISO/OS1; он ответственен за логические адреса, связанные с отдельными машинами в сети, и устанавливает соотношение имен таких машин, удобных для человеческого восприятия, с уникальными машиночитаемыми числовыми адресами. Кроме того, используя информацию, связанную с адресацией, Сетевой уровень определяет способ отсылки модуля данных протокола от отправителя к получателю в том случае, когда они располагаются в разных физических сегментах сети.
Сетевые службы (network services)
Групповой термин TCP/IP, обозначающий сочетание протокола и службы, действующих на Прикладном уровне сетевой модели TCP/IP.
Сеть на основе коммутации пакетов (packet-switched network)
Сеть, в которой пакеты данных могут отправляться по любому удобному пути между отправителем и получателем, которые идентифицируются посредством уникальных сетевых адресов; передача всех пакетов по одному пути необязательна (хотя именно так часто и происходит).
Символическое имя (symbolic name)
Имя ресурса сети Internet, удобное для человеческого восприятия, такое как www.course.com или msnnews.microsoft.com. Кроме того, это имя, представляющее устройство вместо адреса. К примеру, servl может послужить символическим именем для устройства с IP-адресом 10.2.10.2.
Синдром "глупого" окна (Silly Window Syndrome, SWS)
Проблема, возникающая при организации окон TCP и обуславливаемая тем, что приложение удаляет из буфера приема TCP лишь небольшие объемы данных; в результате TCP-узел объявляет очень незначительный
30 Зак. 321
898
Гпоссарий
размер окна. Чтобы разрешить эту проблему, TCP-хосты ждут, пока размер окна не достигнет значения максимального размера сегмента (MSS).
Синхронная атака (SYN Flood)
Атака, в ходе которой жертве отсылается большое количество запросов на установление процесса квитирования (SYN). Цель этих действий — забить очередь соединения, и заставить жертву отказывать в обработке последующих действительных запросов.
Система ведения учета
Система, находящаяся на одном из пяти уровней модели сетевого управления OS1; концентрируется на измерении использования сети и служб с целью управления и регулирования отдельных пользователей или групп.
Система обнаружения вторжений (Intrusion Detection System, IDS)
Специализированная программная система, инспектирующая текущие модели сетевого трафика в поисках признаков предстоящей или действующей атаки. Большинство систем обнаружения вторжений не только прерывают попытки вторжения, но и пытаются установить идентичность инициатора (или инициаторов) атаки. Что самое замечательное, такие системы работают в автоматическом режиме и при противостоянии большинству атак не требуют непосредственного человеческого вмешательства.
Система управления сетью (Network Management System, NMS)
Программные или аппаратные средства, внутри которых функционируют объекты управления, и в которых можно устанавливать, настраивать, координировать и регулировать функции сетевого управления.
Сканер, портов (port scanner)
Специализированное инструментальное программное средство, выполняющее цикл либо по хорошо известным уязвимым портам TCP или UDP (Legion), либо по всем возможным адресам портов TCP и UDP в поисках открытых портов, которые затем можно применить для получения доступа или эксплуатации слабых мест защиты.
Сквозная маршрутизация через автономные системы (pass-through autonomous system routing)
В протоколе BGP эта методика маршрутизации применяется для передачи маршрутной информации BGP через сеть, не поддерживающую этот протокол.
Сквозная минимальная единица передачи (end-to-end minimum MTU size)
Минимальный размер данных, которые могут быть отправлены одним хостом объединенной сети другому. Для достижения этого размера фрагменты могут быть фрагментированы, а для определения этого размера
Глоссарий
899
может использоваться процесс PMTU (максимальной единицы передачи маршрута).
Скомпрометированный хост (compromised host)
Хост, подвергшийся взлому и выдавший злоумышленнику административные или корневые полномочия доступа.
Скрытый инициатор атаки (stealthy attacker)
Инициатор атаки, заметающий свои следы. Скрытые инициаторы пытаются убедиться в том, что после запуска атаки не остается никаких действующих соединений и регистрационных записей, которые могут содержать информацию об их действиях.
Слабое место (vulnerability)
Любой компонент системы, открытый для атаки. В этом смысле особенно опасны хорошо известные протоколы, службы, подсистемы, а также документированные дыры, которыми сравнительно легко воспользоваться.
Словарная атака (dictionary attack)
Разновидность грубой парольной атаки, при которой хэшированные значения всех слов в специальном словаре терминов сравниваются с хэшированными значениями в файлах паролей. Осуществление такой атаки обычно занимает не более нескольких секунд.
Служба дейтаграмм (datagram service)
В протоколах NetBIOS, NetBEUI или NBF служба дейтаграмм представляет собой протокол без установления соединения, применяемый для отправки сообщений и ответов. Когда такие протоколы работают на базе TCP/IP (например, NetBT), службы дейтаграмм и имен применяют протокол UDP (через порты 138 и 137 соответственно). При необходимости установления более надежного соединения используется протокол TCP, предоставляющий службы сеансов.
Служба доменных имен (Domain Name System, DNS)
Протокол и служба Прикладного уровня TCP/IP, управляющие распределенной по всей сети Internet базой данных символических доменных имен и числовых IP-адресов; в результате ее действия каждый пользователь может запросить ресурс по имени, и это имя будет преобразовано в соответствующий числовой 1Р-адрес.
Служба сеансов (session service)
В NetBIOS, NetBEUI и NBF сетевым ресурсом может быть процесс, работающий на подключенном к сети компьютере. Чтобы взаимодействовать с такими процессами, эти протоколы используют службу сеансов, которая обеспечивает надежные сетевые сообщения на основе соединений.
В Windows 2000, когда NBF работает поверх TCP/IP (как NetBT), протокол TCP применяется для установления и поддержки служб сеансов.
900
Глоссарий
Служба удаленной регистрации (remote logon service)
Любой вид сетевой службы, позволяющий пользователям, находящимся в другом месте сети, регистрироваться в системе удаленным способом — так, как это делается локально. Такие службы представляют собой излюбленные точки атаки, поскольку они предназначены именно для того, чтобы предоставлять посторонним пользователям доступ к системам и службам.
Служебные данные (overhead)
Биты или байты, не содержащие данных, но необходимые для перемещения таковых из одного пункта в другой. Заголовок Канального уровня является примером служебных данных; он требуется для того, чтобы передать IP-пакет по сети от одного устройства к другому. IP-заголовок также относится к этой категории, но он необходим для перемещения пакета через объединенную сеть. В идеале пропускная способность и производительность должны служить для перемещения больших объемов фактических, а не служебных данных.
Собственный агент (home agent, НА)
В протоколе Mobile IP так называется маршрутизатор в собственной сети мобильного пользователя, готовый и имеющий возможность хранить и перенаправлять сообщения от имени мобильного агента, пока тот перемещается в пространстве.
Соединение для передачи данных (data transfer connection)
Соединение, по которому передаются только данные. Обычно устанавливается после организации командного соединения. По соединению для передачи данных команды не передаются.
Сокет (socket)
См. Адрес сокета.
Сообщение LSA (Link-State Advertisement, объявление состояния канала)
Пакет, содержащий информацию о маршрутизаторе, его соседях и сети, к которой он подсоединен.
Сообщение Wait Acknowledgement (WACK) (подтверждение для ожидания)
Ответный пакет, отсылаемый WINS-серверами клиентам для подтверждения приема запроса без предоставления имени или отказа в нем и содержащий просьбу подождать. В результате удается избежать излишнего простоя связи с перегруженным WINS-сервером.
Сообщения протокола ICMP об ошибках (ICMP error message)
Сообщения об ошибках, отправляемые с помощью протокола ICMP. Примерами таких сообщений являются пакеты Destination Unreachable
Глоссарий
901
(пункт назначения недостижим), Time Exceeded (превышение лимита времени) и Parameter Problem (проблема параметра).
Сообщения (messages)
Данные, которые характеризуются четкими границами и командной информацией в рамках пакета.
Сообщения запроса (request messages)
Пакет службы Прикладного уровня, отправленный одним хостом другому в качестве запроса на предоставление той или иной службы.
Сообщения запроса/ответа (request/reply messages)
Совокупность сообщений, поддерживаемых протоколом Прикладного уровня; все такие сообщения определяют возможности службы, которую предоставляет данный протокол.
Сообщения ответа (reply messages)
Пакет службы Прикладного уровня, отправленный одним хостом другому в ответ на запрос на предоставление той или иной службы.
Соседние маршрутизаторы (neighbor routers)
В сети состояния канала соседние маршрутизаторы подключены к одному сетевому сегменту.
Состояние канала (link-state)
Специальный тип протокола маршрутизации, использующий и обменивающийся информацией только о ближайших соседях; оценивает издержки канала исходя из времени передачи, не учитывая число транзитов и- расстояния маршрутизации.
Состояние конвергенции (converged state)
Состояние сети, при котором все маршрутизаторы синхронизированы и расположены в сети единым образом.
Специальный кэширующий сервер (caching-only server)
DNS-сервер, не располагающий первичными и вторичными базами данных зон; применяется исключительно для кэширования уже разрешенных доменных имен и адресов, а также хранения сопутствующей информации об ошибках.	,
Спуфинг (spoofing)
Спуфинг происходит, когда входящий IP-трафик демонстрирует несоответствия в адресации. Спуфинг адресов происходит, когда внешний интерфейс передает трафик, выдавая его за внутренний, или когда пользователь представляет IP-адрес, который не соответствует доменному имени. Спуфинг доменных имен происходит, когда обратный поиск IP-
902
Гпоссарий
адреса не соответствует доменному имени, от которого, как утверждается, исходит трафик.
Среднее время отклика (average response time)
Среднее время, требующееся на выполнение ответа на запрос. Статистика этих значений используется как эталон для сравнения с текущим средним временем отклика.
Среднее время по Гринвичу (GMT, Greenwich Mean Time, Гринвичское (всемирное) время)
Среднее солнечное время по Гринвичскому меридиану, применяемое в качестве стандартного времени по всему миру. В местечке Гринвич (Англия) восток встречается с западом на Гринвичском меридиане (0° долготы). Также называется всеобщим временем (Universal Time, UT).
Стандарт (Standard)
Документ RFC, официально утвержденный в качестве спецификации по определенному протоколу или сервису, называется Internet-стандартом или стандартом RFC.
Статистика (statistics)
Краткосрочная или долгосрочная статистическая информация относительно сетевых передач и производительности сети, полученная в результате захватов, осуществленных анализатором протоколов или другим аналогичным программным продуктом.
Стек протоколов (protocol stack)
Индивидуальная реализация набора протоколов на компьютере, включающая сетевой интерфейс, нужные драйверы, а также любые протоколы и службы, позволяющие компьютеру использовать определенный набор протоколов для осуществления передач по сети.
Стираемая программируемая постоянная память (Erasable Programmable Read-Only Memory, EPROM)
Стираемая разновидность постоянной компьютерной памяти, в которую можно не только запрограммировать определенную базовую информацию (например, параметры загрузки системы или операционной системы), но, при необходимости, стереть и перезаписать ее. Запись и перезапись EPROM возможна только в том случае, если микросхема уже подсоединена к материнской или интерфейсной плате.
Сторожевой процесс (watchdog process)
Процесс, используемый серверами NetWare для определения того, активны ли клиенты NetWare и поддерживают ли они соединение между двумя устройствами.
Гпоссарий
903
Строка с завершающим нулем (null-terminated string)
Байтовая строка, содержащая значение "ноль". Когда поле заполняется строкой с завершающим нулем, она называется "дополненной нулями".
Структура информации для управления сетью (Structure of Management Information, SMI)
Определенная структура объектов, содержащихся в базе управляющей информации. Это древовидная структура, по своей организации во многом напоминающая иерархию файлов и каталогов на жестком диске.
Субдомен (subdomain)
Именованный элемент в пределах отдельного доменного имени. Обозначается дополнительным именем и точкой перед родительским доменным именем. Таким образом, clearlake.ibm.com является субдоменом по отношению к домену ibm.com.
Суммированный адрес (summary address)
Специальный сетевой IP-адрес, идентифицирующий "общую часть" ряда сетевых IP-адресов, применяемый при концентрации маршрутов. Этот подход ускоряет маршрутизацию и уменьшает число позиций в таблицах маршрутизации.
Суперграммы O'umbograms)
Пакеты передачи очень большого размера (до 4 Гбайт) с помощью протокола IPv6. Должны применяться только в специальных условиях, например — на крупных магистралях.
Суперобласть (superscope)
В компании Microsoft суперобластью называют совокупность областей IP-адресов, управляемых одним DHCP-сервером. Другие производители обозначают это понятие терминами "набор адресных пулов" или "набор диапазонов адресов".
Сходимость (convergence)
Процесс обеспечения всех маршрутизаторов в сети свежей информацией о доступных сетях и связанных с ними издержках.
Счетчик попыток (retry counter)
Счетчик, отслеживающий количество повторных передач в сети. В сетях TCP/IP чаще всего встречается счетчик попыток. Если соединение не может успешно завершиться до истечения показания счетчика, то передача признается неудачной.
904
Глоссарий
Т
Т1
Цифровой канал сигнализации, чье название расшифровывается как "магистраль первого уровня"; применяется как стандарт сигнализации по цифровым каналам в Северной Америке. Канал Т1 обеспечивает общую пропускную способность в 1,544 Мбит/с и может поддерживать до 24 речевых цифровых каналов по 64 Кбит/с каждый; кроме того, в его рамках возможно разделение передачи речи и данных.
ТЗ
Цифровой канал сигнализации, чье название расшифровывается как "магистраль третьего уровня"; применяется как стандарт сигнализации по цифровым каналам в Северной Америке. Канал ТЗ обеспечивает общую пропускную способность в 28 Т1, или 44,736 Мбит/с. Канал ТЗ функционирует на коаксиальных или оптоволоконных кабелях или посредством ультракоротковолновой передачи и становится стандартным каналом для мелких и средних поставщиков доступа к Internet.
Таблица маршрутизации (routing table)
Таблица, хранящаяся в памяти на локальном хосте. Обращение к таблице маршрутизации происходит перед перенаправлением пакета в удаленные пункты назначения и направлено на поиск для пакета наиболее оптимального маршрутизатора следующего транзита.
Таблица перенаправления (forwarding table)
Таблица, на основании которой в сети состояния канала принимаются решения о маршрутизации.
Таблица связывания (binding table)
Таблица связывания собственного агента определяет соответствие удаленного адреса (СОА) и собственного адреса мобильного пользователя и позволяет собственному агенту осуществлять изменение маршрута трафика, направленного на собственный адрес пользователя и перенаправлять его на новый удаленный адрес (СОА).
Таймер повторной передачи (retransmission timer)
Таймер, обслуживающий значение лимита времени на повторную передачу (RTO).
Текстовая запись (TXT)
Запись ресурса DNS, которая может содержать произвольные текстовые данные в формате ASCII. Эти данные часто используются для описания сегмента базы данных DNS, находящихся в ней хостов и т. п.
Текущее окно (current window)
Фактический размер окна, применяемый в данный момент. Отправитель определяет текущий размер окна, используя объявленное окно получате
Гпоссарий
905
ля и окно сетевой перегрузки (обозначающее возможности сети по обработке трафика).
Терминальный доступ (terminal access)
Простой терминал, в котором за все данные, хранение, обработку программ и прочие аспекты отвечает удаленный хост. Таким образом, по сети передается лишь текст для отображения в терминале, а также клавишные отклики, посылаемые терминалом.
Тесты связности (connectivity tests)
Тесты, направленные на определение достижимости устройства. Такие тесты могут проводиться утилитами протокола IP: PING и TRACEROUTE.
Технология распределенных баз данных (distributed database technology)
База данных, управляемая несколькими серверами баз данных, каждый из которых несет ответственность за определенную часть глобальной базы. Чрезвычайно эффективно эта технология применяется в системе DNS.
Т-канал
Характерный термин из области телефонии, обозначающий магистральные высокочастотные соединения, предоставляющие клиентам цифровые службы непосредственно от носителей связи (которыми обычно являются местные или междугородные телефонные или коммуникационные компании). Тем не менее, существует возможность прокладки магистральных линий от одного пункта к другому, однако подобные линии во время такого соединения всегда будут проходить через помещения пользователя в одной или нескольких точках.
Точечное десятичное представление
Название формата обозначения числовых IP-адресов, таких как 172.16.1.7, в котором четыре числа разделяются точками.
Точка доступа к сетевой службе (Network Service Access Point, NSAP)
В таких сетях (например, ATM, Х.25 и др.) обычно создаются двухточечные каналы между хостами. Этот принцип кардинально отличается от принятого в протоколе IP.
Транзит (hop)
Отдельная передача данных из одной сети в другую через какое-либо сетевое устройство. Часто транзитами называются передачи от маршрутизатора к маршрутизатору. Исходя из количества транзитов, часто производится примерное измерение расстояния между сетями отправителя и получателя. Число транзитов из сети источника в сеть назначения определяется количеством маршрутизаторов, через которое должен пройти (или проходит) пакет.
906
Гпоссарий
Транзитный режим (per-hop behavior, РНВ)
В дифференцированной службе так называется класс дескрипторов доступных уровней обслуживания. Один из способов описания объектов, предлагающих такие дифференцированные службы — в данном случае, отдельные маршрутизаторы, или путь, проложенный через такие маршрутизаторы.
Транспортный уровень (Transport layer)
4-й уровень сетевой эталонной модели ISO/OSI и 3-й уровень сетевой модели TCP/IP, отвечающий за доставку данных от отправителя к получателю.
Трассировка маршрутов (route tracing)
Методика, позволяющая установить, через какие хосты и маршрутизаторы дейтаграмма прошла, перемещаясь от отправителя к получателю. (Команда traceroute или tracert систематически применяет утилиту PING для получения этой информации.)
Триггерное обновление (triggered update)
Обновление, происходящее в ответ на определенное событие в сетевой среде, обычно связанное с включением или отключением маршрутизатора от этой среды, изменением издержек или настроек каналов сети.
Троянский конь (trojan horse)
Программа, выглядящая вполне безобидно, но содержащая злонамеренный код. Превосходным примером троянского коня может послужить почтовая атака ILOVEYOU. Файл vbs содержал мобильный код, который отправлял сам себя всем адресатам, присутствовавшим в адресной книге жертвы.
У
Универсальный идентификатор ресурса (Uniform Resource Identifier, URI)
Общий термин для всех типов имен и адресов, ссылающихся на объекты в сети Internet. Одним из видов URI является унифицированный адреса-тор ресурса (Uniform Resource Locator, URL).
Унифицированное имя ресурса (Uniform Resource Name, URN)
Универсальный идентификатор ресурса (URI) с обязательством постоянного существования и доступности. Спецификация URI содержится в документе RFC 2141.
Унифицированный адресатор ресурса (Uniform Resource Locator, URL)
В терминологии сети Internet так называется адрес, определяющий протокол (http://), местоположение (доменное имя), каталог (/имя-каталога/)
Гпоссарий	907
и имя файла (example.html); предназначен для направления запроса Web-браузеру на доступ к ресурсу.
Управление доступом (access control)
В комплексе протоколов IPSec и любой другой системе защиты так называется способность к предотвращению несанкционированного использования ресурсов. Обеспечивает возможность недопущения вторжения в зарезервированные пространства, реальные или теоретические.
Управление защитой (Security Management)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI. Управление защитой контролирует доступ к сетевым ресурсам, стремясь избежать отказов от обслуживания, нежелательных обращений и вторжений и ограничивая доступ к этим ресурсам исключительно на основе аутентификации и авторизации.
Управление потоками в среде передачи (media flow control)
Управление скоростью передачи данных между двумя устройствами по среде локальной сети, гарантирующее, что получатель сможет принять и обработать входной сигнал еще до того, как он прибудет от отправителя.
Управление сетевым учетом (Accounting Management)
Одна из задач управления, выполняемая на одноименном уровне модели сетевого управления OSI; управление сетевым учетом выполняет функции подсчета использования сети и служб с целью контроля или регламентации отдельных пользователей или их групп.
Управляемое устройство (managed device)
Любая система или служба, в которой установлено и запущено программное обеспечение агента управления, готовое издавать предупреждения и отвечать на запросы на управляющую информацию.
Управляемые объекты (manageable objects)
Элементы или характеристики устройства, настройки или состояние которых может быть запрошено SNMP-менеджерами. Список управляемых объектов содержится в базе управляющей информации.
Уровень (leyer)
Единичный компонент сетевой модели, отвечающий за определенный аспект сетевого доступа или связи.
Уровень представления (Presentation layer)
6-й уровень эталонной модели ISO/OSI, на котором определенные сетевые форматы входящих данных преобразуются в форматы, характерные для конкретной платформы, а характерные исходящие данные, наоборот, преобразуются в сетевые форматы. Кроме того, на этом уровне могут ра
908
Гпоссарий
ботать службы необязательного шифрования (дешифрования) и сжатия (распаковки).
Уровень процессов (Process layer)
Синоним Прикладного уровня модели TCP/IP, на котором функционируют высокоуровневые протоколы и службы, такие как FTP и Telnet.
Устаревшая запись маршрута (expired route entry)
Запись маршрута, признанная "слишком старой" и не используемая для пересылки данных в объединенной сети. Устаревшие записи маршрута могут в течение некоторого времени храниться в таблице маршрутизации в ожидании объявления соответствующих маршрутов другими устройствами.
Устранение ошибок (error recovery)
Процедура повторной передачи отсутствующих или поврежденных данных. В качестве примеров можно привести резкое уменьшение текущего размера окна, а также повторную передачу данных до истечения таймера повторной передачи.
Устойчивость (robust)
Состояние готовности к использованию практически в любых условиях. Служба DNS позволяет нескольким серверам имен отвечать на запрос, касающийся одного и того же сегмента базы данных; в результате повышаются шансы на то, что хотя бы один из этих серверов будет в состоянии предоставить ответ. Именно по этой причине большинство экспертов по DNS рекомендуют установку в каждой зоне хотя бы одного вторичного DNS-сервера в дополнение к обязательному первичному. Доступ к резервным копиям базы данных DNS делает эту систему чрезвычайно устойчивой.
Утечка пакетов (packet sniffing)
Методика, в которой анализатор протоколов применяется для расшифровки и исследования содержимого IP-пакетов, попыток распознать секретную информацию (включая учетные записи и пароли) и последующего использования этой информации в ходе попыток проникновения.
Ф
Файл данных зоны (zone data file)
Любой из нескольких файлов, в которых в статическом виде хранится информация из базы данных службы DNS. Эта информация необходима во время отключения DNS-сервера, а также при запросе синхронизации данных на вторичном сервере DNS с базой данных на первичном сервере.
Гпоссарий
909
Файл зоны (zone file)
См. Файл данных зоны.
Физическая защита (physical security)
Подход к обеспечению безопасности, подразумевающий ограничение физического доступа к компонентам систем и сетей, с тем чтобы неуполномоченные пользователи не могли осуществлять попытки прямых атак на эти компоненты. Некачественная физическая защита открывает путь к компрометации, так что ее следует всегда поддерживать на высоком уровне.
Физический уровень (Physical layer)
1-й уровень сетевой эталонной модели ISO/OSI, управляющий соединениями, передачами и интерфейсами — аппаратными и сигнальными требованиями.
Физический числовой адрес (physical numeric address)
Синоним адреса управления доступом к среде (МАС-адреса).
Фильтр захвата (capture filter)
Метод идентификации отдельных пакетов, которые, исходя из какого-либо параметра (например, адреса источника или назначения), нужно захватить в буфер слежения.
Фильтр пакетов (packet filter)
Особая совокупность правил включения или исключения, применяемая к потоку сетевых пакетов и определяющая, какие элементы исходного входящего потока нужно захватывать (а что игнорировать).
Фильтрующий маршрутизатор (screening router)
Пограничный маршрутизатор, настроенный на мониторинг и фильтрацию входящего трафика на основе IP-адресов, адресов портов, доменных имен или попыток спуфинга.
Фильтрующий хост (screening host)
Роль, исполняемая брандмауэром или прокси-сервером при предоставлении внутренней сетевой службы внешним пользователям.
Фильтры отображения
Фильтры, применяемые к пакетам в буфере слежения, с целью просмотра только тех из них, что представляют какой-либо интерес.
Формат EUI-64
Стандарт IEEE, позволяющий применять "зашитые" МАС-адреса сетевых интерфейсных плат (NIC) для создания уникальных 48-битных идентификаторов интерфейсов.
910
Гпоссарий
Фрагмент (fragment)
В терминологии организации IP-сетей "фрагментом" называется часть более крупного набора данных, который должен быть разделен для обеспечения передачи по сети, максимальная единица передачи в которой меньше, чем исходный размер пакета.
Фрагментация (fragmentation)
Процесс разделения пакета на множество более мелких пакетов с целью их прохождения по каналу, который поддерживает максимальную единицу передачи, меньшую, чем в исходной сети пакета.
Фрагментируемый (fragmentable)
Обладающий возможностью фрагментирования. Для того чтобы IP-пакет при необходимости можно было фрагментировать, в нем должен быть установлен бит May Fragment (разрешение фрагментации).
Фрейм (frame)
Базовый модуль данных протокола на Канальном уровне эталонной модели ISO/OSI.
Фрейм данных (data frame)
Базовый модуль данных протокола на Канальном уровне; фрейм представляет собой то, что будет передано или получено сетевым интерфейсом в виде битовой комбинации.
Фреймовый протокол NetBIOS (NetBIOS Frame, NBF)
Преемник NetBEUI в качестве собственного транспортного протокола NetBIOS в Windows 2000.
X
Хакер (hacker)
Человек, использующий свои знания компьютеров и сетевых технологий для несанкционированного доступа к информации или функциям устройства.
Хищение сеанса (session hijacking)
Методика IP-атаки, посредством которой злоумышленник перехватывает текущий сеанс связи между клиентом и сервером, таким образом присваивая все права и полномочия, присущие этому сеансу. Провести такую атаку довольно сложно, а последние изменения порядковых номеров TCP еще больше усложняют эту задачу.
Хорошо известная служба (well-known service)
Синоним распознаваемого протокола или службы TCP/IP; эти назначения документируются на сайте организации IANA (http://www.iana.org).
Гпоссарий
911
Хорошо известный адрес порта (well-known port address)
См. Хорошо известный номер порти.
Хорошо известный номер порта (well-known port number)
16-битное число, которое идентифицирует заранее установленное значение, связываемое с какими-либо хорошо известными службой или протоколом Internet, действующими на Прикладном уровне TCP/IP. Большая часть хорошо известных номеров порта не выходит за пределы диапазона (0—1024), однако Агентство по выделению имен и уникальных параметров протоколов Internet (IANA) (http://www.iana.org) также документирует зарегистрированные номера портов выше этого предела, функционирующие аналогичным образом.
Хорошо известный протокол (well-known protocol)
8-битное число, присутствующее в заголовке IP-пакета и идентифицирующее используемый протокол, согласно рекомендациям организации IANA (http://www.iana.org).
Хост (host)
В терминологии TCP/IP так обозначается любой компьютер или любое другое устройство (например, принтер), обладающие одним или несколькими действительными адресами TCP/IP (а следовательно, являющиеся достижимыми в рамках сети TCP/IP). Хостом также может быть компьютер, предоставляющий клиентам службы TCP/IP.
Хостовая часть (host portion)
Крайние правые разряды IP-адреса, предназначенные для идентификации хостов в суперсети, сети или подсети.
Хранение и переадресация (store and forward)
Методика, посредством которой сообщения электронной почты доставляются на определенный сервер, сообщения, предназначенные для отправки локальным клиентам сохраняются, а сообщения, предназначенные для отправки удаленным клиентам, переадресовываются другому серверу электронной почты для дальнейшей маршрутизации в окончательный пункт назначения.
Хэширование паролей (password hashing)
Метод хранения паролей в зашифрованной форме в целях аутентификации. Современные операционные системы, такие как Windows NT, Windows 2000, UNIX и Linux, хэшируют пароли для повышения защиты в хранящихся формах. К сожалению, когда хакеры или взломщики, зная алгоритм хэширования, получают доступ к файлам, в которых .хранятся хэшированные пароли, они могут выполнить словарную грубую парольную атаку и определить большинство паролей.
912
Гпоссарий
Ц
Цикл "тестирование — атака — настройка" (test-attack-tune cycle)
Наиболее важная стадия развертывания систем или компонентов защиты. Эту последовательность действий необходимо выполнять вплоть до того момента, когда после тестирования и атаки потребность в дальнейшей регулировке системы или компонента исчезнет. Осуществление этих действий дает наиболее надежную гарантию того, что развертываемые системы и компоненты будут максимально устойчивы по отношению к атакам.
Цифровая абонентская линия (Digital Subscriber Line, DSL)
Семейство постоянно функционирующих цифровых линий, обычно предоставляемых местными телефонными компаниями или станциями и служащих для подсоединения домашних или офисных сетей к носителям связи (в основном, в целях подключения к сети Internet). Расстояние между помещениями пользователей линий DSL до пограничного оборудования, соединяющего линию DNS с каналами передачи, не должно превышать 17 500 футов (5334 м).
Ч
Частная база управляющей информации (MIB) (private MIB)
Фирменная база управляющей информации (MIB), определяющая управляемые объекты устройства производителя.
Частный IP-адрес (private IP address)
Любой IP-адрес класса А, В или С, зарезервированный агентством IANA для частного применения, документированный в RFC 1918 и предназначенный для неконтролируемого использования в организациях. Поскольку нет гарантии, что такие адреса являются уникальными, их маршрутизация в сети Internet невозможна.
Частота извещений (advertising rate)
Временной интервал между объявлениями служб (обычно — служб маршрутизации) в сети. К примеру, частота объявления ICMP-пакетов Router Advertisement (извещение о существовании маршрутизатора) равна 10 минутам.
Червь (worm)
Злонамеренный мобильный код, способный перемещаться с одного компьютера на другой вплоть до своего уничтожения.
"Черная дыра" (black hole)
Точка сети, в которой пакеты отвергаются без предупреждения.
Гпоссарий
913
"Черная дыра" максимальной единицы передачи маршрута
Маршрутизатор, который без объявления отвергает слишком большие пакеты с установленным битом Don't Fragment (запрет фрагментации).
Черный ход (back door)
Недокументированная запрещенная точка вторжения в систему или сеть, часто встроенная в программное обеспечение или систему ее разработчиками.
Числовой IP-адрес
IP-адрес, выраженный в точечном десятичном или двоичном представлении.
Числовой адрес (numeric address)
См. Числовой IP'Cidpec.
Ш
Широковещание (broadcast)
Специальный тип сетевых передач (и адресов), которые должны считываться всеми адресатами в пределах локального сегмента кабеля; способ достижения всех адресов в любой отдельно взятой сети.
Широковещательный адрес (brodcast address)
Адрес сети или подсети, состоящий из одних единиц; позволяет отправить одну и ту же информацию всем интерфейсам данной сети.
Широковещательный бит (brodcast bit)
Одиночный бит в начале поля Flags (флаги) DHCP-пакета, обозначающий возможность или невозможность получения клиентом однонаправленных пакетов до завершения четырехпакетного процесса запуска DHCP.
Широковещательный пакет (broadcast packet)
Тип сетевой передачи, предназначенной для получения всеми устройствами в данной сети. Широковещательным адресом сети Ethernet является OxFF-FF-FF-FF-FF-FF.
Широковещательный поиск (discovery broadcast)
Процесс обнаружения DHCP-сервера посредством отсылки широковещательного пакета DHCP-поиска в локальный сегмент сети. Если в локальном сегменте сети DHCP-сервер отсутствует, перенаправить запрос удаленному DHCP-серверу должен ретранслятор. Если же в локальном сегменте отсутствует и ретранслятор, клиент не может получить IP-адрес с помощью протокола DHCP.
914
Гпоссарий
Шифрование (encryption)
Процесс представления данных в нечитаемом виде и обеспечения возможности выполнения обратной операции с помощью специального секретного ключа.
Шлюз (gateway)
В среде TCP/IP термин "шлюз" обозначает устройство перенаправления Сетевого уровня, которое обычно называется маршрутизатором. Шлюз по умолчанию — это маршрутизатор, на который хост отсылает пакет за отсутствием определенного маршрута к пункту назначения.
Шлюз по умолчанию (default gateway)
Название IP-адреса маршрутизатора, через который машина, подсоединенная к локальной сети, должна пропускать исходящий трафик, направленный за пределы локальной сети; таким образом, этот адрес действительно становится "шлюзом" в мир IP-адресов за пределами локальной подсети. Так же называется шлюз "последней инстанции", на который пакеты отсылаются в том случае, если в таблице маршрутизации локального хоста отсутствует запись маршрута хоста или сети.
Э
Эксплойт (exploit)
Документированный способ проникновения в систему, опубликованный с целью последующего повторного применения.
Эфемерный порт (ephemeral port)
См. Временный порт.
Эхо-процесс ICMP
Процесс протокола ICMP, посредством которого хост отсылает эхо-пакет другому хосту в объединенной сети. Если хост назначения активен, он отправляет ответное эхо-сообщение с данными, содержащимися в первом эхо-пакете протокола ICMP.
Ядро (kernel)
Центральный элемент операционной системы компьютера. При запуске операционной системы ядро сохраняется в основной памяти. Оно выполняет наиболее важные задачи.
Предметный указатель
#
4.2BSD 14, 36, 49, 68 6bone 758
А
AD (Active Directory) 420, 421, 654, 675
АН (заголовки аутентификации) 741, 746, 754
AiroPeek 515
Alarm (аварийный сигнал) 625
AntiSniff 517
API (программный интерфейс приложения) 652, 656, 657
AppleTalk 31, 139, 146, 201
Archie 15
ARP (протокол разрешения адресов) 32, 81, 498
Ethernet II 145
аппаратные адреса 157
базовые функции 160
дублированные IP-адреса 158
информация об адресах
отправителя и получателя 164, 165
коды операций 164
поля 161, 162, 163, 164
поля пакетов 161, 162, 163
функции 160
ARP-запрос 158
ARP-кэш 158, 162, 165, 203, 204
ARP-ответ 160, 162
ARP-утилита 790
ARPA (Управление перспективных исследовательских программ США) 12, 49
ARPANET 12, 13, 14, 15, 49
ArpCacheLife 166
ArpCacheMinReferencedLife 167
ArpUseEtherSNAP 797
добровольный 158
пакет 160
AS (автономная система) 575—588
ASBR (маршрутизатор границ автономных систем) 576
ASCII (Американский стандартный код обмена информацией) 138
ASCII-формат файлов 333, 341
ASIC (специализированные интегральные схемы) 113
ASN.1 (абстрактная синтаксическая нотация 1) 620, 621, 627, 638, 650
ATM (асинхронный режим передачи)
136, 142, 143, 188, 200, 592
ATM MIB (RFC 2515) 620, 638
В
Back Orifice 506, 521, 555, 558
BDR (резервный назначенный маршрутизатор) 582
Berkley 500
BGP (пограничный межсетевой протокол) 33, 179, 576, 588, 594, 595, 598, 604, 606
BIND (служба доменных имен в сети
Internet) 386, 400, 422, 430
BITS (bump-in-the-stack) 772, 775
BITW (bump-in-the-wire) 747, 772, 775
ВООТР (протокол загрузки) 33, 168, 181, 203, 310, 312, 449, 740
ВООТР-ретранслятор 448
916
Предметный указатель
BSD UNIX (программное изделие Калифорнийского университета) 14, 68, 386, 500, 519
В-узел (широковещательный узел) 664, 666, 688, 694
СА Unicenter 616
Carbon Copy 500
CERN (Европейский центр ядерных исследований) 15, 16
CERT (группа компьютерной "скорой помощи") 505, 511, 538, 539
номера портов, через которые действуют троянские кони 522 порты, которые следует
блокировать 520
Chargen (генератор символов) 327, 357-359, 368, 375, 376
CIDR (бесклассовая междоменная маршрутизация) 92, 106, 107, 116, 125
CIFS (общий протокол доступа к файлам Internet) 652, 653, 655, 656, 694
CIX (Биржа коммерческого информационного обмена) 15
CNAME (каноническое имя) 391, 400, 402, 403, 416
СОА (адрес для передачи) 753—756
CRC (контроль при помощи циклического избыточного кода) 144, 147, 155, 187, 189
Crypto API 537
С-SLIP (сокращенный протокол интерфейса линии последовательной передачи) 139
CSMA/CD (множественный доступ с контролем несущей и обнаружением конфликтов) 30
CyberCop ASaP 534
Daytime 359
db.addr 403
DDNS (динамическая система DNS) 421, 422
DDoS (распределенный отказ от обслуживания) 509, 510, 552, 554
DEC LAT 146
Decline (отказ) 472
DefaultTOS 180, 798
DefaultTTL 174, 798
Destination Options (опции назначения) 732, 733
Destination Unreachable (пункт назначения недостижим) 211, 214, 221, 224, 232, 234, 239, 240, 243, 256, 263-265
Destination Unreachable (пункт назначения недостижим) 214
DHCP (протокол динамической конфигурации хоста) 33, 42, 168, 187, 203, 445-447, 449, 467, 474, 708, 717, 740-743, 769, 772
Release (освобождение) 473
UDP (протокол передачи дейтаграмм пользователя) 463 автоматическое выделение адресов 450
будущее DHCP 476
время истечения периода выделения 452
выделение IP-адресов 448
выделения DHCP 447
действия 447
динамическое выделение адре сов 451
запрос адреса DHCP 469
истоки 449
области и классы 476
общая информация 786
однонаправленные сообщения 473 период выделения по умолчанию
448, 452
Предметный указатель
917
повторная инициализация 462, 490 поиск неисправностей 476
программные элементы-449
процесс обновления адресов 451, 478 процесс освобождения адресов 463 процесс ретрансляции 474
ретрансляторы 450
ручное выделение 450
стандартный процесс поиска 453
структуры пакетов 463
Т1 (время продления) 461
Т2 (время повторного присвоения) 462
типы выделения 450
управление IP-адресами 452, 477
управление адресами клиентов 452 широковещание 448, 473
DHCPv6 (протокол динамической конфигурации хоста версии 6) 742, 743, 772
DHCP-запрос (0x01) 472
DHCP-запросы 450
DHCP-клиент 448, 449
DHCP-ответ 464
DHCP-ответ (0x02) 472
DHCP-поиск 452, 453
DHCP-ретрансляторы 448, 450, 474 DHCP-серверы 445, 446, 448—453, 456, 458, 461-463, 465, 466, 469, 473-477, 483-487, 491
diffserv (дифференциированные
службы) 730, 750
DISA 14
Discard 359
Discover (поиск) 472
DLL (динамически подключаемая
библиотека) 656, 657
DMZ (демилитаризованная зона)
524, 542
DNS (служба доменных имен) 25, 80, 109, 385
FQDN (полностью определенные доменные имена) 389, 401
Windows 2000 653, 654, 670
авторитетное соответствие имен IP-адресам 420
высокая степень доступности 387 делегирование полномочий 390, 391, 392
задержка распространения 421
зоны 392
имена рабочих станций 420
команда NSLOOKUP 406
конфигурационные файлы 395
корневые серверы 395
кэширование данных 387, 393, 398
на стороне клиента 394
надежность 386
недостатки 421
обзор 389
обновления адресов 451
обработка адреса обратной связи 404 описательное именование серве-
ров 420
получение и хранение данных корневого сервера 405
предоставление пользователям служб разрешения имен 420
происхождение и история 386 разрешение доменных имен в IP-
адреса 390
реализации 420
репликация 329
стандартизация символов 667, 671
статистика 686
субдомены 390
файлы зон 392, 400
форматы записей ресурсов 399
форматы пакетов запроса/ответа 411
DNS over TCP/IP 654
DNS-распознаватели 394
DNS-сервер 114
вторичный 393
иерархия доменных имен 396
итеративные запросы 397
конфигурация и поиск	'
неисправностей 407
кэширование нескольких адресов корневых серверов 406
нерекурсивные запросы 397
первичный 392
типы 392
функции 395
918
Предметный указатель
DO 339, 340, 342, 343
DOI (область интерпретации)
ISAKMP 747
domain.dns 399, 400, 402
DON'T 339, 340, 342, 343, 344
DoS (отказ от обслуживания) 293,
497, 499, 507, 509
DR (назначенный маршрутизатор) 582, 583
DSL (цифровая абонентская линия)
135, 137, 141, 188, 201
DTP (процесс передачи данных)
330, 333
Ethereal 515
Ethernet 802.2 LLC 148, 153, 155, 189, 201
Ethernet II 137, 144, 145, 147, 149, 150-152, 160, 163, 189, 201, 202
Ethernet SNAP 150-152, 157, 189, 202
Ethernet statistics (статистика
Ethernet) 625
EtherPeek 41, 364, 366, 515, 686
EtherPeek for Windows 44, 45, 46, 805
EUI-64 711, 712, 719, 741, 767, 772
Event (событие) 625
Ethernet 13, 30, 43, 75, 76, 77
El 137
E3 137
EBCDIC (расширенный двоичнодесятичный код обмена информацией) 333
Echo Reply (эхо-ответ) 236
Echo Request (эхо-запрос) 236
Echo 358
Echo/Echo Reply (эхо/эхо-ответ) 214
EFS (сервер расширенных имен файлов) 281
EGP (внешние шлюзовые протоколы) 565, 580, 587
EGP (внешний шлюзовой протокол) 588
EGPs (внешние шлюзовые протоколы) 576
EIGRP (расширенный протокол внутренней шлюзовой маршрутизации) 587, 590, 592
EnablePMTUBHDetect 223, 799
EnablePMTUDiscovery 799
EnableProxy 677, 678, 804
ESP (протокол инкапсулированной полезной нагрузки безопасности) 733, 738, 739, 746, 748-750, 756
ESP-заголовок 733, 739, 749
FA (внешний агент) 753
FCS (контрольная последовательность кадра) 141, 148, 152
Filter (фильтр) 625
Finger (указатель) 327, 357, 361, 368, 375, 376
FQDN (полностью определенные доменные имена) 389, 401
получение из имен NetBIOS 673
FTP (протокол передачи файлов) 34—
37, 39, 74, 76
DTP (процесс передачи данных) 330
PI (интерпретатор протоколов) 331
TCP (протокол управления передачей) 334
UI (пользовательский интер-
фейс) 331
командное соединение 330, 334
команды 332
последовательности пакетов 334
примеры сообщений 334 соединение для передачи данных 334
файловая система 333
элементы 330
ftp.exe 331
Предметный указатель
919
Get Ad min 501
GET-NEXT 627, 628, 638, 647-649
GET-REQUEST 627, 638, 647-649
GET-RESPONSE 627, 628, 638, 647-649
GlobalMaxTcpWindowSize 303, 803
GMT (среднее время по Гринвичу) 252
Gnutella 328
Gopher 15
НА (собственный агент) 753
HDLC (высокоуровневый протокол управления каналом) 140, 163
Hex Workshop 506
HINFO (запись хостовой информации) 391, 416
History control (контроль предыстории) 625
Hop-by-Hop Options (межтранзитные опции) 731, 732
Host (хост) 625
HOSTS 386, 399, 423, 430, 659, 663, 667
HostTopN 625
HP OpenView 634, 635
HTTP (протокол передачи гипертекста) 15, 16, 328, 350
URI (универсальные идентификаторы ресурсов) 351 коды состояния 352 методы 351
модель запроса/ответа 350
последовательности пакетов 355
примеры сообщений 354
элементы 350
HTTPS 356
Нribbing out (перехват пакетов) 48
Н-узел (гибридный) 666
IAB (Совет по архитектуре сети Internet) 17, 50
IANA (Агентство по выделению имен и уникальных параметров Internet) 671, 691, 692, 701, 739, 752, 809 номера опций TCP 310 определения SMI 623 опции DHCP 456 опции Telnet 340 подчиненные MIB 623 список значений Opcode 413 список значений Rcode 414 типы аппаратных адресов 464
ICANN (Организация по присвоению имен и номеров в сети Internet) 18, 90, 112, 116
ICMP (протокол контроля сообщений в сети Internet) 32, 34, 37, 211, 498 безопасность 230 обзор 213 основные функции в сетях IP 214 ошибки 212 пакеты Destination Unreachable (пункт назначения недостижим) 224
поиск максимальной единицы передачи маршрута 220, 255 поля и функции пакетов 231 порядок маршрутизации 225 порядок тестирования и поиска неисправностей 215
сетевые перегрузки 212 типы сообщений 213, 214, 236
ICMP-заголовки 231, 241 обнаружение ошибок 236 пакет:
Address Mask Reply (ответ на запрос маски адреса) 253
Address Mask Request (запрос маски адреса) 253
(окончание рубрики см. на с. 920)
920
Предметный указатель
ICMP-заголовки, пакет (окончание): Destination Unreachable (пункт назначения недостижим) 239
Echo Reply (эхо-запрос) 236
Information Reply (ответ на запрос информации) 253
Information Request (запрос информации) 253
Parameter Problem (проблема параметра) 251
Redirect (перенаправление) 246
Router Advertisement (извещение маршрутизатора) 248
Router Solicitation (запрос маршрутизатора) 249
Time Exceeded (превышение лимита времени) 250
Timestamp (отметка времени) 252
Timestamp Reply (ответ на отметку времени) 252
Traceroute (отслеживание маршрута) 254
переменные структуры и функции 236
поле Checksum (контрольная сумма) 236
поле Code (код) 234
поле Туре (тип) 232
постоянные поля 231
JCMP-запросы 225, 231
1СМР-пакет:
Alternate Host Address (резервный адрес хоста) 235
Destination Unreachable (пункт назначения недостижим) 239
Echo Request (эхо-запрос) 230
Parameter Problem (проблема параметра) 251
Photuris 236
Redirect (перенаправление) 232, 234, 246
Router Advertisement (извещение о существовании маршрутизатора) 228
Router Advertisement (извещение о существовании маршрутизатора) 228, 573
Router Advertisement (извещение о существовании маршрутизатора) 573
Router Solicitation (обращение к маршрутизаторам) 225, 226
Time Exceeded (превышение лимита времени) 250
ICMP-процесс Эхо 215
ICMP-сообщение
Redirect (перенаправление) 230
Router Discovery (поиск маршрутизатора) 225
Source Quench (ослабление источника) 246
Time Exceeded (превышение лимита времени) 573
Time Exceeded (превышение лимита времени)573
Time to Live Exceeded in Transit (время жизни истекло во время транзита) 250
1СМРу6-сообщение
Home Agent Address Discovery (поиск адреса собственного агента) 755
ICSA (Международное общество компьютерной безопасности) 494
IDS (система обнаружения вторжений) 517, 520, 529, 535
IEEE (Институт инженеров по электротехнике и электронике) 30
IEEE 802 30
IEEE 802.3 144, 147
IEEE 802.5 152
IEEE EUI-64 формат 711, 712, 767
IETF (Проблемная группа по
проектированию сети Internet) 17, 50 IGMP (межсетевой протокол
управления группами) 242
IGP (внутренние шлюзовые протоколы) 565, 577, 580, 589, 595
Предметный указатель
921
EIGRP (расширенный протокол внутренней шлюзовой маршрутизации) 587
OSPF (первоочередное открытие кратчайших маршрутов) 576, 581
RIP (протокол маршрутной информации)577 параллельные каналы 589 IGPs (внутренние шлюзовые протоколы) 576
IKE (протокол обмена ключами в сети Internet) 747, 750
ILOVEYOU 505, 506, 553
IMAP (протокол доступа к сообщениям в сети Internet) 37 in-addr.arpa 400, 404 INETINFO.EXE 35
Information Reply (ответ на запрос информации) 233, 253
Information Request (запрос информации) 233, 253
Internet 13
Internet Explorer 16
Internet-стандарт 19, 50
InterNIC (Информационный центр сети Internet) 16
InterNIC FTP-сервер 405
IP (протокол Internet) 12, 32, 34, 36, 38
IP-дейтаграммы 169 аппаратные адреса 157 аппаратный адрес маршрутизатора 171
гибкость 498
доменные имена 80
локальные и удаленные пункты назначения 171
маски подсети 98
приоритет маршрутов 179
приоритет пакетов 179
процесс разрешения маршрутов 171 решение проблем защиты 518 символические имена 80
утилиты командной строки 790
IPCOMP (1Р-сжатие) 747 IPCONFIG 165, 476, 791
IPCP (протокол управления протоколом Internet) 140
IPng (новое поколение протоколов межсетевого взаимодействия) 707
IPSec (защита IP) 109, 522, 528, 537, 745, 747
IPv4 (протокол IP версии 4) 13, 146, 169, 708
сосуществование с IPv6 757 туннели 758
адреса обратной связи 715
нехватка универсально
действительных IP-адресов 709 преобразованные адреса 713 совместимые адреса 713, 758
IPv6 (протокол Internet-версии 6) 92, 169, 707
DHCPv6 (протокол динамической конфигурации хоста версии 6) 742
IPSec (защита IP) 745
IPSec (защита IP) 747
MTU (максимальная единица передачи) 726
ND (протокол обнаружения соседних узлов) 724
NSAP (точка доступа к сетевой службе) 722
PMTU (максимальная единица передачи маршрута) 726
QoS (качество обслуживания) 750
автоконфигурация 476 автоконфигурация 740 адрес обратной связи 714 адреса локального канала 719 адреса локального узла 719 адресное пространство 709 альтернативные адреса 717 безопасность 743
группируемые глобальные однонаправленные адреса 718 групповые адреса 715 двухстековые реализации 757 заголовки расширений 732 заголовок Destination Options (опции назначения) 732, 733
(окончание рубрики см. на с. 922)
922
Предметный указатель
IPv6 (протокол Internet-версии 6)
(окончание):
заголовок расширений аутентификации 737
заголовок расширений инкапсулированной нагрузки безопасности 738
заголовок расширений маршрутизации 734
заголовок расширений межтранзитных опций 734
заголовок расширений опций назначения 738
заголовок расширений фрагментации 736
идентификатор области действия 711
идентификаторы интерфейсов 711
интенсивность перехода 759
межтранзитные опции 751
многоадресная рассылка 715
мобильные пользователи 753
неопределенный адрес 714
обработка и настройки пакетов 738
однонаправленные адреса 718
отказ от широковещательных адресов 715
предупреждения маршрутизаторов 751
присвоение IPX 721
размер пакетов 726
распределение адресов 721
ресурсы сети Internet 789
сетевая и хостовая части адресов 711
собственная среда 758
сосуществование с IPv4 757
специальные адреса 714
строгая и свободная
маршрутизация от источника 734
типы адресов 714
туннели 749, 758
форматы 727
фрагментация 726
функции 739
IPv6 MIB (RFC 2465) 620, 638
IPX (межсетевой пакетный обмен) 146, 565, 592
IPX/SPX (межсетевой пакетный обмен/последовательный пакетный обмен) 31
IP-адреса 385
CIDR (бесклассовая междоменная маршрутизация) 92
NAT (преобразование сетевых адресов) 93
OUI (организационно уникальный идентификатор) 81
WINS-серверы 675 альтернативные 92 аренда 93 бездисковые рабочие станции 168 близость 83 брандмауэры 93 возвратное тестирование 84 выделение 447 групповые 83
• двоичная арифметика 94 дублирование 82, 158 зарезервированные 84 идентификация устройств 109 иерархическая организация 403 класса А 84 класса В 85 класса С 86 класса D 87 класса Е 87 классы 83 конструктивные задачи 94 логические числовые 80 множественные одновременные соединения 25
нехватка 112, 709
общедоступные 85, 92, 93, 107— 111, 525
освобождение и/или продление 463 полезное адресное пространство 708 получение 111 прокси-серверов 93
распределение и управление 446 расширенный сетевой префикс 99 сетевая часть 83, 98
Предметный указатель
923
сетевой префикс 99
сети 102
соответствие доменным именам 397, 400
соседство 83
структуры многоадресных пакетов и групповых адресов 90
структуры широковещательных пакетов 89
точечное десятичное представление 81
управление доступом 109 , управление с помощью DHCP 452 физические числовые 81
фильтрация 512
хостовая часть 83, 98
частные 93, 107, 512
числовые 80
широковещательный адрес 88 элементы 82
IP-адресация, организация подсетей и суперсетей 785
1Р-атаки:
DDoS (распределенный отказ от обслуживания) 509
DoS (отказ от обслуживания) 507
nmap 515
PING-развертка 513
анализ 513
вирусы 505
грубая атака 515
злонамеренный код 505
прикрытие 515
проба порта 515
прослушивание сетей 515
процесс обнаружения 513 рекогносцировка 513
скрытые инициаторы атак 515
спуфинг 511
троянские кони 505
хищение сеанса TCP 512
черви 505
1Р-дейтаграммы 138, 139, 144, 147, 150, 169
IP-заголовок:
поле Destination Address (адрес
назначения) 188
поле Flags (флаги) 185
поле Fragment Offset (смещение
фрагмента) 186
поле Header Checksum (контрольная сумма заголовка) 187
поле Header Length (длина
заголовка) 182
поле Identification
(идентификация) 185
поле Internet Header Length (IHL
длина Internet-заголовка) 182
поле Options (опции) 188
поле Protocol (протокол) 186
поле Source Address (адрес
источника) 187
поле Time То Live (TTL время жизни) 186
поле Total Length (общая длина) 184
поле Type Of Service (TOS тип
службы) 182
поле Version (версия) 182
поля и функции 181
IP-заголовок аутентификации (АН) 522
IP-защита 787
исправление проблем 522
1Р-маршрутизация 787
IP-пакеты:
поле Time То Live (TTL время жизни) 174
с возможностью
фрагментирования 216
IP-перенумерация 111
IP-протоколы:
верхнего уровня 328
незащищенные 500
IP-службы 500
1Р-спуфинг 403
IP-хосты не могут наладить взаимодействие 172
1Р-шлюзы 90, 99, 445, 446, 450, 452
IRTF (Проблемная группа по
исследованию сети Internet) 17
924
Предметный указатель
ISAKMP (протокол управления ключами и ассоциациями безопасности в сети Internet) 747, 748, 750
ISDN (цифровые сети связи с комплексными услугами) 141, 188, 201
ISO (Международная организация по стандартизации) 20
ISO 7498 20
ISO/OSI (модель взаимодействия открытых систем Международной организации по стандартизации) 20
ISO/OS1 модель сетевого управления 615
ISO/OSI сетевая эталонная модель 20, 22, 51
Канальный уровень 22, 24
Прикладной уровень 22, 28 разбиение сетей на уровни 20 Сеансовый уровень 22, 27 Сетевой уровень 22, 25
Транспортный уровень 22, 26
Уровень представления 22, 'll уровни 22
Физический уровень 22, 23
ISOC (Общество Internet) 15, 17, 784
ISP (поставщики доступа в Internet) 93, 105
ISTF (Проблемная группа по общественному значению сети Internet) 17
ITU (Международный союз телекоммуникаций) 142
LAN Manager 657
LCP (протокол управления каналами)
140, 141
LDAP (облегченный протокол службы каталогов) 654
Legion 534, 555
Linux:
DHCP-клиент 450
ресурсы NetBIOS 669
LLC (управление логическим
соединением) 81, 136, 147
LMHOSTS 655, 659, 663, 666, 667,
670, 696, 697
Lotus Notes 655
LOVE-LETTER-FOR-YOU.TXT.vbs 505
LSA (объявления состояния канала)
582, 583, 585
LSA-сообщение:
типа 1 (объявление каналов маршрутизатора) 583
типа 2 (объявление сетевых каналов) 583
типа 3 (объявление сетевого общего канала) 583
типа 4 (объявление общего канала до маршрутизатора границ автономных систем) 583
типа 5 (объявление внешнего канала автономной системы) 583
J
JEEVES 386
KeepAlivelnterval 293, 294, 802
KeepAliveTime 293, 801
Kerberos версии 5 536
MAC (управление доступом к среде) 81, 136
Macintosh как DHCP-клиент 450
МАС-адреса 32, 33, 81, 82, 99, 11 1, 136, 146, 154, 189, 712, 713, 724
Matrix (таблица) 625
MaxUserPort 284, 800
MDB (база данных управления) 614, 632
MIB (база управляющей информации):
ASN.1 (абстрактная синтаксическая нотация 1) 620
Предметный указатель
925
RMON (удаленный мониторинг) 624
SM1 (структура информации для управления сетью) 620
загрузка 623
определения в сторонних MIB 624
рабочие параметры WINS 686 считывание нескольких записей 628
формат объектов 620
частные 623
чтение отдельной записи 627
MIB-2 622
MIB-2 (RFC 1213) 631
Microsoft:
область 476
суперобласть 476
Microsoft DNS 670, 676, 677, 679, 680,
682, 683, 688
Microsoft Exchange 657, 660, 661
Microsoft Messenger Service 310
MILNET 14
Mobile IPv6 753, 754, 755, 756
MS00-091 518
MSS (максимальный размер сегмента)
288, 290, 302, 305, 309, 321, 323
MTU (максимальная единица передачи) 26
MX (почтовая запись) 391, 415—417, 431, 432
М-узел (смешанный) 665
Name Conflict Demand (оповещение о конфликте имен) 669
Name Registration Request (запрос на
регистрацию имени) 658, 665, 668, 693
Name Release Demand (требование освобождения имени) 669
names, root 405
NAT (преобразование сетевых
адресов) 93, 110, 525
NBF (NetBIOS Frame) 654-656, 658,
672, 687, 690, 691, 693, 697, 702, 703
NBT 327, 362, 363, 368, 653, 655, 670, 688, 691
NBTSTAT 684
NCP (протоколы управления сетью) 140 NCSA (Национальный центр по применению суперкомпьютеров) 16
ND (протокол обнаружения соседних узлов) 724, 725, 740, 760
NDIS (спецификация интерфейса сетевых адаптеров) 656
Neighbor Advertisement (NA извещение о существовании соседнего узла) 725
NetBEUI (расширенный пользовательский интерфейс сетевой базовой системы ввода-вывода) 31, 652-654, 671, 687
NetBIOS (сетевая базовая система ввода-вывода) 651
"болтливость" 652
NetBEUI 652
TCP (протокол управления передачей) 670
TCP/IP (протокол управления передачей/протокол Internet) 654
Windows 2000 653
дейтаграммы 657
идентификатор области действия 662 имена 660
исторические ограничения 652 неверная конфигурация конечных узлов 684, 687
недостатки 651
перегрузка сервера 687
поиск неисправностей 683 порты TCP/UDP для служб
NetBIOS 671
применение 651
пространство имен 651, 652
ресурсы 651, 652
сбои сервера 684
сеансовые фреймы 657, 658
службы имен 660
службы сеансов 660
сообщения 657
спуфинг 511
статистика 684
типичные ошибки 687 уровни в сетевой схеме
Windows 2000 654
926
Предметный указатель
NetBIOS Name Conflict (конфликт имен NetBIOS) 511
NetBIOS Name Release (освобождение
имени NetBIOS) 511
NetBIOS over TCP/IP (NetBT или
NBT) 362, 363, 653, 655, 670, 675, 788
NetMon 686
Netscape Navigator 16
NETSTAT 792
NetTools 534
Network Analysis Survival Kit 777
Network Browser 635, 660
Network Monitor 515
NFS (сетевая файловая система) 34,
311, 312
NIC (сетевая интерфейсная плата) 23,
43, 517
беспорядочный режим 43
NLRI (информация о достжимости сетевого уровня) 564
nmap 534, 555
NMS (система управления сетью) 614,
616, 637
NNM (Network Node Manager) 634
Norton AntiVirus 538
NS (Neighbor Solicitation обращение к соседним узлам) 725, 741
NS (запись сервера имен) 391, 392,
398, 400, 405, 406, 409
NSAP (точка доступа к сетевой
службе) 721, 722
NSFNET 14, 15, 68
NSLOOKUP 406
NTP (синхронизирующий сетевой
протокол) 252
NTP-серверы и альтернативные
адреса 717
NVT (виртуальный терминал сети) 339
OCTAVE (оценка операционно критических угроз ценных свойств и уязвимости) 540
ODR (маршрутизация по требованию) 592
Offer (предложение) 472
OID (идентификатор объекта) 620, 638
OpenView 633, 635
OS/2 и WINS-клиенты 677
OSI 7498 20
OSPF (первоочередное открытие кратчайших маршрутов) 33, 179, 187, 562, 565, 571, 575, 576, 581
OSPF-пакет 90
OUI (организационно уникальный идентификатор) 81
Р
Packet capture (захват пакетов) 625
Parameter Problem (проблема параметра) 251
Parameter Problem (проблема параметра) 211, 215
PATHPING 220, 793
pcAnywhere 500
PC-cillin 538
PCT (технология конфиденциальной связи) 537, 543
PDB (доменные режимы) 750
PDU (модули данных протокола) 23
заголовок 40
информация об адресации 23
концевик 40
надежная сквозная передача 26
полезная нагрузка 40
Физический уровень 24
PerformRouterDiscovery 227, 800
РНВ (транзитные режимы) 750
PI (интерпретатор протоколов) 330, 331
PID (идентификация протоколов) 138
PING (отправитель пакетов Internet) 32, 215, 635, 793
PING-развертка 513
PKI (инфраструктура открытого ключа) 536, 542
Предметный указатель
927
PMTU (максимальная единица передачи маршрута) 220, 223, 242, 726, 729 Poison Reverse (негативный отклик) 572 POP3 (почтовый протокол версии 3) 37 РРР (протокол двухточечного соединения) 30, 31, 136, 137, 139— 142, 188 РРТР (двухточечный туннельный протокол) 31 Preamble 146 Printer MIB (RFC 1759) 620 ProConvert 806 PROM (программируемое постоянное запоминающее устройство) 449 Protocol Analyzer Vendors 42 PTR (запись указателя) 391, 400, 403, 405 P-узел (одноранговый) 665	RFC 793 296, 308, 309, 323 RFC 812 360 RFC 821 345, 346, 350 RFC 826 158 RFC 854 338, 344 RFC 855 338 RFC 882 386 RFC 883 386 RFC 896 304 RFC 903 .164, 168 RFC 904 588 RFC 954 360 RFC 959 330, 332, 338 RFC 1191 222 RFC 1288 361 RFC 1878 87 RFC 2373 723 RFC 821 345 RFC 1001 363, 671, 675, 693 RFC 1002 363, 671, 675, 693 RFC 1035 390 .
Q	RFC 1055 31, 138, 139 RFC 1058 577
Q199773 161 QOD (Quote of the Day) 357, 358, 368 QoS (качество обслуживания) 115	RFC 1122 309 RFC 1144 139 RFC 1191 220, 232 RFC 1256 228, 232 RFC 1257 362 RFC 1332 140
RA (извещение о существовании маршрутизатора) 724 RARP (протокол определения адреса по местоположению) 33, 81, 164, 168 ReachOut 500 Receiver-SMTP 344, 345 ' Redirect (перенаправление) 246, 725 Regentry.chm 303 Release (освобождение) 473 Request (запрос) 469 rexec 500 RFC (Requests for Comments) 11, 17, 18, 777 RFC 768 278, 279 RFC 791 169, 182 RFC 792 213, 232, 233, 236, 240, 242, 255	RFC 1349 180 RFC 1350 360 RFC 1356 142 RFC 1393 254 RFC 1442-145.0 362 RFC 1513 626 RFC 1517 106 RFC 1518 106 RFC 1519 106 RFC 1531 810 RFC 1533 810 RFC 1534 446 RFC 1557 143 RFC 1626 143 RFC 1661 139 RFC 1662 140 RFC 1757 625
928
Предметный указатель
RFC 1771 588
RFC 1812 225
RFC 1877 140
RFC 1878 100
RFC 1903—1910 362
RFC 1918 107, 512, 525, 528, 708, 769
RFC 1945 350, 351
RFC 2026 19
RFC 2131 446, 461, 462
RFC 2132 446, 456, 472
RFC 2136 421
RFC 2241 446
RFC 2317 404
RFC 2328 581, 586
RFC 2373 717, 720, 722
RFC 2393 747
RFC 2401 745
RFC 2427 143
RFC 2453 577
RFC 2461 724
RFC 2462 740
RFC 2474 184
RFC 2526 718
RFC 2581 302, 303
RFC 2675 752
RFC 2700 18
RFC 2711 751, 752
RFC 3041 713
RFC-стандарт 19
RIP (протокол маршрутной информации) 33, 310, 565, 566, 568, 573, 576, 577, 589, 591, 597
UDP (протокол передачи дейтаграмм пользователя) 281 RIPvl 577 RIPv2 578
RMON (удаленный мониторинг) 48, 624
RMON Token Ring 626
ROUTE 794
Router Advertisement (извещение маршрутизатора) 248
Router Discovery (поиск маршрутизатора) 214
Router Solicitation (запрос маршрутизатора) 248
RPC (удаленный вызов процедуры) 361
rpr 500
RR (записи ресурсов) 390 .
RS (обращение к маршрутизаторам) сообщение 724
rsh 500
RSVP (протокол резервирования ресурсов) 750
RTO (лимит времени на повторную передачу) 299, 300, 301, 310
RTT (период кругового обращения)
299, 300, 301
runts (маломерные пакеты) 43, 44
r-utils 500
SA (ассоциация безопасности) 737, 748, 749
SAD (база данных ассоциаций безопасности) 748
Samba 669, 677, 688
SAP (точка доступа к службе) 149
SDLC (протокол синхронного управления передачей данных) 140
Secure Telnet 500
Sender-SMTP 344, 345
Server Properties 681
SET 628
SLIP (межсетевой протокол для последовательного канала) 30, 31, 136, 138
SMB (блок серверных сообщений) 652, 654-656, 669
SMI (структура информации для управления сетью) 620, 621, 623
SMTP (простой протокол электронной почты) 37 коды ответов 347 команды 345 последовательности сообщений 349 примеры сообщений 348 процесс Receiver-SMTP 345 процесс Sender-SMTP 345 элементы 345
Предметный указатель
929
Sinurf-атака 509
SNA (системная сетевая архитектура) 31
SNAP (протокол доступа к подсети) 150
Sniffer Network Analyzer 41
Sniffer Pro 686
SNMP (простой протокол сетевого
управления) 48, 362, 498, 612, 614, 619
более строгая система
аутентификации 632
групповые имена 629
защита 629
инструменты 634
интеграция с другими средами 635
команда GET 627
команда GET-NEXT 628
команда GET-REQUEST 627
команда GET-RESPONSE 627
команда SET 628
основные файлы 634
поиск неисправностей 636
ресурсы сети Internet 788
сообщение TRAP 629
усовершенствованные иденти-
фикаторы объектов (OID) 636
утилиты 634
SNMP Utilities Release 3.0 635
SNMPvI (SNMP версии 1) 619
SNMP-агенты 626
SNMP-менеджеры 627
групповые имена 629
защита 629
сообщения SNMP 627
MIB (база управляющей инфор-
мации) 620
SNMPv2 (SNMP версии 2) 619, 630
SNMPv3 (SNMP версии 3) 619
SNMP-агенты 619, 626
конфигурация 630
определение порогов 628
пороги событий 628
установка 630
SNMP-консоли 632
SNMP-ловушки 629
SNMP-менеджеры 627
SOA (запись начала полномочий) запись 391, 393, 398-402, 404, 405, 416, 424, 431, 432
SOCKS 528
SOHO (широкополосные устройства/брандмауэры/устройства трансляции сетевых адресов для малых и домашних офисов) 591
Solar Winds 635
SolicitationAddressBCast 227, 800
SONET (синхронная оптическая сеть) 143
Source Port Number (номер порта источника) 279, 280, 305
Source Quench (ослабление источника) 214, 245, 246
Source Quench (ослабление источника) 214
SPD (база данных политики безопасности) 747, 748
SPF-маршрутизаторы 584
SPI (индекс параметров безопасности) 737, 748
SRI (Стенфордский научно-исследовательский институт) 13
SSH (интерфейс безопасной оболочки)357
SSL (протокол защищенных сокетов) 344, 352, 356
SSL 3.0/РСТ (защищенные протоколы безопасности каналов) 537
Stelnet (Secure Telnet) 344
SWS (синдром глупого окна) 304
SYN-атака 293
SYN-пакет 295
SYSTEM 284
Т1 15, 135, 137, 141
ТЗ 137
TCP (протокол управления передачей)
12, 34, 286
Chargen (генератор символов) 358
(окончание рубрики см. на с. 930)
31 Зак. 321
930
TCP (протокол управления передачей)
(окончание)’.
• Echo-служба 358
Finger 361
FTP (протокол передачи файлов) 330
Microsoft Messenger Service 310
QOD (цитата дня) 358
RPC (удаленный вызов процедуры) 361
SNMP (простой протокол сетевого управления) 362
SWS (синдром глупого окна) 304
Whois 359
быстрая повторная
передача/восстановление 302
важность 311
виртуальное соединение 286
завершение соединения 294 задержка Time Wait (ожидание перед повторным использованием параметров) 296 затяжной запуск 302 использование 310, 311 квитирование TCP 286 контроль перегрузок 301 локальные сети 311 максимальный размер сегмента 286 мощность и надежность 310 надежность сквозной передачи данных 286
организация окон 301
повторные' передачи 294
популярность 311
последовательность обрыва 298
поток байтов 286
предотвращение перегрузок 302 пропускная способность 301 процесс запуска соединения 287 процесс квитирования 287 процесс обнаружения и устранения ошибок 299
процесс поддержки соединения 293
процесс упорядочивания и подтверждения приема 297 раздвижное окно 286 режимы соединения 295
Предметный указатель
сообщения 287
стартовая последовательность 298
таймер повторной передачи 299
упорядочивание 286
устранение ошибок 286
TCP/IP (протокол управления передачей/протокол Internet) 11, 654
NetBIOS 670
атаки 495
гибкость 498
задачи, поставленные при разработке 12
история 12
номера портов 38
номера протоколов 37
оптимистическая модель защиты 497
принадлежность 16
сокеты 39
составление стандартов 17
стандарты 18
утилиты 359
хронология 13
TCP/IP и UNIX 36
tcpdump 515
TcpInitialRTT 300, 803
TcpMaxConnectRetransmissions 291, 801
TcpMaxDataRetransmissions 294, 299, 803
TcpNumConnections 292, 801
TcpTimedWaitDelay 296, 802
TCPUseRFC1122UrgentPointer 309, 804
TcpWindowSize 303, 804
ТСР-заголовок 288, 305
определение желаемого процесса или приложения 289
поле Acknowledgement (АСК) Number (подтверждение) 288 поле Acknowledgement Number (подтверждение) 289, 307
поле Checksum (контрольная сумма) 308
поле Data Offset (смещение данных) 307
поле Destination Port Number (номер порта назначения) 305 поле Flags (флаги) 307
поле Offset (смещение) 288
Предметный указатель
931
поле Sequence Number (порядковый номер) 288, 306 поле Source Port Number (номер порта источника) 305
поле TCP Options (опции TCP) 309
поле Urgent Pointer (указатель срочности) 308
поле Window (окно) 308
поля и функции 305
TDI (интерфейс транспортного драйвера) 655
Telnet 34, 37, 39, 338, 500
NVT (виртуальный терминал сети) 339
динамический номер порта 338
опции 340
подсогласование 342
порт 23 338
последовательности сообщений 344
примеры сообщений 342
структура DO 339
структура DON'T 339
структура WILL 339
структура WON'T 339
терминальный доступ 338
элементы 338
TFTP (простейший протокол
передачи данных) 360
Timbuktu 500
Time Exceeded (превышение лимита времени) 250
Time Exceeded (превышение лимита времени) 211, 214
Timestamp (отметка времени) 252
Timestamp Reply (ответ на отметку времени) 252
Tivoli 616
Tivoli Management Environment 616
Tivoli NetView 635
Tivoli Unicenter TNG 635
TLS (протокол безопасности транспортного уровня) 537
Token Ring 152
Token Ring 802.2 LLC 153
Token Ring SNAP 156
TOS (тип службы) 179, 182
Traceroute (отслеживание маршрута) 254
TRACEROUTE 174, 215, 218 TRACERT 220, 255, 795 TRAP-сообщения 629 tree.com.dns 402, 404
TTL (время жизни) 174, 186, 573 TXT (текстовая запись) 391 Т-каналы 137, 188
и
UDP (протокол передачи дейтаграмм пользователя) 34, 38, 278, 658, 671
ВООТР (протокол загрузки) 310 Chargen (генератор символов) 358 DHCP 310 Echo-служба 358
Finger (указатель) 361
Microsoft Messenger Service 310 NFS 311
QOD (цитата дня) 358
RPC (удаленный вызов процедуры) 362
SNMP (простой протокол сетевого управления) 362
Whois 360 идентификация транспортируемого протокола прикладного уровня 278 использование 311 контрольная сумма всего сообщения помещаемая в UDP-заголовок 278 надежность 281 номера портов 280, 283 отсутствие гарантий доставки 278 отсутствие механизмов обеспечения надежности 278 отсутствие обработки соединений 278
отсутствие сегментации 279 отсутствие служб буферизации 279 простота 276, 285 процессы 280, 283 псевдозаголовок 283 скорость 311
932
Предметный указатель
UDP-заголовок 279
UI (пользовательский интерфейс) 330
Unicenter TNG 633, 635
UNIX:
DHCP-клиент 450
WINS-клиенты 677
дыры 501
команда NSLOOKUP 406
ресурсы NetBIOS 669
старые методы разрешения имен 670
файл /etc/protocols 37
UNIX и TCP/IP 36
URI (универсальный идентификатор ресурса) 350, 351
URL (унифицированный адресатор
ресурса) 35, 351, 713
URN (унифицированное имя ресурса) 351
UT (всемирное время) 252
V
VirusScan 538
VLSM (маскирование подсетей маской переменной длины) 100
VoIP (Voice over IP) 179
VPN (виртуальные частные сети) 31, 527
WACK (подтверждение для ожидания) 668
WAIS (глобальный информационный сервер) 15
Web-документ "Введение в IP-адресацию: Все что вы хотели бы знать" 101
Web-сайт:
Advent 635
At Stake 231
Century Taps 48
CERT 496, 506
Cisco 587
Computer Associates 635
Gaertner 635
HP 634
IANA Web-сайт 37-39, 112, 146, 281, 310, 340, 413, 414, 456, 464, 623, 809
ICANN 18, 112, 809
IEEE 802.3 CSMA/CD 144
IEEE 802.3 Interpretations 144
IEEE 30, 44
IETF 17, 730, 743
Insecure 513, 534
Internet Security System 534
IPSwitch 331
Logisoft AR 635
Microsoft 519
Microsoft Security 496
www.mail.com 504
NeoWorx 796
NetTools 534
Network Associates 534
NT Security Net 496
NWPSW 377
Postel 234
SANS (Институт систем администрации сетевых технологий и безопасности) 540
Security URLs 534
SEI (Институт техники программного обеспечения) 540
Simovits Consulting 520
Slacker 534
Tivoli 635
WildPackets 44, 127, 777, 806
Белого дома 16
"История сети Internet —
хроники" 16, 784
коды стран 388
обзор моделей брандмауэров 535
"Общий обзор протоколов TCP/IP и сети Internet" 784
"Организация компьютерных сетей и протоколы Internet: полный вводный курс" 784
"Соединение установлено — энциклопедия Internet" 784, 785 спецификация IEEE 802.5 157
Предметный указатель
933
Технологические службы информационного управления Университета of Murdoch 540
Whois 359
WILL 339
Windows:
DHCP-ретранслятор 448
WINS-клиенты 677 встроенная версия FTP-клиента с командной строкой 338
клиентская сторона Telnet 344
команда ipconfig 451
команда N SLOOKUP 406
файл ftp.exe 331
Windows 2000:
AD (Active Directory) 536, 654
ARP-кэш 166
DHCP-клиент 449
DNS 653, 670
DNS over TCP/IP 654
IPCONFIG 165
Kerberos версии 5 536
NBF (NetBIOS Frame) 655
NBTSTAT 684
NetBIOS 653
PIN G утилита 216
PING-пакеты 238
PKI (инфраструктура открытого ключа) 536
SMB (блок серверных сообщений) 654
SSL 3.0/РСТ (защищенные протоколы безопасности каналов) 537
TDI (интерфейс транспортного драйвера) 655
TLS (протокол безопасности транспортного уровня) 537
TOS (тип службы) 180
WINS-серверы 668 безопасность 536 дыры 501 игнорирование NetBIOS 654 имена сетевых ресурсов 655 информация о реестре 303 консоль DNS 686
конфигурация в качестве WINS-сервера 677
конфигурация по умолчанию 655
максимальное количество
повторных передач 299 маршрутизаторы типа "черная
дыра" 224
параметр реестра EnablePMTUBHDetect 224
параметр реестра
EnablePMTUDiscovery 223
параметр реестра TcpInitialRTT 300
параметры PMTU 223
параметры реестра 797
поле Urgent Pointer (указатель
срочности) 309
предпочтительный метод
разрешения имен 653 приспособление к различным
сетевым средам 654
простые утилиты TCP/IP 359
процесс поддержки ТСР-соединения 293
сети с более старыми клиентами 654
сообщение Source Quench
(ослабление источника) 245
файл HOSTS 670
шифрование NTFS 537
эмулятор NetBIOS 655
Windows 2000 Server 675
Windows 95 165
Windows 98:
IPCONFIG 165
WINS-серверы 665
Windows 9x 449
Windows NT:
DHCP-клиент 449
NBTSTAT 684
атака GetAdmin 501
атаки на основе отладки 499
дыры 501
конфигурация в качестве WINS-агента 677
установка и конфигурация WINS-сервёра 676
934
Предметный указатель
WinNuke 508, 509, 515
WINS (служба имен Internet для
Windows) 651, 663, 674, 675, 678
версия для обратного поиска 683
конфигурация MS DNS для
применения WINS 679
поиск неисправностей 683
рабочие параметры 686
типичные ошибки 687
WINS-агент 677
WINS-клиенты 677
WINS-клиенты для DOS 677
WINS-консоль 676
WINS-серверы 674
IP-адреса 682
WACK (подтверждение для
ожидания) 668
Windows 2000 668
Windows 98 668
администраторский доступ 676
безусловное требование
относительно местонахождения 676 динамическая база данных имен
NetBIOS 667
конфигурации 675
множество 678
однонаправленная регистрация 658 пакет Name Conflict Demand
(оповещение о конфликте имен) 669
пакет Name Release Demand (требование освобождения имени) 669
пиковый режим 669
разрешение 667
регистрация имен 667
репликация 678
репликация выталкивания 678
репликация проталкивания 678
сообщения о регистрации 675
WKS (запись хорошо известных служб) 391
WON'T 339
WSJFTP Pro 331, 338
X
Х.25 30, 135-137, 142
А (адресные записи) 390
Аварийные сигналы 529
Автоконфигурация 476
не зависящая от состояния 740
Автоматическая реконфигурация 224
Автоматическое восстановление 224
Автономные системы 575, 576, 588, 594, 597
Агент:
ARP 167, 498
управления 613, 616, 617, 637, 638
конфигурация 631
Адрес:
IPv4 708
IPv6: действительное время жизни 741 длина 710 нежелательный 741 нотация 710 предпочтительный 741 распределение альтернативных
адресов 722	>
распределение групповых адресов 722
распределение однонаправленных адресов 722
совместимость с URL 713 содержащий 1Ру4-адрес 713 формат 710
Предметный указатель
935
шестнадцатеричная система счисления 710
альтернативный 92, 717, 769
группируемые глобальные однонаправленные адреса 718
групповой 83, 84, 87, 88, 90, 711, 715, 716, 717, 718, 721, 722, 725, 743
динамическое выделение 451
Канального уровня 146, 164, 168
класса А 83, 84, 85, 88, 93, 115, 123 класса В 85, 86, 93, 99, 102, 103, 108, 115, 124, 125, 127, 129
класса С 86, 87, 92, 93, 101, 102,
105, 106, 107, 108, 112, 115, 116, 125, 130
класса D 83, 84, 87
класса Е 84, 87, 88
корневого уровня 396
логический 25
локального канала 719
локального узла 719, 720
неопределенный 714, 722
обратной связи 402, 404, 405, 714
порта 35, 809
динамически назначаемый 39, 40
самые старшие разряды 84, 85
сокета 39, 51
суммированные ИЗ
узла затребованный 717, 725
числовой 80, 81, 82
широковещательный 88, 114, 124
Адресация 25, 32
Адресные книги Outlook 505
Адресный пул 482
Алгоритм:
Дейкстры 569, 584
Нейгла 304
предотвращения перегрузок 302
хэширования паролей 502
Анализ протоколов 41, 51
Анализаторы пакетов 686
Анализаторы протоколов 41
аварийные сигналы 46
буфер слежения 45
драйвер беспорядочного режима 43
карта беспорядочного режима 43 размещение в сети 47 расшифровки 45
статистика 46
фильтры пакетов 44
элементы 42
Аналоговая телефонная линия 135, 141
Анонимная регистрация 552
Анонимные пользователи 499
Анонимный доступ 500
Антивирусное программное обеспечение 537
Антивирусные системы 537
Аппаратная часть 23, 24
Аппаратные адреса 157, 165, 190
ARP 146
в среде IP 157
Арабские цифры 661
Архитектуры 633, 634
Атака 501, 502, 507, 508, 530, 532, 533, 534, 541, 552-554
"Человек посередине" 530, 541, 552, 554
DoS (отказ от обслуживания) 497, 499, 507-509, 513, 515, 518, 527, 535, 552, 553
GetAdmin 501
GetAdmin 501
IP 505
IP-служб 499
Smurf 509
SYN 293
WinNuke 508, 509, 515
грубая 515, 552
документирование 518, 541
дыры и неисправности операционных систем 501 заимствование прав пользова-
теля 497
на основе отладки 499
незащищенные протоколы и службы IP 500 парольная 497, 502, 552
подписи атак 520
связанная с IP 499
(окончание рубрики см. на с. 936)
936
Предметный указатель
Атака (окончание):
сети ПО
синхронная 508, 509
слабые места реализаций IP-служб 499
словарная 503, 527
утечка пакетов 552
хищение сеанса 512, 552
Аутентификация происхождения данных 746
Базовые службы 280
Базы данных 386
DNS:
древовидная структура 388 записи 390
записи ресурсов 390
корень 388
обновления 421
структура 388
состояния канала и OSPF-маршрутизаторы 584 Бастионные хосты 523, 555 Бездисковые рабочие станции 168 Безопасное сквозное соединение 109 Безопасность:
DMZ (демилитаризованная зона) 524
ICMP (протокол контроля сообщений в сети Internet) 230
IDS (системы обнаружения вторжений) 529
IPSec (IP-защита) 522
IPv6 743
IP-атаки 505
SNMP (простой протокол сетевого управления) 629
SNMPvl 629
Windows 2000 536
архитектура 745
атаки 496
аутентификация происхождения данных 746
бастионные хосты 523
бессвязная целостность 746
блокировка всех неиспользуемых портов 503
блокировка портов 519
брандмауэры 524, 526
выявление подписей атак 520
гибкость 498
дыры 501
заголовок аутентификации IP
(АН) 522
заплаты и исправления 518
запрещение доступа по умолчанию 504
защита от воспроизведения 737, 746 инкапсулирующая полезная нагрузка безопасности IP (ESP) 523
компьютеров 494
контроль действий персонала
494, 495
конфиденциальность 746
ограниченного потока трафика 746
наиболее подверженные атакам службы 500
ограничение внешнего доступа к
"рискованным" хостам 504
пограничные маршрутизаторы 524
пограничные устройства 523
политика безопасности 538
предотвращение:
несанкционированного удаленного доступа 502
спуфинга внутренних адресов 503
принципы 503
программная защита 496
программное обеспечение для
NAT (трансляция сетевых адресов) 525
программы удаленного управления 500
прокси-серверы 525, 530
проникновения 496
процесс рекогносцировки 230
разрешение доступа в виде
искллючения 504
Предметный указатель
937
регулярные атаки на собственные системы 504
решение проблем IP-защиты 518 сведение незащищенности к
минимуму 503
сетей 494, 496
системная защита 496
слабые места в системе защиты 502
терминология шифрования 744
управление доступом 745
физическая защита 495
фильтрация нежелательных адресов 504
фильтрующие маршрутизаторы 525
фильтрующий хост 525
цикл "тестирование-атака-регулировка" 534
черные ходы 501
эксплойты 496
элементы 495
Бесконечность 568
Бессвязная целостность 746
Бинарный формат файлов 333
Блокирование портов 519, 541, 553
Брандмауэр 41, 93, 110, 523
IDS (системы обнаружения вторжений) 529
IP-адреса 93
SOCKS 528
аварийные сигналы и предупреждения 529
журналы регистрации 529
закрытие портов 534 изолированные физические
устройства 526
инструменты атаки 534
конфигурация 533
мониторинг и обслуживание 532
осуществление атаки 532
отчеты 529
планирование 533
правила 115
проверка последовательностей пакетов и служб с запоминанием состояния 527
прозрачность 529
реализация 531
реверсивные прокси-службы 527
регулировка 532
с запоминанием состояния 527
службы виртуальной частной сети
(VPN) 527
службы трансляции адресов и обеспечения
конфиденциальности 527
специальные механизмы
фильтрации 528
средства управления 529
тестирование 532
технические особенности 528
установка 531, 533
фаза планирования 531
фильтрующий 524
формулирование потребностей 531
функции защиты 524
функции прокси-сервера 527
функции фильтрующего
маршрутизатора 526
цикл "тестирование-атака-регулировка" 534
Буфер слежения 45
Буферная область TCP 301
Быстрая повторная передача/быстрое восстановление 302
Бюро сертификации 536
Важность:
заплат 518
исправлений 518
Ведущий сервер 391, 392, 393, 395, 423
Вектор дистанции 566, 568
Взломщики 494, 503, 504
Виртуальное соединение 286
Вирусы 505
списки 537
Внеполосное управление 617, 637
Внешняя запись маршрута 580
Внешняя сеть 755
Внутренняя запись маршрута 580
938
Предметный указатель
Внутридоменные протоколы маршрутизации 577
Внутриполосное управление 617, 625, 637
Возврат информации отправителям 212
Возвратное тестирование 84
Восстановление в чрезвычайных ситуациях 494
Временная синхронизация 252
Временные:
порты 280
процессы 35
Время истечения периода выделения 452
Вторичные:
DNS-серверы 393, 394
ведущие серверы 393
Входящая фильтрация 512
Выборочное подтверждение 309
Выравнивание нагрузки 329, 589, 597
от пакета к пакету 589
Выталкивание 367
Вычисления 738, 745
Выявление ошибок при сквозной передаче 26
Гетерогенные среды 624
Гибкость и безопасность 498
Гипермедийные системы 350
Глобально уникальные
идентификаторы интерфейсов 712
Групповая строка:
для чтения и записи 629
только для чтения 629
Группы новостей TCP/IP 789
д
Данлеп Кевин (Kevin Dunlap) 386
Данные:
действительные 282, 299
надежная доставка 26
об устранении ошибок 23
разрешенный объем 222
расширение 28
сжатие 28
Двоеточия (::) 710, 713, 714
Двоичная арифметика 94, 116
Двоичный 80
Двунаправленный 338
Двухстековые реализации 757
Двухсторонний процесс квитирования 293
Двухточечный 136
Дейтаграммы 30
NetBIOS 657, 658, 702
заголовок 37
инкапсуляция 142
контрольная сумма 278
отсутствие гарантий доставки 278
отсутствие механизмов
обеспечения надежности 278 отсутствие обработки соединений 278
Делегирование полномочий 390
DNS 391, 392, 431
Делитель дуплексный 48
Демоны 35, 70
Демультиплексирование 36, 71
Дерево объектов 620
подчиненные 620
Десятичные числа 80
значения, зависящие от
положения разряда 182 преобразование в двоичную
систему 95
Диалоговое окно:
Advanced 682
<Имя> — свойства (Server
Properties) 682, 683
Дополнительно (Advanced) 682, 683
Диаметр 568
сети 604
Документ RFC:
"Официальные стандарты протоколов в сети Internet" 18
по стандартной нумерации 37
Предметный указатель
939
Документирование конфигурационных данных 615
Документы ВСР (рекомендуемая современная практика) 19, 50, 69
Доменные имена организаций 388
Домен 687
.са 388
.сот 388
.de 388
.edu 388
,fr 388
.gov 388
.mil 388
.net 388
.org 388
.ns 388
верхнего уровня 388
первичный 388
широковещательный 113
Доставка без обязательств 276, 277
Достижимость 212
Доступность 423
Драйвер Канального уровня 81, 775
Древовидная:
структура 388
схема 388
Дублированные IP-адреса 158, 189, 203
Дублирующие подтверждения 321, 326
Дыры 501
Ж
Жертва 507, 509, 511
Журналы регистрации 529, 532
3
Заголовок 23, 37, 40
IPv6 728
1Р-дейтаграммы 37
пакета 40
OSPF 585
расширений аутентификации 737
расширений фрагментации 736
Задержка перед повторным использованием параметров 296
Заимствование прав пользователя 497
Записи ресурсов 390
Запись маршрута к сети 229, 247
Запрещение доступа по умолчанию 504
Запросы:
связывания 756
адресов 394
имен 396, 397, 398, 399
итеративные 396, 397, 398
однонаправленные запросы на
регистрацию 665
нерекурсивные 397
рекурсивные 396, 397, 398
Зарезервированные IP-адреса 84, 87
Затяжной запуск 302
Захват порта 48
Зашифрованный текст 745
Защита от воспроизведения 737, 746
Защитный шлюз 747, 749
Значения:
времени жизни 573, 574, 596
смещения данных 364, 365
типов сообщений DHCP 472
Зоны 392, 394, 395
Идентификатор: интерфейса 711, 712, 720, 722, 741, 755, 756, 760 логически уникальный 711 клиента 456 области действия 662, 711
Идентификация протокола 138 более высокого уровня 277
Иерархия доменных имен 385, 403, 424, 430, 431, 433
Избежание раскрытия 537
Издержки 220
940
Предметный указатель
Имена DNS пригодные для печати 672 Имена NetBIOS 651, 657, 660, 672, 688
b-узел (широковещательный) 664
h-узел (гибридный) 666
m-узел (смешанный) 665
p-узел (одноранговый) 665
групповые имена 660
длина 660
идентификатор области действия 662 идентификаторы служб 672, 673 именованные ресурсы 657 информация, важная для сетевой
диагностики 673
обратная связь 684
отстаивание 664
преобразование в FQDN (полностью определенные доменные имена) 673
разрешение 658, 663
распознавание 672
расширенный Ь-узел 666
регистрация 658, 663
регистрация имен 658
режимы разрешения по типам узлов 664
связанные с ними IP-адреса 666
список 667
структура 660
суффиксы 661
типы 661
уникальные 660, 661
функционирование 657
Имена групповые 619, 629, 630, 637,
646, 647
для чтения и записи (управления) 629
предупреждения (ловушек) 629 только для чтения (мониторин-
га) 629
Имена хостов 671
Именованные ресурсы 657
Имитация адресов 108
Инициаторы атак 498, 507, 509—513,
515, 517, 518, 530, 551, 552, 554 Инкапсуляция 40
данных 40, 136, 139, 140, 190
дейтаграмм РРР 142
фреймов WAN 137
Интерфейс:
приложения для запросов сетевых служб 28
интуитивный (наглядный) 331
Информационный/контролирующий формат 150
Информация о DNS 786
История IP и Internet 784
Каналы:
передачи логическое кольцо 152 ограничивающий 221, 242
РРР 140
Канальный уровень 22, 24, 69
PDU (модули данных протокола) 24 организация доступа к сетевой среде 136
подуровень LLC (управление логическим соединением) 81 создание временных двухточечных соединений 136
спуфинг фреймов 512
Классы 79, 83, 87, 107, 108
Клиент-сервер 329, 366, 367, 372, 373
архитектура 328
трафик 329
Ключи 745, 747, 750, 754
Код:
злонамеренный 505, 506, 542
Код 0:
Net Unreachable (сеть не достижима) 240
Pointer Indicates the Error (указатель обозначает ошибку) 251
Redirect Datagram for the Network or Subnet (переадресация ^дейтаграммы для сети или подсети) 247
Time to Live Exceeded in Transit (время жизни истекло во время транзита) 250
Предметный указа тель
941
Код 1:
Fragment Reassembly Time Exceeded (превышение лимита времени на повторную сборку пакета) 251
Host Unreachable (хост не достижим) 241
Missing a Required Option (отсутствие необходимой опции) 252
Redirect Datagram for the Host (переадресация дейтаграммы для хоста) 247
Код 2:
Bad Length (некорректная длина) 252
Protocol Unreachable (протокол не достижим) 242
Redirect Datagram for the Type of Service and Network (переадресация дейтаграммы для типа службы и сети) 247
Код 3:
Redirect Datagram for the Type of Service and Host (переадресация дейтаграммы для типа службы и хоста) 247
Port Unreachable (порт не достижим) 242
Код 4: Fragmentation Needed and Don't
Fragment Was Set (необходима фрагментация, но она запрещена) 242
Код 5: Source Route Failed (исходный маршрут не функционирует) 242
Код 6: Destination Network Unknown (сеть назначения неизвестна) 244
Команда:
• GET 627
GET-NEXT 627, 628, 638, 647-649
GET-NEXT 628
GET-REQUEST 627
GET-REQUEST 627, 638, 647-649
GET-RESPONSE 627
GET-RESPONSE 627, 628, 638, 647-649
ipconfig 451
NSLOOKUP 406
NSLOOKUP 406
rexec 500
rpr 500
rsh 500
SET 628
SET 628
Коммутаторы Сетевого уровня 113, 565
Консоль 632, 633
DNS 683
DNS-серверы 685
WINS-серверы 685
Контроль:
действий персонала 494, 495, 540
перегрузок 26, 301, 312, 320, 321
Контрольная:
сумма 26
сумма сообщений 277
точка 27
Конфиденциальность 744, 746, 754
ограниченного потока трафика 746
Концевик 23, 26, 40
Концентрация маршрутов 113
Корень 388
Кэш имен NetBIOS 666
Кэширование 399, 442
DNS 393, 398
данных DNS 387
на прокси-серверах 530
и системные атаки 530
Маркеры 154
Маршрутизатор 41
AS (автономные системы) 575
ASBR (маршрутизаторы границ автономных систем) 576
BDR (резервный назначенный маршрутизатор) 582
EGPs (внешние шлюзовые протоколы) 576
IGP (внутренние шлюзовые протоколы) 577
OSPF 581
(окончание рубрики см. на с. 942)
942
Предметный указатель
Маршрутизатор (окончание): PMTU (максимальная единица передачи маршрута) 220
RIPvl 577
SPF 584
главный 584
следующего транзита 146, 165, 169, 171
TOS (тип службы) 179 алгоритм Дейкстры 569 границ областей 575, 583 дистанционно-векторные 567 использование памяти 590 маршрутные циклы 568 назначенный 582, 583, 606 незапрашиваемые извещения 228 оптимальный маршрут 225 перегрузка 245
периодические обновления 567 пограничный 524, 575 подчиненный 584
поиск 225
приоритет 179
прямое соединение 562
резервный назначенный 583
ручная настройка 564 соседний 569, 570, 585 состояния канала 569 типа "черная дыра" 224, 265, 266
максимальной единицы передачи маршрута 574
триггерные обновления 567 фиксированные IP-адреса 450 фильтрующий 524, 525 частота извещений 228 "черные дыры" 224, 225 эхо-запросы протокола ICMP 217
Маршрутизация 11, 32, 113 EGP (внешние шлюзовые протоколы) 587
poison reverse 572
TTL (время жизни) 573
в нескольких малых офисах 591 гибридная сетевая 590
групповое и широковещательное обновление 573
магистральная область 575
между автономными системами 588
многопротокольная 592
мобильные пользователи 592
на основе политики 589
на основе состояния канала 569
негативный отклик 572
несколько малых офисов 591
области 575
перераспределение 590
пограничные маршрутизаторы 575
разделение горизонта 568
свойства 571
сходимость 571
текущее обслуживание 595
управление в собственной сети 589 центральный узел — лучи 591 "черные дыры" 574
Маршрутные циклы 568
Маска подсети 98, 99, 100
переменной длины 103 постоянной длины 100—103 по умолчанию 98, 99, 101, 103 расчет 100
Межсерверный трафик 329, 330, 367
Межсетевой уровень TCP/IP 31, 70
Мессер Джеймс (James Messer) 157
Метрика 230
Механизм:
обнаружения ошибок 187
Канального уровня 187
определения превышения лимита времени 285
повторной передачи 285
Микромобильность 753
Миллисекунды 215, 217, 252
Младшие битовые комбинации 97
Многоканальные устройства 403
Многопротокольная маршрутиза-
ция 592
Мобильные пользователи:
IPv6 753
маршрутизация 592
проблемы 753
Мобильный код 505, 506
Модель сетевого управления OSI 615
Предметный указатель
943
Модем:
кабельный 135, 137, 201
Мокапетрис Пол (Paul Mockapetris) 386
Мосты 112
Мощность и надежность 310
Мультиплексирование 36, 38
Мэйнфрейм 132
н
Набор протоколов 12, 23, 27, 31
Надежность сквозной передачи данных 286, 320
Назначаемые числа SAP 149
Назначенный маршрутизатор 582, 583, 606
Незапрашиваемый 228
Незашифрованный пароль 580
Незащищенные протоколы и службы IP 500
Нейгл Джон (John Nagle) 304
Ненумерованный формат 150
Неполный набор фрагментов 507
Номера портов 37, 280
TCP/IP 809
динамически назначаемые 39
динамические 280
зарегистрированные 280
источника 39, 280
назначения 48, 279, 284, 288, 305
Номера протоколов 36, 37
О
Область 446, 476, 575, 580, 582, 583,
586, 597, 605, 608, 609
адресов 482
магистральная 597
Обнаружение пути 223
Обновление:
антивирусных программ 537
списков вирусов 537
связывания 755, 756
Оборудование физической защиты 495
Обработчики 509, 510
Обратное посредничество 530
Обратный запрос DNS 394, 412
Обратный поиск DNS 391, 400, 403, 404, 424
Общая информация о протоколе IP 786 Общедоступные IP-адреса 85, 92, 107, 108, 109, ПО, 111, 525
Общий обзор IP и Internet 784
Объединение сетей посредством концентраторов 47
Объединенные сети 13
Объект 636
управления 611, 613, 614, 616, 619, 637, 638
управляемый 620, 626, 638
Объявленное окно 301
Однонаправленный пакет предложения 465
Одноранговые уровни 21
Окно на прием 303
Октет 80, 82-86, 88, 98, 102, 103, 105, 108, 115, 116
Операция:
выталкивания 330, 367
проталкивания 330
Определение максимальной единицы передачи маршрута 211, 220
Оптимальный маршрут 225, 230, 247
Оптимистическая модель защиты 497
Оптимистическая модель механизма защиты 493, 541
Опции DHCP 467, 810
Организация:
окон 301, 304
подсетей 100
сетей:
аппаратная часть 23
разбиение на уровни 20
соединения 39
уровни 20
суперсетей 105
Отвержение без уведомления 224
Ответственный сервер 415
Ответы WINS 681
Отказное кэширование 399
944
Предметный указатель
Отклик:
негативный (poison reverse) 568
неответственный 397, 398
ответственный 434
положительный 285
среднее время 215
Открытый текст 744, 745
Отражение порта 48
Отслеживание порядковых номеров 285
Отстаивание имен NetBIOS 664
Отсчет до бесконечности 568, 571
Отчеты 529
Очередь маршрутизатора 179, 182
Ошибки протокола ICMP 212
Пакеты 12, 23, 26, 30, 32, 41, 42, 43,
44, 45, 46, 47, 48, 51
АСК 292
ACK-SYN 292
Address Mask Reply 233, 253
Address Mask Request 233, 253
DHCP 463-475
опция 53 DHCP
поле Boot file (загрузочный файл) 466
поле Client Hardware Address (аппаратный адрес клиента) 466 поле Client Internet Address (IP-адрес клиента) 465
поле Flags (флаги) 465
поле Gateway Internet Address
(IP-адрес шлюза) 466
поле Hardware Length (длина аппаратного адреса) 464
поле Hardware Туре (тип аппаратного адреса) 464
поле Hops (транзиты) 465
поле Operation Code (код операции) 464
поле Seconds Since Boot (секунды с момента загрузки) 465
поле Server Host Name (имя обслуживающего хоста) 466
поле Server Internet Address (IP-адрес сервера) 466
поле Transaction ID Number (идентификационный номер сообщения) 465
поле Your Internet Address (ваш IP-адрес) 466
поля опций DHCP 467 DNS-запросов:
поле Additional Records Count (отсчет дополнительных записей) 415
поле ID Number (идентификационный номер) 412
поле Name (имя) 418
поле Name Server Count (отсчет серверов имен) 415
поле Opcode (тип операции) 412 поле QR (Query/Response за-
прос/ответ) 412
поле Question Class (класс запроса) 418
поле Question Name (имя запроса) 415
поле Question Туре (тип запроса) 415
DNS-ответов 418
PacketScrubber 805
RIPvl 577
RIPv2 578
TTL (время жизни) 573 выпадающие 285 групповые приветственные (Hello)
569, 581, 586
завышенного размера 43
замкнутая объединенная сеть 174
значение времени жизни 573 значения смещения данных 364 коммутация 12, 25, 49
"коротышки" (runts) 43, 44
маломерные 43, 44
многоадресные 43, 47
недопустимое завершение 43 однонаправленные 43
отвержение без уведомления 224
Предметный указатель
945
ошибочные 26 перенаправление 561 повторная сборка 175 подтверждения 300, 454 дублирующие 302
присвоение 497 расшифровка 41 средства преобразования 45 Тип 0 236
Тип 3: Destination Unreachable (пункт назначения не достижим) 239
Тип 4: Source Quench (ослабление источника) 245
Тип 5: Redirect (перенаправление) 246
Тип 9: Router Advertisement (извещение маршрутизатора) 248
Тип 10: Router Solicitation (запрос маршрутизатора) 248
Тип 11: Time Exceeded (превышение лимита времени) 250
Тип 12: Parameter Problem (проблема параметра) 251
Тип 13: Timestamp (отметка времени) 252
Тип 14: Timestamp Reply (ответ на отметку времени) 252
Тип 15: Information Request (запрос информации) 253
Тип 16: Information Reply (ответ на запрос информации) 253
Тип 17: Address Mask Request (запрос маски адреса) 253
Тип 18: Address Mask Reply (ответ на запрос маски адреса) 253
Тип 30: Traceroute (отслеживание маршрута) 254
утечка 497
фактическое происхождение 737
фильтры 44
фрагментация 175
широковещательные 44, 47, 75, 90
Пакеты и суперграммы IPv6 752
Параметр реестра:
ArpCacheLife 166
ArpCacheMinReferencedLife 167
ArpUseEtherSNAP 797
DefaultTOS 180, 798
DefaultTTL 174, 798
EnablePMTUBHDetect 223, 799
EnablePMTUDiscovery 799
EnableProxy 677, 678, 804
GlobalMaxTcpWindowSize 303, 803
KeepAlivelnterval 293, 294, 802
KeepAliveTime 293, 801
MaxUserPort 284, 800
PerformRouterDiscovery 227, 800
SolicitationAddressBCast 227, 800
TcpInitialRTT 300, 803
TcpMaxConnectRetransmissions
291, 801
TcpMaxDataRetransmissions 294, 299, 803
TcpNumConnections 292, 801
TcpTimedWaitDelay 296, 802
TCPUseRFC 1122UrgentPointer
309, 804
TcpWindowSize 303, 804
Первичные DNS-серверы 391, 392, 393
Первичный сервер имен 393, 394, 401, 423
Переадресация 228
Перегрузка 301, 302, 321
сети 212, 213, 214, 245, 246, 255
Передача:
двухточечная 24, 136
дуплексная 48
Переменная среды %SystemRoot% 405
Переполнение буфера 510, 552
Перераспределение 595
маршрутов 590
Перехват 41
пакетов (hubbing out) 48
Переходные или временные групповые адреса 715, 716
Период:
выделения 448, 452, 454, 461, 476
кругового обращения 215, 220, 255
Периодические обновления 567, 573
Пессимистическая модель механизма защиты 504, 541
946
Предметный указатель
Повторитель 152
Повторная:
инициализация 462, 463
сборка 33, 36, 169, 178
сборка пакета 26
Повторные передачи SYN 292
Пограничные средства управления 531
Подсети 98, 100
Подсогласование 342
Подстановка адреса 116
Подтверждение связывания 755
Подход "Разделяй и властвуй" 20, 22
Поиск неисправностей сетевых сообщений 41
Поисковые системы для поиска RFC 19
Поле:
Class (класс) 729
Destination Address (адрес назначения) 732
Flow Label (метка потока) 730
Hop Limit (лимит транзитов) 732
Next Header (следующий заголовок) 730
Payload Length (длина полезной нагрузки) 730
Source Address (адрес источника) 732
Version (версия) 729
длина 728
идентификации протокола 186
Полезная нагрузка 40, 51
инкапсулирующая полезная нагрузка безопасности (ESP) 523
Полезное адресное пространство 708 Политика:.
безопасности 495, 538
маршрутизации 589
Полуоткрытые ТСР-соединения 292
Пороги событий 628
Порты:
временные 280
закрытие 534
зарегистрированные 39 какие из них необходимо
блокировать? 519
переадресация 48
Порядковый номер TCP 513
Последовательность обрыва 298
Посредники 510
управления 614
Поставщик доступа в сети Internet 87
Постел Джон Б. (Jon В. Postel) 233
Потенциальные слабые места 493
Потерянные сегменты 303
Поток байтов 286
Потоки 35, 730, 756
Почтовые рассылки, посвященные вопросам безопасности 496
Практика сетевого управления 616
Преамбула 144, 146, 149, 189
Предотвраще ние :
несанкционированного удаленного доступа 502
спуфинга внутренних адресов 503
Предпочтительный адрес 454, 458
Предупреждения 529, 613, 617, 626, 629, 637, 646
Преобразования 744, 745
из двоичной системы
в десятичную 96
из десятичной системы
в двоичную 95
Прикладной уровень 22, 28, 34, 69, 70
TCP 328
TCP/IP 34
Приоритет 154, 179, 180, 182
маршрута 179
пакетов 179, 182, 191
Проба порта 230, 515
Проблема отсчета до бесконечности 568
Программа считывания
шестнадцатеричных данных 506
Программная защита 494, 495, 540
Программы удаленного управления и безопасность 500
Проект стандарта 19
Прозрачность 529
Производительность:
контроль 615
статистика 46
тестирование 42
Предметный указатель
947
Прокси-сервер 108, 110
IP-адреса 93 атака 532 кэширование 530 мониторинг и обслуживание 532 настройка 531 обратное представительство 530 планирование 531 реализация 532 регулировка 532 тестирование 532 установка 531 формулирование потребностей 531
Проникновения 496, 541
Пропускная способность 276 Прослушивание сетей 515 Пространство имен NetBIOS 674 Пространство присваиваемых имен доменов 388, 390, 395, 398, 423
Проталкивание 330, 367 Проталкивание/выталкивание 330 Протоколы 11, 12
LDAP (Lightweight Directory Access Protocol) 420
WAN 136, 188 без установления соединения 34, 276, 312, 318
UDP (протокол передачи дейтаграмм пользователя) 278 идентификация протокола более высокого уровня 277 контрольная сумма сообщений 277 идентификация 36
Канального уровня 135, 136, 188 маршрутизации 564
EGP (внешние шлюзовые протоколы) 565
IGP (внутренние шлюзовые протоколы) 565
групповое обновление 573 дистанционно-векторные 561, 565, 566, 597
междоменные 588 метрика 230
на основе состояния канала 565, 569
широковещание 573 маршрутизируемые 564, 565 Межсетевого уровня TCP/IP 32 на основе соединений 34, 285 номера портов 37 преобразование 28
расшифровка протоколов верхнего уровня 364
сжатия Якобсена 140
слабые места 499
состояния канала 565, 569 Транспортного уровня TCP/IP 34 уровни 22
хорошо известные 37
Процесс:
UDP (протокол передачи дейтаграмм пользователя) 283 временные 35 квитирования 286, 287, 288 локальный 453 обнаружения 513
и устранения ошибок TCP 299 максимальной единицы передачи маршрута) 736
обновления 451, 478
адресов 478
освобождения адресов 463, 473, 486 передачи файла 297
повторной передачи фрагментов 179 поддержки соединения 286, 293 приветственный (Hello) 569 пробы хоста 230 продления 453, 461, 463 разрешения маршрута 170, 171 рекогносцировки 230 ретрансляции 453, 474 упорядочивания и подтверждения
приема 297
Псевдозаголовок 283, 308	,
Псевдонимы хостов 400, 403 Публикации документов RFC 785 Пути 218
948
Предметный указатель
Работа в беспорядочном режиме 43, 44, 517
Рабочие группы 652, 653, 657, 660
Разграничение 137, 200
Разграничение фреймов 137
Разграничители 138, 139, 189
Раздвижное окно 286, 287, 304
Разделение горизонта 568, 571
Разделенный горизонт 592
Различия в пропускной способности 222
Разрешение:
доменных имен 424
доступа в виде исключения 534, 541
имен 170, 173, 190
Разрешенный объем данных 222
Разрядная проверка целостности 137, 138, 189, 200
Распознаватели 394, 396, 403, 424
имен 394, 395, 396, 398, 403, 424
Распределенное управленческое решение 617
Расширение файла 505, 506
.css 506
.hta 506
.jpeg 506
jpg 506
js 506
jse 506
,nip2 506
.mp3 506
.set 506
.vbe 506
.vbs 506
.wsh 506
сокрытие 505
Расширенный:
b-узел 666
сетевой префикс 99, 103, 104
Расшифровка 48, 51
пакетов 41
протоколов высшего уровня 364
Реверсивные прокси-службы 527
Регистрация имен NetBIOS 658
Регулярные атаки на собственные системы 504
Редиректор 27
Режим:
"Беспорядочный” 8 нулевого окна 304 пиковый 669, 693 трафика 749 туннеля 749
Репликация 329, 367, 676, 678 выталкивания 678, 684 проталкивания 678, 684 проталкивания/выталкивания 330, 367
Ресурсы 651
Ресурсы Internet:
IPv6 789
IP-адресация организация подсетей и суперсетей 785
IP-защита 787 1Р-маршрутизация 787 NetBIOS over TCP/IP 788 SNMP (простой протокол управления сетью) 788 группы новостей TCP/IP 789 двоичная арифметика 785 информация о DHCP 786 информация о DNS 786 история IP и Internet 784 общая информация о протоколе
Internet 786
общий обзор IP и Internet 784 основные подборки ссылок на сайты, посвященные Internet и организации сетей 785
публикации документов RFC 785 Ретрансляторы 474
Ретрансляция кадров 142, 143, 188, 592
Ручное выделение адресов 450
Рынок устройств доступа в Internet 591
С
Самые старшие разряды 86, 96 Связка SA (ассоциаций безопасности) 748, 749
Предметный указатель
949
Связь:
между отправителем и получателем 25
поиск неисправностей 41
Сеансовые модули данных протокола
(SPDU) 27
Сеансовые службы 671
Сеансовые службы NetBIOS 671
Сеансовые фреймы 657, 658
Сеансовый уровень 22, 27, 69
Сеансы 39
хищение 497, 512
Сегмент кабеля 33
Сегментация 26
Сегменты 26
баз данных DNS 390, 391, 392, 395
данных 26
Семиреа Чак (Chuck Semeria) 101
Сервер:
MS DNS 679, 680, 681, 682
доменных имен по умолчанию
407, 409
корневой 389, 396
кэширующий 393, 442
первичный ведущий 392, 423
подчиненный 393, 394
расширенных имен файлов 281
специальный кэширующий 393
фиксированные IP-адреса 450
Серверы доменных имен:
вопросы IP-защиты 410
доменные имена 16, 18, 80, 81, 385
доменные имена организаций 388
домены верхнего уровня 388
древовидная схема 388
иерархическая организация
доменных имен 403
коды стран 388
первичные домены 388
по умолчанию 407, 409
соответствие IP-адресов именам 397
типы записей ресурсов 390
Сетевая:
модель TCP/IP 29
оболочка 28
часть 83, 88
часть адреса 83
эталонная модель 20, 22, 50
Сетевое планирование 41
Сетевое программное обеспечение и
уровни 20
Сетевое управление 612
внеполосное 617
внутриполосное 617
конфигурация консолей 630
модель сетевого управления
ISO/OSI 615
на практике 612
объекты управления 613
предупреждения 613
протоколы управления сетью 614
распределенное управленческое решение 617
регулярные опросы или выборочный контроль управляющей информации 613
структура 613
управляемые устройства 613
установка консолей 630
Сетевой:
анализатор 515
интерфейсный уровень 30
префикс 99, 100, 104, 107
уровень 22, 69, 80, 82, 168
Сетевые:
адреса 80, 88, 98, НО
зонды 624, 625, 638
службы 28, 39
Сети:
AS (автономные системы) 575
IP-адреса 109
безопасность 494
входящая фильтрация 512
Глобальная (WAN) 30
диаметр 568
замкнутая объединенная 174
исправление проблем 615
. исходящая фильтрация 512
количество 112
логические адреса 25
(окончание рубрики см. на с. 950)
950
Предметный указатель
Сети (окончание)'.
локальная (LAN) 24
управление соединениями 24
маршрутизация 112
мосты 112
обратная совместимость 223
оценка производительности 616
параметры использования 615
подача данных 27
процесс повторной передачи
фрагментов 179
различия в пропускной способности 222
размеры 112
распределенные 624
с коммутацией пакетов 12
с маркерным доступом 152
сетевая эталонная модель 20
собственные 13
справедливый доступ 615
сходимость 571
тестирование 41
фрагментация 178
характерная схема IP-адресации 452
"черные дыры” 574
широковещание 42
Сжатие 745
Символические имена 80
Система безопасности:
BITS 747
BITW 747
Системная защита 496
Системы хранения и переадресации
350, 367
Сканер портов 503, 532
Сквозная маршрутизация через
автономные системы 588
Сквозная минимальная единица
передачи 221
Скомпрометированные хосты 509
Скрытый инициатор атаки 515
Слабые места в системе защиты 493,
499, 502
Слог 661
Сложные пароли 502
Службы 34, 35, 36
NetBIOS 661
TCP/IP 34
анонимные атаки 499
безопасное сквозное соединение 109 демоны 35
дейтаграмм 660, 671
дейтаграмм NetBIOS 511
имен NetBIOS 511
на основе IP 357, 500 одноранговые 329, 367 параметры использования 615
Прикладной уровень TCP/IP 328 разграничения 138 сеансов 660
NetBIOS 660 трансляции адресов и обеспечения их конфиденциальности 528 удаленной регистрации 500 уязвимость 500 характерные для UNIX 36 хорошо известные 37, 39
Собственные сети 13
Содержимое сопровождающего компакт-диска 805
EtherPeek for Windows демоверсия 805
PacketScrubber 805
ProConvert 806
файлы трассировки 806
Соединения:
для передачи данных 334, 374 двухточечное 81
командное 330, 332, 334, 374 логическое 285 полуоткрытое 292, 293 сквозное 109
Сокеты 39
Сообщения:
LSA (объявления состояния канала) 569-571, 583, 584, 586
SNMP 627
TCP (протокол управления передачей) 287
запроса 328
запроса/ответа 328, 330, 357, 366
многоабонентские 715
Предметный указатель
951
однонаправленные 473
ответа 328
отсутствие сегментации 279
протокола ICMP об ошибках 225 Соответствие IP-адресов доменным именам 397, 400
Состояние конвергенции 571, 604
Специальные кэширующие серверы 395, 423, 444
Специальные механизмы фильтрации 528
Спуфинг 403, 503, 511-513, 541
внутренних адресов 503
Средства управления 611, 612, 613
Средство отображения портов 534
Стандарты:
3DES 747
802.1 30
802.2 LLC 658
802.2 МАС 30
802.5 Token Ring 30
CSMA/CD 30
IEEE 802.5 152
IEEE 802.3 144, 147
ISO 7498 20
OSI 7498 20
RFC 18
RFC 19
исторический 19
неофициальный 144, 201
отмененный 19
предложенный 19, 50
Стандартный процесс поиска адресов 453
пакет запроса 458
пакет отказа 458
пакет подтверждения 461
пакет поиска 454
пакет предложения 456
Старшие битовые комбинации 96
Стеки:
двойной 713
протоколов 23, 27, 34, 40
протоколов TCP/IP 23
Сторожевой процесс 293
NetWare 293
Строка с завершающим нулем 466
Структуры многоадресных пакетов и
групповых адресов 90
Субдомены 390, 391, 392, 396, 397,
399, 400, 423
Суперграммы 752
Суперобласть 476, 477
Суперсети 98, 105
Схемы IP-адресации 80
Сходимость 571, 604
т
Т1 (время продления) 461
Т2 (время повторного присвоения) 462
Таблица связывания 755
Таблицы маршрутизации 158, 172, 190
возраст маршрута 590
динамическое размещение записи 564
дистанционно-векторные
маршрутизаторы 566
запись' маршрута сети 229
запись маршрута хоста 227, 229
прямое соединение 562
Таблицы перенаправления 569
Таймер повторной передачи 299,
300, 303
Текущее окно 301, 304
Терминальный доступ 338
Тестирование:
возможности соединения 215
производительности 42
сетей 41
Технологии пакетов 137
Технология распределенных баз
данных 388
Типы сообщений DHCP 472
Типы фреймов 144
Ethernet 144, 152
Token Ring 152
неофициальный стандарт 144
Топология физическая:
звездообразная 152
952
Предметный указатель
Точечное десятичное представление 81, 82
Транзит (hop) 82
Транспортные протоколы 275, 276
Транспортный уровень 22, 26, 69
Транспортный уровень TCP/IP 70
Трассировка маршрутов 212
Триггерное обновление 567
Троянские кони 505, 506, 520
PATHPING 220, 793
PING 216
ROUTE 794
SNMP 635
TRACEROUTE 174, 215, 218
TRACERT 220, 255, 795
командной строки 790
Уязвимость IP-служб 500
Управление:
доступом 745
защитой 616
конфигурационное 615, 637, 643
маршрутизацией в собственных сетях 589
потоками в среде передачи 24
сетевое 612
сетевым учетом 615, 643
Уровень 20.
двуххостовый 33
доступа к сети TCP/IP 31, 70
представления 22, 27, 69
процессов 34
одноранговый 21
режимы работы 22
Установка консоли 632
Установки разрядов приоритета 182
Устаревшая запись маршрута 228
Устойчивые пароли 503
Устранение ошибок 286, 287, 299, 301
Устройства:
идентификация по IP-адресам 115 многоканальные 403 пограничные 523, 524, 525 управляемые 613, 614, 619, 625,
628, 633, 635, 637
Утилита:
ARP 790
IPCONFIG 165, 476, 791
NETSTAT 792
Network Browser 635, 660
Файлы:
/etc/protocols 37
/etc/services 37
addr.in-addr.arpa.dns 400
cache.dns 405
db.addr 403
ftp.exe 331
HOSTS файл 386, 399, 423, 430, 659, 663, 667
in-addr.arpa 400, 404
LMHOSTS 655, 659, 663, 666, 667, 670, 696, 697
LOVE-LETTER-FOR-
YOU.TXT.vbs 505
names, root 405
Regentry.chm 303
SYSTEM 284
tree.com.dns 402, 404
данных зоны 392
зон 392, 400, 401, 421, 424
Физическая защита 494, 495, 502
Физическая среда передачи 24
Физические числовые адреса 81
Физический уровень 22, 23, 24, 69
Фильтрация исходящая 512
Фильтры 44
захвата 72
отображения 44
пакетов 42, 44
предварительные 44
Фрагментация 135, 139, 169, 174, 175,
178, 185, 186, 191
MTU (максимальных единиц передачи) 31
Предметный указатель
953
Фрагменты 175, 176, 178, 185, 186, 209
Фреймы 24, 25, 137, 151
данных 25
Функции и ARP 157
Функции Транспортного уровня
TCP/IP 33
X
Хакеры 230, 256, 494
Хищение сеанса TCP 512
Хорошо известные адреса портов 35, 39, 497
Хорошо известные номера портов 37, 40
Хорошо известные серверы имен 409
Хорошо известные службы 37, 39
Хостовая часть адреса 83, 88
Хосты 15, 16, 33
IP-шлюз 90, 99
Router Solicitation (обращение к маршрутизаторам) ICMP-пакет 225
доступные маршруты 228 информация о маршрутах 225 методы конфигурации, не
зависящие от состояния 740 переадресация 225, 228 перегрузка 214, 245
поиск маршрутизатора 225 скомпрометированные 509, 513 стратегия именования 114 фильтрующие 525
ц
Цикл "тестирование-атака-регулировка" 534
Частные IP-адреса 93, 107—110, 116, 525, 528
Частные базы управляющей информации 623
Частота извещений 228
Черви 505
ILOVEYOU 505, 506, 553
"Черные дыры" 574, 596
Черные ходы 501
Чистильщики 635
III
Шестнадцатеричные числа 82, 660
Широковещание 44, 46
Широковещательное сообщение поиска 452
Широковещательные адреса 88, 114, 124
Широковещательный бит 465, 474
Широковещательный пакет DHCP 88
Шифрование 744, 745, 747, 756
данных 28
Шлюзы 186, 213, 214, 246
по умолчанию 172, 190
действия 172
путь слепой веры 172
э
Эксплойт 496, 504, 502, 511, 519, 537
Электронная почта 329, 344, 367
Эмулятор NetBIOS 655
Эхо-служба 340, 343, 357
Ядро 502, 653, 654, 656, 657
Книги издательства "БХВ-Петербург" в продаже:
Серия "В подлиннике"
Адаменко А., Кучуков А. Логическое программирование и Visual Prolog	992 с.
(+CD-ROM)
Андреев А и др, Microsoft Windows ХР. Home Edition и Professional.	640 с.
Русские версии
Андреев А. и др.	Microsoft Windows 2000 Professional. Русская версия	752	с.
Андреев А. и др.	Microsoft Windows 2000 Server. Русская версия	960	с.
Андреев А. и др.	Microsoft Windows ХР. Руководство администратора	848	с.
Ахаян Р. Macromedia ColdFusion	672	с.
Бурлаков М. CorelDRAW 11	720 с.
Гофман В., Хомоненко A. Delphi 6	1152 с.
Долженков В., Колесников Ю. Microsoft Excel 2000	1088 с.
Долженков В., Колесников Ю. Microsoft Excel 2002	1072 с.
Дронов В. Macromedia Dreamweaver MX	736 с.
Дронов В. Macromedia Flash MX	848 с.
Закер К. Компьютерные сети. Модернизация и поиск неисправностей	1088 с.
Колесниченко О., Шишигин И. Аппаратные средства PC, 4-е изд.	1024 с.
Макдональд М. ASP.NET	992 с.
Матросов А., Сергеев А., Чаунин М. HTML 4.0	672 с.
Михеева В., Харитонова И. Microsoft Access 2000	1088	с.
Михеева В., Харитонова И. Microsoft Access 2002	1040	с.
Новиков Ф., Яценко A. Microsoft Office 2000 в целом	728	с.
Новиков Ф., Яценко A. Microsoft Office 2002 в целом	928	с.
Нортон Р., Мюллер Дж. Windows 98	592 с.
Ноултон ГТ, Шилдт Г. Java 2	1072 с.
Пауэлл Т. Web-дизайн	1024 с.
Персон Р., Роуз К. Microsoft Word 97 в подлиннике	1120 с.
Питц-Моултис Н., Кирк Ч. XML	736 с.
Полещук Н. AutoCAD 2002 (+дискета)	1200 с.
Пономаренко С. Adobe Illustrator 10	688 с.
Пономаренко С. Adobe Photoshop 7	928 с.
Русеев С. WAP: технология и приложения	432 с.
Стахнов A. Linux	912 с.
Стивенс Р. Протоколы TCP/IP. Практическое руководство	672 с.
Сузи Р. Python (+CD-ROM)	.	768 с.
Тайц А. М., Тайц A. A. Adobe InDesign	704 с.
Тайц А. М., Тайц A. A. Adobe PageMaker 7.0	784 с.
Тайц А. М., Тайц A. A. CorelDRAW Graphics Suite 11: все программы пакета 1200 с.
Тихомиров Ю. Microsoft SQL Server 7.0	720 с.
Усаров Г. Microsoft Outlook 2002	656 с.
Фаронов В. Turbo Pascal	1056 с.
Фаронов В. Система программирования Delphi	912 с.
Хомоненко А. и др. Delphi 7	1216 с.
Чекмарев А., Вишневский А., Кокорева О. Microsoft Windows Server 2003	1184 с.
Серия "Мастер"
Microsoft. Visual Basic 6.0	992 с.
Microsoft. Ресурсы Microsoft Windows NT Server 4.0. Книга 1 (+CD-ROM) 408 c.
Microsoft. Электронная коммерция. В2В-программирование (+CD-ROM) 368 с.
Айзекс С. Dynamic HTML (+CD-ROM)	496 с.
Андерсен В., Нортон П. Разработка приложений в Access 97 (+CD-ROM) 656 с.
Анин Б. Защита компьютерной информации	384 с.
Асбари С. Корпоративные решения на базе Linux (+CD-ROM)	496 с.
Березин С. Факс-модемы: выбор, подключение, выход в Интернет	256 с.
Борн Г. Реестр Windows 98 (+дискета)	496 с.
Бухвалов А., Бухвалова В., Идельсон А. Финансовые вычисления для	320 с.
профессионалов (+CD-ROM)
Валиков А. Технология XSLT	544 с.
Габбасов Ю. Internet 2000	448 с.
Гарбар П. Novell GroupWise 5.5: система электронной почты	480 с.
и коллективной работы
Гарнаев А. и др.. Microsoft Office 2000: разработка приложений	680	с.
Гарнаев A. Excel, VBA, Internet в экономике и финансах	816	с.
Гарнаев A. Visual Basic .NET: разработка приложений	624	с.
Гарнаев А., Гарнаев С. Web-программирование на Java и JavaScript	1040	с.
Гарригус С. Sound Forge. Музыкальные композиции и эффекты	384	с.
Гордеев О. Программирование звука в Windows (+дискета)	384 с.
Дронов В. JavaScript в Web-дизайне	880 с.
Дронов В. Macromedia Dreamweaver 4: разработка Web-сайтов	608 с.
Дубаков М. Веб-мастеринг средствами CSS	608 с.
Дубина А., Орлова С., Шубина И. MS Excel в электротехнике	304 с.
и электронике (+дискета)
Дунаев С. Технологии Интернет-программирования	480 с.
Елманова Н., Федоров A. ADO в Delphi (+CD-ROM)	816 с.
Жарков С. Shareware: профессиональная разработка и продвижение	320 с.
программ
Кокорева О. Реестр Windows 2000	352 с.
Кокорева О. Реестр Windows ХР	560 с.
Костельцев A. GTK+. Разработка переносимых графических интерфейсов 368 с. (+CD-ROM)
Краснов М. DirectX. Графика в проектах Delphi (+CD-ROM)	416 с.
Краснов М. OpenGL. Графика в проектах Delphi (+дискета)	352 с.
Кубенский А. Создание и обработка структур данных в примерах на Java 336 с. Куприянов М., Мартынов О., Панфилов Д. Коммуникационные контроллеры 560 с. фирмы Motorola
Лавров С. Программирование. Математические основы, средства, теория 320 с. Матросов A. Maple 6. Решение задач высшей математики и механики	528 с.
Мешков А., Тихомиров Ю. Visual C++ и MFC, 2-е изд. (+дискета)	1040 с.
Мещеряков М., Хомоненко А. Публикация баз данных в Интернете	560 с.
Миронов Д. Создание Web-страниЦ в Microsoft Office 2000	320 с.
Одинцов И. Профессиональное программирование. Системный подход 512 с. Олифер В., Олифер Н. Новые технологии и оборудование IP-сетей	512 с.
Подольский С., Скиба С., Кожедуб О. Разработка интернет-приложений 432 с. в Delphi (+дискета)
Полещук Н. Visual LISP и секреты адаптации AutoCAD	576 с.
Понамарев В. СОМ и ActiveX в Delphi	320 с.
Пономаренко С. Adobe InDesign: дизайн и верстка	544 с.
Приписнов Д. Моделирование в 3D Studio МАХ 3.0 (+CD-ROM)	352 с.
Роббинс Д. Отладка приложений (+CD-ROM)	512 с.
Русеев Д. Технологии беспроводного доступа. Справочник.	352 с.
Рязанцева Н., Рязанцев Д. 1С:Предприятие. Бухгалтерский учет.	320 с.
Секреты работы
Рязанцева Н., Рязанцев Д. 1С:Предприятие. Зарплата и кадры.	304 с.
Секреты работы
Рязанцева Н., Рязанцев Д. 1С:Предприятие. Торговля и склад.	368 с.
Секреты работы
Соколенко П. Программирование SVGA-графики для IBM PC	432 с.
Сысойкина М. Borland Kylix: разработка приложений (+CD-ROM)	544 с.
Тихомиров Ю. OpenGL. Программирование трехмерной графики, 2-е изд. 304 с. (+дискета)
Тихомиров Ю. SQL Server 7.0: разработка приложений	370 с.
Трасковский А. Секреты BIOS	400 с.
Тяпичев Г. Компьютер на любительской радиостанции (+дискета)	448 с.
Хабибуллин И. Создание распределенных приложений на Java 2	704 с.
Чекмарев A. Windows 2000 Active Directory	400 с.
Шапошников И. Web-сервисы Microsoft .NET	336 с.
Шапошников И. Интернет-программирование	224 с.
Шапошников И. Справочник Web-мастера. XML	304 с.
Шилдт Г. Теория и практика C++	416 с.
Шинкарев О. SOFTIMAGE|XSI: от моделирования до анимации (+CD-ROM) 432 с.
Серия Мастер Медиа
Делла-Росса Р., Делла-Росса A. Adobe Photoshop для художников	592	с.
Кулагин Б. 3ds max 5: от фантазии к реальности	480	с.
Медведев Е., Трусова В. Реальность виртуального звука (+CD-ROM)	496	с.
Петелин Р., Петелин Ю. Cubase SX. Секреты мастерства (+CD-ROM)	640	с.
Погорелов В. AutoCAD: трехмерное моделирование и дизайн	288	с.
Пономаренко С. Пиксел и вектор. Принципы цифровой графики	496	с.
Файола Э. Шрифты для печати и WEB-дизайна	288	с.
Серия "Мастер программ"
Боровский А. C++ и Pascal в Kylix 3. Разработка Интернет-приложений	544 с.
и СУБД
Будилов В. Интернет-программирование на Java	704 с.
Вершинин М., Иванова Е. Java 2, Enterprise Edition. Технологии	1088 с.
проектирования и разработки
Гарнаев A. Microsoft Excel 2002: разработка приложений	768 с.
Дарахвелидзе П., Марков Е. Программирование в Delphi 7 (+ дискета)	784 с.
Дарахвелидзе П., Марков Е. Разработка Web-служб средствами Delphi	672 с.
(+дискета)
Касперски К. Техника оптимизации программ. Эффективное использование 464 с. памяти
Матросов А и др. MS Office ХР: разработка приложений	944	с.
Немнюгин С., Стесик О. Параллельное программирование для	400	с.
многопроцессорных вычислительных систем
Несвижский В. Программирование устройств SCSI и IDE	592	с.
Поляков А., Брусенцев В. Методы и алгоритмы компьютерной графики	560	с.
в примерах на Visual C++, 2-е изд. (+CD-ROM)
Рафалович В., Карнаухов С. Программирование для карманных компьютеров 352 с. Palm и Pocket PC
Секунов Н. Программирование на C++ в Linux	368 с.
Старыгин A. XML: разработка Web-приложений (+CD-ROM)	592 с.
Хабибуллин И. Разработка Web-служб средствами Java	400 с.
Шорт С. Разработка XML Web-сервисов средствами Microsoft .NET	480 с.
(+CD-ROM)
Серия "Мастер решений”
Елисеев Д. Аппаратно-программные средства карманных компьютеров	368 с.
(+CD-ROM)
Касперски К. ПК: решение проблем	560 с.
Куперштейн В. Microsoft Project в делопроизводстве и управлении	480 с.
Леоненков А. Нечеткое моделирование в среде MATLAB и fuzzyTECH	736 с.
Масленников М. Практическая криптография (+CD-ROM)	464 с.
Серия "Мастер систем"
Галичский К. Компьютерные системы в телефонии	400 с.
Зима В., Молдовян А., Молдовян Н. Безопасность глобальных сетевых	368 с.
технологий, 2-е изд.
Лукацкий А. Обнаружение атак, 2-е изд.	608 с.
Попов A. Windows ScriptHost для Windows 2000/ХР (+дискета)	640 с.
Федорчук А., Торн A. FreeBSD: установка, настройка, использование	640 с.
Филимонов А. Протоколы Интернета	528 с.
Серия "Самоучитель"
Ананьев А., Федоров А. Самоучитель Visual Basic 6.0	624 с.
Ануфриев И. Самоучитель MatLab 5.3/б.х (+дискета)	736 с.
Бекаревич Ю., Пушкина Н. Самоучитель Microsoft Access 2002	720 с.
Будилов В. Основы программирования для Интернета	736 с.
Бурлаков М. Самоучитель Macromedia Flash MX	656 с.
Герасевич В. Компьютер для врача	640 с.
Деревских В. Синтез и обработка звука на PC	352 с.
Дмитриева М. Самоучитель JavaScript	512 с.
Долженков В., Колесников (О. Самоучитель Excel 2000 (+дискета)	368 с.
Жаринов К. Основы веб-мастеринга	352 с.
Жуков А., Авдюхин А. Ассемблер. Самоучитель (+дискета)	448 с.
Исагулиев К. Самоучитель Macromedia Flash 5	'	368 с.
Кетков Ю., Кетков А. Практика программирования: Visual Basic,	464 с.
C++ Builder, Delphi (+дискета)
Кетков Ю., Кетков А. Практика программирования: Бейсик, Си, Паскаль 480 с. (+дискета)
Кирьянов Д., Кирьянова Е. Самоучитель Adobe Premiere 6.0	480 с.
Коркин И. Самоучитель Microsoft Internet Explorer 6.0	288 с.
Костромин В. Самоучитель Linux для пользователя	672 с.
Котеров Д. Самоучитель РНР 4	576 с.
Кузютина А., Шапошников И. Самоучитель Adobe GoLive 6	352 с.
Культин Н. Основы программирования в Delphi 7 (+дискета)	608 с.
Культин Н. Программирование в TurboPascal 7 и Delphi, 2-е изд. (+дискета)	416 с.
Леоненков А. Самоучитель UML	304 с.
Матросов А., Чаунин М. Самоучитель Perl	432	с.
Медников В. Основы комьютерной музыки	336	с.
Мур М. и др. Телекоммуникации. Руководство для начинающих	л 624 с.
Омельченко Л., Федоров А. Самоучитель Microsoft Windows ХР	560	с.
Омельченко Л., Федоров А. Самоучитель Windows 2000 Professional	528	с.
Пекарев Л. Самоучитель 3ds max 5	336 с.
Полещук Н. Самоучитель AutoCAD 2002	608 с.
Полещук Н., Савельева В. Самоучитель AutoCAD 2004	640 с.
Поляк-Брагинский А. Сеть своими руками	320 с.
Понамарев В. Самоучитель Delphi 7 Studio	512	с.
Понамарев В. Самоучитель JBuilder 6/7	304	с.
Понамарев В. Самоучитель KYLIX	416	с.
Секунов Н. Самоучитель C#	576	с.
Секунов Н. Самоучитель Visual C++ .NET (+дискета)	738	с.
Секунов Н. Самоучитель Visual C++ 6 (+дискета)	960	с.
Сироткин С., Малышев И., Воробьев С. Самоучитель WML и WMLScript	240 с.
Тайц А. М., Тайц А. А. Самоучитель Adobe Photoshop 7 (+дискета)	688	с.
Тайц А. М., Тайц А. А. Самоучитель CorelDRAW 11	704	с.
Тихомиров Ю. Самоучитель MFC (+дискета)	640 с.
Токарев С. Самоучитель Macromedia Dreamweaver MX	544 с.
Токарев С. Самоучитель Macromedia Fireworks	448 с.
Трасковский А. Устройство, модернизация, ремонт IBM PC	608 с.
Трусова В., Медведев Е. Музыкальная азбука на PC (+дискета)	496 с.
Хабибуллин И. Самоучитель Java	464 с.
Хомоненко А. Самоучитель Microsoft Word 2000	688	с.
Хомоненко А. Самоучитель Microsoft Word 2002	624	с.
Шапошников И. Самоучитель HTML 4	288	с.
Шапошников И. Самоучитель ASP.NET	368	с.
Шилдт Г. Самоучитель C++, 3-е изд. (+дискета)	688 с.
Серия "Учебное пособие"
Бенькович Е., Колесов Ю., Сениченков Ю. Практическое моделирование 464 с. динамических систем
Буль В. Электронные издания (+дискета)	560 с.
Гомоюнов К. Транзисторные цепи	240 с.
Грушвицкий Р., Мурсаев А., Угрюмов Е. Проектирование систем на	608 с.
микросхемах программируемой логики
Дорот В., Новиков Ф. Толковый словарь современной компьютерной лексики, 512 с. 2-е изд.
Иртегов Д. Введение в операционные системы	624 с.
Культин Н. C/C++ в задачах и примерах	288 с.
Культин Н. Turbo Pascal в задачах и примерах	256 с.
Никулин Е. Компьютерная геометрия и алгоритмы машинной графики	560 с.
Сеннов А. Курс практической работы на ПК	576 с.
Суворова Е., Шейнин Ю. Проектирование цифровых систем на VHDL	576 с.
Черняк А. и др. Математика для экономистов на базе Mathcad	496 с.
Серия "Быстрый старт"
Гофман В., Хомоненко A. Delphi. Быстрый старт	288	с.
Дмитриева М. JavaScript. Быстрый старт	334	с.
Культин Н. Microsoft Excel. Быстрый старт	208	с.
Шапошников И. Интернет. Быстрый старт	272	с.
Серия "Экспресс-курс"
Дронов В. Macromedia Flash MX. Экспресс-курс	352 с.
Омельченко Л., Федоров A. Microsoft Windows 98/МЕ/ХР. Экспресс-курс 352 с.
Петюшкин A. HTML. Экспресс-курс	258 с.
Розенталь М. Как собрать свой компьютер, 3-е изд.	256 с.
Серия "Научное издание”
Воеводин В., Воеводин Вл. Параллельные вычисления	608 с.
Касьянов В., Евстигнеев В. Графы в программировании: обработка,	1044 с.
визуализация и применение
Молдовян Н. и др. Криптография: скоростные шифры	496 с.
TCP/IR
Эффективная и безопасная работе в сеты
Перед Вами книга известных американских специалистов в области сетевых технологий. Авторы всесторонне рассматривают все важнейшие сетевые модели, протоколы, службы и стандарты, которые регламентируют применение стека протоколов TCP/IP и определяют его функционирование в современных сетях. Курс содержит множество практических заданий, контрольных вопросов и учебных задач, которые способствуют закреплению пройденного материала и дают практические навыки применения важнейших программных средств сетевого управления и мониторинга. Книга будет полезна преподавателям, студентам и всем специалистам, заинтересованным в изучении работы сетей на основе протоколов TCP/IP. Прочитав ее, Вы сможете самостоятельно проанализировать и устранить множество проблем, с которыми приходится сталкиваться при работе в реальной, действующей сети.
Лора А. Чеппел, старший спец алист в Институте анализа пре токолов, автор многих бестсел леров, таких как: "Introductior to Netwok Analyis", "Novell's Guide to LAN/WAN Analysis" и "Advanced Cisco Router Configuration".
Эд Титтел, автор книг: "Guide t Microsoft Windows 2000 Core Technologies", "Guide to Microsoft Windows 2000 Professiona и 2-го издания "Networking Essentials".
На компакт-диске находится демоверсия анализатора протоколов EtherPeek, утилиты и примеры трассировки
БХВ-Петербург
198005, Санкт-Петербург, Измайловский пр„ 29
E-mail: mail@bhv.ru Internet: www.bhv.ru тел.: (812)251-42-44 факс: (812) 251-12-95
(bhv
ISBN 5-94157-315-4